スキップしてメイン コンテンツに移動

投稿

1画素ドットカメラの実装

カラーセンサで実現したかったのは、1画素カメラ。 カラーピッカーとかスポイトのリアル世界版。 エリアでもなく、ラインでもない、ドットカメラ。 これで地球を観測したら、なにか有意義なデータとなるんだろうか。 理学系の人とかに聞いてみたいな。 個人的には青空の青さと、夕焼けの色を取得したいというモチベーションで載せている。 レンズ部:S9706、奥:NaPiCa ハードウェア ストラップ衛星に搭載したものを動かし、データを評価してみた。 秋月電子の取り扱うS9706はカラーフィルタ付きなので、赤外線の補正などはそれほど気にしなくて良いらしい。 ネットで見る応用例はロボットのボール認識、メディアアートなどの検討例が多い。  こちらは大雑把な空間の色を取得したいので、センサ面にはジャンクUSBカメラから取り外したフィルタ無しのレンズをシリコン充填剤で貼りつけている。 センサの消費電流は最大10mA程度とのことなので、AVRのピンから直接供給している。 これで測光時以外は電源を落とせる。 露光時間とAE S9706はゲート操作の時間で露光時間が調節できるので、環境光に応じたAEができるといいかもしれない。出力される12ビット値から、レンジの最大値に張り付いたり、最小値に近づいたりしたら露光時間を変えるという手が簡単そう。  AE制御をすると、色検出の精度は良くなるけど、定点で明るさを含めた時間変化を記録したい場合は、パラメーターを固定したほうがいいこともある。 快晴の青空が検出できる値に固定して、日没までの2時間、露出時間100ms固定で取得したデータはこんな感じになった。 日没2時間のセンサデータ変化(約1fps 100ms露光、高感度モード) グラフ色はRGBと対応させてある。各12ビットなので、普通のカメラに比べると表現が豊かということになる・・・ 赤と緑の成分はほぼ同じカーブで、青の波長だけが飛び出しているのがわかる。この時の空は快晴だったが、靄のせいで若干白っぽくなっていた。 モニタ上でRGBを合成してみると、白っぽい青になるので大体あってそう。 空の青さを測ることで、大気の透明度がわかるかもしれないな・・・  動作テストを兼ねて数日分のデータを取ってみたい。 夕焼けの影響が出るかとおもいきや、太...

地球の3DモデルをShadeで作る

あけましておめでとうございます。 宇宙機お絵かきと題して宇宙機をモデリングしてきたけれど、さすがにGoogleSketchUpだとフォトリアリスティックにも限界があるので、Shade12にモデルデータを取り込んでレンダリングすることが多くなってきた。  Shadeだと色々と可能性が広がるので、試してみたかったことの一つが地球の3Dモデルを作ること。いままでまともな画像を使って来なかった。がこれからはそれなりの背景を作ることで、宇宙機のモデリングも向上せざるを得なくなる作戦?だ。 色々と文献を漁ると案外簡単そうなので、適当に作ってみた。 だいぶ青っぽくなった。地球のモデリングは作者の地球観が出ますね 基本的には、任意の大きさの球体にテクスチャ(地表、海面/湖水面、バンプ、雲)を重ねて、いくつか反射に関する設定を行なっていく。 上の画像はまだパラメーター調整に改善の余地があるような気がしている。 オブジェクトは3つの球(地球表面、雲、高層大気)で構成されている。大きさは実際の高度差を意識して少しずつ違う。 3つそれぞれにテクスチャ、反射、透過設定をする。 地球表面は、テカテカ反射しない大地と、太陽光を反射する水面とで光沢と反射率を別に設定する(そのために白黒の海面マップを使う)。 山岳地帯などの凹凸はバンプマップを適用することで、大陸の凹凸が表現される。 雲レイヤは、2つ目の球体(地球表面の球体より少しだけ大きく作る)に貼り付ける。黒背景は透過する設定にする。 ちなみに配布されていたテクスチャは、地表と海面を見せるためか雲量は控えめだ。実際に近づけたい場合は、もっと増やされたマップを用意するといいかもしれない。 最後に一番外側の球体を作る。テクスチャはなく、半透明にして拡散反射光を青色にすることで、直下の雲と地表面が大気圏を通しているかのように見せる。 テクスチャを提供するサイトはいくつか見つけた。NASAの観測データを加工したもののようだ。 今回は下記のサイトのデータ(8Kサイズ)を利用している。  http://www.shadedrelief.com/natural3/index.html ISSで撮影された画像などを参考に、もっと実際の見た目に近づけてみたい。 まずは海の色からかなあ・・・ もっと黒っ...

