今回はつくばチャレンジ2010での最終的なシステムの構成というかデータ処理の流れの話。下がデータフロー図になります。見ての通り、非常に簡単なシステムとなっています。
未完成だったり精度が不十分で使われなかったものは前回紹介したので、今回は割愛します。実際にこんな最小限のシステムでも、信頼度はさておきなんとかトライアルコース(約240m)を走りきることができるのです。本番ではソフトウエアの検証不足によるIMUとの通信ミスが原因でトライアルを失敗してしまったので、あまり説得力がありませんが参考程度に。
見ての通り、あまりに簡単なものなので特に書くことがないんじゃないかといいうくらいです。IMUは通常の3軸加速度、3軸角速度に加え、地磁気が取れます。エンコーダは車いす内蔵のものをマイコンで取得しPCで速度・角速度に変換して利用しています。
基本的にやっていることは単純かつ基本的なことで、IMUからの角速度・方位情報とエンコーダからの速度・角速度情報をカルマンフィルタ(Localizerの実装)に突っ込んで姿勢推定を行っています。コースの自動走行は事前にリモート走行でコースを走らせたときに取得した経路点(Waypoint)のシーケンスを順次たどらせることで行っています。障害物回避は止まるか避ける方向に舵を切る。雑かもしれませんが、自分から衝突に行くことはないので最小限ではあるがないより余程いいはずです。また、3次元障害物地図(低精度)は作れるだけで利用していません。
このシステム最大の問題点は、スタート位置からの相対位置でもって走行を行うことです。つまり、スタートを本来の位置から1mずれてスタートしたらそのまま1mずずれたままですし、途中で何かしらのアクシデントで位置がずれたらそれもまた補正が入りません。また、並進を知らせるセンサがエンコーダしかないので、タイヤが滑ったら位置推定に大きな影響が出ます。幸い、角度は地磁気により補正されるので多少ずれてもある程度融通が利きます。磁気は環境に影響されやすいという話はよく聞きますが、今回のトライアルコースに関して言えば大きな問題はありませんでした。
このシステム構成で、意外にも走行実験では5回中4回トライアルコースは走破しました。ゴール地点での誤差は1~2メートル程度に収まっていたはずです。この単純なシステムで走れた最大の要因はたぶんエンコーダから得られる情報の精度が高かったこと。オドメトリだけでデータを取ったときも、2009年の機体でのオドメトリより遥かに高精度でした。というか、オドメトリだけでもトライアルコースを走破できていたりします。ただ、これ以上距離を走ろうとすると、誤差の具合やコース的にこのシステム構成ではさすがに難しいように思います。
さてさて、今年の話ですが、以前に紹介した未完成・精度不十分だったモジュールに加え、いくつか試したいモジュールもあるので野望は広がります。今年こそは本走行に出場し、完走したい。
0 件のコメント:
コメントを投稿