FixTheRobot Explore Robotics / Systems Engineering / Troubleshooting

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.

  • Related modules: 12, 19
  • ROS 2 Jazzy

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.service

5. Step-by-step investigation

  1. Check the saved pose and when it was written.
  2. Check that the map loaded and is the right one.
  3. Check the start order and sensor readiness.
  4. Check time sync at start.
  5. 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