かみやんの技術者ブログ

主にプログラムの話です

速度制御中

今日は、ノートPCをAibiに積むときに、ちゃんと固定していなかったので試走の度に、ノートPCがAibiから落ちそうになったり、たまに落ちたりということで、ロボットに固定する方法として、マジックテープを買ってきて貼った(ちなみに、つくばチャレンジ2008本番では、両面テープで固定した)。
ノートPCの裏にマジックテープが貼ってあっても全く問題ないし、普段見えないしOK。なかなかしっかり固定されてよい感じ。価格は、テープA、テープBの2種でくっついてそれぞれ10cmあたり、40円と38円。つまり1ペアで10cmあたり78円。ノートPCなら20cmを2本でよいので、40cmあればOK。休みの日にホームセンターで買った。

今日のメインは、速度制御を調整しようかなと。
まだジョイパッドで走らせているのだが、加速時にがっくんがっくん加速したり減速したりしながらなので(ようはオーバーシュート)、直したい。最高時速、加速度、減速度、速度制御の比例ゲイン、速度制御の微分ゲインあたりが、主要なパラメータなのだが、これらを調整しながら、ログを見ながら、バグがないか確認しつつ改善しようと。(PD制御については、このエントリ参照
今日は、10回ぐらい試走したが、時間が足りずに加速度の調整と最高速度の調整しかできなかった。ログを調べたところ、指定している最高速度を超えて加速していることが今わかった。最高時速0.4km/hを指定しても時速4km/hぐらいまで出てしまっている。設計では、時速6km/hぐらいまででるつもりで設計したが、このペースだと(まだ試験していないが)時速8km/hぐらいまでいきそう。つくばチャレンジは時速4km/h以内というルールなので速すぎ。オフィスロボットとしても速すぎ。もう少し車輪が小さくてもよかったかも。

もう少し調査を続けて、滑らかな加速、等速直進、滑らかな減速ができるようにしたい。
あと、SLAMの論文も探して、読み中。英語も数学も手ごわい論文だが(まだ全部読んでないが)面白そう。
SLAMとは、Simultaneous Localization and Mappingの略で、自己位置同定と地図作成を同時に行うというもの。自己位置同定は、地図中で自分がどこにいるのか?ということでロボットのもっとも基本的な能力。地図があれば、自己位置が求まる。自己位置が決まれば地図が作成できる。という、卵が先か鶏が先か?というどっちが先に求まるの?どっちを先に求めたらいいの?という問題を解決するのがSLAM。
つくばチャレンジ2008の直前にICPスキャンマッチングで、レーザレンジファインダ(Top-URG(UTM-30LX))のスキャン結果2つをマッチングさせるところまでは、実装したが、マッチングも誤差があるので、結局誤差が累積されて、地図がだんだんゆがんでいくというところまでしか実装できず(旋回方向はオドメトリより精度がよかったが、併進はオドメトリより悪かった)、実用にならなかった。このだんだんゆがむ地図を補正できれば、SLAMが実装できたといえる。グローバルスキャンマッチによるSLAMの実装というのを目指している。実装できたらSLAMについても詳細を報告したい。