From 2ad686ff0239564f2014a5222662210c7eded52d Mon Sep 17 00:00:00 2001 From: Serafadam Date: Tue, 4 Jul 2023 10:06:27 +0000 Subject: [PATCH] move publisher to depthai_bridge --- depthai_bridge/CMakeLists.txt | 3 +++ .../include/depthai_bridge/TFPublisher.hpp | 6 +++++- depthai_bridge/package.xml | 1 + .../src/TFPublisher.cpp | 8 +++++--- depthai_ros_driver/CMakeLists.txt | 2 -- depthai_ros_driver/include/depthai_ros_driver/camera.hpp | 3 ++- depthai_ros_driver/package.xml | 1 - depthai_ros_driver/src/camera.cpp | 4 ++-- 8 files changed, 18 insertions(+), 10 deletions(-) rename depthai_ros_driver/include/depthai_ros_driver/tf_publisher.hpp => depthai_bridge/include/depthai_bridge/TFPublisher.hpp (90%) rename depthai_ros_driver/src/tf_publisher.cpp => depthai_bridge/src/TFPublisher.cpp (96%) diff --git a/depthai_bridge/CMakeLists.txt b/depthai_bridge/CMakeLists.txt index 4d291c1e..43aeb70b 100644 --- a/depthai_bridge/CMakeLists.txt +++ b/depthai_bridge/CMakeLists.txt @@ -37,6 +37,7 @@ find_package(sensor_msgs REQUIRED) find_package(stereo_msgs REQUIRED) find_package(std_msgs REQUIRED) find_package(vision_msgs REQUIRED) +find_package(tf2_ros REQUIRED) set(dependencies camera_info_manager @@ -48,6 +49,7 @@ set(dependencies stereo_msgs std_msgs vision_msgs + tf2_ros ) include_directories( @@ -62,6 +64,7 @@ file(GLOB LIB_SRC "src/ImgDetectionConverter.cpp" "src/SpatialDetectionConverter.cpp" "src/ImuConverter.cpp" +"src/TFPublisher.cpp" ) add_library(${PROJECT_NAME} SHARED ${LIB_SRC}) diff --git a/depthai_ros_driver/include/depthai_ros_driver/tf_publisher.hpp b/depthai_bridge/include/depthai_bridge/TFPublisher.hpp similarity index 90% rename from depthai_ros_driver/include/depthai_ros_driver/tf_publisher.hpp rename to depthai_bridge/include/depthai_bridge/TFPublisher.hpp index 2c1f0ecb..75601f2c 100644 --- a/depthai_ros_driver/include/depthai_ros_driver/tf_publisher.hpp +++ b/depthai_bridge/include/depthai_bridge/TFPublisher.hpp @@ -2,11 +2,15 @@ #include "tf2_ros/static_transform_broadcaster.h" #include "depthai/device/CalibrationHandler.hpp" #include "rclcpp/node.hpp" -namespace depthai_ros_driver{ + +namespace dai { + +namespace ros { class TFPublisher{ public: explicit TFPublisher(rclcpp::Node *node, dai::CalibrationHandler handler); std::shared_ptr tfPub; }; +} } \ No newline at end of file diff --git a/depthai_bridge/package.xml b/depthai_bridge/package.xml index ee235e1a..94044e9a 100644 --- a/depthai_bridge/package.xml +++ b/depthai_bridge/package.xml @@ -25,6 +25,7 @@ std_msgs stereo_msgs vision_msgs + tf2_ros robot_state_publisher xacro diff --git a/depthai_ros_driver/src/tf_publisher.cpp b/depthai_bridge/src/TFPublisher.cpp similarity index 96% rename from depthai_ros_driver/src/tf_publisher.cpp rename to depthai_bridge/src/TFPublisher.cpp index 0c241026..811b0857 100644 --- a/depthai_ros_driver/src/tf_publisher.cpp +++ b/depthai_bridge/src/TFPublisher.cpp @@ -1,4 +1,4 @@ -#include "depthai_ros_driver/tf_publisher.hpp" +#include "depthai_bridge/TFPublisher.hpp" #include "geometry_msgs/msg/quaternion.hpp" #include "geometry_msgs/msg/transform_stamped.hpp" @@ -8,7 +8,8 @@ #include "tf2/LinearMath/Quaternion.h" #include "tf2_geometry_msgs/tf2_geometry_msgs/tf2_geometry_msgs.hpp" -namespace depthai_ros_driver { +namespace dai { +namespace ros { TFPublisher::TFPublisher(rclcpp::Node* node, dai::CalibrationHandler handler) { tfPub = std::make_shared(node); auto json = handler.eepromToJson(); @@ -66,4 +67,5 @@ TFPublisher::TFPublisher(rclcpp::Node* node, dai::CalibrationHandler handler) { tfPub->sendTransform(optical_ts); } } -} // namespace depthai_ros_driver \ No newline at end of file +} // namespace ros +} // namespace dai \ No newline at end of file diff --git a/depthai_ros_driver/CMakeLists.txt b/depthai_ros_driver/CMakeLists.txt index d5497656..ca110118 100644 --- a/depthai_ros_driver/CMakeLists.txt +++ b/depthai_ros_driver/CMakeLists.txt @@ -54,7 +54,6 @@ rclcpp_components std_srvs pluginlib bondcpp -tf2_ros ) @@ -106,7 +105,6 @@ target_link_libraries( add_library( ${PROJECT_NAME} SHARED src/camera.cpp - src/tf_publisher.cpp src/pipeline/pipeline_generator.cpp src/pipeline/base_types.cpp ) diff --git a/depthai_ros_driver/include/depthai_ros_driver/camera.hpp b/depthai_ros_driver/include/depthai_ros_driver/camera.hpp index b8525f21..73068372 100644 --- a/depthai_ros_driver/include/depthai_ros_driver/camera.hpp +++ b/depthai_ros_driver/include/depthai_ros_driver/camera.hpp @@ -9,7 +9,7 @@ #include "rclcpp/node.hpp" #include "std_srvs/srv/trigger.hpp" #include "bondcpp/bond.hpp" -#include "depthai_ros_driver/tf_publisher.hpp" +#include "depthai_bridge/TFPublisher.hpp" namespace dai { class Pipeline; @@ -49,5 +49,6 @@ class Camera : public rclcpp::Node { std::vector> daiNodes; bool camRunning = false; std::unique_ptr bond; + std::unique_ptr tfPub; }; } // namespace depthai_ros_driver \ No newline at end of file diff --git a/depthai_ros_driver/package.xml b/depthai_ros_driver/package.xml index 69b7767c..146f0ab7 100644 --- a/depthai_ros_driver/package.xml +++ b/depthai_ros_driver/package.xml @@ -30,7 +30,6 @@ depthai_examples pluginlib bondcpp - tf2_ros ament_cmake diff --git a/depthai_ros_driver/src/camera.cpp b/depthai_ros_driver/src/camera.cpp index 8b3640b3..f8c95287 100644 --- a/depthai_ros_driver/src/camera.cpp +++ b/depthai_ros_driver/src/camera.cpp @@ -7,7 +7,7 @@ #include "depthai/device/Device.hpp" #include "depthai/pipeline/Pipeline.hpp" #include "depthai_ros_driver/pipeline/pipeline_generator.hpp" -#include "depthai_ros_driver/tf_publisher.hpp" +#include "depthai_bridge/TFPublisher.hpp" namespace depthai_ros_driver { @@ -31,7 +31,7 @@ void Camera::onConfigure() { // std::unique_ptr bond = std::make_unique(this->get_name() + std::string("_bond"), this->get_name(), this->shared_from_this()); // bond->start(); // } - auto tf = std::make_shared(this, device->readCalibration()); + tfPub = std::make_unique(this, device->readCalibration()); RCLCPP_INFO(this->get_logger(), "Camera ready!"); }