Releases: orbbec/OrbbecSDK_ROS2
Release v2.5.4
What's New (since v2.4.7)
New Features & Enhancements
-
SDK & Device Support:
- Updated OrbbecSDK from v2.4.11 to v2.5.5.
- Added support for Astra Mini S Pro and Astra Mini Pro devices.(Requires firmware version v2.0.03 or above)
- Added launch files for 345 and 345lg.
-
Network Device Management:
- Added a log of the MAC address for network devices in the device list.
- Introduced the
set_device_ipexecutable for configuring device IP settings (static IP/DHCP, address, mask, gateway). - Implemented a "force IP" feature for network devices using parameters like
force_ip_enable,force_ip_mac,force_ip_address, etc.
-
Stream & Format Support:
- Added Y12C4 depth stream format support for Gemini 435Le.
- Added metadata topic for Gemini 435Le.
-
Synchronization:
- Added an
intra_camera_sync_referenceparameter for the 330 series, allowing synchronization reference to be set to Start, Middle, or End in trigger modes. - Introduced
image_sync_example_node, a multi-camera synchronization example that aggregates and displays image streams from multiple devices in a single window. - Added a
time_sync_periodparameter to customize the host time synchronization interval whenenable_sync_host_timeis active.
- Added an
-
Camera Control & Configuration:
- Added
align_target_streamparameter for Femto Mega and Femto Bolt. - Added ISP denoising feature for the Gemini 330 series with the
color_denoising_levelparameter.This can only be configured when AE is enabled . (Requires firmware version v1.6.00 or above) - Added support for the
device_presetparameter in the launch files for Femto Mega and Bolt, with the default value updated to "Custom". - The backlight compensation parameter was changed from a boolean (
enable_color_backlight_compenstation) to an integer (color_backlight_compensation) with a range of 0 to 6. - Added services (
set_user_calib_params/get_user_calib_params) to write and read custom camera info for Gemini 435Le. - Added services (
set_streams_enable/get_streams_enable) to control and query the status of all streams globally. - Added logic for the
enable_publish_extrinsicparameter to control the publishing of extrinsic topics. - Added support for specifying calibration files via
color_info_url/ir_info_urlin launch files.
- Added
-
Tools & Diagnostics:
- Added two benchmark tools:
common_benchmark_nodefor monitoring memory usage andservice_benchmark_nodefor statistics on service call success rates. - Introduced a
device_statustopic that publishes frame rates, latency data, and device connection status at 2Hz. - The
get_device_infoservice now includescurrent_sdk_versionandhardware_version. - Updated the multi-camera synced verification tool.
- Added two benchmark tools:
-
Documentation:
- Most documentation has been moved to GitHub Pages, with the ROS package retaining only basic tutorials.
For specific usage, please refer to the OrbbecSDK ROS2 documentation
Removals
- Removed alternating frame, HDR fusion, and frame sequence filtering features for Gemini 435Le.
Bug Fixes
- Corrected multiple parameter spelling errors:
liner_accel_covtolinear_accel_covenable_disaparity_to_depthtoenable_disparity_to_depthcolor_constrasttocolor_contrastdisaparity_to_depth_modetodisparity_to_depth_mode
- Modified default HDR preset parameters for the Gemini 330 series.
- Fixed other bugs.
Supported devices
| Products List | Recommended FW Version | Launch File |
|---|---|---|
| Astra Mini Pro | 2.0.03 | astra.launch.py |
| Astra Mini S Pro | 2.0.03 | astra.launch.py |
| Gemini 435Le | 1.3.6 | gemini435_le.launch.py |
| Gemini 330 series | 1.6.00 | gemini_330_series.launch.py |
| Gemini 215 | 1.0.9 | gemini210.launch.py |
| Gemini 210 | 1.0.9 | gemini210.launch.py |
| Gemini 2 | 1.4.98 | gemini2.launch.py |
| Gemini 2 L | 1.5.2 | gemini2L.launch.py |
| Femto Bolt | 1.1.2 | femto_bolt.launch.py |
| Femto Mega | 1.3.1 | femto_mega.launch.py |
| Femto Mega I | 2.0.4 | femto_mega.launch.py |
| Astra 2 | 2.8.20 | astra2.launch.py |
Supported Platforms
- Linux x64: tested on Ubuntu 22.04
- Linux ARM64: tested on NVIDIA Jetson AGX Orin , NVIDIA Jetson Orin NX , NVIDIA Jetson Orin Nano , NVIDIA Jetson AGX Xavier , NVIDIA Jetson Xavier NX
Release v2.4.7
What's New (since v2.4.5)
- Upgraded Orbbec SDK to v2.4.11
- Renamed parameter
depth_brightnesstomean_intensity_set_point- Backward compatibility retained: if both parameters are present in a launch file,
mean_intensity_set_pointtakes precedence
- Backward compatibility retained: if both parameters are present in a launch file,
- Added static TF frame publishing when IMU data fusion is enabled
Bug Fixes
- Fixed occasional device disconnection when calling the reboot service
- Optimized memory usage growth during device reboot
Supported devices
| Products List | Recommended FW Version | Launch File |
|---|---|---|
| Gemini 435Le | v1.3.2 | gemini435_le.launch.py |
| Gemini 330 series | 1.5.55 | gemini_330_series.launch.py |
| Gemini 215 | 1.0.9 | gemini210.launch.py |
| Gemini 210 | 1.0.9 | gemini210.launch.py |
| Gemini 2 | 1.4.98 | gemini2.launch.py |
| Gemini 2 L | 1.5.2 | gemini2L.launch.py |
| Femto Bolt | 1.1.2 | femto_bolt.launch.py |
| Femto Mega | 1.3.1 | femto_mega.launch.py |
| Astra 2 | 2.8.20 | astra2.launch.py |
Supported Platforms
- Linux x64: tested on Ubuntu 22.04
- Linux ARM64: tested on NVIDIA Jetson AGX Orin , NVIDIA Jetson Orin NX , NVIDIA Jetson Orin Nano , NVIDIA Jetson AGX Xavier , NVIDIA Jetson Xavier NX
Release v2.4.5
What's New (since v2.4.3)
● Update Orbbec SDK to v2.4.8
● Added new launch file: gemini210.launch.py
● Modified default value of enumerate_net_device in gemini_330_series.launch.py from false to true
● Added software trigger service interface: /send_software_trigger
- Example usage:
ros2 service call /camera_01/send_software_trigger std_srvs/srv/SetBool '{data: true}'
Supported devices
| Product Serials | Firmware Version | Launch File |
|---|---|---|
| Gemini 435Le | 1.3.2 | gemini435_le.launch.py |
| Gemini 330 series | 1.5.55 | gemini_330_series.launch.py |
| Gemini 215 | 1.0.9 | gemini210.launch.py |
| Gemini 210 | 1.0.9 | gemini210.launch.py |
| Gemini 2 | 1.4.92 | gemini2.launch.py |
| Gemini 2 L | 1.4.53 | gemini2L.launch.py |
| Femto Bolt | 1.1.2 | femto_bolt.launch.py |
| Femto Mega | 1.3.0 | femto_mega.launch.py |
| Astra 2 | 2.8.20 | astra2.launch.py |
Supported Platforms
- Linux x64: Tested on Ubuntu 22.04 and 24.04
- Linux ARM64: Tested on NVIDIA Jetson AGX Orin and NVIDIA Jetson AGX Xavier
Release v2.4.3
What's New (since v2.3.4)
● Update Orbbec SDK v2.4.3
● New support devices --Gemini 435Le
● Added do_rectify in the /camera_info topic (its function is to output whether the current image is dedistorted)
gemini_330_series.launch.py
- Added
upgrade_firmwareparam - Added
color_powerline_freqparam - Added
enable_accel_data_correctionparam - Added
enable_gyro_data_correctionparam - Added
enable_disaparity_to_depthparam - Added
depth_precisionparam - Added
align_target_streamparam - Added
[color|depth|left_ir|right_ir|ir]_rotationparam - Added
[color|depth|left_ir|right_ir|ir]_flipparam - Added
[color|depth|left_ir|right_ir|ir]_mirrorparam - Added
enable_ptp_configparam(Only Gemini 335Le) - Added
disaparity_to_depth_modeparam - Removed
enable_hardware_d2dparam
gemini2.launch.py
- Added
color_ae_roi_[left|right|top|bottom]param - Added
depth_ae_roi_[left|right|top|bottom]param
femto_bolt.launch.py & femto_mega.launch.py
- Added
noise_removal_filterrelated parameters - Added
decimation_filterrelated parameters - Added
spatial_filterrelated parameters - Added
temporal_filterrelated parameters - Added
hole_filling_filterrelated parameters
service
- Added
/camera/set_[color|depth|left_ir|right_ir|ir]_flipservice - Added
/camera/set_[color|depth|left_ir|right_ir|ir]_rotationservice
For usage, please refer to service document
Bug Fixes
● Fixed the issue that decimation_filter_scale cannot be set to 8 and 0
● Fixed the program crash caused by using /camera/set_filter service
Supported devices
| Product Serials | Firmware Version | Launch File |
|---|---|---|
| Gemini 435Le | coming soon | gemini435_le.launch.py |
| Gemini 330 series | 1.4.60 | gemini_330_series.launch.py |
| Gemini 335Lg | 1.4.60 | gemini_330_series.launch.py |
| Gemini 335Le | 1.5.31 | gemini_330_series.launch.py |
| Gemini 2 | 1.4.92 | gemini2.launch.py |
| Gemini 2 L | 1.4.53 | gemini2L.launch.py |
| Femto Bolt | 1.1.2 | femto_bolt.launch.py |
| Femto Mega | 1.3.0 | femto_mega.launch.py |
| Astra 2 | 2.8.20 | astra2.launch.py |
Supported Platforms
- Linux x64: Tested on Ubuntu 22.04 and 24.04
- Linux ARM64: Tested on NVIDIA Jetson AGX Orin and NVIDIA Jetson AGX Xavier
Release v2.3.4
What's New (since v2.2.3)
● Update Orbbec SDK v2.3.5
● New support device --Gemini 335Le
● Modify the default value of the enable_hardware_noise_removal_filter parameter -- from true to false
● Add new parameters in gemini_330_series.launch.py:
enumerate_net_device(Gemini 335Le connection parameters required).net_device_ip(Gemini 335Le connection parameters required).net_device_port(Gemini 335Le connection parameters required).exposure_range_mode(Only Gemini 335Le)hardware_noise_removal_filter_thresholdenable_left_ir_sequence_id_filterleft_ir_sequence_id_filter_idenable_right_ir_sequence_id_filterright_ir_sequence_id_filter_id
● Add new parameters in gemini2.launch.py:
depth_ae_roi_leftdepth_ae_roi_rightdepth_ae_roi_topdepth_ae_roi_bottom
● Update parameters in femto_bolt.launch.py and femto_mega.launch.py:
- Remove:
enable_soft_filtersoft_filter_max_diffsoft_filter_speckle_size
- Add:
enable_threshold_filterthreshold_filter_maxthreshold_filter_min
Bug Fixes
● Fixed the problem that the distortion_model in the camera_info topic is always rational_polynomial. Now the current version of distortion_model outputs the correct distortion model
Supported devices
| Product Serials | Firmware Version | Launch File |
|---|---|---|
| Gemini 330 series | 1.4.60 | gemini_330_series.launch.py |
| Gemini 335Lg | 1.4.60 | gemini_330_series.launch.py |
| Gemini 335Le | 1.5.31 | gemini_330_series.launch.py |
| Gemini 2 | 1.4.92 | gemini2.launch.py |
| Gemini 2 L | 1.4.53 | gemini2L.launch.py |
| Femto Bolt | 1.1.2 | femto_bolt.launch.py |
| Femto Mega | 1.3.0 | femto_mega.launch.py |
| Astra 2 | 2.8.20 | astra2.launch.py |
Supported Platforms
- Linux x64: Tested on Ubuntu 22.04 and 24.04
- Linux ARM64: Tested on NVIDIA Jetson AGX Orin and NVIDIA Jetson AGX Xavier
Release v2.2.3
What's New (since v2.1.1)
● Update Orbbec SDK v2.2.8
● Add new parameters in gemini_330_series.launch.py:
enable_hardware_noise_removal_filter(requires firmware v1.4.60 or above).
Notes:
enable_hardware_noise_removal_filter reduces CPU usage, but the depth data becomes sparser. On the other hand, enable_noise_removal_filter provides better results but consumes more CPU resources.
You can use OrbbecViewer to switch between the two filters and observe the depth effect.disparity_range_mode(requires firmware v1.4.60 or above).disparity_search_offset(requires firmware v1.4.60 or above).disparity_offset_config,offset_index0andoffset_index1(requires firmware v1.4.60 or above).frame_aggregate_mode(requires firmware v1.4.60 or above).enable_color_auto_exposure_prioritycolor_sharpnesscolor_gammcolor_saturationcolor_constrastcolor_hueenable_color_backlight_compenstation
● Introduced benchmark to test cpu usage.
● Introduced lower_cpu_usage to reduce cpu usage of one or more cameras in OrbbecSDK_ROS2
● Introduced multi_camera_synced to use multi-camera synced in OrbbecSDK_ROS2
● New service control filter settings - DecimationFilter, HDRMerge, SequenceIdFilter, ThresholdFilter, NoiseRemovalFilter, HardwareNoiseRemoval, SpatialAdvancedFilter and TemporalFilter:/camera/set_filter
● gemini2.launch.py and gemini2L.launch.py add enable_decimation_filter and decimation_filter_scale parameters
Bug Fixes
● Renam decimation_filter_scale_ to decimation_filter_scale
● Fix imu_info frame_id error and initialize quaternion w value to 1.0
● Fix error when interleave_ae_mode is "hdr"
● Gemini 2 laser shutdown caused by using service to disable LDP
Supported devices
| Product Serials | Firmware Version | Launch File |
|---|---|---|
| Gemini 330 series | 1.4.60 | gemini_330_series.launch.py |
| Gemini 335Lg | 1.4.60 | gemini_330_series.launch.py |
| Gemini 2 | 1.4.92 | gemini2.launch.py |
| Gemini 2 L | 1.4.53 | gemini2L.launch.py |
| Femto Bolt | 1.1.2 | femto_bolt.launch.py |
| Femto Mega | 1.3.0 | femto_mega.launch.py |
| Astra 2 | 2.8.20 | astra2.launch.py |
Supported Platforms
- Linux x64: Tested on Ubuntu 22.04 and 24.04
- Linux ARM64: Tested on NVIDIA Jetson AGX Orin and NVIDIA Jetson AGX Xavier
Release v2.1.1
Changelog (since v2.0.7)
- Update Orbbec SDK v2.1.1
- Fix service settings for abnormal laser switch
- Fix the issue of invalid usb_port startup for a single camera specified under multiple cameras
- Two encoding formats have been added to the color stream: RGBA and BGRA
- Three new features have been added to the services:
- set_reset_timestamp:Clear timestamp function,only takes effect when the device is set in time_domain
- set_sync_interleaverlaser:Using laser pattern sync with alternating frames and multi cameras synchronization
- set_sync_hosttime:Sync immediate function under multi cameras synchronization,only takes effect when the device is set in time_domain
- The metadataexport, metadatasave, and multisavergbir tool nodes use json files to pass in parameters
- Abandoning use_hardware_time in the launch file instead of time_domain
- Update OrbbecSDKConfig_v1.0.xml to OrbbecSDKConfig_v2.0.xml
- Set auto_exposure to take precedence over exposure parameters
- Add interleave_ae related parameters in launch
- Remove laser_on_off_mode param in launch
- Delete timed sync
- Other bug fixed
Issues Addressed (since v2.0.7)
- Sync_mode Not Working When Connecting Multiple Femto Bolt Devices
- Error on camera info topics retrieval in ROS2
Limitations
Using uvc_backend param, you need to unplug the camera when switching from libuvc to v4l2, otherwise the camera device will not be found
Release v2.0.7
Release Notes
With the major update of the new branch v2-main in October 2024, OrbbecSDK_ROS2 is connected to the open source version of OrbbecSDK v2, which will make OrbbecSDK_ROS2 more flexible and extensible.
This is the first stable release of OrbbecSDK_ROS2 v2. Thank you for your interest in Orbbec! If you have any questions or feedback, please let us know in the issues channel.
Changelog (since v1.5.8-rc)
- access to the open source version of OrbbecSDK v2
- Update Orbbec SDK v2.0.18
- Add several test tools
- Other improvements and several bug fixes
Supported Platforms
- Linux x64: Tested on Ubuntu 20.04, 22.04 and 24.04
- Linux ARM64: Tested on AGX Orin and AGX Xavier
Supported devices
| Product Serials | Firmware Version | Launch File |
|---|---|---|
| Astra2 | 2.8.20 | astra2.launch.py |
| Femto mega | 1.1.7 / 1.2.7 | femto_mega.launch.py |
| Femto bolt | 1.0.6 / 1.0.9 | femto_bolt.launch.py |
| Gemini2 | 1.4.60 / 1.4.76 | gemini2.launch.py |
| Gemini2L | 1.4.32 | gemini2L.launch.py |
| Gemini 335 | 1.2.20 | gemini_330_series.launch.py |
| Gemini 335L | 1.2.20 | gemini_330_series.launch.py |
| Gemini 335Lg | 1.3.46 | gemini_330_series.launch.py |
| Gemini 336 | 1.2.20 | gemini_330_series.launch.py |
| Gemini 336L | 1.2.20 | gemini_330_series.launch.py |
Release v1.5.8
What's Changed
- Fix CMakeLists.txt at orbbec_description by @Kashery in #41
- Fixed jazzy and iron compile error
- Remove glog dependence
- Fixed the issue of point cloud distortion in femto bolt
New Contributors
Full Changelog: v1.5.7...v1.5.8
Release v1.5.7
- Update OrbbecSDK v1.10.8