Repo symbol

zed-ros2-wrapper repository

robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper
Repo symbol

zed-ros2-wrapper repository

robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper
Repo symbol

zed-ros2-wrapper repository

robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper
Repo symbol

zed-ros2-wrapper repository

robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper
Repo symbol

zed-ros2-wrapper repository

robotics 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

Stereolabs<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…

More information

Point_cloud

Installation

Prerequisites

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 through apt 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 new colcon 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 and source ~/.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:

  1. Automatic code formatting:

    $ ament_uncrustify --reformat src

  2. Build the packages to check for compile errors:

    $ colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release

  3. Perform the automatic build tests:

    $ colcon test

  4. Analyze and solve eventually reported errors:

    $ colcon test-result --verbose

  5. 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).

## Submitting your code changes Code contributions should be made via pull requests to the appropriate repositories: * [zed-ros2-wrapper](https://github.com/stereolabs/zed-ros2-wrapper/pulls) * [zed-ros2-interfaces](https://github.com/stereolabs/zed-ros2-interfaces/pulls) * [zed-ros2-examples](https://github.com/stereolabs/zed-ros2-examples/pulls) We ask all contributors to follow the practices explained in [ROS2 documentation](https://docs.ros.org/en/humble/The-ROS2-Project/Contributing/Code-Style-Language-Versions.html). Before submitting a pull request please perform this list of tasks from the root of your ROS2 workspace: 1. Automatic code formatting: `$ ament_uncrustify --reformat src` 2. Build the packages to check for compile errors: `$ colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release` 3. Perform the automatic build tests: `$ colcon test` 4. Analyze and solve eventually reported errors: `$ colcon test-result --verbose` 5. 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](http://www.apache.org/licenses/LICENSE-2.0.html): ~~~ 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)](https://developercertificate.org/).
Repo symbol

zed-ros2-wrapper repository

robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper
Repo symbol

zed-ros2-wrapper repository

robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper
Repo symbol

zed-ros2-wrapper repository

robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper
Repo symbol

zed-ros2-wrapper repository

robotics point-cloud object-detection slam stereo-vision ros2 skeleton-tracking visual-odometry zed-camera spatial-mapping ros2-wrapper