2011/06/30

AR八木アンテナ


手持ちの八木アンテナによる衛星追尾をしてみると、見えない衛星の導入を簡単にしてみたくなる。

…と思ったので思いついたのは、スマートフォンを八木アンテナに取り付け、ガイドさせるというもの。最近流行りのARだ。


昨今のスマートフォンは計算性能含めて立派なコンピュータと言えるが、センサを搭載したり、手のひらサイズだったりすることで、より人と環境にフレンドリーなデバイスに進化した。


今までの歴史に登場した様々な端末でも軌道計算は可能だが、iOSやAndroidでは加えて以下のセンサを使うことができる。

現在地→GPS
方位角→電子コンパス
仰角(姿勢)→加速度センサ

これらの連携により、計算機は軌道計算を観測者の現在地、方向を含めて算出することができる。 

Androidには既に、「GoogleSkyMap」のような角度+コンパス+GPS座標を使ったAR天体ビューワーソフトが存在するし、すでにToriSatのようなISSビューワが親しまれている。 

今回は任意の衛星を導入したいので、TLEを入力できる汎用なものが必要になりそうだ。
TLEとは地球軌道上の衛星の軌道要素のフォーマットで、軍事以外の宇宙機はすべて登録されている。
PCの軌道表示ソフト「Orbitron」のようなソフトは無いだろうか。

・・・で、たまたまAndroidマーケットで検索したところ、まさに上記のことができるアプリを発見。作る人はいるものだ。
「DroidSat」
 GoogleSkymapのようなAR感で、TLEデータをダウンロードして座標とともに表示してくれる。 今のところ、目的の衛星の現在地を眺める以外はほとんど機能が無いので、改良に期待するか、同じようなアプリを自作するべきなのかもしれない。 手持ちの端末がAndroid1.6止まりなので、他にもよさそうなアプリがありそうな気はする。


試作


6素子の500円アンテナにAndroid端末(HT-03A/HTC magic)を取り付けてみた。
うーん、それにしても見た目が・・・ 
せっかく追尾するからには、もうちょっとアンテナ自体の指向性を増したい。6素子だと16方位の指示くらいでもよさそうな気がする。

 結果としては、かなりよかった。 

PCでやると方位まではわからないので、おおよその範囲を探すことになる。地面に置いたPCで衛星の角度を確認して、アンテナを向け直し、目的の衛星の周波数サーチや受信周波数のドップラー補正までこなすのはかなり面倒な作業だが、ARだと手持ちの装備でガイドと受信が完結するので割り込みが減ってとても楽になる。

 週末のアマチュア衛星の交信や、大学衛星のビーコンなどの受信も成功した。特にISS高度の衛星やデオービット間近の衛星は足が早いので、ドップラー補正まで自動化できたらかなり本格的な道具になるかもしれない。


理想型
iPhone版AR_GS(Ground Station)

 スマートフォンの現在の機種であれば、TLEによる導入支援に加えて、イヤフォンジャックからの音声録音&電波解析も出来るのだろう。電波を出さないのであれば、無線機はSDR受信ドングルという形での接続もありうる。Bluetoothやソフトモデム経由で外部アクチュエータをつなぎ、追尾作業も完全自動化なポータブル地上局も作れる。
 実はArduino程度でもTLEから軌道計算ができる。ということでもっと組み込んだ形でもARアンテナが作れる。デジタルコンパスとGPS、加速度計を揃えるとローコストとは言い難いけど、無線機の周波数制御とあわせて自動化するアプローチの一つだ。
 
 スマートフォンのもう一つの強みは
ネットワークの構築。スマートフォンならアプリ内でSNS連携を行い、受信者同士をつなげることが簡単だ。イベント化させた草の根活動にはいいかも。
 無線免許資格者であればアップリンクも出来るので、法令では出来ない無人局からの送信の代替案となったり・・・するかもしれない



参考文献とお借りしたもの
DroidSat http://sites.google.com/site/droidsatproject/
電波受信まとめ(自家記事) http://kemushicomputer.blogspot.com/2010/12/blog-post_18.html
500円八木アンテナの改良版(自家記事) http://kemushicomputer.blogspot.com/2011/03/500.html
Orbitron http://www.stoff.pl/

2011/06/29

