Skip to content

Releases: stereolabs/zed-ros2-wrapper

v5.2.0

10 Feb 11:47

Choose a tag to compare

v5.2.0

  • Removed the zed_wrapper/urdf/include/materials.urdf.xacro file and moved the material settings directly in the zed_macro.urdf.xacro file to avoid possible conflicts in multi-camera configurations. Thx @davesarmoury for the fix
  • Added the enable_localization_only parameter to the configuration to allow the camera to localize in the loaded area memory without updating the map with new information.
  • Added support for the ZED SDK Positional Tracking 2D mode if the SDK version is 5.1 or higher.
  • Added the zed_debug package for debugging ZED Components by loading them in a single C++ process.
  • Add enable_depth service to disable depth processing at runtime
  • Positional Tracking GEN_3 is now the default mode when using ZED SDK v5.2 or newer, providing improved stability and performance. The GEN_2 mode is still available as an option for users who prefer it or need it for specific use cases.
  • When using GEN_3 with ZED SDK v5.2 or newer, Positional Tracking continues to provide localization feedback even if depth is disabled at runtime or when the node starts by setting the depth.depth_mode parameter to NONE.
  • New diagnostic information regarding Positional Tracking status: "Mode", "Odometry Status", "Spatial Memory Status", "Tracking Fusion Status".

Humble-v5.1.0

04 Dec 11:19

Choose a tag to compare

