オドメトリで一苦労
ロボット作ろう:シェーキー製作記
初めてオドメトリでロボットのナビゲーションを検討してみて、改めて感じたのは数値精度の問題です。
このロボットでは接地径約70mmの駆動輪でホイールエンコーダの1回転あたりの分解能が100ですから、1カウントあたり約2.2mmということになります。こんな感じの計算で、幾何学的な移動はまあまあ大丈夫なんですが…ナビゲーションとなると話は別です。
そうです。誤差の累積です。長距離を移動させると、距離や角度の小さな誤差が累積し、推定位置の大きな誤差になってくるのです。特に、角度の誤差は大きく聞いてきます。
ということで、カウント数を距離や角度に変換する段階で、誤差を最小にする必要があります。このため実際に走行させて決定しました。
距離は1mほどの距離を直進させ、そのときのカウント数と実際の距離から1ステップあたりの移動距離を小数点以下3桁まで求めました。同様に旋回角度は360度ほど旋回させて計測しました。
また、PCソフトの画面からわかるように、計算は浮動小数点演算で行っています。
コレだけの工夫で、ロボットの実際の位置とマップ上の位置を、かなりの精度で一致させることができました。
次はいくつかの座標を設定して、これを順番にたどるようなナビゲーションのテストをしたいと思っています。
« 移動ロボットベースをテストする | トップページ | ねずーの近況報告 »
「ロボット作ろう」カテゴリの記事
- Raspberry Pi3でturtlebotを動かしたいのだけど(2016.06.11)
- STM32F4のAD変換トラブル(その2)(2013.03.29)
- TrueSTUDIOからEclipseへ乗り換える(拾遺)(2012.07.14)
- TrueSTUDIOからEclipseへ乗り換える(その3)(2012.07.13)
- TrueSTUDIOからEclipseへ乗り換える(その2)(2012.07.07)
コメント