Skip to content

Releases: stereolabs/zed-ros2-wrapper

Humble-v4.1.4

01 Oct 08:06
da7f6ac
Compare
Choose a tag to compare

v4.1.x for ZED SDK v4.1.x

  • Updated the Docker files to the CUDA 12.4 (PC), L4T 35.4 (Jetson), SDK v4.1.4
  • Added Local Streaming output
    • Added enable_streaming service to start/stop a streaming server
    • Added Streaming Server diagnostic
    • Added parameter 'stream_server.stream_enabled': enable the streaming server when the camera is open
    • Added parameter 'stream_server.codec': different encoding types for image streaming
    • Added parameter 'stream_server.port': Port used for streaming
    • Added parameter 'stream_server.bitrate': Streaming bitrate (in Kbits/s) used for streaming
    • Added parameter 'stream_server.gop_size': The GOP size determines the maximum distance between IDR/I-frames
    • Added parameter 'stream_server.adaptative_bitrate': Bitrate will be adjusted depending on the number of packets dropped during streaming
    • Added parameter 'stream_server.chunk_size': Stream buffers are divided into X number of chunks where each chunk is chunk_size bytes long
    • Added parameter 'stream_server.target_framerate': Framerate for the streaming output
  • Added Local Streaming input
    • Added 'stream.stream_address' and 'stream.stream_port' parameter to configure the local streaming input
  • GNSS Fusion temporarily disabled (available with 4.1.1)
  • Moved parameter 'general.svo_file' to 'svo.svo_path'
  • Moved parameter 'general.svo_loop' to 'svo.svo_loop'
  • Moved parameter 'general.svo_realtime' to 'svo.svo_realtime'
  • Removed obsolete launch files: 'zed.launch.pi','zed2.launch.pi', 'zed2i.launch.pi', 'zedm.launch.pi', 'zedx.launch.pi', 'zedxm.launch.pi'
  • Removed obsolete display launch file: 'display_zed.launch.py', 'display_zed2.launch.py', 'display_zed2i.launch.py', 'display_zedm.launch.py', 'display_zedx.launch.py', 'display_zedxm.launch.py'
  • Added support for custom virtual stereo cameras made with two calibrated ZED X One cameras (available with 4.1.1)
  • Added parameter pos_tracking.reset_odom_with_loop_closure to automatically reset odometry when a loop closure is detected
  • Added new positional tracking information to the PosTrackStatus message
  • Added new GnssFusionStatus message with GNSS Fusion status information (available with 4.1.1)
  • Added new parameters gnss_fusion.h_covariance_mul and gnss_fusion.v_covariance_mul to control the effects of the GNSS covariance
  • Added support to Automatic ROI
    • Added ROI diagnostic
    • Added parameter debug.debug_roi
    • Publish ROI mask image on the topic ~/roi_mask using image transport
    • Moved the parameter general.region_of_interest to region_of_interest.manual_polygon
    • Added automatic Region of Interest support
    • Added parameter region_of_interest.automatic_roi
    • Added parameter region_of_interest.depth_far_threshold_meters
    • Added parameter region_of_interest.image_height_ratio_cutoff
    • Added parameter region_of_interest.apply_to_depth
    • Added parameter region_of_interest.apply_to_positional_tracking
    • Added parameter region_of_interest.apply_to_object_detection
    • Added parameter region_of_interest.apply_to_body_tracking
    • Added parameter region_of_interest.apply_to_spatial_mapping
  • Removed QoS parameters to use ROS 2 QoS overwrite -> https://design.ros2.org/articles/qos_configurability.html
  • Added support for new NEURAL_PLUS depth mode
  • Added new <camera_name>_gnss_link frame to URDF to set the position of the GNSS antenna with respect to the camera position
  • New Docker configuration files allow easy creation of "ZED ROS2 Wrapper" images based on specific tag versions. Read more
  • Fixed a bug while playing a ZED X stream on a "not-Jetson" host device
  • Add support for point cloud transport [only Humble, no Foxy]
  • Add support for FFMPEG image transport
  • Add new ffmpeg.yaml configuration file
  • Fix ~/imu/data_raw message not containing RAW IMU data

Humble-v4.0.8

15 Mar 19:26
77a043a
Compare
Choose a tag to compare

