2011/12/29

宇宙機お絵かき QFH NanoSatellite


QFHアンテナは半球状の領域でまんべんなく電波を捉えることが出来るので、衛星のように移動して偏波面の変化する電波源を捕えるには丁度よいとされる。(自作してみた記事)NOAA衛星の気象ファックス画像を受信するのに使われるけど、実はNOAA衛星本体にもこのアンテナが搭載されてたりする。

いつものように、衛星そのものに載せてみたらどうなるのかということで、モデリングしてみたものがこちら。
430M帯で設計するだと、ギリギリCubeSatにも搭載できそうな大きさになる。


螺旋状のエレメントが飛び出す形 びっくり箱方式


十分にかっこいいが、(某衛星に似ているのと)姿勢制御は面倒なので沿磁力線制御のみとしたい。このままではアンテナ側が地球指向するための制御が必要になるが、簡単さを求めると姿勢制御は永久磁石くらいに留めたい。となれば解決法は一つ・・・


DNA!

かくして、上下面から飛び出したQFHアンテナにより、只者ではない外見と無指向性を手に入れた。残りのスペースで衛星の動作を行わなくてはならないけど、最近は1Uでも設計次第でかなり空間が余るというから大丈夫だろう。


そもそも、ほとんどのCubeSatはモノポールアンテナやダイポールで済ましている。こうした単純なアンテナは方向によって送受信感度が落ち込むポイントが生まれるのだが、そこは地上局側を高出力/高感度にすることで、感度が落ち込んでも十分通信可能な回線設計がなされている。
ちいさな衛星にとって、QFHは採用するほどの利点があまり無かった(完)

(見た目以外に)無指向性を獲得して得られるメリットとしては、衛星の姿勢を考慮せずに済むことと、地上からほぼ一定の感度で電波が得られそうなことだろうか。 電波強度を測定するのに向いている気がする。 たとえば、世界中の430MHz帯の電波強度マップを作るといった業務が行えそう。それから気象ブイ等のテレメトリ収集だろうか。 アンテナそのものがミッションになるような用途だ。

以上お絵かきでした。

2011/12/25

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。(らしい)
センサはちょっと古めだけど、ARM7TDMIコアのLPC2106(48ピン 64kRAM 60MHz)とAL440が付いている。色々と画像処理が行える様子。サーボ端子もあるので、このままボールを追うロボットが作れる。 ちょっと古いのと高いのが難点。

(ちなみにCMUcam1,2はSXマイコンをセンサに直結してクロックの力技で画像認識してるのでこれもまた面白い)

Cortexになってからは足の数とクロックなどのCPU周りの規模がだいぶ住み分けが進んでいるけど、ARM7なLPC2106はこの用途に丁度よい規模&性能な気がした。
 (LPC2000シリーズというと日本では09年の付属基板が有名だけど、あれはでかすぎる・・・)

2011/12/14

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化した フラッシュをFRAM化したシリーズが本命。 (あとでデータシート見てみたらSRAMはあった)
高速アクセスと不揮発性を両立したFRAMを使うことで、変数などを保ったままリセットが可能に。 EEPROMがRAMとして使えるくらいのアクセス速度を手に入れたと思えば良いのだろうか。
放射線耐性もあるので、極限環境機械のぶっ壊れたくない高信頼性を要求する部分にちょうど良さげ。

FRAM版MSP430実験ボード http://www.tij.co.jp/tool/jp/msp-exp430fr5739 

さてMSP430はLaunchPadから無事打ち上げることができるのか・・・? (未完)

最後に・・・このボード、裏面にちゃんとゴム足がついてるあたり只者では無いです。

2011/12/07

FemtoCube動作動画

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





2011/12/06

FemtoCube解剖


MTMで製作完成したハードウェアのBBM。期間中に見てくれた方はありがとうございました。

ここではその全体像を紹介。
衛星システム
人工衛星として必要な機能は、3つの基板が担っている。
・太陽電池基板(SAP)
・電源、バッテリ基板(PCU)
・通信機/マイコン/センサ基板(C&DH)

