FixTheRobot Explore Robotics / Systems Engineering / Troubleshooting

Troubleshooting · SLAM and localization

Visual tracking is lost

Tracking needs enough good features in consecutive frames. Check the images before the algorithm.

  • Related modules: 09, 10
  • ROS 2 Jazzy

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 --once

5. Step-by-step investigation

  1. Look at the images at the moment of loss.
  2. Check exposure and blur (see the camera blur page).
  3. Count features and check texture.
  4. Check IMU parameters and calibration (see the VIO guides).
  5. Check initialisation motion.
  6. 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