ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

If you are using the default "global_planner/GlobalPlanner" plugin, you have the option to toggle between 2 different types of global planners, A* and Dijkstra's. If you are not already using the GlobalPlanner plugin, you can do so by first going over to "turtlebot3_navigation/launch/move_base.launch" and adding the following line to your move_base node as follows:

<node pkg="move_base" type="move_base" respawn="false" name="move_base" output="screen">
   <param name="base_local_planner" value="dwa_local_planner/DWAPlannerROS" />
   <param name="base_global_planner" value="global_planner/GlobalPlanner"/>
   <rosparam file="$(find turtlebot3_navigation)/param/global_planner.yaml" command="load" ns="GlobalPlanner"/>
   ...

You can then toggle between A* and Dijkstra's in your global_planner.yaml file. Please create this param file according to the global_planner documentation. An example is provided below:

allow_unknown: true 
default_tolerance: 0.0 
visualize_potential: false 
use_dijkstra: true
use_quadratic: true 
use_grid_path: false 
old_navfn_behavior: false 
lethal_cost: 253 
neutral_cost: 50
cost_factor: 1.0
publish_potential: True
orientation_mode: 1 
orientation_window_size: 1 
outline_map: true

If you would like to try out alternative global planners aside from the defaults, you can check out sbpl_lattice_planner from the navigation_experimental repo.

Alternatively, if you need to write your own global planner plugin to suit your needs, you can refer to Writing A Global Path Planner As Plugin in ROS