v5.1.0

  • Changed ZED Camera image topic names to match the cleaner convention used by ZED X One cameras:

    • NOTE THIS IS A BREAKING CHANGE.

    • Left sensor topics:

      • From ~/left/image_rect_color to ~/left/color/rect/image
      • From ~/left_raw/image_raw_color to ~/left/color/raw/image
      • From ~/left_gray/image_rect_gray to ~/left/gray/rect/image
      • From ~/left_raw_gray/image_raw_gray to ~/left/gray/raw/image
    • Right sensor topics:

      • From ~/right/image_rect_color to ~/right/color/rect/image
      • From ~/right_raw/image_raw_color to ~/right/color/raw/image
      • From ~/right_gray/image_rect_gray to ~/right/gray/rect/image
      • From ~/right_raw_gray/image_raw_gray to ~/right/gray/raw/image
    • RGB sensor topics (corresponding to the left sensor for the Stereo cameras):

      • From ~/rgb/image_rect_color to ~/rgb/color/rect/image
      • From ~/rgb_raw/image_raw_color to ~/rgb/color/raw/image
      • From ~/rgb_gray/image_rect_gray to ~/rgb/gray/rect/image
      • From ~/rgb_raw_gray/image_raw_gray to ~/rgb/gray/raw/image
  • Added parameters to select what topics will be advertised when the node starts:

    • NOTE THIS IS A BREAKING CHANGE. TOPICS MAY NO LONGER BE AVAILABLE IF NOT ENABLED IN THE DEFAULT CONFIGURATION. Please check what topic you use and set the relevant parameter to true.
    • general.publish_status: Advertise the status topics that are published only if a node subscribes to them
    • video.publish_rgb: Advertise the RGB image topics that are published only if a node subscribes to them
    • video.publish_left_right: Advertise the left and right image topics that are published only if a node subscribes to them
    • video.publish_raw: Advertise the raw image topics that are published only if a node subscribes to them
    • video.publish_gray: Advertise the gray image topics that are published only if a node subscribes to them
    • video.publish_stereo: Advertise the stereo image topic that is published only if a node subscribes to it
    • sensors.publish_imu: Advertise the IMU topic that is published only if a node subscribes to it
    • sensors.publish_imu_raw: Advertise the raw IMU topic that is published only if a node subscribes to it
    • sensors.publish_cam_imu_transf: Advertise the IMU transformation topic that is published only if a node subscribes to it
    • sensors.publish_mag: Advertise the magnetometer topic that is published only if a node subscribes to it
    • sensors.publish_baro: Advertise the barometer topic that is published only if a node subscribes to it
    • sensors.publish_temp: Advertise the temperature topics that are published only if a node subscribes to them
    • region_of_interest.publish_roi_mask: Advertise the ROI mask image topic that is published only if a node subscribes to it
    • depth.publish_depth_map: Advertise the depth map topics that are published only if a node subscribes to them
    • depth.publish_depth_info: Advertise the depth info topic that is published only if a node subscribes to it
    • depth.publish_point_cloud: Advertise the point cloud topic that is published only if a node subscribes to it
    • depth.publish_depth_confidence: Advertise the depth confidence topic that is published only if a node subscribes to it
    • depth.publish_disparity: Advertise the disparity topic that is published only if a node subscribes to it
    • pos_tracking.publish_odom_pose: Advertise the odometry and pose topics that are published only if a node subscribes to them
    • pos_tracking.publish_pose_cov: Advertise the pose with covariance topic that is published only if a node subscribes to it
    • pos_tracking.publish_cam_path: Advertise the camera odometry and pose path topics that are published only if a node subscribes to them
    • mapping.publish_det_plane: Advertise the plane detection topics that is published only if a node subscribes to it
  • Added topic enabler feature to sl::CameraOne

    • NOTE THIS IS A BREAKING CHANGE. TOPICS MAY NO LONGER BE AVAILABLE IF NOT ENABLED IN THE DEFAULT CONFIGURATION. Please check what topic you use and set the relevant parameter to true.
    • Added parameter video.publish_rgb to enable/disable RGB image publishing
    • Added parameter video.publish_raw to enable/disable raw image publishing
    • Added parameter video.publish_gray to enable/disable gray image publishing
    • Added parameter sensors.publish_imu: Advertise the IMU topic that is published only if a node subscribes to it
    • Added parameter sensors.publish_imu_raw: Advertise the raw IMU topic that is published only if a node subscribes to it
    • Added parameter sensors.publish_temp: Advertise the temperature topics that are published only if a node subscribes to them
  • Enabled Isaac ROS NITROS integration for ZED X One cameras

  • Added debug parameter debug.debug_nitros to enable debug logs for NITROS-related operations.

  • Added debug parameter debug.use_pub_timestamps to use the current ROS time for the message timestamp instead of the camera timestamp.
    This is useful to test data communication latency.

  • Added camera_info in transport namespace to reflect rviz2 requirements with the Camera plugin.

    • Added new camInfoPubTrans publisher for each image topic to publish the camera_info in the transport namespace.
    • Updated publishImageWithInfo method to handle the new camInfoPubTrans publisher.
  • Added 3D visualization of the positional tracking landmarks as a point cloud on topic ~/pose/landmarks (only with GEN_2 and GEN_3 positional tracking modes):

    • Added parameter pos_tracking.publish_3d_landmarks to enable/disable landmarks publishing
    • Added parameter pos_tracking.publish_lm_skip_frame to set the frequency of landmarks publishing (0 to publish every frame)
  • Removed Point Cloud Transport as a required dependency. Point Cloud Transport is now only automatically enabled if the point_cloud_transport package is installed on the system.

  • Removed FFMPEG Image Transport support because of a problem with the Humble distribution not allowing to set the transport parameters, and the lack of compatibility with NVIDIA® Jetson.

  • Improved diagnostic information for 3D Mapping status in diagnostics

  • Fixed random crash when stopping 3D Mapping

  • Fixed a bug that forced the maximum publishing rate of the point cloud topic to 15 Hz with SVO files

  • Set the default mode for positional tracking to GEN_2 waiting for improvements in GEN_3 stability

  • Remapped robot_description topic to <camera_name>_description to allow multi-camera URDF integration

  • Changed minimum depth value to 0.01 meters when using ZED SDK v5.1 or higher

  • Added debug option for TF broadcasting

    • Improved TF debug logs to show frame transformations when enabled
  • Static baseline information from URDF is now overwritten by the real baseline value retrieved from the camera calibration file.

  • Removed mandatory custom_baseline launch argument for virtual stereo cameras made with two ZED X One cameras.
    The value is retrieved from the calibration file.

  • IMU TF is now broadcast as static if IPC is disabled.

  • IMU Transform topic is now published with TRANSIENT LOCAL durability if IPC is disabled.

  • Fixed camera_info publishing when no image topics are subscribed

  • Loop Closure log event is now displayed only in DEBUG mode to reduce log spam

  • Renamed camera optical frames to comply with ROS conventions:

    • NOTE THIS IS A BREAKING CHANGE. Please update your TF references accordingly.
    • From <camera_name>_left_camera_optical_frame to <camera_name>_left_camera_frame_optical
    • From <camera_name>_right_camera_optical_frame to <camera_name>_right_camera_frame_optical
    • From <camera_name>_camera_optical_frame to <camera_name>_rgb_camera_frame_optical
  • Added twist information to the odom topic

  • Added support for the new Virtual Stereo API with SDK v5.1.

    • New launch arguments to setup the virtual camera: serial_numbers and camera_ids
    • New ZedCamera component parameters to setup the virtual camera: general.virtual_serial_numbers and general.virtual_camera_ids
    • NOTE ZED MEDIA SERVER IS NO LONGER REQUIRED to create a virtual Stereo camera using two ZED X One cameras.
  • Added 24-bit BGR image mode

    • Added parameter video.enable_24bit_output to enable/disable 24-bit BGR image publishing to common_stereo.yaml and common_mono.yaml configuration files
    • NOTE: video.enable_24bit_output is disabled by default to maintain backward compatibility. Enabling this parameter will change the image message encoding from BGRA8 to BGR8, which may affect existing applications that rely on the previous encoding.
  • Enabled SVO support for ZED X One cameras (playback, recording, and diagnostic)

  • Set thread names according to the thread function name for easier identification in debuggers and profilers

  • Enable SVO for ZedCameraOne

    • add service to pause SVO playback
    • add service to set SVO frame ID
    • add services to start/stop SVO recording
    • publish SVO status
    • publish SVO clock on /clock topic
  • Publish ZedCameraOne heartbeat status on ~/status/heartbeat topic

