:tocdepth: 1 move_baseのローカルプランナーを変更する ================================================================= このページではmove_baseのローカルプランナーを変更する方法について扱います。 move_baseのローカルプランナーは、デフォルトでは `Trajectory Rollout `_ が使用されています。 それ以外には、 `Dynamic Window Approach `_ や、 `Elastic Band `_ 、 `Timed Elastic Band `_ などを使用することができます。 Dynamic Window Approach ----------------------------------------------------------------- Dynamic Window Approach (DWA)は、base_local_plannerパッケージの `dwa` パラメータを `true` にすることで使用できます。 Elastic Band ----------------------------------------------------------------- eband_local_plannerをインストールする ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: bash sudo apt install ros-kinetic-eband-local-planner 設定ファイルを作る ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 以下の設定ファイルの内容を、config以下にeband_local_planner_params.yamlとして保存します。 eband_local_plannerのパラメータ一覧は `eband_local_plannerのROS Wikiページ `_ にあります。 .. literalinclude:: ../../config/eband_local_planner_params.yaml :linenos: :language: yaml :caption: eband_local_planner_params.yaml move_baseのパラメータを変更する ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move_baseがEBandLocalPlannerROSを使うように設定します。 navigation.launchをコピーして新たにeband_navigation.launchを作成します。 `` タグ内を以下のように変更します。 .. code-block:: xml :caption: eband_navigation.launch ... ... Timed Elastic Band ----------------------------------------------------------------- teb_local_plannerをインストールする ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. code-block:: bash sudo apt install ros-kinetic-teb-local-planner 設定ファイルを作る ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 以下の設定ファイルの内容を、config以下にteb_local_planner_params.yamlとして保存します。 teb_local_plannerのパラメータ一覧は `teb_local_plannerのROS Wikiページ `_ にあります。 .. literalinclude:: ../../config/teb_local_planner_params.yaml :linenos: :language: yaml :caption: teb_local_planner_params.yaml move_baseのパラメータを変更する ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move_baseがTebLocalPlannerROSを使うように設定します。 navigation.launchをコピーして新たにteb_navigation.launchを作成します。 `` タグ内を以下のように変更します。 .. code-block:: xml :caption: teb_navigation.launch ... ... 参考 ----------------------------------------------------------------- `Trajectory Rollout `_ Trajectory Rolloutアルゴリズム `Dynamic Window Approach `_ DWAアルゴリズム `Elastic Band `_ Elastic Bandアルゴリズム `Timed Elastic Band `_ Timed Elastic Bandアルゴリズム。他の論文は `GitHubページ `_ を参照 `Configure and run Robot Navigation `_ Timed Elastic Bandをmove_baseで使う `dwa_planner vs. base_local_planner `_ Dynamic Window ApproachとTrajectory Rolloutの比較 `difference between eband_local_planner and teb_local planner `_ Elastic BandとTimed Elastic Bandの比較