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.