![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |
![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |
![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |
![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |
![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper zed_components zed_ros2 zed_wrapper |
Repository Summary
Description | ROS 2 wrapper for the ZED SDK |
Checkout URI | https://github.com/stereolabs/zed-ros2-wrapper.git |
VCS Type | git |
VCS Version | master |
Last Updated | 2025-07-30 |
Dev Status | UNKNOWN |
Released | UNRELEASED |
Tags | robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |
Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
Name | Version |
---|---|
zed_components | 5.0.0 |
zed_ros2 | 5.0.0 |
zed_wrapper | 5.0.0 |
README
<br \>
ROS 2 wrapper
ROS 2 packages for using Stereolabs ZED Camera cameras.
ROS 2 Foxy Fitzroy (Ubuntu 20.04) - ROS 2 Humble Hawksbill (Ubuntu 22.04) - ROS 2 Jazzy Jalisco (Ubuntu 24.04)
This package enables the use of ZED cameras with ROS 2, providing access to a variety of data types, including:
- Color and grayscale images, both rectified and unrectified
- Depth data
- Colored 3D point clouds
- Position and mapping, with optional GNSS data fusion
- Sensor data
- Detected objects
- Human skeleton data
- And more…
Installation
Prerequisites
- Ubuntu 20.04 (Focal Fossa), Ubuntu 22.04 (Jammy Jellyfish), or Ubuntu 24.04 (Noble Numbat)
- ZED SDK v5.0 EA (for older versions support please check the releases)
- CUDA dependency
- ROS 2 Foxy Fitzroy (deprecated), ROS 2 Humble Hawksbill, or ROS 2 Jazzy Jalisco:
- Foxy on Ubuntu 20.04 [Not recommended. EOL reached]
- Humble on Ubuntu 22.04 [EOL May 2027]
- Jazzy Jalisco on Ubuntu 24.04 [EOL May 2029]
Build the package
The zed_ros2_wrapper is a colcon package.
:pushpin: Note: If you haven’t set up your colcon workspace yet, please follow this short tutorial.
To install the zed_ros2_wrapper, open a bash terminal, clone the package from GitHub, and build it:
mkdir -p ~/ros2_ws/src/ # create your workspace if it does not exist
cd ~/ros2_ws/src/ #use your current ros2 workspace folder
git clone https://github.com/stereolabs/zed-ros2-wrapper.git
cd ..
sudo apt update
rosdep update
rosdep install --from-paths src --ignore-src -r -y # install dependencies
colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release --parallel-workers $(nproc) # build the workspace
echo source $(pwd)/install/local_setup.bash >> ~/.bashrc # automatically source the installation in every new bash (optional)
source ~/.bashrc
:pushpin: Note: the dependency
zed_msgs
is no longer installed as a submodule of this package, but is available throughapt
as a binary package with ROS 2 Humble. When working with ROS 2 Foxy, or other distributions, you can install it from the sources from the zed-ros2-interfaces repository.
:pushpin: Note: If
rosdep
is missing, you can install it with:
sudo apt-get install python3-rosdep python3-rosinstall-generator python3-vcstool python3-rosinstall build-essential
:pushpin: Note: When using the ZED ROS 2 Wrapper on an NVIDIA Jetson with JP6, you may get the following error when building the package for the first time
CMake Error at /usr/share/cmake-3.22/Modules/FindCUDA.cmake:859 (message): Specify CUDA_TOOLKIT_ROOT_DIR Call Stack (most recent call first): /usr/local/zed/zed-config.cmake:72 (find_package) CMakeLists.txt:81 (find_package)
You can fix the problem by installing the missing
nvidia-jetpack
packages:
sudo apt install nvidia-jetpack nvidia-jetpack-dev
:pushpin: Note: The option
--symlink-install
is very important, it allows the use of symlinks instead of copying files to the ROS 2 folders during the installation, where possible. Each package in ROS 2 must be installed, and all the files used by the nodes must be copied into the installation folders. Using symlinks allows you to modify them in your workspace, reflecting the modification during the next executions without issuing a newcolcon build
command. This is true only for all the files that don’t need to be compiled (Python scripts, configurations, etc.).:pushpin: Note: If you are using a different console interface like zsh, you have to change the
source
command as follows:echo source $(pwd)/install/local_setup.zsh >> ~/.zshrc
andsource ~/.zshrc
.
Starting the ZED node
:pushpin: Note: we recommend reading this ROS 2 tuning guide to improve the ROS 2 experience with ZED.
To start the ZED node, open a bash terminal and use the CLI command ros2 launch
:
ros2 launch zed_wrapper zed_camera.launch.py camera_model:=<camera_model>
Replace <camera_model>
with the model of the camera that you are using: 'zed'
, 'zedm'
, 'zed2'
, 'zed2i'
, 'zedx'
, 'zedxm'
, 'virtual'
,'zedxonegs'
,'zedxone4k'
.
The zed_camera.launch.py
is a Python launch script that automatically starts the ZED node using “manual composition”. The parameters for the indicated camera model are loaded from the relative “YAML files.”
A Robot State Publisher node is started to publish the camera static links and joints loaded from the URDF model associated with the camera model.
:pushpin: Note: You can set your configurations by modifying the parameters in the files common_stereo.yaml, zed.yaml zedm.yaml, zed2.yaml, zed2i.yaml, zedx.yaml, zedxm.yaml, common_mono.yaml, zedxonegs.yaml, and zedxone4k.yaml available in the folder
zed_wrapper/config
.
File truncated at 100 lines see the full file
CONTRIBUTING
Submitting your code changes
Code contributions should be made via pull requests to the appropriate repositories:
We ask all contributors to follow the practices explained in ROS2 documentation.
Before submitting a pull request please perform this list of tasks from the root of your ROS2 workspace:
-
Automatic code formatting:
$ ament_uncrustify --reformat src
-
Build the packages to check for compile errors:
$ colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release
-
Perform the automatic build tests:
$ colcon test
-
Analyze and solve eventually reported errors:
$ colcon test-result --verbose
-
Repeat steps (1) -> (4) until all reported formatting errors have been resolved.
License
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).
![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |
![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |
![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |
![]() |
zed-ros2-wrapper repositoryrobotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper |