Isaac ROS ZED Setup#

ZED cameras require the following to be able to publish data to ROS 2 topics:

  • ZED SDK

  • zed-ros2-wrapper

  • ZED X driver (ZED X / ZED X Mini only; installed on the host machine)

When using Isaac ROS with Docker, the ZED SDK and zed-ros2-wrapper are installed automatically during container build when you enable the zed image key in the Isaac ROS CLI configuration. If you are using a Virtual Environment or Bare Metal workflow, you must install the SDK and build zed-ros2-wrapper manually.

Camera Compatibility#

All cameras supported by the zed ros2 wrapper work with Isaac ROS.

ZED Model

SQA Testing?

ZED 2i

ZED X

ZED 2

ZED

ZED Mini

ZED X Mini

Setup Instructions#

Note

DGX Spark: ZED camera support has not been tested on DGX Spark.

This tutorial assumes that you have completed the instructions in Developer Environment Setup.

  1. Configure the Isaac ROS environment to include ZED:

    Create a file called ~/.config/isaac-ros-cli/config.yaml with the following content:

    mkdir -p ~/.config/isaac-ros-cli
    touch ~/.config/isaac-ros-cli/config.yaml
    
    docker:
      image:
        additional_image_keys:
          - zed
    

    This will install the ZED SDK and build zed-ros2-wrapper into the container image when you rebuild it.

    Clone the zed-ros2-wrapper repository on the master branch. You will also need to install the ZED SDK on the host (see step 5 below).

    cd ${ISAAC_ROS_WS}/src && \
    git clone --recurse-submodules https://github.com/stereolabs/zed-ros2-wrapper
    

    Clone the zed-ros2-wrapper repository on the master branch. You will also need to install the ZED SDK on the host (see step 5 below).

    cd ${ISAAC_ROS_WS}/src && \
    git clone --recurse-submodules https://github.com/stereolabs/zed-ros2-wrapper
    
  2. If you are using ZED X or ZED X Mini, refer to the appropriate Stereolabs setup guide.

    • You must install the ZED X driver on the host.

    • If you are using Docker, you do not need to install the ZED SDK on the host (it is installed into the container image when you rebuild it).

  3. Plug in the USB cable of your ZED camera before activating the Isaac ROS environment in the next step.

  4. Activate the Isaac ROS environment:

    isaac-ros activate --build-local
    

    This --build-local flag rebuilds the container image using Dockerfile.zed in one of its layered stages. Rebuilding can take several minutes.

    After the image has been built once, you can use isaac-ros activate to launch the container without rebuilding the image.

    isaac-ros activate
    
    isaac-ros activate
    
  5. Install the ZED SDK (Virtual Environment / Bare Metal only):

    No action required. The ZED SDK is installed into the container image during the Docker build.

    Install the ZED SDK on your host by downloading and running the appropriate installer from the ZED SDK release page.

    Install the ZED SDK on your host by downloading and running the appropriate installer from the ZED SDK release page.

  6. Install the dependencies for the zed_wrapper package and build it (Virtual Environment / Bare Metal only):

    No action required. zed-ros2-wrapper is built into the container image during the Docker build.

    cd ${ISAAC_ROS_WS} && \
    sudo apt update && \
    rosdep update && rosdep install --from-paths src/zed-ros2-wrapper --ignore-src -r -y && \
    colcon build --symlink-install --packages-up-to zed_wrapper
    
    cd ${ISAAC_ROS_WS} && \
    sudo apt update && \
    rosdep update && rosdep install --from-paths src/zed-ros2-wrapper --ignore-src -r -y && \
    colcon build --symlink-install --packages-up-to zed_wrapper
    
  7. Verify that the ZED camera is connected by running /usr/local/zed/tools/ZED_Explorer:

    /usr/local/zed/tools/ZED_Explorer
    

    If everything is working as expected, verify that you have something similar to the following:

    https://media.githubusercontent.com/media/NVIDIA-ISAAC-ROS/.github/release-4.3/resources/isaac_ros_docs/getting_started/zed_explorer.png/