2011/04/30

GoogleSketchUPで設計してみる

基板フレームな車体はかなり自由度があるので、やりたいと思ったことをあれこれ載せてみる。
のちのちSpinnerTwoの車体にシステムをそっくり移すことにして。


車輪

試しに前回の車体で外を走らせてみたところ、案の定不整地でかなり苦戦したので、 
車体保護と荒地走破用の容器を車輪に追加した。円筒はもともと綿棒の容器。
車体を支える白いポリ軟膏壜の蓋と一体化させて、あとでサンペルカをくっつけよう。

モーターも100:1に戻した。今の速度はちょっと早過ぎるのでおあずけ。

そしてMCUはArdupilot Megaを実装してみた。(赤いやつ) 
Arduino Pro miniはモーターコントローラとして残そうかと思ったが、意外と配線の処理がめんどくさくなりそうなので今は断念する。いずれにしろMEGAだけでも十分制御できる。

ピンヘッダを取り除いて、基板に実装面を向かい合わせる形で固定。L型金具の隙間にうまく入った。
裏面はピンのシルク印刷がみえるので、ここからUEW線で配線をすれば効率が良さそう。

カメラ
こちらにはJPEGカメラを装備。TV出力はRCAジャックを取り付けて有線でカメラ出力が取り出せるようにしたい。 これで電波法にも準拠しつつリアルタイムの画像が取得できるはず。 念のためビデオアンプをつけよう。

GoogleSketchUP

 以前から自由なお絵かきにたくさん使ってきたけれど、もちろんCADのように使うことも可能。今回はめんどくさがらずに部品を全部書きこんでみた。
ミリ単位の編集は、環境設定から選べる。 GSUを起動し直せば新しいスケッチは選択した単位系で始まる。

ポイント

 レイヤとグループ化の構造を考えておくと便利・・・ 以上。

 グループ名は エンティティの編集画面で変更できる。 (レイヤもね)
後から変更するのは結構めんどくさい。モーターレイヤでネジを量産したりすると後が大変だ。


これで実際の部品や基板を無駄にせずに開発できるといいなー。

実物


以下、消費電力的な小ネタ

動作時の消費電流はおおよそ次のようになっていた。

・ XBee Pro      55mA
・ GPS             32mA
・ Arduino  +LED     8mA
・ リレー2個(逆転時のみ) 25mA
全部ONだとだいたい100~120mA。 

システム全体
・モーター前進(無負荷で空転状態) 270~300mA
・負荷がかかったとき   400~700mA

ほぼ予想通りの消費電流が測定出来た。 リレーを動作させるだけで1つ12mA程度消費していた。C接点なので、前進時はリレーに通電しなくて済むので消費はゼロ。

・カメラ(LS-Y201)45mA、60mA
これはスリープモードが存在しない(TV出力のOFFで45mA程度)ので、モーターと同じようにNchFETでOFFできるようにしよう。

2011/04/26

実験用ローバー / Prototype rover


宇宙機器の開発では試作モデル(BBM)、次に電気モデル(EM)、飛行(搭載)モデル(FM)という順に開発段階が設定されている。
Spinnerシリーズもその手順を踏んで開発してきた。 まずはネタで、次に改良して設計に反映して…
糸巻き戦車型のSpinnerOne、オーソドックスな二輪のSpinnerTwo ときています。
先日作ったFET式ドライバはもともと2輪タイプでの採用を前提にしていたが、これもSpinnerOneに反映することで改良に繋がっている。ふたつのタイプの技術を融通しつつ、作業を進めている印象。

ただ、Spinnerの車体についても組み立ての自由度をもう一歩上げたいという欲求もあり、ローバーシステムのラピッドプロトタイピング化を狙い、規格化されたパーツからなる部品だけで組まれたローコストな車体を新たに作ってみました。 


構成部品は基板、スペーサ、ネジ、モーター、L型金具。それだけ。
基板は秋月の片面ガラスユニバーサル基板 140x40mm
モーターはいつものダイセン工業のロボサイトギヤモータ
ギア比は落ち着いた制御を考えるなら100:1がよさそう。
使いたい部品と入手レベルに併せて、形状にはたくさんの解があるけれど、
今回はモーターの軸を基板で囲むというイメージです。

実装一例。 XBee,GPS,Arduino,キャラクタ液晶、ハイブリッドFETドライバ。
慣れると配線作業だけなので、1日で組むことができた。

黒いスペーサーの下に取り付けたのがL字金具。 写真では上面の基板を横に固定して配線のデバッグをしたりしている。

車輪一例 (某社に怒られそうな見た目)

