add laster switch

This commit is contained in:
Joe Dong
2024-04-11 09:36:51 +08:00
parent 3248dac0a2
commit ed77be55bb
3 changed files with 6 additions and 2 deletions
@@ -508,5 +508,6 @@ class OBCameraNode {
std::string align_mode_ = "HW"; std::string align_mode_ = "HW";
std::unique_ptr<diagnostic_updater::Updater> diagnostic_updater_ = nullptr; std::unique_ptr<diagnostic_updater::Updater> diagnostic_updater_ = nullptr;
double diagnostic_period_ = 1.0; double diagnostic_period_ = 1.0;
bool enable_laser_ = false;
}; };
} // namespace orbbec_camera } // namespace orbbec_camera
+2 -1
View File
@@ -27,7 +27,7 @@ def generate_launch_description():
DeclareLaunchArgument('color_height', default_value='720'), DeclareLaunchArgument('color_height', default_value='720'),
DeclareLaunchArgument('color_fps', default_value='30'), DeclareLaunchArgument('color_fps', default_value='30'),
DeclareLaunchArgument('color_format', default_value='MJPG'), DeclareLaunchArgument('color_format', default_value='MJPG'),
DeclareLaunchArgument('enable_color', default_value='true'), DeclareLaunchArgument('enable_color', default_value='false'),
DeclareLaunchArgument('flip_color', default_value='false'), DeclareLaunchArgument('flip_color', default_value='false'),
DeclareLaunchArgument('color_qos', default_value='default'), DeclareLaunchArgument('color_qos', default_value='default'),
DeclareLaunchArgument('color_camera_info_qos', default_value='default'), DeclareLaunchArgument('color_camera_info_qos', default_value='default'),
@@ -110,6 +110,7 @@ def generate_launch_description():
DeclareLaunchArgument('hole_filling_filter_mode', default_value='FILL_TOP'), DeclareLaunchArgument('hole_filling_filter_mode', default_value='FILL_TOP'),
DeclareLaunchArgument('align_mode', default_value='SW'), DeclareLaunchArgument('align_mode', default_value='SW'),
DeclareLaunchArgument('diagnostic_period', default_value='1.0'), DeclareLaunchArgument('diagnostic_period', default_value='1.0'),
DeclareLaunchArgument('enable_laser', default_value='false'),
] ]
# Node configuration # Node configuration
+3 -1
View File
@@ -143,6 +143,7 @@ void OBCameraNode::setupDevices() {
} }
} }
try { try {
device_->setIntProperty(OB_PROP_LASER_CONTROL_INT, enable_laser_);
device_->loadPreset(device_preset_.c_str()); device_->loadPreset(device_preset_.c_str());
auto depth_sensor = device_->getSensor(OB_SENSOR_DEPTH); auto depth_sensor = device_->getSensor(OB_SENSOR_DEPTH);
// set depth sensor to filter // set depth sensor to filter
@@ -696,6 +697,7 @@ void OBCameraNode::getParameters() {
"FILL_TOP"); "FILL_TOP");
setAndGetNodeParameter<std::string>(align_mode_, "align_mode", "HW"); setAndGetNodeParameter<std::string>(align_mode_, "align_mode", "HW");
setAndGetNodeParameter<double>(diagnostic_period_, "diagnostic_period", 1.0); setAndGetNodeParameter<double>(diagnostic_period_, "diagnostic_period", 1.0);
setAndGetNodeParameter<bool>(enable_laser_, "enable_laser", false);
} }
void OBCameraNode::setupTopics() { void OBCameraNode::setupTopics() {
@@ -1466,7 +1468,7 @@ void OBCameraNode::onNewIMUFrameSyncOutputCallback(const std::shared_ptr<ob::Fra
setDefaultIMUMessage(imu_msg); setDefaultIMUMessage(imu_msg);
imu_msg.header.frame_id = imu_optical_frame_id_; imu_msg.header.frame_id = imu_optical_frame_id_;
auto timestamp = fromUsToROSTime(accelframe->timeStampUs()); auto timestamp = fromUsToROSTime(accelframe->globalTimeStampUs());
imu_msg.header.stamp = timestamp; imu_msg.header.stamp = timestamp;
auto gyro_frame = gryoframe->as<ob::GyroFrame>(); auto gyro_frame = gryoframe->as<ob::GyroFrame>();
auto gyroData = gyro_frame->value(); auto gyroData = gyro_frame->value();