# ROS- Navigation Stack [参考資料](https://qiita.com/MoriKen/items/0b75ab291ab0d95c37c2) **amcl** Particle Filterを用いた自己位置推定 地図・センサを用いてオドメトリ情報を補正 **costmap_2D** 障害物情報管理(占用/自由/未知の3状態) 二次元、三次元の占有格子地図を生成 ※占有格子地図…Grid_Based SLAMとは異なり、確率的ではない。 **gmapping** SLAMを用いた地図の生成 移動しながらの地図作成 # move_base ゴールまでの経路・動作計画ナビゲーション # map_server 地図の管理、地図を配信 # nav_core 経路・動作計画のインターフェース - 大域的な経路計画 **navfn**:ダイクストラ法 **global_planner**:A*またはダイクストラ法 **carrot_planner**:ゴールまで単純に直進する - 局所的な動作計画 **baselocal_planner**:基本的にDynamic Window Appoach(DWA) **dwa_local_planner**:基本的にDynamic Window Appoach(DWA) ※DWA…ロボットのキネマティクス(運動モデル)を考慮した軌跡で、かつ現在速度からダイナミクス(加速度)を考慮して実行可能な複数のローカルパス候補を、速度の空間でサンプリングします。これらの候補から、評価関数によりグローバルパスに追従しつつ、障害物を回避するローカルパス(走行速度)を求めます。ここでは、一般的にロボット方向の考慮した評価により、動作が計画されます。 - ロボットが動けないスタック状態からの動作復帰 **clear_costmap_recovery**:ロボット周辺のコストマップをクリアすることで、動けない状態から復帰を試みる。 **rotate_recovery**:ロボットが旋回して障害物を測定しなおすことで、動けない状態から復帰を試みる。 **move_slow_and_clear**:コストマップをクリアした後に低速で移動して復帰を試みる。