Troubleshooting · SLAM and localization
Visual tracking is lost
Tracking needs enough good features in consecutive frames. Check the images before the algorithm.
1. Symptoms
- “Tracking lost” or reinitialisation messages.
- The pose jumps after a fast turn.
- Works in one room and not in another.
2. Possible causes
- Low light, long exposure, motion blur or rolling-shutter skew.
- Low texture or repeated texture.
- Fast rotation faster than the feature tracker handles.
- IMU noise or bias parameters wrong, or camera–IMU extrinsics and time offset wrong.
- Poor initialisation (not enough motion or parallax).
- Dropped frames.
3. Measurements to collect
- Number of tracked features per frame.
- Exposure time, gain and blur length.
- Frame rate and drops.
- Camera–IMU time offset and extrinsics.
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 hz /camera/image_raw
ros2 topic hz /imu/data
ros2 topic echo /camera/camera_info --once5. Step-by-step investigation
- Look at the images at the moment of loss.
- Check exposure and blur (see the camera blur page).
- Count features and check texture.
- Check IMU parameters and calibration (see the VIO guides).
- Check initialisation motion.
- Check dropped frames.
6. Corrective actions
- Fix exposure, add light, use a global-shutter camera.
- Slow turns or add a second modality.
- Correct IMU noise parameters and calibration.
- Initialise with sufficient motion.
7. Validation after the fix
- No tracking loss on the reference route in the ODD’s worst lighting.
References
- See the camera motion blur page and the VINS-Fusion README note on hardware quality: VINS-Fusion, read 2026-11-06.