add hdr and laser interleave params

This commit is contained in:
datean
2024-12-06 09:48:50 +08:00
parent f3f780531c
commit f45fca712d
3 changed files with 122 additions and 20 deletions
@@ -633,6 +633,30 @@ class OBCameraNode {
bool interleave_frame_enable_ = false; bool interleave_frame_enable_ = false;
bool interleave_skip_enable_ = false; bool interleave_skip_enable_ = false;
int interleave_skip_index_ = 1; int interleave_skip_index_ = 1;
// hdr and laser interleave params
int hdr_index1_laser_control_ = 1;
int hdr_index1_depth_exposure_ = 1;
int hdr_index1_depth_gain_ = 16;
int hdr_index1_ir_brightness_ = 20;
int hdr_index1_ir_ae_max_exposure_ = 2000;
int hdr_index0_laser_control_ = 1;
int hdr_index0_depth_exposure_ = 7500;
int hdr_index0_depth_gain_ = 16;
int hdr_index0_ir_brightness_ = 60;
int hdr_index0_ir_ae_max_exposure_ = 10000;
int laser_index1_laser_control_ = 0;
int laser_index1_depth_exposure_ = 3000;
int laser_index1_depth_gain_ = 16;
int laser_index1_ir_brightness_ = 60;
int laser_index1_ir_ae_max_exposure_ = 7000;
int laser_index0_laser_control_ = 1;
int laser_index0_depth_exposure_ = 3000;
int laser_index0_depth_gain_ = 16;
int laser_index0_ir_brightness_ = 60;
int laser_index0_ir_ae_max_exposure_ = 17000;
int interleave_skip_color_index_ = 1; int interleave_skip_color_index_ = 1;
int interleave_skip_depth_index_ = 1; int interleave_skip_depth_index_ = 1;
@@ -186,6 +186,29 @@ def generate_launch_description():
DeclareLaunchArgument('interleave_frame_enable', default_value='true'), DeclareLaunchArgument('interleave_frame_enable', default_value='true'),
DeclareLaunchArgument('interleave_skip_enable', default_value='true'), DeclareLaunchArgument('interleave_skip_enable', default_value='true'),
DeclareLaunchArgument('interleave_skip_index', default_value='0'), # 0:skip pattern ir 1: skip flood ir DeclareLaunchArgument('interleave_skip_index', default_value='0'), # 0:skip pattern ir 1: skip flood ir
DeclareLaunchArgument('hdr_index1_laser_control', default_value='1'),
DeclareLaunchArgument('hdr_index1_depth_exposure', default_value='1'),
DeclareLaunchArgument('hdr_index1_depth_gain', default_value='16'),
DeclareLaunchArgument('hdr_index1_ir_brightness', default_value='20'),
DeclareLaunchArgument('hdr_index1_ir_ae_max_exposure', default_value='2000'),
DeclareLaunchArgument('hdr_index0_laser_control', default_value='1'),
DeclareLaunchArgument('hdr_index0_depth_exposure', default_value='7500'),
DeclareLaunchArgument('hdr_index0_depth_gain', default_value='16'),
DeclareLaunchArgument('hdr_index0_ir_brightness', default_value='60'),
DeclareLaunchArgument('hdr_index0_ir_ae_max_exposure', default_value='10000'),
DeclareLaunchArgument('laser_index1_laser_control', default_value='0'),
DeclareLaunchArgument('laser_index1_depth_exposure', default_value='3000'),
DeclareLaunchArgument('laser_index1_depth_gain', default_value='16'),
DeclareLaunchArgument('laser_index1_ir_brightness', default_value='60'),
DeclareLaunchArgument('laser_index1_ir_ae_max_exposure', default_value='7000'),
DeclareLaunchArgument('laser_index0_laser_control', default_value='1'),
DeclareLaunchArgument('laser_index0_depth_exposure', default_value='3000'),
DeclareLaunchArgument('laser_index0_depth_gain', default_value='16'),
DeclareLaunchArgument('laser_index0_ir_brightness', default_value='60'),
DeclareLaunchArgument('laser_index0_ir_ae_max_exposure', default_value='17000'),
DeclareLaunchArgument('use_intra_process_comms', default_value='false'), DeclareLaunchArgument('use_intra_process_comms', default_value='false'),
DeclareLaunchArgument('attach_to_shared_component_container', default_value='false'), DeclareLaunchArgument('attach_to_shared_component_container', default_value='false'),
DeclareLaunchArgument('component_container_name', default_value='shared_orbbec_container'), DeclareLaunchArgument('component_container_name', default_value='shared_orbbec_container'),
+75 -20
View File
@@ -792,37 +792,37 @@ void OBCameraNode::updateImageConfig(const stream_index_pair &stream_index) {
int OBCameraNode::init_interleave_hdr_param() { int OBCameraNode::init_interleave_hdr_param() {
device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 1); device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 1);
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, 1); device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, hdr_index1_laser_control_);
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, 1); device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, hdr_index1_depth_exposure_);
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, 16); device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, hdr_index1_depth_gain_);
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, 20); device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, hdr_index1_ir_brightness_);
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 2000); device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, hdr_index1_ir_ae_max_exposure_);
// set interleaveae // set interleaveae
device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 0); device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 0);
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, 1); device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, hdr_index0_laser_control_);
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, 7500); device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, hdr_index0_depth_exposure_);
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, 16); device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, hdr_index0_depth_gain_);
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, 60); device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, hdr_index0_ir_brightness_);
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 10000); device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, hdr_index0_ir_ae_max_exposure_);
return 0; return 0;
} }
int OBCameraNode::init_interleave_laser_param() { int OBCameraNode::init_interleave_laser_param() {
device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 1); device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 1);
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, 0); device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, laser_index1_laser_control_);
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, 3000); device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, laser_index1_depth_exposure_);
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, 16); device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, laser_index1_depth_gain_);
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, 60); device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, laser_index1_ir_brightness_);
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 7000); device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, laser_index1_ir_ae_max_exposure_);
// set interleaveae // set interleaveae
device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 0); device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 0);
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, 1); device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, laser_index0_laser_control_);
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, 3000); device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, laser_index0_depth_exposure_);
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, 16); device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, laser_index0_depth_gain_);
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, 60); device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, laser_index0_ir_brightness_);
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 17000); device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, laser_index0_ir_ae_max_exposure_);
return 0; return 0;
} }
@@ -1298,6 +1298,61 @@ void OBCameraNode::getParameters() {
setAndGetNodeParameter<bool>(interleave_skip_enable_, "interleave_skip_enable", false); setAndGetNodeParameter<bool>(interleave_skip_enable_, "interleave_skip_enable", false);
setAndGetNodeParameter<int>(interleave_skip_index_, "interleave_skip_index", 1); setAndGetNodeParameter<int>(interleave_skip_index_, "interleave_skip_index", 1);
// hdr and laser interleave params
setAndGetNodeParameter<int>(hdr_index1_laser_control_, "hdr_index1_laser_control", 1);
setAndGetNodeParameter<int>(hdr_index1_depth_exposure_, "hdr_index1_depth_exposure", 1);
setAndGetNodeParameter<int>(hdr_index1_depth_gain_, "hdr_index1_depth_gain", 16);
setAndGetNodeParameter<int>(hdr_index1_ir_brightness_, "hdr_index1_ir_brightness", 20);
setAndGetNodeParameter<int>(hdr_index1_ir_ae_max_exposure_, "hdr_index1_ir_ae_max_exposure",
2000);
setAndGetNodeParameter<int>(hdr_index0_laser_control_, "hdr_index0_laser_control", 1);
setAndGetNodeParameter<int>(hdr_index0_depth_exposure_, "hdr_index0_depth_exposure", 7500);
setAndGetNodeParameter<int>(hdr_index0_depth_gain_, "hdr_index0_depth_gain", 16);
setAndGetNodeParameter<int>(hdr_index0_ir_brightness_, "hdr_index0_ir_brightness", 60);
setAndGetNodeParameter<int>(hdr_index0_ir_ae_max_exposure_, "hdr_index0_ir_ae_max_exposure",
10000);
RCLCPP_INFO_STREAM(logger_, "hdr_index1_laser_control_ "
<< hdr_index1_laser_control_ << " hdr_index1_depth_exposure_ "
<< hdr_index1_depth_exposure_ << " hdr_index1_depth_gain_ "
<< hdr_index1_depth_gain_ << " hdr_index1_ir_brightness_ "
<< hdr_index1_ir_brightness_ << " hdr_index1_ir_ae_max_exposure_ "
<< hdr_index1_ir_ae_max_exposure_ << "\n");
RCLCPP_INFO_STREAM(logger_, "hdr_index0_laser_control_ "
<< hdr_index0_laser_control_ << " hdr_index0_depth_exposure_ "
<< hdr_index0_depth_exposure_ << " hdr_index0_depth_gain_ "
<< hdr_index0_depth_gain_ << " hdr_index0_ir_brightness_ "
<< hdr_index0_ir_brightness_ << " hdr_index0_ir_ae_max_exposure_ "
<< hdr_index0_ir_ae_max_exposure_ << "\n");
setAndGetNodeParameter<int>(laser_index1_laser_control_, "laser_index1_laser_control", 0);
setAndGetNodeParameter<int>(laser_index1_depth_exposure_, "laser_index1_depth_exposure", 3000);
setAndGetNodeParameter<int>(laser_index1_depth_gain_, "laser_index1_depth_gain", 16);
setAndGetNodeParameter<int>(laser_index1_ir_brightness_, "laser_index1_ir_brightness", 60);
setAndGetNodeParameter<int>(laser_index1_ir_ae_max_exposure_, "laser_index1_ir_ae_max_exposure",
7000);
setAndGetNodeParameter<int>(laser_index0_laser_control_, "laser_index0_laser_control", 1);
setAndGetNodeParameter<int>(laser_index0_depth_exposure_, "laser_index0_depth_exposure", 3000);
setAndGetNodeParameter<int>(laser_index0_depth_gain_, "laser_index0_depth_gain", 16);
setAndGetNodeParameter<int>(laser_index0_ir_brightness_, "laser_index0_ir_brightness", 60);
setAndGetNodeParameter<int>(laser_index0_ir_ae_max_exposure_, "laser_index0_ir_ae_max_exposure",
17000);
RCLCPP_INFO_STREAM(logger_, "laser_index1_laser_control_ "
<< laser_index1_laser_control_ << " laser_index1_depth_exposure_ "
<< laser_index1_depth_exposure_ << " laser_index1_depth_gain_ "
<< laser_index1_depth_gain_ << " laser_index1_ir_brightness_ "
<< laser_index1_ir_brightness_
<< " laser_index1_ir_ae_max_exposure_ "
<< laser_index1_ir_ae_max_exposure_ << "\n");
RCLCPP_INFO_STREAM(logger_, "laser_index0_laser_control_ "
<< laser_index0_laser_control_ << " laser_index0_depth_exposure_ "
<< laser_index0_depth_exposure_ << " laser_index0_depth_gain_ "
<< laser_index0_depth_gain_ << " laser_index0_ir_brightness_ "
<< laser_index0_ir_brightness_
<< " laser_index0_ir_ae_max_exposure_ "
<< laser_index0_ir_ae_max_exposure_ << "\n");
setAndGetNodeParameter<double>(delta_duration_us_, "delta_duration_us", 5000.0); setAndGetNodeParameter<double>(delta_duration_us_, "delta_duration_us", 5000.0);
setAndGetNodeParameter<int>(delta_fps_, "delta_fps", 2); setAndGetNodeParameter<int>(delta_fps_, "delta_fps", 2);
} }