v4.0.8 for ZED SDK v4.0.8

  • The parameter general.sdk_verbose has been moved to debug.sdk_verbose and set to 0 as default.
  • Add new parameter general.optional_opencv_calibration_file to use custom OpenCV camera calibrations.
  • Add new tutorial to illustrate how to integrate one or more ZED cameras on a robot
  • Add 'simulation.sim_enabled' parameter to enable the simulation mode
  • Add 'simulation.sim_address' parameter to set the simulation server address
  • Add 'simulation.sim_port' parameter to set the simulation server port
  • Add /clock subscriber to check the presence of the required message when use_sim_time is true
  • Force grab_frame_rate and pub_frame_rate to 60 Hz in simulation
  • Force grab_resolution to HD1080 in simulation
  • Remove the general.zed_id parameter. Always use general.serial_number to distinguish between different cameras in a multi-camera configuration.
  • The multi-camera example has been updated to match the new TF configuration
  • The old launch files are now obsolete: 'ros2 launch zed_wrapper <camera_model>.launch.py' is replaced by 'ros2
    launch zed_wrapper zed_camera.launch.py camera_model:=<camera_model>'
  • The reference link for positional tracking is no longer 'base_link' but <camera_name>_camera_link.
    This will allow an easier ZED integration in existing robot configuration because the transform base_link -> camera_link
    is no longer published by the ZED ROS2 Wrapper. Thanks to @SteveMacenski for the advice
    • Remove parent and origin parameters from zed_macro.urdf.xacro
    • Remove launch argument cam_pose from zed_camera.launch.py
  • Move parameter publish_imu_tf from pos_tracking to sensors to make it available also in "no depth" configurations of the node
  • Add new parameter pos_tracking.pos_tracking_mode to exploit the new ZED SDK QUALITY mode for improved odometry and localization
  • New Video/Depth processing throttling method by using the grab_compute_capping_fps ZED SDK parameter instead of a dedicated thread
  • Advanced parameters to handle Thread scheduling policy and priorities (sudo required):thread_sched_policy,thread_grab_priority,
    thread_sensor_priority,thread_pointcloud_priority
  • Add new GNSS calibration parameters: enable_reinitialization, enable_rolling_calibration, enable_translation_uncertainty_target, gnss_vio_reinit_threshold, target_translation_uncertainty, target_yaw_uncertainty
  • Add new Plane Detection parameters: pd_max_distance_threshold, pd_normal_similarity_threshold

Note: ROS 2 Foxy support is deprecated although this version still works with Foxy

Foxy-Humble-v4.0.5

04 Aug 12:27
6e5865a
Compare
Choose a tag to compare

v4.0.5 - ZED SDK from v4.0.0 to v4.0.5

  • The parameter general.pub_resolution can now take only NATIVE and CUSTOM values. 'NATIVE' to use the same general.grab_resolution - CUSTOM to apply the general.pub_downscale_factor downscale factory to reduce bandwidth in transmission
  • Add new parameter general.pub_downscale_factor to be used with the new option CUSTOM for the parameter general.pub_resolution
  • ULTRA is the new default value for depth.depth_mode (better performance for odometry and positional tracking)
  • Add resolution HD1080 for ZED X
  • Fix issue with Body Tracking start/stop by service call. Now Body Tracking can be restarted multiple times
  • Fix depth grab performance by removing a not required PNG Write call. Thank you Esteban Zamora @ezamoraa
  • Fix bug with general.pub_resolution value, not allowing to select the correct data publish resolution
  • Add new launch parameter ros_params_override_path to provide the path to a custom YAML file to override the parameters of the ZED Node without modifying the original files in the zed_wrapper/config folder. Thank you David Lu @MetroRobots

Foxy-Humble-v3.8.2

29 Mar 08:29
7d393c3
Compare
Choose a tag to compare

This is the latest release working with the ZED SDK v3.8.2

