Update: Fixed the issue of point cloud distortion in femto bolt

This commit is contained in:
Joe Dong
2024-06-21 19:56:57 +08:00
parent e13545cb60
commit e1b106c626
4 changed files with 241 additions and 200 deletions
@@ -103,6 +103,7 @@ const float ROS_DEPTH_SCALE = 0.001;
const int32_t FEMTO_OW_PID = 0x0638;
const int32_t FEMTO_BOLT_PID = 0x066b;
const int32_t FEMTO_LIVE_PID = 0x0668;
const uint32_t FEMTO_MEGA_PID = 0x0669;
const int32_t FEMTO_PID = 0x0635;
const int32_t ASTRA_PLUS_PID = 0x0636;
const int32_t ASTRA_PLUS_S_PID = 0x0637;
@@ -139,9 +139,9 @@ class OBCameraNode {
const rcl_interfaces::msg::ParameterDescriptor& parameter_descriptor =
rcl_interfaces::msg::ParameterDescriptor()); // set and get parameter
~OBCameraNode();
~OBCameraNode() noexcept;
void clean();
void clean() noexcept;
void startStreams();
@@ -538,5 +538,13 @@ class OBCameraNode {
bool retry_on_usb3_detection_failure_ = false;
std::atomic_bool is_camera_node_initialized_{false};
int laser_energy_level_ = -1;
ob::PointCloudFilter depth_point_cloud_filter_;
ob::PointCloudFilter colored_point_cloud_filter_;
std::optional<OBCalibrationParam> calibration_param_;
std::optional<OBXYTables> xy_tables_;
float* xy_table_data_ = nullptr;
uint32_t xy_table_data_size_ = 0;
uint8_t* rgb_pint_cloud_buffer_ = nullptr;
uint32_t rgb_pint_cloud_buffer_size_ = 0;
};
} // namespace orbbec_camera