mirror of
https://github.com/orbbec/OrbbecSDK_ROS2.git
synced 2026-09-12 11:10:19 +08:00
add enable hardware d2d
This commit is contained in:
@@ -105,7 +105,7 @@ const int32_t OPENNI_START_PID = 0x0601;
|
||||
const int32_t OPENNI_END_PID = 0x06FF;
|
||||
const int32_t ASTRA_MINI_PID = 0x0404;
|
||||
const int32_t ASTRA_MINI_S_PID = 0x0407;
|
||||
|
||||
const int GEMINI2_PID = 0x0670;
|
||||
const std::string DEFAULT_SEM_NAME = "orbbec_device_sem";
|
||||
const key_t DEFAULT_SEM_KEY = 0x0401;
|
||||
|
||||
|
||||
@@ -339,5 +339,6 @@ class OBCameraNode {
|
||||
std::atomic_bool save_colored_point_cloud_{false};
|
||||
rclcpp::Service<std_srvs::srv::Empty>::SharedPtr save_images_srv_;
|
||||
rclcpp::Service<std_srvs::srv::Empty>::SharedPtr save_point_cloud_srv_;
|
||||
bool enable_hardware_d2d_ = true;
|
||||
};
|
||||
} // namespace orbbec_camera
|
||||
|
||||
@@ -61,7 +61,7 @@ class OBCameraNodeDriver : public rclcpp::Node {
|
||||
|
||||
static OBLogSeverity obLogSeverityFromString(const std::string_view& log_level);
|
||||
|
||||
void checkConnectTimer() const;
|
||||
void checkConnectTimer();
|
||||
|
||||
void queryDevice();
|
||||
|
||||
|
||||
@@ -41,6 +41,7 @@
|
||||
<arg name="color_info_url" default=""/>
|
||||
<arg name="log_level" default="none"/>
|
||||
<arg name="enable_publish_extrinsic" default="false"/>
|
||||
<arg name="enable_hardware_d2d" default="true"/>
|
||||
<group>
|
||||
<push-ros-namespace namespace="$(var camera_name)"/>
|
||||
<node name="camera" pkg="orbbec_camera" exec="orbbec_camera_node" output="screen">
|
||||
@@ -84,6 +85,7 @@
|
||||
<param name="color_info_url" value="$(var color_info_url)"/>
|
||||
<param name="log_level" value="$(var log_level)"/>
|
||||
<param name="enable_publish_extrinsic" value="$(var enable_publish_extrinsic)"/>
|
||||
<param name="enable_hardware_d2d" value="$(var enable_hardware_d2d)"/>
|
||||
<remap from="/$(var camera_name)/depth/color/points" to="/$(var camera_name)/depth_registered/points"/>
|
||||
</node>
|
||||
</group>
|
||||
|
||||
@@ -96,6 +96,10 @@ void OBCameraNode::setupDevices() {
|
||||
enable_stream_[stream_index] = false;
|
||||
}
|
||||
}
|
||||
auto info = device_->getDeviceInfo();
|
||||
if(enable_hardware_d2d_ && info->pid() == GEMINI2_PID){
|
||||
device_->setBoolProperty(OB_PROP_DISPARITY_TO_DEPTH_BOOL, true);
|
||||
}
|
||||
}
|
||||
|
||||
void OBCameraNode::setupProfiles() {
|
||||
@@ -259,6 +263,7 @@ void OBCameraNode::getParameters() {
|
||||
setAndGetNodeParameter<std::string>(point_cloud_qos_, "point_cloud_qos", "default");
|
||||
setAndGetNodeParameter(enable_publish_extrinsic_, "enable_publish_extrinsic", false);
|
||||
setAndGetNodeParameter(enable_d2c_viewer_, "enable_d2c_viewer", false);
|
||||
setAndGetNodeParameter(enable_hardware_d2d_, "enable_hardware_d2d", true);
|
||||
if (enable_colored_point_cloud_) {
|
||||
depth_registration_ = true;
|
||||
}
|
||||
|
||||
@@ -128,11 +128,13 @@ OBLogSeverity OBCameraNodeDriver::obLogSeverityFromString(const std::string_view
|
||||
}
|
||||
}
|
||||
|
||||
void OBCameraNodeDriver::checkConnectTimer() const {
|
||||
void OBCameraNodeDriver::checkConnectTimer() {
|
||||
if (!device_connected_.load()) {
|
||||
RCLCPP_ERROR_STREAM(logger_,
|
||||
"checkConnectTimer: device " << serial_number_ << " not connected");
|
||||
return;
|
||||
} else if (!ob_camera_node_) {
|
||||
device_connected_.store(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user