そして、今回のミッション機器がこちら。
ATP3010F4基板
会場で販売されていたAquesTalk picoを組み込んだ音声合成基板。これによりボイステレメトリを実現。
平面に並べたところ
専用基板を作りたくなりますね。多分太陽電池を除けば、一枚に収まるはず。

FMトランスミッタとカラーセンサ部の接写。黒い配線がアンテナ。
電波出力は微弱無線となるように、0.5mW出力+アッテネータ回路なので、直ぐ圏外になります。

このサイズなので、今のところアップリンクは無し。
電力状況に応じて動作モードを変える方針。

トランスミッタは2chあるので、片方をAFSKパケット、もう片方をAquesTalk picoの出力に割り当て。


カオスな裏面
 電源部分については、後ほど別記事としてまとめます。
LTづくし
 次記事に動画を載せました。


2011/12/03

MTM07出展


MTM07の出展に参加してます。
Artsat.jp
5cm角の模擬衛星が見たい方はぜひ。
場所は東工大の100年記念館(正門すぐの建物)です。
明日はちゃんと他も見てまわりたいなあ。

2011/11/28

太陽電池を求めて

小さい工作で太陽電池を使いたい時に困ることは、小さいソーラーセルがあまり売ってない(入手性が悪い)ということ。 (ここで言う小さいとは、1~3センチ程度の幅を持つもの)

PowerFilmもちょっと大きいので丁度よい大きさの物を探してみた。

千石電商で見つけたソーラーLEDライト。¥250だった。

販売元 http://www.henj.in/LED.html

最近は太陽電池を使った小さい携帯充電器や、ライトが結構出ている。それにしても安い。
かなり長い時間点灯する。ボタンは押すたびに点灯・点滅・消灯と切り替わるので、ICが入っているらしい。 
光量は眩しすぎると思うほど。 でも光は次第に弱まるので、昇圧したり電圧管理などはしていないようだ。(値段を考えれば当然だが)

お約束の分解。むしろ部品取りなので・・・

見た感じ、 コイン型リチウム充電池とLED、ボタンと制御IC基板が付いている。
太陽電池は逆流防止ダイオードでバッテリにつながっていた。


部品調査

太陽電池はSC-3722-9http://detail.china.alibaba.com/buyer/offerdetail/311771373.html

 中国のVIMUN社の製品らしい。
けっこう種類がある。(けど大きさとかあまり書いてない)
http://www.aliexpress.com/wholesale/wholesale-vimun.html

リチウム二次電池はLIR-2032 http://jp.eemb.com/pdf/Li-ion/LIR2032.pdf
コイン型セルのようだ。 
ちなみに充電管理されてないので、買った半分は電圧が1V程度だった。
いつ充電できなくなってもおかしくはない。 ということで適度に過充電しつつ、使うときはあまり放電しないように気をつけよう (充電管理も人間の仕事です)

部品代考えても、LED3つにバッテリまで手に入るのでけっこうおいしい。

太陽電池の電流
一枚でリチウム電池を充電するので、おそらく最大電力点は5V程度と見ていたがそのとおりだった。 屋外では一枚で最大5mAとのこと。効率は、同じアモルファス系のPowerFilmより減るが、どっちも10%台で少ないという点では同じ。 A-Siは電力が欲しければ面積を稼がないといけない。
価格の安さに加え、設置面積をあまり気にしないなら、これでいいですね。

本題
粘着テープでくっついているので、ゆっくり刃を差し込んで取る

さっそく2枚載せてみた。 丁度良さげ。
しかしこれでもトランスミッタの連続送信には難しい電力量。 数分に1回 パケットを出せるかどうか。

効率

効率28%の宇宙用GaAs系なら、2センチ角で30mAは出る。けど、お値段的に手が出ない。宇宙機の値段のうち、太陽電池の価格は結構大きい。

例 http://www.clyde-space.com/cubesat_shop/solar_panels/0u5_solar_panels/290_0-5u-cubesat-solar-panel  

