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

# what is the difference between local planner and path planning algorithm?

Hi, I am a ROS beginner and using ROS Melodic after reading couples of documents and journal I found that there are path planning algorithm terms like PSO, ACO, A, D and etc. I understand those are different approaches for the robot path planning.

I also found that there are local planners that can apply directly on ROS like base_local_planner, TEB_local_planner and DWA_local_planner. It seems like the robot able to works well on the path after applying the local planner.

So robot with local planner need not a path planning algorithm like A* approach? Or the local planner is written based on those approaches

edit retag close merge delete

Sort by ยป oldest newest most voted

First consider that robot navigation is usually broken up into two tasks, the first being "find the path from point A to point B", the second being "find the velocity commands that I need to send to my wheels". These tasks can more formally be broken down into the global and local planning problem respectively.

Global Planning: Is the job of finding a connected line from the start to the goal across a map. For the most simple implementations this will not account for dynamics or other constraints. It is simply a graph search across a grid of cells (aka a "costmap") that trys to find a path from start to finish. Now you can apply some special algorithms to this to optimize it or incorporate constraints, but you do not have to.

This is the problem that A* is often used to solve.

Local Planning: Is the job of finding what velocity command to send the wheels given a "local" goal. The local goal in this context is usually some point on the global plan that will follow the global plan as it takes us from the start to the finish. Local planning will usually account for live/active sensor readings, and it the algorithm most responsible for obstacle avoidance, and the behaviors you witness as a human observer. It will try to follow the global plan its given, but there are rarely guarantees about that.

This is the problem that DWA and trajectory rollout solve.

END:

ROS breaks its navigation planning into these two different domains, and as you read through the navigation tutorials I am sure you will quickly notice the distinction made between the global and local planners. I hope I was able to answer your question!

Cheers

EDIT: