Setting Up Stereolabs ZED X for ROS 2

Howdy yal,

I wanted to let you know about a set of 3 videos in a YouTube Playlist I created while setting up the new Stereolabs ZED X cameras! These video tutorials will show you how to:

  • Install the GMSL2 carrier board into Nvidia Jetson developer kits
  • Setup the Nvidia Jetson Developer Kit from the first-boot with Jetpack and necessary libraries
  • Install the Stereolabs SDK and ZED X driver to work with the cameras
  • Install ROS 2 Humble on Nvidia Jetson Orin AGX (which runs annoyingly 20.04 requiring some special steps) *
  • Working with the ZED ROS 2 drivers to get data off the camera and checkout one of their great spatial-AI features of visual-inertial odometry that comes built-in for free!

I thought this was particularly valuable to the ROS community to show how to set it all up from unboxing to integrating into your applications. I’m also working on a new tutorial for Nav2 showing you how to integrate VIO into your local state estimation to improve odometry on modern platforms that often suffer from bad odometry (legged, mecanum wheels, skid steer, etc) which makes reliable autonomous navigation difficult. The Stereolabs Pose Tracking SDK is really fantastic and the first VIO solution that’s “just worked” for me without week(s) of trial and error.

Why the ZED X? They’re new cameras uniquely designed for the needs of roboticists in autonomous navigation and manipulation:

  • Smaller form-factor analog to a Realsense camera compared to other ZED cameras
  • Low minimum range and accurate depth data within normal ranges needed for Nav2/MoveIt2 (or similar) applications
  • GMSL2 connectors (I am a member of the death to USB cult)
  • Global shutter, high resolution sensors with a hardware synchronized IMU
  • Paired with the Jetsons and Stereolabs SDK, can provide AI-assisted depth information and Spatial-AI features impossible to run on commercially viable embedded camera compute (e.g. VSLAM, VIO, 3D object tracking, 3D mapping, …) - for free!

I’m excited to have Stereolabs as a Sponsor of Open Navigation helping keep Nav2 and related projects supported, free, and open-source for all! Their support is greatly appreciated and enables Open Navigation to continue to help the broader ROS community! Please get in touch if you’re interested in also sponsoring Open Navigation - we need your help to keep ROS mobile robotics free, easy to use, open source, and actively developed and maintained.

Checkout the playlist below!

Happy cameraing,

Steve

7 Likes

Thanks for the kind words, @smac!
We at Stereolabs are all about making our products easy to use and fun to interact with. We put a lot of effort into the design and development process, and we’re always looking for ways to improve.
Your words make us proud of the job we made and cannot wait forward for the amazing things you will do with ZED X and ZED X Mini.

2 Likes

Thanks for the guide @smac, we’re going to be using this directly in one of our upcoming projects :smiley:

2 Likes

Wow, it was one of the series watched in order to brush up my computer visions solutions.

I have to decide between Zed X and Zed 2i, I’m almost at the limit with the budget on 2i, the GSML interface is mandatory for speeds of the AGV up to 2m/s?

Thanks for posting!

I don’t have an obvious answer for you, but it depends on your requirements and level of maturity of the system you’re looking to build (e.g. research or hobbyist vs professional).

ZED X’s will come with global shutter which is objectively better, plus using GMSL2 connections which are far more reliable than USB. The sizing of the ZED X’s are more in line with mobile robotics needed sensing ranges than the ZED 2i’s.

But, if its a hobby / research product and you’re can’t afford the better sensor and more reliable interface, a 2i would be fine enough.

2 Likes

Thank you for clarification!