充放電管理という点では、さっきのライトは電池をスーパーキャパシタで置き換えて、チャージポンプICを付けると、放電の下限を気にせずに済む。 (充電は電圧上限でストップさせる) コスト的にはもちろん釣り合わない。

工作している物:が実用度で言うと250円のライトにも劣るとかそういう話は(お

一個はバラすのが忍びないのででそのまま使い続けよう・・・。

2011/11/26

ストラップ模擬衛星 (5x5x5cm)


「人工衛星」というハードの規模は幅広いスペクトルがあり、その規模は無線付きワイヤレスセンサと呼べるものから、遠隔操作の重機までくらいの差がある。

CubeSatは間違いなく前者の領域に入る。それもアマチュア無線技術に基づく、CWなどの人間向きの信号をやり取りする。

ということで、この無線でのやり取りに焦点を当てた模擬衛星キットを作ってみた。できるだけ簡素化したので、電源部含めて5x5x5cmに収まる。

実はCubeSatにも5x5x5cmサイズの計画がちらほらあるようだ。
海外では10センチ角以下で100g以下の衛星はFemtoSatと呼ばれている。

(フェムト: 10のマイナス15乗)

重さでの分類によると、
Mini 10kg~100kg
Nano 1kg~10kg
Pico 100g~1000g
Femto ~100g

(ちなみに、CubeSat規格での0.5Uは10x10x5cm)
宇宙では大きさで発電電力が決まってしまうので、小さいということは積めるものにもいろいろと制限が大きい。




概要
主要部品
FMトランスミッター (新潟精密 NS73M)
ATmega328P 8MHz外部水晶/Arduino用ブートローダー
LM60   温度センサ

検証中
S9706       カラーセンサ(レンズはジャンクの組み込み用WebCamから)
MMA7361 加速度センサ
LTC3105  低電圧MPPC動作DCDCコンバーター
LTC4071  低電圧起動Li-Po/ionチャージャー
太陽電池 SC-3722-9
Li-Poセル 100mAh
スーパーキャパシタ(5V/1.5F~)

基板 UP-204GSR 二枚組のユニバーサル基板
10mmジュラコンスタッド
塩ビのキューブケース(50mm四方) ハンズにて発見。ぴったり。


通信系

この回路の目玉ははNS73M FMステレオトランスミッタ。カーステレオにDAPの音楽を飛ばすためによく使われるもの。

XBeeのようにモジュール同士での遮蔽された通信ではなく、普通のFMラジオを使って直接受信できる。

本当はCWを出してみたいけど、ここでは簡単さを優先してFM(WFM)に絞った。
まだ受信系すら積んでないので、赤外線入力くらいは付けたい。

微弱無線に適合するためアッテネーターを外部に追加している関係で、あまり距離は出せない。それでも実際の衛星が使う電波通信の感覚を模擬できる。

モジュール自体はワイドFMで飛ばしているのだが、無線機のFMモードで聞くと、帯域制限がかかるためそれっぽい音が聞こえる。(飛距離も伸びる)

トランスミッタにAVRで生成したモールスとAFSKパケットを音声入力する。ステレオ入力なのでちょうど1chずつ割り当てている。OPアンプでミキサを作れば、他の音源ソースを入力するなんてこともできる。 音声合成ICや、マイクロホン、音楽プレーヤーのライン出力などなど・・・。

衛星のフォーマットに限らず、センサデータで自由な音が出すことができる。ワイヤレスセンサーシンセと呼んだほうがいいだろう。

信号生成には、Arduino向けのMorseライブラリとSoftModemライブラリを使わせてもらっている。(Bell202規格の復変調ICが入手しづらい今日この頃)



ありあわせの部品で簡単に作れるのだが、まだ問題が山積み。
・電源管理
 FMトランスミッタが起動した時点で、回路の消費電流は3.3V、40mAとなる。ピーク132mWの収支をとるのが結構難しい。
テレメトリ送信頻度は数十秒に一度へ減らし、平均消費電力を発電量以下に持っていく必要がある。 
大容量EDLCでの初期充電時間の壁をなんとかしたい。

・太陽電池の選定
おあつらえ向きの太陽電池があまり無いという罠がある。PowerFilmの最小サイズでも縦幅がオーバーする。 動かすときは、素直に外部にパドルを広げたほうがいいだろう。

衛星は超絶技術の塊ではなく、枯れた技術の故障回避設計の塊。そう。プロトタイピングの先には長い長い検証が待っているのです。

関係ないけど、ニトリのバナナハンガーはヘッドホン吊るせたりして色々と便利ですね。

2011/11/22

SH-2A基板のボード製作


SH-2A基板を入手して1年半。人に貸すも埃をかぶって戻ってきたので、成仏させるために少しづつ組み立ててみた。毛虫計算機と名乗るからには計算機作らないとね・・・(木製PCケース製作からずいぶん遠くへ来たもんだ)

想定分野は、差動シリアルI/Fがメインのちょっとした産業向けOBC。
4つあるD-SUB9ピンは1つが上位システム(PC)との制御ポートで、あとの3つはRS422トランシーバを介した周辺機器制御ポートになる予定。
基板は秋月のDSUB基板(大)

必要に応じて増設っ

化粧板は0.5mmPET樹脂板2枚と、間にいろいろ印刷した厚紙をはさんでいます。
寸法設計、出力はEAGLEを使用。
DSUBのポートは基本的に独自ピンアサインで


開発環境はHEW+KPITのGCCコンパイラで整備中。





2011/11/17

AR天体望遠鏡


八木アンテナにARを導入してみたりしてきたけど、一発で分かる本命はこっちだろうか。

GoogleSkyMapを望遠鏡のガイドの代わりにしてみた。

ターゲットの望遠鏡はジャンク扱いで発見したMEADEの入門機DS-60
実は中学の頃、電動式で反射望遠鏡なDS-115ECを買ってもらったがために、もっと変なことしようとして専門用語のたくさんあるサイトを巡回するようになった気がする。
 
動かしてみると、HT-03Aではあまりポインティング精度が出ない。
しっかりした視野への導入はまだガイド望遠鏡が必要ですね。

広視界な双眼鏡と組み合わせたら最適だと思う。グリグリ好きな宙域を眺める事ができて、そこにある星座名や、明るい恒星名を一つ一つ覚えられたら良いなあ。

 人工衛星と違って、星は逃げないのでじっくり観察しやすい。

時間と方角の予備知識だけで見つけた小さい彗星は未だに忘れられない。星と違ってエメラルドグリーンの薄い尾がコマのまわりを囲んでいた。写真とくらべたら肉眼で見られるものはごく一部の明るいところだけだけど、あの彗星はだいぶ意識に残っている。(マックホルツだったかなあ・・・ 

 
 本物は見てみないとわからない。ハートレー第二彗星をフライバイしたエポキシ探査機ミッションの責任者が「バーチャルが流行ってるけど、(探査機のダウンリンクした画像ををみながら)これこそがリアルで、実際に起きたことです」とustで語っていたのが印象に残っている。
 

昔ならプラネタリウムソフトを動かしたノートPCをお供に抱えて運用していたわけだけど、それがおおまかな現在位置と姿勢追従を伴って小さな端末で出来るようになったのは面白い。
 昔のオーバーレイは現実の環境とリンクするセンサが無かったけど、スマートフォンみたいな物理インターフェースを搭載したものでは、現実オーバーレイという呼び方のほうがしっくり来るような気もする。

 個人的にはコンパスと六分儀をマスターしたい。これで旅も怖くないはず。



2011/11/14

三軸磁気センサの搭載(SpinnerTwo)




ローバー向けキラーアプリであるコンパスを試してみたい。
とおもってお金をケチった結果、デジタルコンパスではなくデジタル3軸磁気センサを手に入れてしまった。



HMC6343のような傾き補正付きデジタルコンパスモジュールとして入手できるものは、3軸磁気だけでなく、加速度から得られる姿勢情報なども含めて色々と処理をしてから方位角を算出してくれる。そこら辺はユーザー側ではあまり気にせずに済む。

対して、この3軸磁気センサは3軸の磁界強度を得られるシンプルなモジュール。
シンプルなので色々と計算しないといけない・・・。

色々文献を漁って、回り道をしたけど、適当に本体を360°回しながらX,Y軸の磁界強度をグラフにプロットするとこういうモノができた。
mag3110でのXY磁界の強度変化グラフ(鉄製のテーブル上にて)

おお・・・ちょっと計測点が少なすぎたけど、ちゃんと円を描いてる。(X軸のスケールはスルーで・・・)
まずは磁界強度で描かれた円の中心がわかれば水平での方位角を求めることができそうだ。(Sparkfunで見かけたソースでは、中心を出す計算が省かれており、方位は出てこない・・・)

調べる中で、地方磁気の角度とか、軟鉄/鋼鉄など、磁気を帯びた物体上での撹乱などについても文献を見つけたが、とりあえず中心点のキャリブレーションをしてから使うことになりそうだ。
このセンサを使うにあたって、いくつか注意点としては、磁界が近くにあると正常な値が出せないこと。
特に小型ローバーはモーターが近いので、センサ周辺は磁気遮蔽用のアルミテープを貼っている。 覆う前は5000近い値まで出ていたが、現在は安定して地磁気を拾えるところまで来ている。
3軸磁気センサと磁気遮蔽アルミテープ 横は加速度センサ
もし路面付近に強い磁気を帯びた物体があったらと思うと、ナビゲーションには限定的な使い方しかできないのかなあ・・・。今度GPS走行させて確かめたい。

他の方向としては、検索時に見つけた例として、スマートフォンで指に磁石を付けて磁場ジェスチャー(テルミン風の楽器インターフェースとか)として利用したりといった、新しいインターフェースとして使うというのもありかなあと思う。


ATmega644P/1284P向けNewSoftSerialライブラリ(Wiring)

Wiring1.0上でターゲットMCUをATmega644P/1284Pに選択し、NewSoftSerialを使おうとした場合、うまく動かない。

個人的な事象として、JPEGカメラをローバー(ATmega1284P)で設定してみたところ動かなかったので、調べてみた。


ライブラリ内にあるNewSoftSerial.cppを見ると、ピン割り込み設定において、ピン割り当てが互換ボードの一つである、Reduino:LEDheadに設定されている。

このボードとWiringS/互換機ではピン割り当てがだいぶ違う。D7までのピンなら動作した理由は、ここだけ割り込みピンとの対応が共通であるからだった。

これをWiringS用に書き換えてみる。

\Wiring\cores\AVR8Bit\libraries\NewSoftSerial\NewSoftSerial.cppの中で、
644Pの該当箇所を以下のように書き換える。

変更点

・ATmega1284P追加
・Wiring用にピン割り込み関連のレジスタの番号とIDE上で扱うポート番号を対応させる作業)
----------------------------------------------------------------

#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__)

//for WiringS

#define digitalPinToPCICR(p)    ( ((p) >= 0 && (p) <= 31) ? (&PCICR) : ((uint8_t *)NULL) )

//for Wiring S
#define digitalPinToPCICRbit(p) ( ((p) <= 7) ? 3 : \
( ((p) <= 15) ? 2 : \
( ((p) <= 23) ? 1 : \
0 ) ) ) 


