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.
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/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"
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 theisaac::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:
- 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/.
The calibration file is required for the ZED camera to work. The name of the calibration file is SN
.conf , where “<serial_number>” is the serial number of the camera.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.
Download the factory-calibration file for your ZED camera with the following command:
bob@desktop:~/isaac/sdk$ ./engine/engine/build/scripts/download_zed_calibration.sh -s <zed_camera_serial_number>
Copy the downloaded SN
.conf file to the /usr/local/zed/settings directory.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.If the downloaded calibration file was successfully copied but zed_camera app outputs the following message, you have to perform the local calibration.
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.
Connect the ZED camera to the host PC and install ZED SDK from the following website: https://www.stereolabs.com/developers/release/.
Start the ZED calibration utility:
bob@desktop:~/isaac/sdk$ /usr/local/zed/tools/ZED\Calibration
Follow the on-screen instructions to perform camera calibration. The calibration utility writes a new SN
.conf calibration file to the default settings directory (/usr/local/zed/settings), overwriting the existing file.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.