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:

    bob@desktop:~/isaac$ 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.

Codelets

  • 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:

    ../../../_images/zed_coordinate_systems.jpg

Supported Firmware

  • 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/.

Download the Factory Calibration File

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

  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 and in the Sight application.

    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.

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

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

Tip

Alternatively, you can use the ZED Explorer tool to download a factory-calibration file. The ZED Explorer executable is located in /usr/local/zed/tools/. Download the factory-calibration file for your ZED camera with the following command:

bob@desktop:~/isaac$ /usr/local/zed/tools/ZED\ Explorer --dc <zed_camera_serial_number>
  1. Copy the downloaded SN<serial_number>.conf file to the /usr/local/zed/settings directory on an NVIDIA Jetson board.

Improve Camera Accuracy With Local Calibration

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

  2. Start the ZED calibration utility:

    bob@desktop:~/isaac$ /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.

Specify a Custom Location for the Camera Calibration File

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.