From cc2a28bbd40a12d5e05df4688f1afc9c6399b694 Mon Sep 17 00:00:00 2001 From: ob-yalian Date: Mon, 21 Sep 2026 15:45:36 +0800 Subject: [PATCH 1/3] refactor: remove unused launch arguments for color and IR settings --- orbbec_camera/launch/gemini_301_series.launch.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/orbbec_camera/launch/gemini_301_series.launch.py b/orbbec_camera/launch/gemini_301_series.launch.py index 93d77a94..4c2d7619 100644 --- a/orbbec_camera/launch/gemini_301_series.launch.py +++ b/orbbec_camera/launch/gemini_301_series.launch.py @@ -130,7 +130,6 @@ def generate_launch_description(): DeclareLaunchArgument('right_color_qos_history', default_value='default'), DeclareLaunchArgument('right_color_qos_depth', default_value='-1'), DeclareLaunchArgument('color_camera_info_qos', default_value='default'), - DeclareLaunchArgument('enable_color_auto_exposure_priority', default_value='false'), DeclareLaunchArgument('color_rotation', default_value='-1'),#color rotation degree : 0, 90, 180, 270 DeclareLaunchArgument('color_flip', default_value='false'), DeclareLaunchArgument('color_mirror', default_value='false'), @@ -138,11 +137,8 @@ def generate_launch_description(): DeclareLaunchArgument('color_ae_roi_right', default_value='-1'), DeclareLaunchArgument('color_ae_roi_top', default_value='-1'), DeclareLaunchArgument('color_ae_roi_bottom', default_value='-1'), - DeclareLaunchArgument('color_exposure', default_value='-1'), - DeclareLaunchArgument('color_gain', default_value='-1'), DeclareLaunchArgument('enable_color_auto_white_balance', default_value='true'), DeclareLaunchArgument('color_white_balance', default_value='-1'), - DeclareLaunchArgument('color_ae_max_exposure', default_value='-1'), DeclareLaunchArgument('color_brightness', default_value='-1'), DeclareLaunchArgument('color_sharpness', default_value='-1'), DeclareLaunchArgument('color_gamma', default_value='-1'), @@ -207,12 +203,13 @@ def generate_launch_description(): DeclareLaunchArgument('right_ir_mirror', default_value='false'), DeclareLaunchArgument('enable_right_ir_sequence_id_filter', default_value='false'), DeclareLaunchArgument('right_ir_sequence_id_filter_id', default_value='-1'), - # Gemini 301 color, depth, and IR streams share one auto-exposure switch. + # Gemini 301 color/depth/IR share these AE, exposure and gain controls. + # Use only these entries in YAML too; color exposure/max exposure values + # must be multiplied by 100 when migrating. Existing IR units are unchanged. DeclareLaunchArgument('enable_auto_exposure', default_value='true'), DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), - DeclareLaunchArgument('ir_brightness', default_value='-1'), DeclareLaunchArgument('publish_tf', default_value='true'), DeclareLaunchArgument('tf_publish_rate', default_value='0.0'), DeclareLaunchArgument('ir_info_url', default_value=''), From 364173773c7d881712a2bcb6db81df854d1528bb Mon Sep 17 00:00:00 2001 From: ob-yalian Date: Mon, 21 Sep 2026 15:53:30 +0800 Subject: [PATCH 2/3] refactor: remove redundant 'ir_brightness' launch argument from multiple launch files --- orbbec_camera/launch/dabai_a.launch.py | 1 - orbbec_camera/launch/dabai_al.launch.py | 1 - orbbec_camera/launch/gemini345.launch.py | 1 - orbbec_camera/launch/gemini345_lg.launch.py | 1 - orbbec_camera/launch/gemini435_le.launch.py | 1 - orbbec_camera/launch/gemini_330_series.launch.py | 1 - orbbec_camera/launch/gemini_330_series_low_cpu.launch.py | 1 - 7 files changed, 7 deletions(-) diff --git a/orbbec_camera/launch/dabai_a.launch.py b/orbbec_camera/launch/dabai_a.launch.py index c105ddd5..d23afd90 100644 --- a/orbbec_camera/launch/dabai_a.launch.py +++ b/orbbec_camera/launch/dabai_a.launch.py @@ -148,7 +148,6 @@ def generate_launch_description(): DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), - DeclareLaunchArgument('ir_brightness', default_value='-1'), DeclareLaunchArgument('enable_sync_output_accel_gyro', default_value='false'), DeclareLaunchArgument('enable_accel', default_value='false'), DeclareLaunchArgument('enable_accel_data_correction', default_value='true'), diff --git a/orbbec_camera/launch/dabai_al.launch.py b/orbbec_camera/launch/dabai_al.launch.py index 6dc42693..4bf3341e 100644 --- a/orbbec_camera/launch/dabai_al.launch.py +++ b/orbbec_camera/launch/dabai_al.launch.py @@ -148,7 +148,6 @@ def generate_launch_description(): DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), - DeclareLaunchArgument('ir_brightness', default_value='-1'), DeclareLaunchArgument('enable_sync_output_accel_gyro', default_value='false'), DeclareLaunchArgument('enable_accel', default_value='false'), DeclareLaunchArgument('enable_accel_data_correction', default_value='true'), diff --git a/orbbec_camera/launch/gemini345.launch.py b/orbbec_camera/launch/gemini345.launch.py index 197fd52b..26942a0a 100644 --- a/orbbec_camera/launch/gemini345.launch.py +++ b/orbbec_camera/launch/gemini345.launch.py @@ -147,7 +147,6 @@ def generate_launch_description(): DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), - DeclareLaunchArgument('ir_brightness', default_value='-1'), DeclareLaunchArgument('enable_sync_output_accel_gyro', default_value='false'), DeclareLaunchArgument('enable_accel', default_value='false'), DeclareLaunchArgument('enable_accel_data_correction', default_value='true'), diff --git a/orbbec_camera/launch/gemini345_lg.launch.py b/orbbec_camera/launch/gemini345_lg.launch.py index cf22d547..64739f43 100644 --- a/orbbec_camera/launch/gemini345_lg.launch.py +++ b/orbbec_camera/launch/gemini345_lg.launch.py @@ -148,7 +148,6 @@ def generate_launch_description(): DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), - DeclareLaunchArgument('ir_brightness', default_value='-1'), DeclareLaunchArgument('enable_sync_output_accel_gyro', default_value='false'), DeclareLaunchArgument('enable_accel', default_value='false'), DeclareLaunchArgument('enable_accel_data_correction', default_value='true'), diff --git a/orbbec_camera/launch/gemini435_le.launch.py b/orbbec_camera/launch/gemini435_le.launch.py index 42b757c5..af71f294 100644 --- a/orbbec_camera/launch/gemini435_le.launch.py +++ b/orbbec_camera/launch/gemini435_le.launch.py @@ -171,7 +171,6 @@ def generate_launch_description(): DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), - DeclareLaunchArgument('ir_brightness', default_value='-1'), DeclareLaunchArgument('enable_sync_output_accel_gyro', default_value='false'), DeclareLaunchArgument('enable_accel', default_value='false'), DeclareLaunchArgument('enable_accel_data_correction', default_value='true'), diff --git a/orbbec_camera/launch/gemini_330_series.launch.py b/orbbec_camera/launch/gemini_330_series.launch.py index 5b80cd0e..f98091af 100644 --- a/orbbec_camera/launch/gemini_330_series.launch.py +++ b/orbbec_camera/launch/gemini_330_series.launch.py @@ -192,7 +192,6 @@ def generate_launch_description(): DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), - DeclareLaunchArgument('ir_brightness', default_value='-1'), DeclareLaunchArgument('enable_sync_output_accel_gyro', default_value='false'), DeclareLaunchArgument('enable_accel', default_value='false'), DeclareLaunchArgument('enable_accel_data_correction', default_value='true'), diff --git a/orbbec_camera/launch/gemini_330_series_low_cpu.launch.py b/orbbec_camera/launch/gemini_330_series_low_cpu.launch.py index 4624d300..09dcb83c 100644 --- a/orbbec_camera/launch/gemini_330_series_low_cpu.launch.py +++ b/orbbec_camera/launch/gemini_330_series_low_cpu.launch.py @@ -190,7 +190,6 @@ def generate_launch_description(): DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), - DeclareLaunchArgument('ir_brightness', default_value='-1'), DeclareLaunchArgument('enable_sync_output_accel_gyro', default_value='false'), DeclareLaunchArgument('enable_accel', default_value='false'), DeclareLaunchArgument('enable_accel_data_correction', default_value='true'), From 3e5a496b178c3f69133368898a92d0da47b92ba4 Mon Sep 17 00:00:00 2001 From: ob-yalian Date: Mon, 21 Sep 2026 15:56:33 +0800 Subject: [PATCH 3/3] Revert "fix: unify auto exposure parameter for color and IR streams" This reverts commit 52f32e75aa7c17bf2acf2cad50c86e12348294b7. --- orbbec_camera/launch/gemini_301_series.launch.py | 2 +- orbbec_camera/src/ob_camera_node.cpp | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/orbbec_camera/launch/gemini_301_series.launch.py b/orbbec_camera/launch/gemini_301_series.launch.py index 4c2d7619..46e045b0 100644 --- a/orbbec_camera/launch/gemini_301_series.launch.py +++ b/orbbec_camera/launch/gemini_301_series.launch.py @@ -206,7 +206,7 @@ def generate_launch_description(): # Gemini 301 color/depth/IR share these AE, exposure and gain controls. # Use only these entries in YAML too; color exposure/max exposure values # must be multiplied by 100 when migrating. Existing IR units are unchanged. - DeclareLaunchArgument('enable_auto_exposure', default_value='true'), + DeclareLaunchArgument('enable_ir_auto_exposure', default_value='true'), DeclareLaunchArgument('ir_exposure', default_value='-1'), DeclareLaunchArgument('ir_gain', default_value='-1'), DeclareLaunchArgument('ir_ae_max_exposure', default_value='-1'), diff --git a/orbbec_camera/src/ob_camera_node.cpp b/orbbec_camera/src/ob_camera_node.cpp index a1cd7891..9fb3451b 100644 --- a/orbbec_camera/src/ob_camera_node.cpp +++ b/orbbec_camera/src/ob_camera_node.cpp @@ -1740,8 +1740,7 @@ void OBCameraNode::setupDevices() { "Current depth auto exposure priority: " << (device_->getIntProperty(OB_PROP_DEPTH_AUTO_EXPOSURE_PRIORITY_INT) ? "ON" : "OFF"))); } - if ((should_apply_launch_config("enable_auto_exposure") || - should_apply_launch_config("enable_ir_auto_exposure")) && + if (should_apply_launch_config("enable_ir_auto_exposure") && device_->isPropertySupported(OB_PROP_IR_AUTO_EXPOSURE_BOOL, OB_PERMISSION_WRITE)) { TRY_TO_SET_PROPERTY(setBoolProperty, OB_PROP_IR_AUTO_EXPOSURE_BOOL, enable_ir_auto_exposure_); TRY_EXECUTE_BLOCK(RCLCPP_INFO_STREAM( @@ -4884,11 +4883,7 @@ void OBCameraNode::getParameters() { setAndGetNodeParameter(mean_intensity_set_point_, "mean_intensity_set_point", depth_brightness_); setAndGetNodeParameter(depth_precision_str_, "depth_precision", ""); - setAndGetNodeParameter(enable_ir_auto_exposure_, - isLaunchParamProvided("enable_auto_exposure") - ? "enable_auto_exposure" - : "enable_ir_auto_exposure", - true); + setAndGetNodeParameter(enable_ir_auto_exposure_, "enable_ir_auto_exposure", true); setAndGetNodeParameter(ir_exposure_, "ir_exposure", -1); setAndGetNodeParameter(ir_gain_, "ir_gain", -1); setAndGetNodeParameter(ir_ae_max_exposure_, "ir_ae_max_exposure", -1);