シグマリオンIIをシリアル端末化

10年前。 それは2001年。やたら近未来デザインな情報機器が沢山発表されていたあの頃。ペプシを飲むと宇宙旅行に行けたはずのあの年。
sigmarion (NEC)
それはともかく、H/PC(ハンドヘルドPC)という分野が存在していた。WindowsCEを搭載して、Palmなどと違って小さいがキーボードを備えたビジネスマン向けのPDAである。ノートPCより小さく、即時起動するのでノートPCの小型軽量化とパームトップ機の高性能化が始まるまでは結構な地位を占めていた。
 2001年当時の先端機器も、10年以上経つと運がよければ5千円以下でジャンク品として手に入る。
当時ネットのレビューを眺めて歴史を見守るしかなかった若者も、栄光の時代の生き証人の発掘をするようになり…。

色々見つけて来た中でも、特にシグマリオン(NEC製、ドコモが販売)は秀逸で、ビデオテープ(死語)くらいの大きさ、小さくてもブラインドタッチ可能なキーボードと、バランスのとれたマシンだ。

SigmarionI、IIとも運良く2000円程度で手に入れた。sigmarionは寿命が来てしまったが、IIはまだ使えている。CFにデータを入れれば、テキスト編集やCDROM辞書(データ)の閲覧、PDF閲覧も可能だ。ジャンク品なのでバッテリの状態は運任せだが、手に入れた物は2時間は連続使用できる。
テキスト処理には最適な、空冷ファンも無い完全無音マシン。

このSigmarionIIをシリアル端末化してロボットの運用に使っている。まだシリアルポートが存在感あった時代なので、ポートはmovaとのデータ通信用に一つ、赤外線ポートに一つ付いている。 
Foma接続用のUSBホスト機能があるため、FT232などをつなぐことも出来るらしいがまだ試していない。

携帯のモデム用回線を汎用シリアル回線化するために、コネクタを除去してピンヘッダを取り付けた。ついでに特殊なUSBコネクタを汎用mini-Bに交換した。
引き出したのはTX,RX,5V,GND。 シリアルのピンヘッダは6本分使い、両端をコネクタ跡地にはんだ付けして基板に固定している。本体の改造はこれだけ。 なお手に入れた機体は典型的なヒンジ破損個体だったのでホットボンドで修復した。

RS232変換IC部
モデムの通信はRS232に従うため、CMOS出力に変換する。MAX232互換ICのレベル変換を行う。 
製作した外付け回路(取り外し可)。ピンソケットで本体のピンヘッダに接続。
GPSユニットをつなげたところ。

XBee接続例。ただしProのため電力消費が心配だ。実際動作はするが距離が出ない。

接続機器の電源はスイッチで内部電源と外付け電池を切り替え可能にした。

ローバーと接続し、通信しているところ。ターミナルソフトは、CE版TeraTerm。


ローバー並のサイズとなった。ただし日光下では液晶が見づらい・・・ 

参考
Sigmarionいじり http://z.apps.atjp.jp/ce/sigmarion.html

2011/06/25

アップデート


貸し出していた機体が出張からもどってきたので、若干改良を加えた。
スタビライザは100円の靴べらを無改造で取り付けてみたところなかなかいい感じ…

安定しない無線での書き込みは諦め、やはりプログラマ経由にした。
トラブル回避のため、電源は分離してあり、PCから供給されることはない。

2011/06/02

SpinnerX



今まで1輪ローバー、2輪ローバーと製作してきた中で、個々の要素技術を煮詰めてきた。その結果たどりついたのが単車輪による自由旋回技術である。
この車体を説明する上で欠かせない2つの要素が、
  • 車輪だけではなく本体ごと回転すること
  • 左右の車輪径を変化させることで旋回すること
となる。

本体ごと回るということ
 1輪の糸巻き戦車型ローバーは車輪を回すという概念で製作していた。結果として全車輪(車輪が本体を覆う形)になった。内部の車体は走行中もスタビライザ(外に飛び出した棒。回転の反動を支える)と一緒に地面との角度を保っている。ハムスターが回し車を回すようなイメージだ。