Humble-v5.0.0

11 Sep 13:06
a66e227

Choose a tag to compare

Main new features

  • Integration with NVIDIA Isaac ROS and NITROS
  • Full Health Status
  • Advanced Object Detection with Full Custom Detector support using ONNX models
  • Advanced Video/Depth publishing rate control

v5.0.0 - Full Changelog

  • Backward compatible with SDK v4.2
  • Added official support for ROS 2 Jazzy Jalisco
  • Note: requires the latest zed_msgs package v5.0.0
  • Added SVO Status topic to monitor the current SVO status of type zed_msgs::SvoStatus
  • Added fully integrated Health Status topic of type zed_msgs::HealthStatusStamped
    • Remove the single health status topics to simplicy health monitoring
  • Remove cob_srvs dependency to use the custom zed_msgs::SetSvoFrame service
  • Added Heartbeat status message at 1 Hz: ~/status/heartbeat
  • Improve performance with the default stereo configuration
  • Fix Positional Tracking enabling when required by ZED SDK modules
  • Fix realtime IMU data publishing when using SVO2
  • Added parameter 'debug.sdk_verbose_log_file' to Stereo and Mono components to set the path of the SDK verbose log file
  • Clean shutdown of ZED components using pre_shutdown_callback
  • Added new parameter svo.replay_rate to set the replay rate for the SVO when not used in realtime mode (range [0.10-5.0])
  • Improved diagnostic information for SVO playback
  • Default SVO Recording Compression mode [0] is forced to H265 replacing the old LOSSLESS mode
    • H265 is far superior as it uses hardware encoder, resulting in faster, lighter encoding, and dramatically smaller SVO2 files
  • Added /clock publisher to be used in SVO Mode to synchronize other nodes with the SVO timestamp
  • Added parameter svo.publish_svo_clock to enable the /clock publisher
    • The parameter 'svo.publish_svo_clock' is normally overridden by the publish_svo_clock launch option
  • Moved brightness, contrast, and hue from common_stereo.yaml to zed.yaml, zed2.yaml, zed2i.yaml, and zedm.yaml files
  • Add advanced handling of the Object Detection and Tracking module of the ZED SDK
    • Move the multi-box native object detection parameters to the object_detection.yaml file
    • Add specific parameters to set the confidence threshold for each of the includes object detection classes of the ZED SDK
    • Move the Custom Object Detection parameters to the custom_object_detection.yaml file
    • Support all the new parameters of the ZED SDK v5 separately for each of the custom object detection classes
  • The usage of the new Object Detection support is fully described on the ZED ROS 2 online documentation:
  • Separated Video/Depth data publishing into its own thread for more precise control over the publishing rate,
    independent of the camera grab rate. This enables recording SVO files or processing positional tracking at
    full grab rate, while publishing data at a reduced rate to optimize bandwidth usage.
  • Added a new launch option 'node_log_type' to set the type of log to be used by the ZED Node.
    • The available options are screen, log, and both.
  • Changed pos_tracking.area_memory_db_path to pos_tracking.area_file_path to match the ZED SDK parameter name
  • Added parameter pos_tracking.save_area_memory_on_closing to save the Area Memory before closing the camera
  • Fixed Area Mapping file handling according to the ZED SDK policies.
    • The Area Memory file is now saved only if the Area Memory is enabled, if the pos_tracking.save_area_memory_on_closing
      parameter is set to true, if the pos_tracking.area_file_path is set and if the pos_tracking.area_file_path is valid.
  • Added save_area_memory service
    • Set the filename as a parameter. If the filename is empty, it uses the value of the parameter pos_tracking.area_file_path if not empty.
  • Added enable_ipc launch argument to enable intra-process communication (IPC) when using ROS 2 Composition.
    • Note: NITROS requires IPC to be disabled to work properly.
  • Fixed plane topic names, adding missing node name prefix
  • Added camera_info to Confidence Map topic
  • Enabled Isaac ROS integration and automatic NITROS usage: https://docs.stereolabs.com/isaac-ros/
    • Added the parameter debug.disable_nitros to disable NITROS usage. This is useful for debugging and testing purposes.

