テスト終わった・衛星の基板届いた

・構造設計でつくった課題。ちょろQをどこまで飛ばせるかというプロジェクト。
もう訳がわからないので、てきとーにアイスの棒をつけましたとさ。となりの航空宇宙工学科の友達からアドバイスを受けておくべきだったわ。翼はティアドロップ型にしないと推力が出ないらしい。
http://twitpic.com/5c35nf

人工衛星のシステム基盤と電源管理基板を中間試験に発注しておいたら、テスト終わった日に届いた。いやー人生初の基板発注だったけど・・・んで早速問題発生。同じ開発メンバーにつくってもらったRTCのライブラリーのでピッチが間違えていたらしく、残念なことにRTCはまらねーという始末。まあ今度は気をつけよう。
http://twitpic.com/5aygri

・後輩とお泊りした。後輩が産業技術高専宇宙研のUNISECの学生代表やってて、彼のPCが壊れててて、うちにPCをやりにきました。
http://twitpic.com/59lue4

加速度センサーによる角度測定

加速度センサーによる角度測定やってみました。
http://l-raven.ddo.jp/create/movie/20110611_kakudosokutei.movにHD書き出しした動画があります。

仕組みとして加速度センサーからの加速度に対応したアナログ出力をA/D変換してXYZ軸方向に分解して、アークタンジェントを用いて角度計算をしてる感じ。あとは、PC側ソフトウェアで視覚的エフェクトの処理を多数。

PC側ソフトウェアの作製に使ったのがC++。DXライブラリーとのコンボでこんな感じ。
(マイコン側の負荷を掛けたくなかったのでPC側ソフトでアークタンジェントの計算を全てやってる)

まぁ姿勢検知にでも使えればいいかな。うん。

試験一週間切った+ 物理シミュレート続き + FT232RL正常稼動 + ノトパ分解で生基板


MacBookProを分解してみた。 http://twitpic.com/53k619
Appleのエンジニア魂を感じた。黒い基板とかかっこ良かった。内部までデザイン最高。

この流れで、HDDが死亡していたLet's Note (W2シリーズ)を分解して基板だけにしてみた。http://twitpic.com/53lb4a
HDDは昔オークションで落札した2.5インチのHDDと換装。これで省エネサーバーとか作れるなーと思った。
残念なことに無線LAN非搭載モデルなので、PCカード無線LANカードを刺さないといけない。
んでもって、Fedoraをインストールしたんだけど、自動ログインしてくれなくて

yum -y install accountsdialog accountsservice

ってやると、管理メニューに Usersだっけ?そんな感じの新規項目が追加されるので、そこから自動ログイン設定したんだけど、残念なことにたしかに自動ログインするけど、デスクトップ画面にいってもダイアログがでてそこでパスワードが求められる。無線LANとかも自動接続してくれないみたい。
つまり、電源付けてパスワードを打たないと無線LANも動かない。せっかく自動起動したSSHも使えない。ってことは、画面を外すことはできない・・・って感じ。これが有線LANだと自動接続とかしてくれるのかな・・・。

ハードウェア側の難点として、光学ドライブがむき出し。本来構造側に付いていたスイッチ機構がないので、”重い物”で安全スイッチを押さないと動かないというモノ。さらに、機構的にドライブの動きを止めるための固定具も、なにか挟みこんで止めないといけないという物。 両者も振動ですぐに外れてしまうので、OSインストール中に地震がこないかひやひやした。それから、ドライブがむき出しのまま回転しているので、間違えて触れたら普通に指が切れた。切れて血が滲んだ。ヤバい。それから、CD読み出し用のレーザーがみえた。本当に最初だけ。
肝心なドライブアクセス時には見えない。ってことは、可視光以外の波長で読み込みやってるんだろうな。
CDは赤外780nmを使ってるらしい。ってことは携帯で見れるかな。DVDは赤色650nmらしい。このディスクがDVDなら、普通に見えたのかな・・・。ああそうだ。それで、このドライブのユニットごととってしまったらどうだというおはなしなんだけど、それも試した。そしたら軌道に恐ろしく時間が係るようにあった。多分、ドライブを探しているか、接続待ちって感じ。起動画面で2、3分程固まる。それから起動する感じ。このドライブ、光学ドライブ以外に、ノートPCの開閉センサーとかも付いてた。おそらく、外すのはまずい。
あと、電池も1〜2年ぐらい過放電でほっぽってたけど、なんとか少し生きてるみたい。何分もつかはわからないけど、10分ぐらいはもちそう。とりあえず、どうにかしてこいつを運用できる状況まで持って行きたい
持ち運びできる演算ノードとかめっちゃかっけぇ。あ、それとFedoraWiMAX端末(Aterm WM3200U)は認識しなかった。残念なことに。まぁ、持ち運びのときはMacBookProにWiMAXさしてAirMacでインターネット共有させればいいかな。んー・・・いっそのことWindowsいれてしまおうかなと。