この方式の欠点は、車輪が外側のほとんどを覆ってしまうがために、センサや外部アクチュエータを積みにくいこと。
本体が車輪と一緒に回転すれば、センサの露出や接地面の情報取得が容易になる。
しかし、方向制御については全車輪で使えた外部の腕がそのままでは使えない。
そのためSpinnerOne製作時には検討のみで終わった。

車輪径を変化させる方向制御
 SpinnerOneは1輪なのに両端に車輪高のピークを持ってきている。障害物を乗り越える際の安定性向上の意図がある。

この左右の接地面だが、片方の高さが数mm違うだけでも直進性に影響が出る。
正確には重量配分、スタビライザの地面抵抗なども絡んでくるので、まっすぐ進むのはなかなか難しい。
1輪で旋回するための方法を考えていたとき、同時に出てきたのが、左右の高さを能動的に調節することで回転するというもの。
左右の車輪の大きさが違ったら、その場で半径の小さい車輪側にカーブする。
問題はどう変化させるかということだが、簡単に思いつくのは飛び出すような機構を取り付けることである。しかし複雑過ぎたりして現実的ではない。車輪が独立している場合は、複雑な機構を装備できないのがそもそも問題であった。

SpinnerX
上記問題を解決できそうなのがこのSpinnerXとなる。
まず本体が回転する。地面に対し静止しているのはスタビライザだけである。モーターはスタビライザを回す形で付いている。
次に車輪径の制御だが、ここでは脚と呼ぶ4本のシーソー構造がそれである。
脚は対角線上の2つ一組で、サーボによって制御される。 X字なので2個のサーボが内蔵されている。
脚の一組はハの字に左右へ倒れることが出来る。 二組とも片方に倒せば、左右の車輪径が変化した形態となり、倒した側にカーブする。 これは反対側も同様である。 腕なしで左右に自由な調整が出来る。

脚の倒す方向を互い違いにしてみよう。

今度は左右の端から見ると、二本の脚だけが飛び出した形になる。
これは障害物を乗り越える形態だ。通常走行時と比べグリップ力が増す。地面に合わせて互い違いにする角度を調節すれば、最適な走行性能を探ることもできそうだ。
可変車輪は色々例があるけど、これは割とシンプルな部類だと思う。

欠点
Xの欠点としては旋回半径が車輪半径の差に依存するため、小旋回が難しいということだろうか。
また、車輪の隙間に何かを引っ掛けてしまう可能性が高く、砂地とか岩石地帯とか、草みたいなものが生えてない場所じゃないと厳しい。

加えて腕も欲しい。この車体だと取り付けるのは厳しくなってしまうけれど…。スタビライザのカバーに内蔵するという手はあるが、複雑化を招くのは避けたいものだ

センサ系
SpinnerXでは全周にセンサを取り付けられる、開いた空間は薄膜太陽電池を貼り付けるといいかもしれない。(このサイズだと面積的にMCUの動作だけを維持する発電量にとどまるが)

脚の接地部に圧力センサ/スイッチ、
脚のフレームに曲げセンサなどを取り付けることで地面/障害物の検知が可能になる。
本体にPSD距離センサを取り付けて、4方向を向かせ、障害物と距離の検知を行うという可能性も拓ける。 距離センサ単体ではノイズや誤検知を防げないけど、脚のセンサ等の情報を加味することでフィルタリングできそうな気はする。
路面状況の把握が出来れば、脚の角度や進行方向を調整するフィードバックが可能となる。

ミッション系の構想
コンセプト図ではミッション用のスペースを分けてみた。映っているのは半球ミラーを使用した全方位カメラ。 本体ごと回転してしまうが、どんな回転角でも影響を受けない映像が撮影できる。(撮影した映像は回転速度に合わせて回転する処理が必要になりそうだ) 

本体ごと回転するので、地面観察用のマクロレンズ搭載カメラと、サンプラーバケットを側面に内蔵してサンプルリターンなども簡単に実現できそうである。

2011/06/01

Rock'n Roll Rover

たとえDiscoだろうと、Desert、Distant、Deepspaceだろうと…。

ご覧のとおり光ってます。見も蓋もありませんね。
秋月の高輝度青色LEDx2です。PWM可能。

次はMP3再生機能とスピーカー、
最後に両端に腕を取り付ければ完成間近です(嘘) 

そもそもロボット作りを始めた元ネタを紹介しておきます