mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-09-13 19:40:19 +08:00
[interleave_ae]Added parameter settings for interleave frames 0 and 1
This commit is contained in:
@@ -296,7 +296,7 @@ class OBCameraNode {
|
||||
void setSYNCInterleaveLaserCallback(const std::shared_ptr<SetInt32 ::Request>& request,
|
||||
std::shared_ptr<SetInt32 ::Response>& response);
|
||||
void setSYNCHostimeCallback(const std::shared_ptr<std_srvs::srv::SetBool::Request>& request,
|
||||
std::shared_ptr<std_srvs::srv::SetBool::Response>& response);
|
||||
std::shared_ptr<std_srvs::srv::SetBool::Response>& response);
|
||||
bool toggleSensor(const stream_index_pair& stream_index, bool enabled, std::string& msg);
|
||||
|
||||
void saveImageCallback(const std::shared_ptr<std_srvs::srv::Empty::Request>& request,
|
||||
@@ -618,5 +618,28 @@ class OBCameraNode {
|
||||
bool interleave_frame_enable_ = false;
|
||||
bool interleave_skip_enable_ = false;
|
||||
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;
|
||||
};
|
||||
} // namespace orbbec_camera
|
||||
|
||||
@@ -178,6 +178,29 @@ def generate_launch_description():
|
||||
DeclareLaunchArgument('interleave_frame_enable', default_value='false'),
|
||||
DeclareLaunchArgument('interleave_skip_enable', default_value='false'),
|
||||
DeclareLaunchArgument('interleave_skip_index', default_value='1'), # 0:skip pattern ir 1: skip flood ir
|
||||
|
||||
DeclareLaunchArgument('hdr_index1_laser_control', default_value='1'),#interleave_hdr_param
|
||||
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'),#interleave_laser_param
|
||||
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='17000'),
|
||||
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='30000'),
|
||||
|
||||
]
|
||||
|
||||
def get_params(context, args):
|
||||
|
||||
@@ -784,38 +784,37 @@ void OBCameraNode::updateImageConfig(const stream_index_pair &stream_index) {
|
||||
}
|
||||
int OBCameraNode::init_interleave_hdr_param() {
|
||||
device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 1);
|
||||
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, 1);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, 1);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, 16);
|
||||
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, 20);
|
||||
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 2000);
|
||||
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, hdr_index1_laser_control_);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, hdr_index1_depth_exposure_);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, hdr_index1_depth_gain_);
|
||||
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, hdr_index1_ir_brightness_);
|
||||
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, hdr_index1_ir_ae_max_exposure_);
|
||||
|
||||
// set interleaveae
|
||||
device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 0);
|
||||
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, 1);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, 7500);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, 16);
|
||||
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, 60);
|
||||
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 10000);
|
||||
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, hdr_index0_laser_control_);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, hdr_index0_depth_exposure_);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, hdr_index0_depth_gain_);
|
||||
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, hdr_index0_ir_brightness_);
|
||||
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, hdr_index0_ir_ae_max_exposure_);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int OBCameraNode::init_interleave_laser_param() {
|
||||
device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 1);
|
||||
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, 0);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, 3000);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, 16);
|
||||
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, 60);
|
||||
// device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 30000);
|
||||
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 17000);
|
||||
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, laser_index1_laser_control_);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, laser_index1_depth_exposure_);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, laser_index1_depth_gain_);
|
||||
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, laser_index1_ir_brightness_);
|
||||
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, laser_index1_ir_ae_max_exposure_);
|
||||
|
||||
// set interleaveae
|
||||
device_->setIntProperty(OB_PROP_FRAME_INTERLEAVE_CONFIG_INDEX_INT, 0);
|
||||
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, 1);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, 3000);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, 16);
|
||||
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, 60);
|
||||
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, 30000);
|
||||
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, laser_index0_laser_control_);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_EXPOSURE_INT, laser_index0_depth_exposure_);
|
||||
device_->setIntProperty(OB_PROP_DEPTH_GAIN_INT, laser_index0_depth_gain_);
|
||||
device_->setIntProperty(OB_PROP_IR_BRIGHTNESS_INT, laser_index0_ir_brightness_);
|
||||
device_->setIntProperty(OB_PROP_IR_AE_MAX_EXPOSURE_INT, laser_index0_ir_ae_max_exposure_);
|
||||
return 0;
|
||||
}
|
||||
void OBCameraNode::startStreams() {
|
||||
@@ -1286,6 +1285,61 @@ void OBCameraNode::getParameters() {
|
||||
setAndGetNodeParameter<bool>(interleave_frame_enable_, "interleave_frame_enable", false);
|
||||
setAndGetNodeParameter<bool>(interleave_skip_enable_, "interleave_skip_enable", false);
|
||||
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");
|
||||
}
|
||||
|
||||
void OBCameraNode::setupTopics() {
|
||||
|
||||
Reference in New Issue
Block a user