Help us understand the problem. What is going on with this article?

Navigation Stack を理解する - 3.2 amcl: ソフトウェア構成をみる

目次

  1. 導入
  2. move_base (ナビゲーション)
    1. ROSで遊んでみる
    2. ソフトウェア構成をみる
  3. amcl (自己位置推定)
    1. ROSで遊んでみる
    2. ソフトウェア構成をみる ← いまココ
    3. 原理をみる (準備編)
    4. 原理をみる (応用編)
  4. gmapping (地図生成)
    1. ROSで遊んでみる
    2. ソフトウェア構成をみる
    3. 原理をみる(応用編)
    4. 原理をみる(準備編 その1)
    5. 原理をみる(準備編 その2)

はじめに

[Navigation Stack を理解する - 3.1 amcl: ROSで遊んでみる]の続きです.amcl が加わって,どのように内部構成が変わったのかを見てみます.

  • ROS Wiki の図中
    01_位置づけ1.png

  • 導入部で示したパッケージの図中
    02_位置づけ2.png

環境

rqt_graph をベースにソフトウェアの構成を見る

素のrqt_graph を見る

例によってrqt_graph を見てみましょう.

$ rqt_graph

24.png

2.1 move_base: ソフトウェア構成をみるとそんなに大差はなさそうですね.でもやっぱりごちゃついてるので,ここも例によってまとめたものを見てみます.

簡易版rqt_graph を見る

下記がamcl付きの図になります.

11_簡易rqt_graph.png

比較のため,2.1 move_base: ソフトウェア構成をみるの時の図を再掲します.
09_rqt_graph風.png

これらの図を元に,今回追加された要素の部分を強調するように描いたものが下図です.
12_簡易rqt_graph_new.png

ここまで来れば一目瞭然です.
誤差が乗ったオドメトリ結果を,LRFと地図の情報を元に補正するフローがポコっと追加されただけです.

経路計画は2.1 move_base: ソフトウェア構成をみると全く同様に行われます.ただし,精度の良い自己位置情報を使うという点が改善点されています.

13_odom補正イメージ.png

14_odom補正イメージ_rviz.png

おわりに

はい,以上です.外見的なソフトウェア構造については,以上が変更点です.
むしろ,頑張っているのはamcl の中身です.amclではパーティクルフィルタを活用した自己位置推定を行っているのですが,とても技巧的で興味深い特長を色々持っています.

次項でその原理を追っていきます.理論的な導出はS Thrun, et al., "Probabilistic Robotics", the MIT Press, 2005.でなされているので,ここではその結論だけを拝借し,イラストをたくさん用いた説明を行うことで,挙動を直感的に理解することを支援するような記述にしようと思います.

Next: 3.3 amcl: 原理をみる (準備編)
Prev: 3.1 amcl: ROSで遊んでみる

参考文献

  1. ROS Wiki.
  2. "husky_navigation", github.
MoriKen
ロボット研究者を目指す社会人博士です。ぶっちゃけ、へっぽこソフトしか書けませんが頑張ります。
http://lab.cntl.kyutech.ac.jp/~nishida/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした