Setting up VIO / VSLAM with Nav2!

Hi all! Your Friendly Neighborhood Navigator here!

Its been a busy few weeks on, with a new GPS tutorial in collaboration with Kiwibot and now a brand-spanking-new VIO tutorial in collaboration with Stereolabs!

In this tutorial, we go over how to setup VIO / VSLAM to be used in a robot’s odometry estimation to augment existing IMUs or wheel encoders. This is majorly important for legged robots, omni robots especially using mecanum wheels, and outdoor robots which have traditionally poor wheel odometry due to their motion models or environments.

Visual Inertial Odometry (VIO) or Visual SLAM (VSLAM) can help augment your odometry with another sensing modality to more accurately estimate a robot’s motion over time. This makes your autonomy system more reliable and gives you the ability to rely on odometry for localized movements (e.g. docking or interfacing with external hardware).

In this tutorial, we show how to set it up using Stereolabs’ ZED X cameras, though the instructions are portable using other solutions. However, we highly recommend the Stereolabs solution as an integrated sensing-compute-hardware combo which is highly optimized and does not require finnicky tuning to get good out-of-the-box results. You get good results out immediately, saving you time trying to test every cameras combo with various open-source implementations of dubious quality.

While VSLAM for global localization in large spaces is still an active area of research we wish to eventually support, using it for local pose estimation and odometry is well established and can be used, today, in your robots to improve your odometry with ease!

Interested in learning more about Stereolabs relationship with ROS and Open Navigation? Check out our newest blog: Stereolabs - Sponsor Introductions P.III — Open Navigation LLC

Happy visual slamming,



Very cool demo/tutorial! Seeing someone walking a robot dog in the park brings me great joy. :smile: If you do not mind me asking, is that a ZED box on the back of the robot?

Thank you @smac for this! and thank you to the rest of your team and stereolabs team for the hard work.

We at InDro have started using the ZED x + Zed box for the base of our outdoor autonomy stack.

Therefore we really appreciate this tutorial and work.

Once we have our stack integrated with this VIO, we will showcase it on our Street Smart Robot (SSR) and we will share the media on this thread.

That is the Nvidia Jetson Orin AGX with the Stereolabs carrier card to get GMSL2 inputs.

Great! I hope you’re not reinventing the wheel and not using Nav2 :wink:

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.