ZED Camera

Isaac SDK supports the StereoLabs ZED and ZED Mini (ZED-M) stereo cameras.

Use the procedures in this section to download the factory calibration file or perform local calibration on a camera.

Important
  • Local calibration of the ZED camera is a must for getting accurate results from computer-vision applications like stereo visual odometry.

  • A special UDEV rule should be added to a Linux system for user applications to work with the ZED-M IMU. Here’s a rule that’s added by the ZED SDK:

    Copy
    Copied!
                

    bob@desktop:~/isaac/sdk$ cat /etc/udev/rules.d/99-slabs.rules # HIDAPI/libusb SUBSYSTEM=="usb", ATTRS{idVendor}=="2b03", ATTRS{idProduct}=="f681", MODE="0666" SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", MODE="0666" # HIDAPI/hidraw KERNEL=="hidraw*", ATTRS{busnum}=="1", ATTRS{idVendor}=="0x2b03", ATTRS{idProduct}=="0xf681", MODE="0666"


Note

The file paths in these instructions use the default installation location for the ZED SDK: /usr/local/zed. If you have installed the ZED SDK in a different location, you will need to change the ZED SDK file paths accordingly.

  • isaac::ZedCamera: Publishes color or monochrome stereo pair images captured by a ZED camera. It doesn’t provide access to depth sensing, positional tracking, spatial mapping, or other advanced features of the ZED SDK.

  • isaac::zed::ZedImuReader: Publishes IMU readings (linear acceleration and angular velocity) captured from a ZED-M IMU. This codelet should be added to the same node as the isaac::ZedCamera codelet. The linear acceleration and angular velocity vectors are given in COORDINATE_SYSTEM_IMAGE, which is the standard right-handed coordinate system used in OpenCV: the X coordinate points to the right, Y points to the bottom, and Z points away from the optical axis of the left camera:

    zed_coordinate_systems.jpg

  • Camera firmware version 1142 is supported and tested for the ZED camera.
  • Camera firmware version 1523 and IMU firmware version 515 are supported and tested for the ZED-M camera.

Use the ZED Explorer SDK tool to upgrade or downgrade the camera firmware to a supported version as needed. The ZED Explorer executable is located in /usr/local/zed/tools/.

  1. The calibration file is required for the ZED camera to work. The name of the calibration file is SN<serial_number>.conf, where “<serial_number>” is the serial number of the camera.

  2. Every ZED camera is identified by a unique serial number and comes factory calibrated. Find the serial number on the ZED camera box, or run bazel run apps/samples/zed_camera to print the camera serial number to stdout.

  3. Download the factory-calibration file for your ZED camera with the following command:

    Copy
    Copied!
                

    bob@desktop:~/isaac/sdk$ ./engine/engine/build/scripts/download_zed_calibration.sh -s <zed_camera_serial_number>

  4. Copy the downloaded SN<serial_number>.conf file to the /usr/local/zed/settings directory.

  5. Run bazel run apps/samples/zed_camera and open Isaac Sight in a Chrome browser at http://localhost:3000/. You should see the camera image correctly.

  6. If the downloaded calibration file was successfully copied but zed_camera app outputs the following message, you have to perform the local calibration.

    Copy
    Copied!
                

    2020-10-16 20:11:34.662 ERROR external/com_nvidia_isaac_engine/engine/alice/components/Codelet.cpp@229: Component 'zed/zed_camera' of type 'isaac::ZedCamera' reported FAILURE: Calibration file was not found for your zed camera.

  1. Connect the ZED camera to the host PC and install ZED SDK from the following website: https://www.stereolabs.com/developers/release/.

  2. Start the ZED calibration utility:

    Copy
    Copied!
                

    bob@desktop:~/isaac/sdk$ /usr/local/zed/tools/ZED\Calibration

  3. Follow the on-screen instructions to perform camera calibration. The calibration utility writes a new SN<serial_number>.conf calibration file to the default settings directory (/usr/local/zed/settings), overwriting the existing file.

  4. Copy the calibration file to the /usr/local/zed/settings directory on an NVIDIA Jetson board.

If needed, use the settings_folder_path parameter in the ZedCamera codelet to specify a custom path for the directory containing the camera calibration file.

© Copyright 2018-2020, NVIDIA Corporation. Last updated on Oct 30, 2023.