Skip to content
Nasir Nasir-Ameen
Notes

Autonomous Retail Intelligence Robot

A map, a pose and a path answer different questions

Separating environment construction, robot localisation and route generation in a ROS navigation stack.
6 min read

Navigation conversations often collapse mapping, localisation and planning into one feature. They are different system states with different failure modes.

SLAM constructs a representation of the environment while estimating motion. Localisation places the robot inside an existing map. Planning chooses a route from the current pose to a goal while respecting the costmap and controller constraints.

Why separation matters

A valid map does not guarantee a valid pose. A valid pose does not guarantee a reachable goal. A generated path does not guarantee that the local controller can execute it safely.

The retail-robot stack used gmapping for map construction and move_base with localisation for navigation. Debugging becomes clearer when each layer publishes its own state instead of reporting one generic navigation failure.