例によって、テスト期間です。3年の前記中間試験前。去年に比べて、全然勉強に身が入らないです。レポートが忙しくて、課題とか片付けていくので精一杯で気づいたら試験一週間切っているわけで。忙しすぎて自分の時間が持てないっていう現状。唯一持てた自分の時間を、あまりの疲れで寝てしまったし。高専のHPに書いてある、放課後の余裕のある時間って嘘じゃないっすか・・・って思った。4年になったらさらに忙しくなるっていうし、どうなるんだろう。オール8時限目とかもう自分の時間どころか活動にも影響が絶対にでるとおもう。と、いうことで高専のカリキュラムに微妙にイライラしている自分です。まぁカリキュラム的に仕方ないんだけどね。我慢かな。


あと、物理シミュレートで解析学の先生と相談しながら、修正点を直してみた。http://twitpic.com/51ybio
今回はDxLIBで3D化した。今まで自分が作ってた3D演算用の関数(ベクトルの演算用関数とか・・・)が、すでにこいつに搭載されているっていう。もしかして、DirectXとかで用意されている関数群を使えば、グラフィックボードのチップ状で演算とか出来るのかな。つまり、CPUを使わずしてベクトル演算をグラボ側でみたいな。
んーそろそろDirectXも手を出してみようかなと思ってる。今回はほんの可視化の確認の為にDxLib使ったけど。
とりあえず、万有引力の法則に基づき原子同士が全部くっついた。手法としては、すべての原子を1つ1つ順番に選んでいって、その原子がその原子以外すべてから引っ張られる力を加速度にして加算して、最後に反映させる的な・・・。百聞は一見にしかずなので、今度しっかりとした資料を上げたいと思います。はい。

あと、FT232RLが正常稼動した。SSOP-28だったっけな。表面実装だったので扱うのに抵抗感あったけど、AE-SSOP-28っていう秋月電子にあるSSOP28→DIPへの変換ソケットつかってブレッドボードに実装。んでもって、データシートに従ってテキトーに配線して、ADM3202でシリアル通信のレベル変換してマイコンへって感じ。
Windowsで試したときはすんなりできた。けど、MacBookProで試したときは、ちょっと大変だった。なんか、一度ハングアップを起こすとLine in useでずっとハードウェアにアクセスできなかったり。cu使うと、受信はできるんだけど、送信ができない。screenだったらできたけど。なんでだろう。あと、自作のシリアル通信アプリも動いてくれない。これはテスト後に要検証ってことで。多分俺のプログラミングミス

あと、ブログの記事に一切の方向性が見られないのはいつものことだよ

javaやりたいな・・・

去年、学校の授業でJavaやったけど、あれJavaの氷山の一角だから・・・というよりC言語とほぼ同じ制御構造部分しかやってない。if文とか。もっと、Javaの持ってるオブジェクト指向とか、C言語とは違う部分を習いたかったですなー。3年の前期は情報処理の授業なくて結構ショック。やばい。俺の嫌いな材料学とか材料力学とか機械系の学科増えた。もうつらい。情報系の学科とカリキュラム交換したい。でも、そこが医療福祉の良さなのさ。幅広く学べるからね。マジでカリキュラムが鬼畜。

んでんでんで、今日は友達の家に泊まっていました。そこでレポートやる予定だったのに
1mmどころか、開きすらしなかった。デジモンスマブラエアライドデジモンで1日つぶれた。まぁ久しぶりに楽しくゲームっていうのも悪くなかった。気晴らしになったと思う。


ISの一巻と2巻借りてきたーw アニメ2期がとても楽しみでございます^q^
http://twitpic.com/4tb3q7

教育研究コロキューム,物理シミュレート,FPGA,高専生,交通事故,演算用PC

