Global Planning and Local Planning
全局规划与局部规划CommonNavigation split into two layers: global planning finds a route across the whole map, local planning follows it while dodging nearby obstacles.
Mobile-robot navigation is usually split into two layers. The global planner (called 'planner' in Nav2) works on a costmap covering the entire map, using an algorithm such as Dijkstra, A*, or hybrid A* to compute a complete path from the current position to the goal, updated at a relatively low frequency. The local planner (called 'controller' in Nav2) only looks at a costmap covering a few meters around the robot and moving with it, computing velocity commands at a higher frequency (20 Hz by default in Nav2) to follow the global path while avoiding transient obstacles like pedestrians or carts, using algorithms such as the dynamic window approach, timed elastic bands, MPPI, or pure pursuit. This split exists because searching the whole map is too slow to do in real time, while looking only locally risks getting stuck in dead ends.
ExampleAn AMR delivering goods in a warehouse: the global planner first lays out a route down the shelving aisles to bin 3; along the way, someone pushes a cart across the aisle, the local controller spots the new obstacle in its local costmap, slows down and steers around it, and then rejoins the original route.
- Also called
- Global Planner, Local Planner, Local Controller
- Related
- Costmap · ROS 2 Navigation Stack (Nav2) · A* Search · Dynamic Window Approach · Timed Elastic Band · Path Planning
- Sources
- Nav2 Docs: Navigation Servers(planner 与 controller) (Chinese)
Nav2 Docs: Controller Server 配置(controller_frequency 默认 20 Hz) (Chinese) - As of
- 2026-09