Changelog

  • Removed annoying build log messages. Only warning regarding unsupported ROS2 distributions will be displayed when required.

  • Added a check on timestamp to not publish already published point cloud messages in the point cloud thread

  • Added Docker files (docker folder) ready to create Docker images for desktop host devices: Ubuntu 22.04, ROS2 Foxy, ZED SDK v3.8.2.

  • Changed the default depth mode to PERFORMANCE (1) for a faster node start in the case that the NEURAL depth AI model is not present.

  • Change general.grab_resolution and general.pub_resolution from integer to string.

  • Add new LOW value for general.pub_resolution (half the MEDIUM output resolution).

  • Fix distortion model (see Issue #128)

  • Added diagnostic warning if the frequency of the camera grabbing thread is minor than the selected general.grab_frame_rate value.

  • Improved the code for Moving Average calculation for better node diagnostics.

  • Temperature diagnostic is now always updated even if sensors.sensors_image_sync is true and no image topics are subscribed.

  • Improve Grab thread and Video/Depth publishing thread elaboration time diagnostic.

  • Improve thread synchronization when the frequency of the grab SDK function is minor of the expected camera frame rate setting because of a leaking of elaboration power.

  • Removed node parameter general.resolution, replaced by general.grab_resolution.

  • Added node parameter general.pub_resolution used to reduce node computation and message bandwidth.

    • Available output resolutions: HD2K, HD1080, HD720, MEDIUM, VGA. MEDIUM is an optimized output resolution to maximize throughput and minimize processing costs.
  • Removed node parameters video.img_downsample_factor and depth.depth_downsample_factor. Use the new parameter general.pub_resolution instead.

  • Set default DEPTH MODE to NEURAL (4)

  • Improved the zed_camera.launch.py

    • Added support for OpaqueFunction in order to automatically configure the launch file according to the value of the launch parameter cam_model.
    • Changed parameters to set camera pose in launch files. From 6 separated parameters (cam_pos_x,cam_pos_y,cam_pos_z,cam_roll,cam_pitch,cam_yaw) to one single array (cam_pose).
    • Removed the workaround for empty svo_path launch parameter values thanks to TextSubstitution.
    • Modified the "display" launch files in zed-ros2-examples to match the new configuration.
    • Added publish_tf and publish_map_tf launch parameters useful for multi-camera configuretion or external odometry fusion.
  • Added multi-camera example in zed-ros2-examples repository.

  • Added pos_tracking.set_as_static parameters for applications with a static camera monitoring a robotics environment. See PR #122 Thx @gabor-kovacs

  • Code lint and re-formatting according to ROS2 code rules.

  • Add support for automatic lint tools to all the packages.

  • Change LICENSE to Apache 2.0 to match ROS2 license.

  • Added zed_id and serial_number launch parameters to open the correct camera in multi-camera configurations.

Foxy-Humble-v3.8.x

21 Oct 14:59
Compare
Choose a tag to compare

v3.8.x

  • Fixed set_pose wrong behavior. Now initial odometry is coherent with the new starting point.
  • Added Plane Detection.
  • Fixed "NO DEPTH" mode. By setting depth/quality to 0 now the depth extraction and all the sub-modules depending on it are correctly disabled.
  • Added debug sub-set of parameters with new parameters debug_mode and debug_sensors.
  • Added support for ROS2 Humble. Thx @nakai-omer.
    The two ROS2 LTS releases are now supported simoultaneously.
  • Set read_only flag in parameter descriptors for non-dynamic parameters. Thx @bjsowa.
  • Enabled Intra Process Communication. The ZED node no longer publishes topics with TRANSIENT LOCAL durability.
  • Improved TF broadcasting at grabbing frequency
  • Improved IMU/Left Camera TF broadcasting at IMU frequency
  • Fixed data grabbing frame rate when publishing is set to a lower value
  • Added TF broadcasting diagnostic
  • The parameter general.sdk_verbose is now an integer accepting different SDK verbose levels.
  • Moved Object Detection parameters from cameras configuration files to common.yaml
  • Moved Sensor Parameters from cameras configuration files to common.yaml
  • New data thread configuration to maximize data publishing frequency
    • Sensor data publishing moved from timer to thread
    • RGB/Depth data publishing moved from timer to thread
  • Fixed random errors when closing the node
  • Fixed wrong timing when playing SVO in real-time mode
  • Fixed units for atmospheric pressure data. Now pressure is published in Pascals according to the definition of the topic.
  • [SDK v3.8] Add new parameter pos_tracking.transform_time_offset to fix odometry TF timestamp issues
  • [SDK v3.8] Added new parameter pos_tracking.depth_min_range for removing fixed zones of the robot in the FoV of the camerafrom the visual odometry evaluation
  • [SDK v3.8] Added new parameter pos_tracking.sensor_world to define the world type that the SDK can use to initialize the Positionnal Tracking module
  • [SDK v3.8] Added new parameter object_detection.prediction_timeout for setting the timeout time [sec] of object prediction when not detected.
  • [SDK v3.8] Added support for ZED SDK Regiorn of Interest:
    • Added parameter general.region_of_interest to set the region of interest for SDK processing.
    • Added the service resetRoi to reset the region of interest.
    • Added the service setRoi to set a new region of interest.

Foxy-v3.7

25 Feb 15:03
55a4302
Compare
Choose a tag to compare
  • Add support for ZED SDK v3.7.x
  • ​Add support for sport-related OD objects
  • Add remove_saturated_areas dynamic parameter to disable depth filtering when luminance >=255
  • Add sl::ObjectDetectionParameters::filtering_mode parameter
  • Publish depth_info topic with current min/max depth information
  • Fix parameter override problem (Issue #71). Thx @kevinanschau
  • Add default xacro path value in zed_camera.launch.py. Thx @sttobia
  • Fix zed-ros2-interfaces sub-module url, changing from ssh to https

Foxy-v3.6.x

03 Dec 14:52
7cbd090
Compare
Choose a tag to compare

v3.6.x (2021-12-03)

  • Moved the zed_interfaces package to the zed-ros2-interfaces repository to match the same configuration of the ROS1 wrapper
  • The zed-ros2-interfaces repository has been added as a sub-module to this repository
  • Add new _base_link frame on the base of the camera to easily handle camera positioning on robots. Thx @civerachb-cpr
  • Improve URDF by adding 3° slope for ZED and ZED2, X-offset for optical frames to correctly match the CMOS sensors position on the PCB, X-offset for mounting screw on ZED2i
  • Add zed_macro.urdf.xacro to be included by other xacro file to easily integrate ZED cameras in the robot descriptions. See ROS1 PR #771 for details. Thx @civerachb-cpr
  • Fix URDF height value for ZED, ZED2 and ZED2i
  • Fix performances drop on slower platforms. Thx @roncapat
  • Fix SVO LOOP wrong behavior. Thx @kevinanschau
  • Add xacro support for automatic URDF configuration
  • Reworked launch files to support xacro and launch parameters
    • Use ros2 launch zed_wrapper <launch_file> -s to retrieve all the available parameters
  • Add svo_path:=<full path to SVO file> as input for all the launch files to start the node using an SVO as input without modifying 'common.yaml`
  • Improved diagnostic information adding elaboration time on all the main tasks
  • Improved diagnostic time and frequencies calculation
  • Added StopWatch to sl_tools
  • Enabled Diagnostic status publishing
  • Changed the default values of the QoS parameter reliability for all topics from BEST_EFFORT to RELIABLE to guarantee compatibility with all ROS2 tools
  • Fixed tab error in zedm.yaml
  • Fixed compatibility issue with ZED SDK older than v3.5 - Thanks @PhilippPolterauer
  • Migration to ROS2 Foxy Fitzroy

Foxy - SDK v3.5.x - Compile fix

12 Nov 10:29
de1dfc4
Compare
Choose a tag to compare

What's Changed

Foxy - SDK v3.5.x

21 Jul 14:11
b512dce
Compare
Choose a tag to compare
  • Migration to ROS2 Foxy Fitzroy
  • Add xacro support for automatic URDF configuration
  • Reworked launch files to support xacro and launch parameters
    • Use ros2 launch zed_wrapper <launch_file> -s to retrieve all the available parameters
  • Add svo_path:=<full path to SVO file> as input for all the launch files to start the node using an SVO as input without modifying 'common.yaml`
  • Improved diagnostic information adding elaboration time on all the main tasks
  • Improved diagnostic time and frequencies calculation
  • Added StopWatch to sl_tools
  • Enabled Diagnostic status publishing
  • Changed the default values of the QoS parameter reliability for all topics from BEST_EFFORT to RELIABLE to guarantee compatibility with all ROS2 tools
  • Fixed tab error in zedm.yaml
  • Fixed compatibility issue with ZED SDK older than v3.5 - Thanks @PhilippPolterauer

Eloquent - SDK v3.5.x

21 Jul 14:13
852ac51
Compare
Choose a tag to compare
  • Fixed tab error in zedm.yaml
  • Fixed compatibility issue with ZED SDK older than v3.5 - Thanks @PhilippPolterauer
  • Add support for SDK v3.5
  • Add support for the new ZED 2i
  • Add new parameter pos_tracking/pos_tracking_enabled to enable positional tracking from start even if not required by any subscribed topic. This is useful, for example, to keep the TF always updated.
  • Add support for new AI models: MULTI_CLASS_BOX_MEDIUM and HUMAN_BODY_MEDIUM
  • Depth advertising is disabled when depth is disabled (see sl::DETH_MODE::NONE)