STEREOLABS

ZED SDK

2.8.5

What's New

2020-01-08

ZED SDK 2.8 introduces streaming ZED video feed across a network, turning ZED cameras into IP cameras. It also adds support for point-based spatial mapping, simpler Jetson installation process and major wrapper/plugin updates. Read more.

2.8.5

General
  • Updated automatic port assignment for the streaming receiver. Previously, the port was randomly choosen in a list of available ports.

    Now the port assigned is either the same port number defined in InitParameters.input.setFromStream(ip,port) or the closest available port number if the port defined is not available.

    This allows to know explicitely the internal port that will be used by the streaming receiver, which is useful in applications where the receiving port number must be defined explicitely (Docker containers for example). See InitParameters.input.setFromStream() API documentation for more information.

Platforms
  • Added support for CUDA 10.2 (Windows, Ubuntu 16, Ubuntu 18)
  • Added support for JetPack 4.3 (Nvidia Jetson)

2.8.4

General
  • Fixed a memory leak in Streaming module on Jetson that continuously increased memory until the camera was closed.
  • Improved IMU timestamp accuracy. Timestamp is based on epoch time and IMU clock drift is now compensated. Note that getIMUData(TIME_REFERENCE_IMAGE).timestamp and getTimestamp(TIME_REFERENCE_IMAGE) can now be slightly different since they are not based on the same computation, however the difference will be less than the time of a frame.
  • Fixed a wrong translation scale that was applied in getCameraInformation().camera_imu_transform. Translation was given in meters when the selected unit was in millimeters.
Tools
  • Fixed ZED Explorer which was still creating a UI interface when used in command line. Command line options are now available even if no screen is connected to the host PC/Jetson.
Platforms
  • Fixed Jetson clock script so that it correctly enables maximum performance (nvpmodel -m 0) with the new JetPack 4.2.

2.8.3

General
  • Fixed multiple camera detection on Ubuntu 18.
  • Fixed getCameraSettingsValue() when using network streaming input. It was not fully supported on previous versions.
  • Fixed random freeze on Windows when using network streaming input.
  • Fixed retrieveImage() for Side by Side View mode that would lead to an empty image.
  • Fixed error code that returned SUCCESS when retrieveImage() or retrieveMeasure() was used with a resolution higher than the camera resolution. Functions will now return ERROR_CODE_INVALID_RESOLUTION.
SVO
  • Fixed a bug in LOSSLESS compression on Linux when using ZED Mini cameras. IMU metadata was not reported in the SVO file, leading to wrong tracking states.
  • Fixed metadata synchronization issue where IMU and image data could be out of sync in H264 (AVCHD) and H265 (HEVC) SVO files recorded on Desktop platforms.
Samples
  • Fixed support of Visual Studio 2019 for Samples that required GLEW library.
  • Improved mouse control in Positional Tracking sample.
Tools
  • Fixed SVO playback controls in ZED Explorer. Previously, the "+/-" button could jump one frame each time it was clicked.
  • Fixed SVO conversion to H264 (AVCHD) and H265 (HEVC) in ZED SVO Editor tool.
  • Improved zoom in/out control in Depth Viewer.
Unity
  • Added support for building applications with Unity and ZED on Linux. See zed-unity repository for more information.
  • Fixed issue when using multiple cameras that could lead to a crash if both cameras shared the same CAMERA_ID.
  • Fixed minor issues in the plugin. See zed-unity release notes for more details.

2.8.2

General
  • Added static sl_svo library on Linux. All ZED SDK libraries are now available as static libraries.
  • Fixed SVO playback speed in ZED Explorer. SVO are now played at their capture speed.
  • Applied multiple minor UI updates in ZED Explorer.
  • Fixed an issue preventing the tools to be launched with a double click on Ubuntu 18.
Video
  • Fixed unrectified image orientation in Flip mode.
  • Fixed a potential issue leading to file corruption when multiple programs accessed the camera calibration file at the same time.
Positional Tracking
  • Updated IMU output to remove gyroscope bias correction from raw data. This will improve SLAM algorithms that include online bias estimation and use the IMU raw data.
  • Fixed enable_imu_fusion function. When set to false, it now effectively disables IMU use for visual odometry estimation.
