ROBOTICS 101Concept explainer

The Navigation Stack: Global and Local Planners

Robot navigation systems such as Nav2 split the job in two. A global planner finds a route across the whole known map, but only now and then. A local planner runs many times per second, following that route while reacting to things the map did not show, like people. When the route is blocked for good, the global planner plans again.

Two layers

The global planner, such as A* on the global costmap, plans once per goal and whenever it is asked to. The local planner, here the dynamic window approach, plans every tenth of a second on a small local costmap built from live sensor data, aiming at a point a little way along the global route. In Nav2 a behavior tree decides when to replan or recover, for example by backing up and spinning.

$$\text{global: } \sim 1\ \text{Hz, whole map} \qquad \text{local: } \sim 10\text{-}20\ \text{Hz, a few meters around the robot}$$

What to notice

When the person crosses, the global route stays the same, and the local planner simply steers around them and rejoins it. Close the doorway and the local planner can no longer make progress, so the global planner is called again and finds a new route through the other door. Splitting the work this way keeps the fast loop cheap while still letting the robot handle big changes.