#define digitalPinToPCMSK(p)    ( ((p) <= 7) ? (&PCMSK3) : \
                                ( ((p) <= 15) ? (&PCMSK2) : \
                                ( ((p) <= 23) ? (&PCMSK1) : \
                                ( ((p) <= 31) ? (&PCMSK0) : \
                                ((uint8_t *)NULL) ) ) ) ) 

#define digitalPinToPCMSKbit(p) ( ((p) <= 7) ? (p) : \
                                ( ((p) <= 15) ? ((p) - 8) : \
                                ( ((p) <= 23) ? ((p)- 16) : \
                                ((p) - 24) ) ) ) 
----------------------------------------------------------------

これで644P/1284PのどのピンでもNewSoftSerialが使えるようになるはず。

デフォルトでWiring Sといった公式?ボードに対応してないのは深遠な理由がありそうでなさそうだが・・・うむ。

なんだかんだで、最近は環境がWiring1.0に移行しつつある・・・。

1284Pのピンをだいぶ使いきって、あとはアナログピンが幾つかだけという状態。

2011/11/09

新JPEGカメラのライブラリ(VC0706)をLS-Y201で使ってみる



最近簡単に入手できるJPEGカメラとしてはLS-Y201がある
http://www.sparkfun.com/products/10061
http://www.switch-science.com/products/detail.php?product_id=453
アナログビデオ出力(PAL)も付いていて、JPEGカメラとしても動作するという不思議な特徴をもったカメラ。
(以前の比較記事)