Spatial Mapping
  • Fixed a memory detection issue preventing the mapping to start when <2GB of RAM was available.
SVO
  • Fixed a potential issue when reading the last frame of an SVO file.
  • Added support for ~ character in SVO paths on Linux.
Samples
  • Added ArUco Marker detection sample showing how to relocalize the camera during tracking.
  • Updated OpenCV-related samples for compatibility with OpenCV 4.
  • Fixed installation of the SVO recording sample.

2.8.1

Positional Tracking
  • Fixed IMU bias correction that could lead to slow movement not being correctly tracked.
SVO
  • Fixed automatic low recording bitrate when target FPS is not reached.
Tools
  • Fixed ZED Explorer image stall when taking a screenshot.
  • Removed debug message in ZED Explorer console.

2.8.0

New Features

Streaming over IP network
  • ZED SDK 2.8 introduces a brand new streaming feature. Users can now connect as many ZED cameras as needed directly to a network and conveniently access the video feeds simultaneously, on multiple devices and applications. Get Started.
  • Also, Ethernet cabling greatly extends the distance allowed between the ZED camera and the host device making installation and placement of ZED cameras more flexible and scalable.
ROS 2
  • Introducing a brand new ROS 2 wrapper for the ZED SDK, taking advantage of all the new features and optimization of the new ROS 2 version.

SDK

General
  • Added Streaming capabilities. The ZED SDK can now stream data from local cameras over the network, for multiple remote computers running the SDK to use as input.
  • Added support for scanning into point clouds using Spatial Mapping.
  • In collaboration with NVIDIA, solved an issue on Jetson preventing the ZED Mini from being detected after reboot. Fix is available in Jetpack 4.2 and will be applied to older versions.
  • Fixed an issue on Jetson TX2 leading to incorrect floor plane detection with the ZED Mini.
  • Fixed image timestamping issue that could lead to offsets when using getTimestamp(TIME_REFERENCE_IMAGE).
Streaming
  • Added input.setFromStream() function in InitParameters to open a streaming camera.
  • Added enableStreaming() and disableStreaming() functions to start and stop a stream from a camera.
  • Added StreamingParameters structure to setup custom bitrate, port and codec of a camera stream.
  • Added isStreamingEnabled() function to get the streaming status of a camera.
  • Added getStreamingDeviceList() function to list the camera streams available on the network.
Spatial Mapping
  • Added map_type parameter in SpatialMappingParameters to select between mesh or point cloud-based mapping.
  • Added SPATIAL_MAP_TYPE enumerate to list available mapping types (mesh vs. point cloud).
  • Added extractWholeSpatialMap() function, deprecating extractWholeMesh().
  • Added retrieveSpatialMapAsync() function, deprecating retrieveMeshAsync().
  • Added requestSpatialMapAsync() function, deprecating requestMeshAsync().
  • Added getSpatialMapRequestStatusAsync() function, deprecating getMeshRequestStatusAsync().
  • Fixed an issue that could lead to a crash during mesh texturing in Unity.
API
  • Added CAMERA_SETTINGS_LED_STATUS in CAMERA_SETTINGS to allow users to enable or disable the camera LED.
  • Updated Jetson installers. There is now one installer per Jetpack version that covers all supported Jetson boards, instead of one installer per board and per Jetpack.
SVO
  • Fixed memory leak in disableRecording() function.
  • Introduced optional_settings_path to select a custom calibration file path.
Positional Tracking
  • Added enable_imu_fusion parameter in TrackingParameters to disable camera-IMU odometry fusion when using a ZED Mini in specific environments such as high vibration platforms.
  • Updated TrackingParameters.enable_pose_smoothing behavior to better track high-speed movements of the camera when disabled.
  • Updated Pose.pose_covariance behavior when using spatial memory. The covariance is now accessible when TrackingParameters.enable_spatial_memory is activated.
  • Deprecated Pose.pose_confidence attribute. Use Pose.pose_covariance instead.
  • Introduced camera_disable_imu to disable the imu opening in live mode. This allows opening a ZED-M on USB 3.0 only extensions cord such as optical fiber.
Samples
  • Introduced Streaming Sender and Streaming Receiver samples to help users get started with the new feature.
