Troubleshooting · Deployment
Localization fails after reboot
After a reboot the localiser knows nothing unless you tell it. Check the saved pose, the map and the start order.
1. Symptoms
- The robot is lost after power-up.
- The pose starts at the map origin.
- Works after a manual initial pose but not on its own.
2. Possible causes
- No saved pose, or it was saved at the wrong place.
- The robot was moved while off.
- The map failed to load or the wrong map loaded.
- Nodes started in the wrong order or before the sensors are ready.
- Time not synchronised at start.
3. Measurements to collect
- The saved pose file and its time.
- Map server and localiser logs at start.
- Time when the first scan and the first transform are available.
4. Diagnostic commands
Commands are not executed by the site’s automated tests (they need a ROS 2 Jazzy installation or the robot).
ros2 topic echo /amcl_pose --once
ros2 lifecycle get /map_server
journalctl -b -u robot.service5. Step-by-step investigation
- Check the saved pose and when it was written.
- Check that the map loaded and is the right one.
- Check the start order and sensor readiness.
- Check time sync at start.
- Test global relocalisation from a wrong start.
6. Corrective actions
- Save the pose periodically and at shutdown; start from a dock or marker when possible.
- Fix the start order with lifecycle management.
- Add global relocalisation as a fallback.
7. Validation after the fix
- Ten reboots at different places end with a correct pose or a safe stop.
References
- Nav2 AMCL README and default parameters (jazzy): nav2_amcl, nav2_params.yaml, read 2026-11-06.
- See the relocalisation guide.