Path Planning and Obstacle Avoidance Planners

Dear @staff

I would like to understand if is there the possibility to switch the Global Planner and/or the Local Planner path planning and obstacle avoidance algorithms for customized ones, or some well recognized in robotics literature?

I have read in class Path planning 1 that the standard algorithm is the Navfn planner, which uses Djikstra. It is telling that is possible to switch this algorithm to others, such as A*, etc.
In my project I need to embeed to robot path planning the RRT algorithm, which I know is present in the MoveIt Open Motion planning library (OMPL), because I have worked with industrial robots.
However in this moment I need the RRT planner to calculate a path for the robot (global path) and also to use it for obstacle avoidance (local path). Despite it does not calculate the optimum path, as Djkistra and others do, it calculates the path much faster, which is a good feature for emergency situations in self-driving functions reality (such a dog comming in front of the car suddenly).

So my question is:
1 - Is it possible to use RRT as global planner ?
2- Is it possible to use RRT as local planner ?
3 - If yes how can I do this in the navigation stack and in the move_base node? Is possible to use
the OMPL library from MoveIt?
4- Is possible to use MoveIt for self_driving car situation? or is just applicable for trajectories of industrial robot arms?

The other question is regarding the static map, used for the global planner:

5 - I intend to simulate a car avoiding obstacles in a city, in this way, my map is not static, right? And I cannot in a real situation move the robot in all the city to mapping it in practical situation. So how do I obtain this map? A city map, if I wish for example simulate an autonomous parking (it is obvious the car will not drive twice the street to map the environmet with laser data, or other sensor data)? Is this map provided by a GPS server, such as LandSat or Rapideye? And the format provided will be accepted?

So please if you can clarify for me some questions, regarding these topics I will be grateful.
Fell free to provide how much information you know about this topic.

Thanks in advance!

Marcus

Have a look at this package of ROS, it might do the trick:

http://wiki.ros.org/rrt_exploration

1 Like

Thanks very much for this valuable hint! I will give a deep look, for sure!!!