宇宙機お絵かき QFH NanoSatellite

QFHアンテナは半球状の領域でまんべんなく電波を捉えることが出来るので、衛星のように移動して偏波面の変化する電波源を捕えるには丁度よいとされる。( 自作してみた記事 )NOAA衛星の気象ファックス画像を受信するのに使われるけど、実はNOAA衛星本体にもこのアンテナが搭載されてたりする。 いつものように、衛星そのものに載せてみたらどうなるのかということで、モデリングしてみたものがこちら。 430M帯で設計するだと、ギリギリCubeSatにも搭載できそうな大きさになる。 螺旋状のエレメントが飛び出す形 びっくり箱方式 十分にかっこいいが、 (某衛星に似ているのと) 姿勢制御は面倒なので沿磁力線制御のみとしたい。このままではアンテナ側が地球指向するための制御が必要になるが、簡単さを求めると姿勢制御は永久磁石くらいに留めたい。となれば解決法は一つ・・・ DNA! かくして、上下面から飛び出したQFHアンテナにより、只者ではない外見と無指向性を手に入れた。残りのスペースで衛星の動作を行わなくてはならないけど、最近は1Uでも設計次第でかなり空間が余るというから大丈夫だろう。 そもそも、ほとんどのCubeSatはモノポールアンテナやダイポールで済ましている。こうした単純なアンテナは方向によって送受信感度が落ち込むポイントが生まれるのだが、そこは地上局側を高出力/高感度にすることで、感度が落ち込んでも十分通信可能な回線設計がなされている。 ちいさな衛星にとって、QFHは採用するほどの利点があまり無かった(完) (見た目以外に)無指向性を獲得して得られるメリットとしては、衛星の姿勢を考慮せずに済むことと、地上からほぼ一定の感度で電波が得られそうなことだろうか。 電波強度を測定するのに向いている気がする。 たとえば、世界中の430MHz帯の電波強度マップを作るといった業務が行えそう。それから気象ブイ等のテレメトリ収集だろうか。 アンテナそのものがミッションになるような用途だ。 以上お絵かきでした。

CMOSセンサ+FIFOカメラ

カメラを搭載する用途は結構いろいろ存在する。気づいたらそっち系にまで手を出していたので、最近調べた部品や、おもしろそうなパーツをまとめてみる。 用途は衛星(うぐっ)やローバーなどの小型ロボット機(1リットル以下)とする。 JPEGカメラは当然ながら取得できるのはJPEG圧縮画像だけで、撮影間隔も最短で数秒かかる。ほんとに撮影だけなので画像を処理するには向いてない。 http://www.electronics123.com/s.nl/sc.8/category.207684/.f CMOSセンサと処理系をつなげて作る 取り込み速度を落とすため、FIFOバッファが必要なことがある。今FIFOバッファメモリを売ってるところは少ないので、FPGAとRAMで同じ事を実現する例も多い。 FIFOメモリ付きCMOSカメラモジュールというのもあった。 http://csun.co.jp/SHOP/2011102801.html OV7670や7725などにAverLogic社のAL422Bがついている。380kBなので、解像度がVGAだったらRAWフォーマットで一枚収まるかどうかというところ。 FIFOさえ付けば、あとはゆっくり取り込んでいってね、ということで、無理のない所ではSTM32でfsmcバスを使うとか、撮影だけならCortex-M0で省電力にとか。 CMUcam3 FIFOバッファを使ったオープンソースの画像認識モジュールで有名なのがCMUcam3。(らしい) http://cmucam.org/ センサはちょっと古めだけど、ARM7TDMIコアのLPC2106(48ピン 64kRAM 60MHz)とAL440が付いている。色々と画像処理が行える様子。サーボ端子もあるので、このままボールを追うロボットが作れる。 ちょっと古いのと高いのが難点。 (ちなみにCMUcam1,2はSXマイコンをセンサに直結してクロックの力技で画像認識してるのでこれもまた面白い) Cortexになってからは足の数とクロックなどのCPU周りの規模がだいぶ住み分けが進んでいるけど、ARM7なLPC2106はこの用途に丁度よい規模&性能な気がした。  (LPC2000シリーズというと日本では09年の付属基板が有名だけど、あれはでかすぎ...