L型金具を付けることで、側面にも基板を取り付けることが可能。単純な内部構造の保護や、センサテスト用の拡張基板として使用可能。
基板はある程度剛性もあり、素材としては重くなるけど、ユニバーサル基板は穴が既に開いているようなものなので、ドリルでの穴あけはアルミ板より楽。
車輪一例
SpinnerTwoの車輪。モーターがギア比1:30。室内のつるつるした床では空転してしまうので速度を抑えなければならなかった。荒地仕様ですね。

センサを載せる(イメージ)。 PSDと距離、加速度などのセンサを取り付ければ一般的な装備に。
基板がそのまま取り付けられるので、モジュールとして個別のセンサ配線を裏でまとめられて配線がスッキリする。


家事分野への参入例。花粉の季節に活躍する ティッシュの箱を固定してみると意外と安定して走行してくれた。

続き http://kemushicomputer.blogspot.com/2011/05/blog-post.html

2011/04/25

FETを使ったハイブリッドモータードライバ

リレー(のみ)式の欠点

 小型ローバーロボット向けに単なるリレー式のHブリッジを作って搭載してみて、その欠点も色々浮かび上がってきた。 
・単なるHブリッジなので、前進と後進しか出来ない。1輪だと大した問題は無いのだが、並行2輪だと操作が増えるので、カクカクした動作が目立つだろう。
・効率のよい進路調整には、PWM駆動がほしい。

 特に、3~5V駆動のモーターを制御しようとするとき、電子工作の小遣いで入手できるものはTAシリーズ位なのだが、入手性が落ちてきたし、無理やりPWMしてる形なのであまり効率が良くなさそうだ。 ということで自作してみることにした。  ただし、小心者なのでロジックを間違えると燃えるディスクリートHブリッジは今後の課題ということにする…。

FET
FETは今までに搭載機器の電源ONOFF程度にしか使っていなかったので、色々と搭載候補を物色。
安い定番ということでNchの2SK2232を使うことにする。サーボに入ってるパッケージでも要求を満たすみたいだ)

リレーは従来の仕様だと、2個のab接点リレーで前進と後進にそれぞれ1ch割り当てていた。
これは初期状態では電池が解放で、モーターが短絡になり、モーターに電磁ブレーキを欠けた状態になる。やたらvividに停止するのはこのせい。 小さくて安いリレーなのでこの形式で頑張ってきた。

C接点のリレーを使えば、前進と後進の切り替え(Hブリッジ操作)が1chで済むようだ。駆動電流のON/OFFを制御するのにもう1ch必要なので、ここをリレーではなくFETで制御することになる。

C接点を使う利点は、ローバーみたいに前進ばっかりするロボットの場合、デフォルトで導通する側を前進方向とすれば、後退したいときだけリレーを通電することになる。つまりリレーを動作させるのに必要な電流が削減できる。
方向転換をカーブで行い、PWM駆動に任せれば、リレーを通電する区間はかなり減らせる。 あれ、FETひとつだけでいいんじゃないか・・・と重大なことに気づいた気がする。 まあいいか…
リレーの選定は大きさとコイルの消費電流とで選んだ。オムロンのG6K-2P-Yは少々高いが小さくて使いやすく、マルツで入手できる。 webで見つけた作例でも使われていますね。

ハイブリッドモータードライバ

 端子形式は従来を踏襲。制御線が2chから据え置きなのでコネクタも変えなくて済んだ。
入出力ピンは、制御コネクタ4ピン(電源GND含む)と、モーターへのコネクタ2ピン モーター電源コネクタ2ピンで構成される。

回路図


 動作確認
リレー式のものと論理的には一部互換性があるので、ソフトウェアはそのままでで回転を確認できた。プログラム的には片方を通電するだけなので…その片方がFETであれば100%出力で駆動される。

実際の動作ではFETの動作速度に比べてリレーのレスポンスが遅いので、例えば片方前進、片方後進にしたときに回転が終わる位置に違いがでたりする。(無負荷の場合)

単純な解決策として
リレーのロジック(右、左)
遅延(データシートから、20msくらい? 個々のリレーに依る);
  FET_ON (デューティ比(右、左))
を施してみたり。

リレーが動作し終わるまでは通電させないことで、モーターの突入電流対策にもなる。

ローバーは移動できればいいのです


追記: 制御系とモーターの電源が共通な場合は結構大変なのでおすすめしません。あと、GNDは共通なので、クリティカルであれば、制御配線の絶縁処理(フォトカプラ、磁気カプラICなど)、モーターの発生ノイズ対策コンデンサなどをつけましょう。


2基あるせいか、最大出力でモーターに負荷がかかると、乾電池やニッケル水素電池などは大丈夫だが、工作用のリチウムイオン電池をつないでいると、保護回路働いて電源が落ちる。(入れ直すと復活する) そのため定格でデューティー比8~9割のPWMをかけて防いだ。 ダイセンのギヤモーターは負荷時に3Wあたりまでピークがあるので、けっこう電源には負担がかかる。