Humble-v4.2.5

26 Mar 16:59

Choose a tag to compare

v4.2.5

  • Add new parameter 'depth.point_cloud_res' to set a specific point cloud publishing resolution
    • 'COMPACT': Standard resolution. Optimizes processing and bandwidth
    • 'REDUCED': Half 'COMPACT' resolution. Low processing and low bandwidth requirements
  • Add uptime and frame drop rate information to node diagnostics
  • Add image validity check support [SDK 5 required]
    • Add new parameter 'general.enable_image_validity_check'
    • Add new topic 'health_status/low_image_quality' to publish image quality status
    • Add new topic 'health_status/low_lighting' to publish low light condition status
    • Add new topic 'health_status/low_depth_reliability' to publish low depth quality status
    • Add new topic 'health_status/low_motion_sensors_reliability' to publish low quality of inertial sensors status
    • Set the Node Disgnostic to WARNING if any of the above conditions are detected
  • Add general.camera_id parameter to set the camera ID for the ZedCamera.
  • Add general.camera_id parameter to set the camera ID for the ZedCameraOne.
  • Add camera_id argument to the zed_camera.launch.py launch file. Useful for GMSL2 multi-camera configurations where camera ID is estabilished by the GMSL2 wire.
  • Improve Node Diagnostics information
  • Add pos_tracking.reset_pose_with_svo_loop parameter to reset the camera pose the initial_base_pose when the SVO loop is enabled and the SVO playback reaches the end of the file.
  • Add svo.play_from_frame parameter to set the starting frame when playing an SVO file.
  • Add set_svo_frame service to set the current frame when playing an SVO file.
  • Remove unused open timeout for ZED X One cameras
  • Add parameter svo.use_svo_timestamps to use the SVO timestamps when publishing data (both stereo and mono components)

Humble-v4.2.x

17 Feb 13:29
0c16806

Choose a tag to compare

v4.2.x

  • Add new OPTIMIZED mode for general.pub_resolution
  • Add new parameter general.async_image_retrieval to enable/disable the asynchronous image retrieval to be used with SVO recording.
  • Set the Positional Tracking Mode to GEN_1 as default as wa orkaround for the random crash issue caused by GEN_2 mode.
  • Fixed a bug for raw gray image publisher on Zed One Component: raw gray images were not published when the rectified image topic was subscribed. Thx @Alex-Beh
  • Enabled grayscale output for ZED X One cameras (SDK v4.2.3 required)
  • Enabled streaming input for ZED X One cameras (SDK v4.2.3 required)
  • Fixed wrong range check for the general.pub_downscale_factor parameter
  • Enhanced sensor thread rate due to an automatically adjusting sleep time
  • Removed the zed-ros2-interfaces sub-module. The zed_msgs package is now included in ROS 2 Humble binaries and can be installed with sudo apt install ros-humble-zed-msgs.
  • Fixed 4K resolution support for ZED X One 4K cameras
  • Changed C++ version to 17 to follow ROS 2 Humble standard
  • Renamed common.yaml to common_stereo.yaml
  • Added common_mono.yaml for monocular cameras
  • Added video.enable_hdr to zedxone4k.yaml for monocular 4K cameras
  • Changed the name of the package zed_interfaces to zed_msgs to match the ROS2 naming convention
  • Added the new stereolabs::ZedCameraOne component to handle ZED X One cameras
  • Removed the ZED Wrapper executable node.
    • Modified the launch file to create an isolated composable container that loads the stereolabs:ZedCamera or the stereolabs:ZedCameraOne component according to the camera model
  • Added support for custom ONNX detection engine (SDK v4.2 required)
    • Added value CUSTOM_YOLOLIKE_BOX_OBJECTS to the object_detection.model parameter
    • Added parameter object_detection.custom_onnx_file to set the full path of the custom ONNX file
    • Added parameter object_detection.onnx_input_size to set the size of the YOLO input tensor
    • Added parameter object_detection.custom_label_yaml to set the full path to custom YAML file storing class labels in COCO format

Humble-v4.1.4

01 Oct 08:06
da7f6ac

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

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

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

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

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.