昨日38度の熱があり死にかけてました。んで、今日も微熱があったけど登校。実は高専5年間で遅刻欠席目指せ0っていう計画を遂行中。
えっと、今日は教育研究コロキュームが開催され、2階大会議室にて校長の荒金校長先生のITS(だっけな??)のおはなしをききました。残念ながら、学生の参加は最初俺だけ。同じ開発チームの後輩2人誘って3人だけ。なんで、こんなに高専の学生でも興味を示さないんだろう。なんか、同じ高専生なのに技術的な知識を進んで求めてく自分と他の人で温度差が感じられる。周りの人は、あいつがちだなーって目で見てるんだろうけど、まぁ人生限られた時間しかないんだし、学生の時期なんて今が最高潮なわけで、今進まなくていつ進むんだと思った。それにしても、マジで学生0人だったのはショック。

なんか、えらいこといってるようですいません!!別に俺がえらいとかそんなことは絶対になく、ただもっと高専生に興味もってほしいなって。

つか、前回の日記のコメントのぽてと君なんだけど、どうやって俺のブログのアドレスを知ったんだろう。mixiに書いたからかな?うん、多分そのせいだ。


今日はFPGAの事で、どんな書籍がおすすめなのか聞くために情報通信の先生を尋ねたら、FPGAは5年生からやり始めるから今の君たちはいいよ的な雰囲気を醸し出すとともに、実験室開放してあげるよとも言われた。うちの部活の顧問の先生は、鉄は熱いうちに叩け精神だけど、この先生は鉄はよく溶かしてから精神だった。今から焦ってFPGAはやるよりは学業をしっかりやっておけという感じ。先生によっては考え方が根本的に違う事に面白いと思った。まぁ、個人的には熱いうちに叩けの方が自分に合ってると思うんだよね。でも、合わない人もいるわけで、そういう人はよく溶かしてから挑むのもありだと思う。っていうか、高専って熱いうちに叩く為の機関じゃなかったのか・・・と思った。


今個人的に開発しているNELの物理シミュレート。万有引力の公式は、残念なことに距離と時間の変化する変数である独立変数が2つもあって、どうやって積分していいのかわからなかったので解析学の先生に聞きに云った。その先生はナビエ・ストークス方程式の研究をしている人で、逆に「お前数値計算できるのか」と言われて、プログラムを担当してくれと言われた。別に自慢できるような技術はないけど、手伝えるなら手伝おうと思う。ナビエ・ストークス方程式が解ければ、世界は大きく変わるはず。たくさん人が救われるとおもう。まぁ簡単な話じゃないよね。そういえば、開発中の医療検索システムの関係で高性能な演算用マシンが届くので、衛星の構造解析だけじゃなくてナビエ・ストークス方程式をとくための武器にもしてしまおう。


交通事故目撃
チャリにのってて後ろ振り向いたら80歳ぐらいのおばあちゃんが道路の真ん中で倒れてた。およそ1秒の事象判断あとに、中枢神経系でMacBookと自転車を放り投げ駆けつけた。「誰か手伝ってください」っていってとりあえず道端へ動かした・・・ただ、ここで俺のミスが発動。骨折や神経損傷のおそれがあったのに急いで道端に移動してしまった事。今でもあれはまずかったと思う。一応、警察に連絡先は教えておいた。もし、事故による影響は少なかったけど、あんたが動かしたせいで神経が麻痺したとか言われたらどうしよう。なんて考えてみる。
医療福祉工学科なのに応急処置がまともにできないなんてどういうこったよって思ったけど、よく考えれば授業カリキュラムに救命なんつーものはないわけで、工学と救命なんつーものは違うって突っ込まれた。もうまさにその通り。今度から気をつける。

つか、前回にも近いことがあって、おじーちゃんが自転車から転んだらしく道端で倒れていたところを偶然俺が通りかかって、PC運搬用の台車を放り投げ駆けつけたことがあったな・・・皮肉にも消防署の敷地と道の間で救急車まであと10m程度っていう状況。まぁなんとかおっさん大丈夫だったけど。


あと演算用PCが届いた。箱がでかい。PC展開するスペースが無い。
どうしよう。学校に持って行きたいけど、マジででかいので多分車じゃないと無理だな




