Skip to content

v5.3.1

Latest

Choose a tag to compare

@Myzhar Myzhar released this 29 May 09:47

v5.3.1

  • Added voxel point cloud support. When depth.voxel_point_cloud is enabled, the point cloud topic publishes voxel-decimated data using retrieveVoxelMeasure(). New parameters: depth.voxel_size_mm (voxel cell size in millimeters), depth.voxel_resolution_mode (FIXED, STEREO_UNCERTAINTY, LINEAR), and depth.voxel_resolution_scale. All voxel parameters are dynamically reconfigurable.

  • Added handling of ERROR_CODE::CAMERA_EXCEEDS_BANDWIDTH during camera open in both stereo and mono components. When a GMSL PHY CSI bandwidth overflow is detected, the node logs an error and stops initialization.

  • Added XVGA and TXGA as valid grab_resolution options for ZED X HDR camera configurations (zedxhdr, zedxhdrmax, zedxhdrmini, zedxonehdr).

  • Added XVGA and TXGA resolution parsing in both stereo (ZedCamera) and mono (ZedCameraOne) components.

  • Added support for ZED X Nano camera: new zedxnano model with dedicated configuration file, URDF macro, and launch file integration.

  • Added video.ae_antibanding parameter for ZED X cameras to control auto-exposure anti-banding mode (0=OFF, 1=AUTO, 2=50Hz, 3=60Hz). Dynamically reconfigurable.

  • Added Scene Illuminance field to the diagnostic output for ZED X cameras (read-only metric reflecting the level of light in the scene).

  • Added scene_illuminance field (int32, units 0.1 lux) to the HealthStatusStamped message published on ~/status/health. Value -1 indicates the metric is unsupported by the connected camera. Requires the matching zed_msgs v5.3.

  • Added svo.svo_encoding_preset parameter (DEFAULT, ULTRAFAST, FAST, MEDIUM, SLOW) to choose the SVO encoder speed/quality preset when starting a recording.

  • Added svo.decryption_key parameter (stereo and mono) to open encrypted SVO files. The key/passphrase is forwarded to the SDK via InitParameters::svo_decryption_key.

  • Added general.sdk_use_monotonic_clock parameter that switches the SDK to TIMESTAMP_CLOCK::MONOTONIC_CLOCK so timestamps are immune to host clock step adjustments (NTP/PTP). When combined with debug.use_pub_timestamps: false, an offset captured at camera open is applied so published Header stamps remain ROS-epoch-shaped while inter-frame deltas stay monotonic. Process-wide setting; in a composition the first node to open wins (subsequent nodes log a warning and fall back to the active clock).

  • IPC is now handled automatically disabling it when NITROS is enabled and enabling it when NITROS is disabled. The debug.disable_nitros parameter can be used to disable NITROS and enable IPC if needed.

  • Added support to rclcpp::TypeAdapter for better handling of Image messages:

    • A TypeAdapter publisher handles the base "raw" topic. Intra-process subscribers receive StampedSlMat`` (wrapping sl::Mat``) directly without serialization. Inter-process subscribers receive sensor_msgs/msg/Image via automatic `TypeAdapter` conversion.
    • An image_transport publisher handles the transport-specific topics (e.g., compressed, theora). The "raw" transport is disabled to avoid duplicate messages.
    • Image transport plugins are now filtered by topic type: visual topics (IMAGE) only advertise compressed and theora, while measurement topics (MEASURE) only advertise compressedDepth. This prevents silent data corruption from incompatible plugin/encoding combinations (e.g., JPEG on float depth).
    • When the package isaac_ros_nitros is installed and NITROS not disabled via the debug.disable_nitros parameter, NITROS publishers take priority, and neither TypeAdapter nor image_transport publishers are created.