*ROS Navigation Alternative Algorithms

asked 2014-09-08 16:41:26 -0500

2ROS0 gravatar image

updated 2014-09-08 16:42:11 -0500


I have a few questions about the current ROS Navigation stack:

  1. Local Planner: Currently there are two options - base_local_planner and the dwa_local_planner. Is there any work on more planners for local path planning? I know that we can write planners that plugin as long as they follow the nav_core interface but are there any open source alternatives out there? I am guessing there must be some planners out on researchers or University github account or something of the sort. Any suggestions on how to bring them out?
  2. Global Planner: Similar to the earlier question - I know that navfn uses Dijkstras algorithm. But are there any other sources of code out there that use other popular algorithms such as the A* or the D*?
  3. Forward Trajectories of the Local Planners: Both the planners mentioned above forward project the trajectories by sampling the Vx and Vtheta space. Will this work well for car-like robots that are controlled by steering angle and forward velocity? What's the best suggestion on using car-like robots with ROS Navigation.
  4. What's the best way to implement variations and modifications to the planner to fit in with the ROS Navigation framework. For ex: if I want to implement a predictive obstacle avoiding planner rather than the classical non-predictive one used currently.

Thank you very much.

edit retag flag offensive close merge delete


There is an A* for nav_core on github.


Also, if you don't mind moving away from the nav_core interface, you can use a simple urdf model for your robot and then implement MoveIt! so you can use OMPL, SBPL etc.

SaiHV gravatar image SaiHV  ( 2014-09-08 19:09:42 -0500 )edit

That's true. But I thought MoveIt! is more for arm manipulation and navigation and not a substitute for ROS navigation. I guess some of the ROS guys will get to this question after ROSCon.

2ROS0 gravatar image 2ROS0  ( 2014-09-08 19:45:35 -0500 )edit

Not really sure, but I have been using moveit to perform 3D navigation using a quadrotor and its path planning, obstacle avoidance etc is quite good.

SaiHV gravatar image SaiHV  ( 2014-09-08 21:33:38 -0500 )edit

That helps, thanks! Have you used the octomap packages? How much tuning did you have to do and how much did it run out of the box?

2ROS0 gravatar image 2ROS0  ( 2014-09-08 21:55:11 -0500 )edit

I have, yes. Octomap comes in the box with moveit, so once you set up your move_group launch files, all you need to do is edit the sensor_manager.launch.xml and add the parameters of your camera there. For more info:


SaiHV gravatar image SaiHV  ( 2014-09-08 22:21:25 -0500 )edit