AI for Robotics - Lesson 6: Putting it all together (pdf) (動画)
今までの内容を組み合わせる。ルートプランニング(A*)、PID制御とそのパラメータの調整(twiddle)。
SLAM
SLAM = Simultaneous localization and mapping 位置の推定とマッピングを同時に行う手法。未知の空間で、マッピングをしながら位置の推定を行う。
graph SLAM
例えば、x0=0として、そこから10移動した(つもりの)位置をx1としたとき
という行列の形にして、連立方程式を解くと, が求まる。センサーで標的までの距離が測れたとすると、 などという制約も行列に追加する。
面白いのは、センサーや移動で誤差があったとしても、制約に近い結果が求まる。
online SLAM
ロボットが長時間動いている場合、SLAMの位置履歴が膨大になり、計算に時間がかかってしまう。単に部分行列を取り出すだけではうまくいかない。online SLAMという方法で、全履歴を持っていなくても最後の位置と標的の制約行列に新しい移動制約とセンサーの制約を追加する方法がある。
QA
- landmarkが識別不能な場合どうするか? ransackという方法でうまく解決できる。
- landmarkの数が予めわかってない場合は? image stitching
他、参考になりそうなリンク
- SLAM for Dummies MIT
- The GraphSLAM Algorithm with Applications to Large-Scale Mapping of Urban Structures
- A Tutorial on Graph-Based SLAM
やっとコースが終わった…!グリッドの経路探索以外は知らないことばかりだったけど、実際の応用例がわかりやいので(DARPA Grand ChallengeやGoogle Driverless Car)モチベーションが続くし、案外簡単な方法で問題を解決できて、なかなかおもしろいコースだった。