MSP430LaunchPad

世の中色々なマイコンがありすぎて、ビビっているうちにArduino使いになってしまっていた人です(ロボットの機構に集中できたので許してください・・・) ・・・と言いつつなんだかんだでひと通りのMCUを 積んで 試してきたわけですが、そんな部品箱にとうとうMSP430が仲間入り。 500円ちょっとでこのボリューム TIが出す16ビット低消費電力マイコンとその開発キット。ちょっと前からArduinoも真っ青な低価格で売ってました。TIのボードはみな真っ赤なのか・・・。 http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_(MSP-EXP430G2)/ja 本家ではピンヘッダを基板に取り付けるらしい?(某ボードの影響がここにも) 28ピンか、さもなければ100ピンなMCUばかり扱ってきた感覚で見ると、14ピンDIPの見た目はロジックICみたい。バリューラインとよばれる14/20ピンのラインナップはこのボードで開発可能とのこと。 性能的な対抗馬はPIC24で、RAMとROM容量はPIC16やATtiny2313を彷彿とさせる。特徴としては、温度センサ内蔵機種がある(キットの型番2231は温度センサ内蔵)ということ。消費電力はμアンペアオーダー。 買った段階ですでに電源をつなぐとLEDが点滅し、ボタンを押すと温度測定するプログラムが動作する。 恐ろしいことに5cm衛星用に作った太陽電池(5V5mA)を直結しただけでも動く。数百ルクスの室内でも動作していた。 開発情報も見やすい・・・ http://www.tij.co.jp/product/jp/msp430g2231 値段的におまけで買ってしまう範囲ではあるものの、試す気が起きたのは、海外のCubeSatではMSP430がけっこう採用されているという事実。PICと何が違うのだろう・・・という疑問が買うきっかけだったり。 パッケージにロケットが書いてあるし!(違 これはロケットに(ry 方向性としては、エナジーハーベスト電源と組み合わせた超低消費電力のデータロガーやロボットの制御向け・・・だろうか。 このコンセプトを突き詰めると、バリューラインではないものの、ROM/RAMを 総FRAM化した  フラ...

FemtoCube動作動画

動作動画です。 パケットと音声合成を交互にやってます。間でトランスミッタをONOFF制御してたり。

FemtoCube解剖

MTMで 製作 完成したハードウェアのBBM。期間中に見てくれた方はありがとうございました。 ここではその全体像を紹介。 衛星システム 人工衛星として必要な機能は、3つの基板が担っている。 ・太陽電池基板(SAP) ・電源、バッテリ基板(PCU) ・通信機/マイコン/センサ基板(C&DH) そして、今回のミッション機器がこちら。 ATP3010F4基板 会場で販売されていたAquesTalk picoを組み込んだ音声合成基板。これによりボイステレメトリを実現。 平面に並べたところ 専用基板を作りたくなりますね。多分太陽電池を除けば、一枚に収まるはず。 FMトランスミッタとカラーセンサ部の接写。黒い配線がアンテナ。 電波出力は微弱無線となるように、0.5mW出力+アッテネータ回路なので、直ぐ圏外になります。 このサイズなので、今のところアップリンクは無し。 電力状況に応じて動作モードを変える方針。 トランスミッタは2chあるので、片方をAFSKパケット、もう片方をAquesTalk picoの出力に割り当て。 カオスな裏面  電源部分については、後ほど別記事としてまとめます。 LTづくし  次記事に動画を載せました。