Tools
  • Added a feature to ZEDfu to scan and export as fused point cloud.
  • Fixed a graphics resizing issue in ZED Explorer on Ubuntu 18.
  • Fixed an issue in SVO Editor that prevented cutting an SVO within the first few frames

Plugins

Python
  • Updated API for compatibility with 2.8 release.
  • Added 2.8 streaming capabilities.
  • Added native OpenCV sample to open the camera without the ZED SDK on non-NVIDIA computers.
ROS 2
  • Releasing the beta version of the new ROS 2 wrapper.
ROS
  • Updated API for compatibility with 2.8 release.
  • Moved parameters from launch files to YAML files. This makes them clearer and unifies parameters between different launch files.
  • Added minimum depth parameter (min_depth).
  • Added base_link to the TF tree to improve user experience when adding ZED cameras to a standard ROS robot configuration. Pose and Odometry are now referred to base_link instead of zed_camera_center.
  • Added a separated launch file for ZED Mini (zedm.launch and display_zedm.launch).
  • Added a service to set the ON/OFF status of the blue LED (firmware > 1523).
  • Added a service to toggle the status of the blue led (firmware > 1523).
  • Added a parameter to choose the default SVO compression mode for SVO recording.
  • Added 2D mode for stable navigation on planar surfaces.
  • Added option to set a fixed pose/odometry covariance or use the dynamic matrices calculated by the SDK.
  • Added SVO recording services.
  • Added zero-copy to Pointcloud publishing (thanks @RhysMcK).
  • Added dynamic parameter to change the frequency of point cloud publishing. Now the point cloud can have a frequency different from the grab frequency (always less than or equal to the grab frequency).
  • Added services to start/stop network streaming, which allows remote machines to acquire and process images using a ROS node or a "not ROS" application.
  • Added stereo side-by-side image topic for raw and rectified images.
  • Removed initial warning about TF not being available.
  • Improved console logging for a better vision of the node configuration.
  • Fixed additional minor issues.
Unity
  • Updated API for compatibility with 2.8 release.
  • Added support for multiple cameras on the same PC - complete refactoring of the plugin to support this.
  • Added Multicam sample to demonstrate how to use more than one ZED camera at once.
  • Added support for the SDK's new streaming features - direct USB connection no longer required.
  • Added Pose Smoothing to positional tracking relocalization. Enabling spatial memory for tracking no longer creates "jumps" in position estimation.
  • Added Estimate Initial Position feature to set the ZED's pitch and height based on automatic floor plane detection at start.
  • Removed dependence on Unity layers for showing the correct real-world feed to the proper camera. Users can now adjust ZED rig culling masks like any Unity Camera.
  • Moved Spatial Mapping and SVO recording/playback to ZEDManager, removing ZEDSpatialMappingManager and deprecating ZEDSVOManager.
  • Simplified how detected planes are drawn in scene, giving more control and allowing them to be drawn at the same time as a spatial mapping mesh.
  • Fixed ZED rig drift when tracked with ZEDControllerTracker. This was caused by how the latency compensation was handled.
  • Fixed long pause when closing applications while a ZED was initializing.
  • Updated controller scripts to work with SteamVR Unity plugin version 2.
  • Fixed additional minor issues.
Unreal
  • Updated engine and plugin to support 2.8 release.
  • Added Pose Smoothing to positional tracking relocalization. Enabling spatial memory for tracking no longer creates "jumps" in position estimation.
  • Unreal engine version updated to 4.21.

SDK Downloads

Available as a standalone installer, the ZED SDK includes applications, tools and sample projects with source code to get started with your camera. Please check out our GitHub page and SDK documentation for additional resources.

Docker

Get ZED SDK Docker image. Allows to run ZED SDK in a container with GPU support on a broad range of Linux OS (including Ubuntu, CentOS, Debian).

For the full list of images, see Stereolabs DockerHub repository. To customize your image, see ZED Docker GitHub.

Legacy

For older releases and changelog, see the ZED SDK release archive.

Plugins

Build applications with your favorite tools and development environments using these standalone packages, which provide access to the complete feature set of the ZED SDK. See all integrations.

App

ZED World is a standalone application that allows you to experience mixed reality with stereo pass-through in VR headsets. Requires ZED Mini, Oculus Rift or HTC Vive.