毎回ブログ長くてごめんぬ(´・ω・`)

3400件の住所データを緯度経度に変換する&地震速報システムの構築

現在、医療施設の検索サービスの構築でSQLを使ってて、最近MySQLを興味でも使い始めた。
とりあえず、SQL文で演算子が使えて高度な検索条件を指定できたりするから便利。それでもって、スマートフォン等の端末からの利用を想定してGPSによる地理情報とそれを処理するためにGoogle Map API v3も使い始めた。
依頼元から、3400件の医療施設の住所データ等をもらったので、PHPJavascript(非同期通信AjaxとGoogleMapAPI)を使って、SQLサーバー内の住所から緯度経度に変換する作業を行った。

AjaxもGoogleMapも、クエリーを送ったら帰ってくるまでブロッキングするのではなく、そのまま進んで受信割り込みのような物を使っているようだ。(クエリーを送って、受信するまでのウェイトがなかった。)
そのため、受信待ちをしているとずっと考えていたので残念なことに、クエリーを送信後に受信データを格納をやっていたので、データの受け渡しがうまくいってなかったようだ。そのため、

tid = setTimeout("timer()", 1000);

のように一定時間が経過したら強制的に受信データの処理ルーチンに飛ぶようにした。プログラム構造がすっきりしないのは我慢。とりあえず実装するためにはこの方法しかないようだ。
この方法をつかって、SetIntervalで1件あたりのデータ処理の時間を1秒とし、SQLからPHPの動的XML出力を介してAjaxで住所データを取得し、グーグルAPIサーバーにgeocodeのクエリーを送りつけて800ms後に受信データ処理。
それをupdate文でSQLサーバーのデータ更新をPHP経由で行う。

つまり、1秒に1件の割合でデータ処理を行うため、3400件以上のデータ処理には1時間程度かかった。
WiMAXIPアドレス稼げば、Googleサーバーに遅れるクエリーの数も増えるから作業効率2倍!なんて考えたけど、Googleサーバーをあんまり苛めたくなかったので自重した。あ、ちなみにクエリー送る間隔があまりにも短いと、エラーコード返してきます。はい。
ということで、次はGoogleMapの2点間の距離測定とやらを頑張ってみたいなと思いま。


今、地震速報システムを独自に構築しようかなと思っています。はい。

Q.どうやって地震検出を?
A.そこら辺の高専生や知り合いに、加速度センサー付きの基板とネット環境を使って観測
面白いとおもった人は高専生に限らず協力してくれるとうれしいかも

Q.そんなことして何になる?
A.特にない。自己満足。ただ、今開発中のP2Pによる情報ネットワークのテストも兼ねたいな、なんて。
ハイリスク、リータンあるかワカラナイ うぴょーww

Q.地震速報?そんな技術ある?
A.とりあえず、気象庁から加速度を震度階級に変換する流れが公開されていたので、震度表示はこれで。流れとしては、加速度をベクトル合成してフーリエ変換してフィルター介して逆フーリエ変換してデータ並べ替えて・・・って感じで出せた気がする。あとは震度階級の表から震度に変換。それをアラームとか携帯とかに贈りたいなって。

地層やプレートをある意味ブラックボックスとしてあつかって、入力波形と出力波形をニューラルネットワークか何かで解いて、震度予測とか。ごめんなさい、もうすでに自分の手に追えるレベルじゃないです。
→ただ、震度予測とかは無理にしろ、地震が起きたという情報をいち早く伝達できるシステムがほしい。気象庁地震速報はいろいろと申請がめんどくさいし、情報がオープンに公開されているわけではないし。だから独自でくみたいなって。もしできたら、情報をTCPIPとかでデータ送信とかサービス始められたらいいな。

Q.加速度センサーを間違えて落としたら?
きっと、最大震度7の通達が全国へ行くでしょう。もしシステムが普及すれば首都圏の一時麻痺とか?
うぴょーw イタズラっ子がいたら成り立たないシステムです

Q.楽しい?
A.はい

まあこんなトコロ。本格的にプロジェクト立ち上げたいけど、人工衛星の開発プロジェクトも忙しいけど、家庭の用事で最近は日曜日ずっと出かけてたり、レポートが4通溜まってたり、高専祭実行委員のステージのリーダーだったりー、、、もうわけがわからないよ。予算もないしね。そういえば、高専3年生になったし、そろそろ進路の事とか調べないといけないからこんなことしている暇ってそろそろ無くなりそう。つかないw

加速度センサー、秋月電子で購入しても1000円かかるし。データ処理用のマイコンでもH83664使えば1600円かかるし。カッコ付けてFT232モジュールでUSB接続なんてやったら+1000円かかるし。あばばばばばwww 軽い試算で4000円ぐらいかかるぞ。ひとつのノード構築に。こりゃまずい。まあ安価なPIC使えばもっとコスト押さえれそうだけど。ちなみに試作品つくって高専カンファレンスとかで発表したいなんて妄想もしてる。
学校の未来工房プロジェクトで申請すればどうかなと思ったけど、うちの衛星開発チームもこれに参戦しているわけで、チームを裏切ることはできない。

ああ、こんなこと書いている間に出かけないといけない。次のToDoリスト消化してきます。