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

What global and local path planning algorithms do ros use?

asked 2019-08-27 09:00:19 -0600

kiko453 gravatar image

What is ros default global path planning algorithm?

what is ros default local path planning algorithm?

Are other algorithm implemented in ros (such as D star, potential field) such that one can decide which one to use for either local and/or global path planning?

I assume the default global and local path panning are the one used in rViz when I do "2D Nav Goal" as well as in Gazebo when I send navigation goal request to the move_base server. Is this correct?

edit retag flag offensive close merge delete



You should check out the navigation tutorials, and the specific wikis for the global and local planners. ROS is open-source so you can view the source code yourself and add any custom flavor

prefpkg21 gravatar image prefpkg21  ( 2019-08-27 10:48:09 -0600 )edit

2 Answers

Sort by ยป oldest newest most voted

answered 2019-08-28 00:01:32 -0600

PapaG gravatar image

Funny you should ask this, I am actually trying to write an evaluation paper at the moment. The default local planner presented to you in the navigation stack is the Dynamic Window Approach (and Trajectory Rollout). The default global planner can be specified as many (including D* as you wrote). Personally, for autonomous vehicles, I prefer using Timed Elastic Band as my local planner. There are a plethora of planners out there that you can search through and evaluate.

As for your comments on RVIZ and Gazebo, these are just tools. RVIZ is a visualization tool and Gazebo is a simulation tool. The 2D nav goal you mentioned is just a graphical way for you to publish a geometry_msgs/PoseStamped message on topic /move_base_simple/goal. Without an implementation of the aforementioned navigation stack, your robot won't move anywhere.

edit flag offensive delete link more

answered 2019-08-27 17:18:33 -0600

Please consult the documentation.

The default plugins in the navigation stack are Dijkstra/A* depending on parameters and DWA for local planning.

You can implement any number of algorithms as you chose. Some folks may have implemented what you're asking for but they're not "implemented in ros", its implemented as a pluginlib plugin by someone who found that algorithm interesting for their uses and were kind enough to release it publicly. I'd do some digging if you're looking for something in particular and don't want to implement yourself.

Rviz and Gazebo aren't related to navigation, those are just the visualizer and simulator. I'd also suggest you go through some of the tutorials as prefpkg21 recommends.

edit flag offensive delete link more

Question Tools



Asked: 2019-08-27 09:00:19 -0600

Seen: 5,845 times

Last updated: Aug 28 '19