搭載しているDSP(VC0706)は、販売元の説明以外にもいろいろと隠された機能があるらしいということは知っていた。けど仕様がわからないとどうしようもないので、ローバーに搭載したり赤外線カットフィルタを内蔵しておかしな色相を直したりと、主に外側の改善ばかりしていたのだが・・・

さて、Adafruitで販売され始めた新しいJPEGカメラ。よく見てみると同じチップを搭載している。こちらは映像出力もちゃんと謳っている。(NTSC・・・だと・・・^^;)

さらに、仕様書からライブラリも作ってくれたようで、GithubからVC0706用のライブラリが入手できる。http://github.com/adafruit/VC0706-Serial-Camera-Library

チップが同じなら、きっとこのライブラリも使えるはず・・・
ということでLS-Y201で使ってみた結果、ちゃんと動きました。 
問題なく撮影できてます。

(ソースがSDカードへの保存を要求するけれど、めんどくさいので画像データをシリアルに垂れ流すようにいじりました)

注目点としては

・スリープモード
・JPEG圧縮率の設定(高画質にしたい・・・)
・TV出力のON/OFF制御(OFFにすれば消費電流が減るよ!)
・映像の簡易制御(ミラーなど)
・動体検知撮影
・OSD機能(機能しないらしいけど・・・)

