Problem with Isaac ROS VSLAM When Facing Low-Feature Surface

Hello,
I’m running into an issue with Isaac ROS VSLAM where the odometry becomes highly unstable whenever the camera faces a plain, featureless wall. As soon as there is a lack of visual features, the estimated pose jumps significantly and becomes inaccurate. In normal scenes with sufficient texture, VSLAM works well and remains stable, but this situation consistently causes large drifts or sudden pose jumps. I’m using a single RealSense D435i camera, with freshly calibrated IMU, and running the Isaac ROS VSLAM example launch with default settings. To my understanding, VSLAM should switch to relying more on the IMU when there aren’t enough visual features, but in my setup the pose still jumps noticeably when this happens.

I’d like to ask:
What are the recommended strategies to improve VSLAM performance in low-feature environments?
Are there specific parameters, configuration changes, or best practices that could help prevent these sudden odometry jumps?
As another option, I have wheel odometry available, and I’m thinking about fusing it together with VSLAM and the RealSense IMU using an EKF to maintain stable odometry when features are insufficient. Is this a good strategy with Isaac ROS?
Are there recommended fusion setups or examples for combining these sources?

We are also facing the same issue with D435i camera. We tried everything from calibrating imu, getting IMU Noise parameters, trying different fps of camera and rate of IMU.
We also tried vslam with D455 camera but it didn’t perform better and we faced same issue.
Jetpack version 6.2, isaac_ros 3.2 and jetson orin nano development board is used.
Please help.

Hello @ligasss22,

Thanks for posting in the Isaac ROS forum!
VSLAM is fundamentally a visual odometry system. If the image has almost no repeatable texture (blank wall, glass, uniform paint), there won’t be enough geometric information to constrain motion, so the pose estimate will drift or jump when features reappear. This is expected for any VO/VIO system, not just Isaac ROS.
A practical way to mitigate the unstable problem could be placing artificial texture (posters, AprilTags, printed patterns) on long plain walls in test environments, or adjust the camera angle to use a slightly oblique view to see more edges/corners and parallax.

Please also ensure the RealSense projector is off per cuVSLAM requirements and use shorter exposure or lower motion blur while keeping gain high enough. You may also find this thread helpful for further reducing pose jumps issue.

And yes, fusing wheel odom + VSLAM + IMU in an EKF could be a good strategy as wheel odometry is locally smooth and works even when vision is poor, though it drifts over distance. An EKF can combine these sources to maintain stable odometry when one input is temporarily unreliable.

Hello,

As there haven’t been any recent updates on this discussion, we’ll be closing the thread to keep the forum organized.

If you continue to experience this issue or have new questions, please start a new topic and include a reference to this discussion for context. This will help our team and other community members assist you more effectively.

Thank you for your participation in the NVIDIA Isaac ROS community.