ZED2i Odometry Drifts Significantly in Open Areas — Is This Due to Lack of Features or Configuration Issues?

,

Hello everyone,

I am using a ZED2i camera for odometry on my mobile robot, running with zed_wrapper and ZED SDK 5.0. I am intentionally staying on SDK 5.0 because I get faster depth and RGB streams compared to newer versions, which is important for my application.

Robot specifications

  • Mobile robot dimensions: 28 in × 32 in × 18 in (L × W × H)

  • Camera mounting: ZED2i rigidly mounted on the robot frame at the front

  • URDF: I have changed urdf for my sepiciation and changed the BaselinkID as baselink.

  • Odometry source: ZED visual odometry

  • SLAM: RTAB-Map

What works well

  • In indoor / closed environments, the ZED visual odometry performs very well.

  • Typical drift is around 30–50 cm, which is acceptable.

  • RTAB-Map mapping remains fairly stable indoors.

The problem

When operating in a large open or outdoor environment, I observe:

  • Large and random odometry drift of approximately 1.5–2 meters

  • Drift direction is inconsistent

  • Due to this, RTAB-Map mapping also drifts significantly, and loop closures become unreliable or fail

My questions

  1. Is this behavior mainly due to a lack of visual features in open environments?

  2. Does ZED2i visual odometry rely heavily on near-field texture and parallax, making it less reliable in large open spaces?

  3. Are there any specific ZED tracking, depth, or VO parameters that can reduce drift outdoors?

  4. Using IMU Fusion but there is no significant change?

  5. Is this a known limitation of stereo visual odometry without strong motion constraints, especially for outdoor use?

Setup summary

  • Camera: ZED2i

  • SDK: ZED SDK 5.0

  • ROS: zed_wrapper

  • Robot size: 28 in × 32 in × 18 in

  • SLAM: RTAB-Map

  • Environment: accurate indoors, unstable outdoors/open areas

Any insights, tuning suggestions, or best practices would be greatly appreciated, as this odometry drift is currently the main blocker for reliable mapping.

Thank you!

Hi @kruthik
Welcome to the Stereolabs community.

What you describe is expected when using an old ZED SDK version (v5.0) with the obsolete ZED ROS Wrapper.

I recommend you upgrade to the latest ZED SDK v5.1.3 and migrate to ROS 2 to leverage all the improved features of the ZED ROS 2 Wrapper.

The ZED ROS Wrapper is no longer maintained, upgraded, or improved because ROS (1) is EOL.

yeah, what you’re seeing is pretty much par for the course with ZED2i visual odometry in open spaces.

VO thrives on features and parallax, so in large open areas with few nearby textures, the algorithm basically has nothing to lock onto, and drift explodes.

your IMU fusion helps a bit, but with SDK 5.0, the sensor fusion and VO improvements are limited.

if you want more stable outdoor odometry, there are a few things you can try:

make sure your camera baseline and resolution settings maximize feature detection (higher resolution helps with far-field features)

enable keyframe-based tracking or increase the frequency of VO updates if the SDK allows it

even lightweight markers or visual textures in the environment can dramatically reduce drift

realistically, upgrading to the latest ZED SDK + ROS2 wrapper gives you better VO algorithms and IMU fusion handling, which are optimized for open environments

long story short: drift in open areas isn’t a bug it’s the physics of stereo VO without nearby features. indoors, you’re fine because you have walls, corners, and textures; outdoors, you need either better features or more advanced fusion.