adafruitのチュートリアルではうまく動かない機能も多いらしいが、

目玉機能である動体検知はちゃんと動いた。検知の感度などはライブラリ側でいじれる様子。

これでローバーも定点観測ができるように・・・
眠っていたLS-Y201がある方もぜひ。

(以前は全然みつからなかったあのDSPの資料がちらほら観測できてる・・・?)
某資料によれば、映像のNTSC/PAL切り替えはとある足のプルアップ/プルダウンで決まるらしい。試しに足を持ち上げたら映らなくなったので、慌てて修復したけど、どこかにプルアップ抵抗が設定されているおかげで、LS-Y201では標準のNTSCではなくPALが選択されている様子。さてどれだろうか・・・




2011/11/06

Whipper


可変径車輪を有する一輪ローバーの開発3



小型ロケット、無人航空機などのサブペイロードとして搭載されることを想定した小型軽量、最小限の探査車として、一輪ローバーSpinnerを開発した。(文献1)
Spinnerは一輪と方向転換のための一自由度の腕を備えている。EMモデルは容積1Lで500g以下の重量を実現している。
この1輪モデルの試験走行を経て、設計の効率化を図り、可変径1輪車のコンセプトを提案した。(文献2 「 SpinnerX 」)
この文章では、SpinnerXの改良案を述べる。

論文のような序文はここまで。

また次世代Spinnerを思いついたので、その機構をまとめる。

SpinnerX (シーソー型?)

SpinnerXで構想したシーソー型可変機構の場合、実は2つの手強い課題がある。
・耐衝撃性
・可変ゆえの不安定性

 機構自体を試作してみて、折れない/たわまないことが証明できるものを作るのが難しかった。
また、角度調節用のサーボから伸びた軸が足につながっているのだが、そこに衝撃が集中して壊れてしまう可能性が高い。。

この機構にこだわって、衝撃を伝えない方法を考えるのもいいけれど、機構や調整方法が複雑化するのは避けたい。
スムーズな進路変更を犠牲にしても、今まで通り腕で済ませたほうがよっぽど信頼性を確保できる。