最新の構成(2015)


参考文献
PWMによるモータ制御
http://badmojo.web.fc2.com/PLARAIL/PR_ENO_PWM.html

モータードライブ編
http://srd.s43.xrea.com/circuit_learning/motordrive.shtml#FET-sp

2011/04/18

Spinner: Solar-Powered In-wheel NanoRover with Navigation .....

なんという強引な名前(ry
細長いPowerfilmの形的に適合するということで、Spinnerの側面に貼りつけてみた。 外観的にはこれ以上の進化は多分なさそう。
この場合、発電できる電力はすべてのパネルを太陽に向けた時点で0.5Wなので、この形状だと地面の照り返しを期待しても半分以下。あとタイヤが黒、そして光路の邪魔なので反射性素材で光を当てる工夫もしたほうが良いだろう…。
回路的にはチャージポンプによるバッテリへの充電補助という形になりそうだが、時間かかりそうなのがタマにキズ。
太陽電池を貼りつけるとテンション上がるのでお薦め?
あと回転する車輪とどうやって電気的接触を維持するかという問題については、車輪とフレーム間にパンダグラフを装備する予定。
個人的にフレキシブル太陽電池モジュールは効率を犠牲にしてもこういう使い方ができるので将来性を感じます。 海外だと模型飛行機の翼に付ける例とかもありますね。

話は変わり…

Spinnerはあくまでも実験機なので、取ってつけたような腕が特徴といえば特徴ですが、最近思いついた新型はとうとう腕の軛から逃れられそうです。めざせ単車輪でスラローム走行。
えっ腕がないと駄目・・・?  

 製作者としての恐怖は、自らの創造物にのまれて発想が錆びつくことでしょうか。
手段と目的の巧妙な置換の中で、何かに固執することはたいてい停滞に結びつきやすい。むしろ新しい試みの後で従来否定した手法のいいところを再発見したり(二輪しかり)。 紙の上の構想ですべてを把握するのは難しいので、いつも考えるよりも作ってみる癖が抜けないのですが…

2011/04/16

イトカワの3Dデータを眺める

話題としては相当出遅れたが、2007年からはやぶさが捉えた小惑星25143 イトカワの形状データが公開されている。

HAYABUSA Project | Science Data Archive
http://darts.isas.jaxa.jp/planet/project/hayabusa/shape_ja.pl

これをモデリングソフトで見るにはSTLデータが読めるものが必要。
あと加工するために、DXFやその他フォーマットに変換できると便利なのだが、MeshLabというオープンソースのメッシュ形状編集ソフトが使えた。
http://meshlab.sourceforge.net/

MeshLab自体でもデータの閲覧が可能。最大となる1,579,014頂点のデータも少々時間はかかるが読み込んで変換できる。 ピーナツをグリグリ動かして眺められる。


Shade12.0.2ではDXFがエラーになるらしくどのサイズでもハングアップするので、Wavefront obj形式にしたところ大きなイトカワも表示できた。(64bit版にて) 
 表面材質をいじってレンダリングしてみた。



ラッコと呼ばれる所以ですね。
 
なにもしないと光沢がキツすぎて、てかてか光った蝋細工みたいになりがちなので、材質はいろいろ試行錯誤できそうだ。
 読み込み時にサイズを指定するが、900~1000倍のどこかで取り込めば本物のイトカワ(長軸で約535m)と同じスケールになる。 



Shadeで対天体静止中の宇宙船視点のレンダリングをして見た。 宇宙船を1.5km離れたところに配置して、100mm望遠でレンダリング。
 黒いのは宇宙船の影だった。 はやぶさみたいに小惑星に影が落ちている。
 
 
 

目の付け所


 Spinnerは全車輪型のため、視覚的センサを設置する場所は必然的に外に突き出した車体フレーム部となる。 そして無理のない設置場所といえば・・・。
ということで真横を向いております。 Spinnerを捕えたくば、死角となる反対側から忍び寄ってください。 

実はもうひとつ前方視覚としてPSD距離センサが付いているため、猫が近づけば自動で腕を振ることが可能。 (実際は走行中につんのめってしょっちゅう地面を誤検知するため、内部の3軸加速度計で自分の姿勢を図りながら例外を除外するしかなさそう) 

外観

撮影したデータはOpenLog経由でSDカードに蓄えることが可能。ソフトはいずれ書こう・・・。

おまけ MARY基板
最近流行中?のMARY基板。 仮組みではご覧のとおりモーターの隙間に簡単に収めることができた。 小さい基板はやっぱり想像力を刺激される・・・ (ArduinoPro2枚より安い・・・)
2個付いてきた基板をどうしようかというと、既に組み込み先が決定していました。

まだできたばかりのピカピカの新車体。
丁度2枚あるので、片方ずつの車輪を担当させたいですね。

スマートフォンにおけるGPS機能


GoogleMap、ふたつのOS(iOS,Android)、A-GPSの3つが組み合わさることで急速に統合されたモバイルGPS業界。

どちらかというとWindowsCE時代のスタンドアロンなGPS機能に慣れ親しんできたので、最近のトレンドを若干誤解していたのだが、スマートフォンのGPS機能はネットワーク依存の比重がとても大きい。

ネットワーク以前の情報端末におけるGPSはスタンドアロンなナビゲーションだった。高価な地図データをカードにおさめて、高感度を売りにするSiRFなどの専用SoCをつかう図式である。Garmin社の専用GPS端末やカーナビと同じ図式だ。

対して携帯電話は早くからA-GPSを搭載した。A-GPSにおいて、端末は衛星から時刻情報だけ入手し、基地局から位置情報を提供してもらう。
基地局を頼ることで、測位までの時間の短縮、GPSの苦手な都市部での測位を実現した。
地図はもちろんサーバーからサービスとして入手する。オンラインであることが前提だ。
なのでA-GPSは携帯の機能を提供するベースバンドチップにも早々と組み込まれている。
(もちろんほとんどの機種では単独測位が可能)

そしてスマートフォンはケータイと同じく通信インフラが前提にある。調べたところでは、Andoroid端末のほとんどがベースバンドチップのGPS機能を利用しており、iPhoneや一部のAndroid端末のみがBroadComなどの専用チップを利用している。Appleも専用SoCにこだわりがあるわけではないようで、CDMA版iPhoneでは統合機能を利用している。
意外にもかつては主流だったSiRF系の専用チップを組み込んだ端末は全く見当たらない。ハイエンドなGPS端末で有名なGarmin社が手がけたAndroid端末は売上げで苦戦しているらしい。

つまり、かつてのPDAと携帯を融合させたスマートフォンは、ネットワーククライアントへ変化すると共に、位置情報もネットワーク利用を前提にしたということだ。逆にPDA時代のGPSソリューションは、カーナビ端末として専門化され現在に至っている。OSが遮蔽されているから誰も気にしないけれど。(なので、WindowsCEの隠れシェアはかなりあったり?)

以前みちびきに対応したGPSチップを載せた端末が出回っていると書いたが、そのころはスマートフォンにも早速対応してくれるだろうと思っていた。
だがAndroid端末の例をみても、そのためだけに専用SoCを各社端末が載せるかどうかは甚だ疑問だ。ただソフトウェア的な改修で済むので、統合チップの機能として提供されるハードルはそんなに高くない。現在、各国がそれぞれ独自GPS衛星を打ち上げつつあるため、将来的には全タイプの衛星から信号を受信するモデルが主流になるだろう。

 問題は、現状において既にA-GPSと利用範囲が被っているという点だろうか。 ただ、通常の使い方でも、天頂付近で測位に使える衛星が1機増えれば精度は上がるし、みちびきのために拡張されたID番号を使い、屋内の送信機から、位置情報とメッセージを配信するという計画もある。

スマートフォンで高精度測位を生かせるアプリケーションはどう増えるだろうか。ライフログ関係では、ジオタグつき写真のような利便性と、第三者による個人情報の類推材料となる間で揺れている。
 いま衛星を使って測位しているのか、ネットワークによる簡易測位かの区別が曖昧になっているように、普通の人であれば今後はGPSが使われているということすら意識しない使い方が増えていく。 そういう点では、匿名化された個人の位置情報の定期送信が義務付けられて、渋滞情報や都市設計の解析などに活用されてほしいものだ。インフラ災害の防止、低減や災害時の救助にも役立つだろう。(えっ、ビッグブラザー的思想だって?) 

参考
ガーミンのスマートフォンが苦戦
http://wirelesswire.jp/Watching_World/201007071200.html


Qualcomm gpsOne (A-GPS)
http://www.qualcomm.co.jp/innovation/stories/gpsone.html

※GPSチップといえば、MTMで見たAndroid開発用ボードにはMN1010とか載ってた記憶が…

2011/04/01

お散歩Spinner



変なロボットが豪雪地帯の伝統行事"しみわたり"をする様子をカメラがとらえました。

ところでコイツの名前ですが、開発コードのSpinnerではなく、候補を検討中。意味は糸車。Spoolでもいいんだけれどなんかしっくり来ないので。とりあえず地元で高い山といえば巻機山(Mt.Makihata)
山自体が織物にちなんだ名前だし、結構関連があった。 なんてことを書きながら思いついた次第です。 マキハタ… やっぱり対外的にはSpinnerでよさそうですね。