Skip to main content

Stereolabs - ZED X camera with Nvidia Jetson Orin Nano

The ZED X is an IP66-rated Global Shutter camera built for robots by Stereolabs, powered by Neural Depth Engine 2. With a robust aluminum enclosure, high-performance IMU, secure GMSL2 connection and external frame sync, it's ready for field operation.

zed

Getting started

To run the ZED X camera with Nvidia Jetson Orin Nano firstly flash the Jetson Orin Nano with the JetPack SDK 5.1.1. To flash the Jetson Orin nano follow the article Installing the System Image for ROSbot. After that you must meet certain requirements listed below:

Software

Hardware

  • Single Board Computer: Jetson Orin Nano
  • Connectivity: Stereolabs GMSL2 capture card with 2 CSI 22 to 15-pin cables

To connect ZED X to the Jetson Orin Nano follow the official tutorial prepared by Stereolabs Setting up ZED X on Orin Nano / NX Developer Kits.

Demo

In this demo, we'll walk you through using the ZED X camera with ROS 2 via a Docker image. You'll also learn how to visualize data, including image previews and point clouds, using RViz. Demo is based on zed-ros2-wrapper repository.

Start guide

1. Plugin the device

If ZED X camera is connected and the ZED Driver v0.5.4 is installed check the ZED X Kernel module. After reboot on the Jetson Orin Nano go to its terminal and type:

sudo dmesg | grep zedx

The output should contain zedx_links_check: 1 link(s) detected what means everything is well connected. Please do not pay attention to zedx_write_reg:i2c write failed.

2. Clone repository

git clone https://github.com/husarion/zed-docker.git
cd zed-docker/demo

3. Setup environment variable

Before you started it is necessary to setup few variables appropriate to you configuration.

export ZED_IMAGE=husarion/zed-jetson:foxy-4.0.0-20240208-stable
export CAMERA_MODEL=<camera_model>

Replace <camera_model> with appropriate camera model from below table.

Product NameCamera Model
ZED Xzedx
ZED X Minizedxm

4. Run compose.yaml

xhost local:root
docker compose up

Result

Now you should see a point cloud that defines the position of objects in 3d space, and when you move the camera you should also be able to observe the trajectories of the camera movement.

zed-result

ROS API

The full API of the robot can be found in the official documentation of the device.

Summary

The depth camera is increasingly the basis of many modern robotic projects. ZED cameras are one of the first depth cameras that use CUDA cores, which allows for such high accuracy while maintaining a large number of frames per second. In addition, ZED officially supports ROS 2 and provides more and more effective solutions.


Do you need any support with completing this project or have any difficulties with software or hardware? Feel free to describe your thoughts on our community forum: https://community.husarion.com/ or to contact with our support: support@husarion.com