変えたいのは左右の接地面の高さだけである。 シーソー型の良いところをとりつつ、簡単で壊れにくい仕組みは無いだろうか・・・。 
メカトロ以前のメカニクス的な機構を考えるのは楽しい。 SpinnerX以降、機構の検討は放置していたので、いい具合に思考がリセットされていた。
新しいスライド案も、友人のスライド式携帯の動作を見て思いついている。

<スライド式可変径機構の仕組み>
本体回転式の機体はSpinnerXを受け継ぎ、接地面をアーチ状のリボンに置き換える。リボンは柔軟な物質でできている。
リボンは片端を車体の端に固定され、もう片端はスライド可能な板材に固定する。
この板をスライドすることで、リボンのアーチはスライドした側に高さが偏る。板にサーボ機構を組み込むことで、可変車輪径が成り立つ。

この機構の場合、サーボの駆動軸は車体と水平で、接地面のリボン素材とアーチ構造そのものが衝撃吸収を行う余地をもつ。

さあ、それを踏まえて新型のCGはというと・・・



泡立て器みたいなので、Whipperと呼ぼう。

デザインはもとのSpinnerに収斂しつつある。

最近は忙しくて工作する暇が無いけれど、センサをSpinnerTwoにたくさん載せては配線しているので、制御系のソフトウェアの改良は続けています。

こいつも早く作りたいなー。

2011/10/14

RFIDと惑星探査

空想宇宙機シリーズ。 とはいえ今回は少し現実路線から・・・



<遠い道のり>
1輪探査ローバー "Spinner" を作って1年以上。手元においておくといろいろ思考が進んで楽しい。
"Rover" という語源からして、放浪する探査機械というものを夢想して製作してみたが、今のところ、この機械が運用できるのは何もないグラウンドや広場に限られる。

現実を見ると、XBeeは打ち上げ角の関係上、地上間では数十メートルしか交信できないし、バッテリは数時間しか持たない。 車輪に貼りつけた太陽電池は全電力を賄うには(数日の充電期間が許されないなら)足りないし、なによりもセンサ不足なのでちょっとした地形の変化に対応できない。そもそも探査してない。
これが現状。そもそも大きさとコストを限定した時点で、いろいろと物理的にできることが限られている。動画ではいいところばかり編集できるので、つい自分も騙してしまいがちだけれど。

色々あって実機の開発は中断状態だが、こうした単純なロボットを活かすための枠組みを幾つか考える中で、すこし面白そうな手法を思いついた。

<ヘンゼルとグレーテル>

何の変哲もない砂漠に降り立ち、GPSなどの航法システムも存在しないとき、周りを探検しろと言われたらどうするか。

人間なら(生命の危険を感じないとして)、まず降り立つ場所を基準として、道しるべを求めるだろう。周りに目立つものがなければ、何らかの目印を置くことにする。(天文学をかじっていれば、日時計と星座により方角と現在地もわかるがここでは省略)   

この道しるべだが、人間でなくロボットが置くとすると、ロボット自身が迷いなく認識できるものが望ましい。 視覚では対象の環境が単純すぎたり、逆に特徴が多すぎたりすると使えないので、あくまでサブシステム。

<一寸の虫にも五分の魂>

そのお手本となりそうなのが、蟻の行動。

行動生態学の領域や、知能ロボットの分野では、蟻の探索行動が研究、応用されている。その行動にはフェロモン、太陽の偏光、触覚などの知覚が関与しているらしい。 フェロモンだけと思っていたら、巣周辺の地表を荒らして初期化しても、蟻は他の様々な感覚を併用して巣を探索して帰還できるらしく、読めば読むほど巧妙さに感心するほかない。 子供の頃に巣を破壊する以外の学術的な探究心(特に、システムを探求する方面)を育んでおきたかったと思う。

<数値平原>

