プログラミングROS ―Pythonによるロボットアプリケーション開発
by Morgan Quigley, Brian Gerkey, William D. Smart, 河田 卓志, 松田 晃一, 福地 正樹, 由谷 哲夫
10章世界を動き回る
ロボットができる最も基本的なことの1つは世界を動き回ることです。これを効率的に行うには、ロボットが自分がどこにいるか、どこに向かっているかを知る必要があります。これは、通常は、その世界の地図、出発地、目的地を与えることで達成されます。前の章では、センサーデータから世界の地図を構築する方法を見ました。ここでは、ロボットが世界のある場所から別の場所に地図とROSのナビゲーションパッケージを用いて自律的に動いていけるようにします。まずは、ロボットがどこにいるかを見つけ出す手助けをすることから始めましょう。
10.1 ロボットが地図のどこにいるかを推定する
この節では、ROSのamclパッケージを用いて、どのようにしてロボットが地図の中のどこにいるかを推定するかを見ていきます。amclノードは確率に基づく位置推定アルゴリズムを実装しています。このアルゴリズムは適応型モンテカルロ位置推定法(Adaptive Monte Carlo Localization)として知られており、Sebsastian Thrun、Wolfram Burgard、Dieter Foxによる『Probabilistic Robotics』†1(MIT Press)で説明されています。特に、これは、sample_motion_model_odometry、beam_range_finder_model、likelihood_field_range_finder_model、Augmented_MCL、KLD_Sampling_MCLといったアルゴリズムを用います。位置推定パッケージを使用するだけあれば、これらのアルゴリズムがどのように動いているかに関する技術的な詳細すべてを知る必要はありませんが、その高いレベルで詳細のいくつかを理解しておくと、位置推定の作業を行おうとする際に楽になります ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access