話が脱線したが、まずはローバーにフェロモンを実装する方向で考えてみる。 とはいっても分子を追わせるのはまだ難しいし、真空では揮発してしまうので、アクティブな電波灯台のようなものを考える。ローバにも運搬できて、バラまけるような単純で量産可能なもの・・・ 
最近流行りのRFIDタグなら、これらの条件を満たしそうだ。 数cm~数十cmの範囲なら、RFIDリーダーの電磁誘導で単純なデータを返すものが多い。ローバーにリーダーを搭載して、タグを敷設しながら進む。タグにIDを割り振って記憶しておけば、それが道しるべとなるだろう。 

道しるべだけでなく、たとえば地表での探査範囲を限定するために、フィールドをRFIDで囲むというのもありだと思う。 むしろ現実の工場、路上、室内での研究例としては囲ったり、進路を指定したりするために使われているわけで・・・。
RFIDを利用した探査

SF的なインパクトを考慮すると、以下のようになる。
・地球から遠隔操作可能な規模の着陸機(ランダー)に、複数の超小型ローバー、大量のRFIDタグを艤装する。
・ランダーにはある程度の機能を(画像探査、サンプル分析器)をもたせ、ローバーは単純なセンサ群で済ませる。

ランダーは着陸前後にタグを地上に散布しておく。ローバーはそのフィールドを走りながら、まずタグのIDをマッピングするという形態である。

LIDERやカメラで周囲を数値化するのはランダーにまかせ、ローバー自身は周囲をIDタグの分布で数値化し、物理的な障害は単純な接触や圧力センサで対処する。 明らかに危ない箇所はランダーが着陸前にマッピングしているはずなので、ランダーの眼とローバーの協調でだいたいの罠は回避できるはずだ。 

着陸地点周囲のマッピングが完了すれば、ローバーへの指示も楽になる。

ローバーに搭載するリーダーには、指向性(遠方RFIDの探索)と現在地決定(車体下部での読取り)の2つがあると理想的かもしれない。 ここらへんの設定はRFIDによりけり。

地面自体にIDが割り振れると、他にも便利になることがある。 

現在検知しているタグの番号が変わらないのに、一定速度で行動中であれば、地面に対して進んでいないこと(障害物にあたったとか、穴にはまったとか)を検知できる。 これはタグ自己散布型のローバでも、一定速度で散布しているはずのタグの複数干渉を検知できれば可能になる。 何もない平地で足をとられると、その検知が難しいので、道しるべはシンプルな解決法の一つだろう。

あとは・・・
・タグの所在とサンプル採取の地点情報とを結びつけて、着陸機に搭載した分析器で地点ごとのサンプル分析に活用する。
・複数のローバーを自動運転させる。
・タグを補給しつつ、遠くまで旅をさせる。
・タグに機能を追加。太陽電池を付けて簡単なセンサロガーとし(温度、日照など)を記録させてローバーにデータを回収させる。

・・・といった展開が考えられる。小型ローバーのセンサとコストを無駄に増やすことなく、システムとして面白いことができそう。

もちろん、うまく広範囲にタグをばらまく方法などの課題がたくさんある。

RFIDを見失ってもランダーへの帰還は可能だろう。 遠距離なら電波のRSSIで、近場ならローバーからの画像をランダーで画像処理しながら進むことで。 複数のセンサを活かすにしても、電波が届く範囲なら外部の処理能力(ランダー)を使えばローバーは単純で済む。  
というわけで、着陸機からアリみたいにぞろぞろローバーがでてきて、周囲の探査とタグ敷設、サンプル採取を行う様子を想像してみるのであった・・・。

<おまけ:着陸機設定集>

小さめの月面着陸機。名前はアリの巣一号。(推進系が多分小さすぎるだろう疑惑)
Spinner Xを8台ほど運べる。

着陸前後にRFIDをばらまく散布機能付き。
着陸時は普通に降りてくる。底部の3脚で着陸後、ローバーの作業支援がしやすいように、横倒しにさせ、パネルを展開する。

作業形態。 なにかに似ている・・・
中からSpinnerがぞろぞろと出てくる形。 Spinnerは周囲を探検するほか、サンプル回収を行い、着陸機の分析器に運ぶ。