|
30 | 30 | #include <dji_osdk_ros/dji_vehicle_node.h> |
31 | 31 | #include <dji_osdk_ros/vehicle_wrapper.h> |
32 | 32 |
|
33 | | -#ifdef OPEN_CV_INSTALLED |
| 33 | +/*#ifdef OPEN_CV_INSTALLED |
| 34 | +#include <dji_osdk_ros/stereo_utility/m300_stereo_param_tool.hpp> |
| 35 | +#endif*/ |
34 | 36 | #include <dji_osdk_ros/stereo_utility/m300_stereo_param_tool.hpp> |
| 37 | +#include <vector> |
| 38 | + |
| 39 | +#ifdef ADVANCED_SENSING |
| 40 | +#include <sensor_msgs/CameraInfo.h> |
35 | 41 | #endif |
36 | 42 |
|
37 | | -#include <vector> |
38 | 43 | //CODE |
39 | 44 | using namespace dji_osdk_ros; |
40 | 45 | #define M300_FRONT_STEREO_PARAM_YAML_NAME "m300_front_stereo_param.yaml" |
@@ -83,6 +88,7 @@ VehicleNode::VehicleNode():telemetry_from_fc_(TelemetryType::USE_ROS_BROADCAST), |
83 | 88 | initCameraModule(); |
84 | 89 | initService(); |
85 | 90 | initTopic(); |
| 91 | + initTimer(); |
86 | 92 | } |
87 | 93 |
|
88 | 94 | VehicleNode::~VehicleNode() |
@@ -271,6 +277,7 @@ void VehicleNode::initService() |
271 | 277 | subscribe_stereo_240p_server_ = nh_.advertiseService("stereo_240p_subscription", &VehicleNode::stereo240pSubscriptionCallback, this); |
272 | 278 | subscribe_stereo_depth_server_ = nh_.advertiseService("stereo_depth_subscription", &VehicleNode::stereoDepthSubscriptionCallback,this); |
273 | 279 | subscribe_stereo_vga_server_ = nh_.advertiseService("stereo_vga_subscription", &VehicleNode::stereoVGASubscriptionCallback, this); |
| 280 | + get_m300_stereo_params_server_ = nh_.advertiseService("get_m300_stereo_params", &VehicleNode::getM300StereoParamsCallback, this); |
274 | 281 | #ifdef OPEN_CV_INSTALLED |
275 | 282 | /*! @brief |
276 | 283 | * get m300 stereo params server |
@@ -322,6 +329,14 @@ void VehicleNode::initService() |
322 | 329 | ROS_INFO_STREAM("Services startup!"); |
323 | 330 | } |
324 | 331 |
|
| 332 | +void VehicleNode::initTimer() |
| 333 | +{ |
| 334 | +#ifdef ADVANCED_SENSING |
| 335 | + //info_timer_ = nh_.createTimer(ros::Duration(0.05), &VehicleNode::infoTimerCB, this); |
| 336 | +#endif |
| 337 | +} |
| 338 | + |
| 339 | + |
325 | 340 | bool VehicleNode::initTopic() |
326 | 341 | { |
327 | 342 | attitude_publisher_ = nh_.advertise<geometry_msgs::QuaternionStamped>("dji_osdk_ros/attitude", 10); |
@@ -396,8 +411,11 @@ bool VehicleNode::initTopic() |
396 | 411 | stereo_240p_down_front_publisher_ = nh_.advertise<sensor_msgs::Image>("dji_osdk_ros/stereo_240p_down_front_images", 10); |
397 | 412 | stereo_240p_down_back_publisher_ = nh_.advertise<sensor_msgs::Image>("dji_osdk_ros/stereo_240p_down_back_images", 10); |
398 | 413 | stereo_240p_front_depth_publisher_ = nh_.advertise<sensor_msgs::Image>("dji_osdk_ros/stereo_240p_front_depth_images", 10); |
399 | | - stereo_vga_front_left_publisher_ = nh_.advertise<sensor_msgs::Image>("dji_osdk_ros/stereo_vga_front_left_images", 10); |
400 | | - stereo_vga_front_right_publisher_ = nh_.advertise<sensor_msgs::Image>("dji_osdk_ros/stereo_vga_front_right_images", 10); |
| 414 | + stereo_vga_front_left_publisher_ = nh_.advertise<sensor_msgs::Image>("dji_osdk_ros/stereo_vga_front/left/image_raw", 10); |
| 415 | + stereo_vga_front_right_publisher_ = nh_.advertise<sensor_msgs::Image>("dji_osdk_ros/stereo_vga_front/right/image_raw", 10); |
| 416 | + left_camera_info_pub_ = nh_.advertise<sensor_msgs::CameraInfo>("/dji_osdk_ros/stereo_vga_front/left/camera_info",10); |
| 417 | + right_camera_info_pub_ = nh_.advertise<sensor_msgs::CameraInfo>("/dji_osdk_ros/stereo_vga_front/right/camera_info",10); |
| 418 | + |
401 | 419 | #endif |
402 | 420 |
|
403 | 421 | waypointV2_mission_state_publisher_ = nh_.advertise<dji_osdk_ros::WaypointV2MissionStatePush>("dji_osdk_ros/waypointV2_mission_state", 10); |
@@ -914,8 +932,6 @@ bool VehicleNode::stereoVGASubscriptionCallback(dji_osdk_ros::StereoVGASubscript |
914 | 932 |
|
915 | 933 | return true; |
916 | 934 | } |
917 | | - |
918 | | -#ifdef OPEN_CV_INSTALLED |
919 | 935 | bool VehicleNode::getM300StereoParamsCallback(dji_osdk_ros::GetM300StereoParams::Request& request, |
920 | 936 | dji_osdk_ros::GetM300StereoParams::Response& response) |
921 | 937 | { |
@@ -943,6 +959,34 @@ bool VehicleNode::getM300StereoParamsCallback(dji_osdk_ros::GetM300StereoParams: |
943 | 959 |
|
944 | 960 | return response.result; |
945 | 961 | } |
| 962 | +#ifdef OPEN_CV_INSTALLED |
| 963 | +/*bool VehicleNode::getM300StereoParamsCallback(dji_osdk_ros::GetM300StereoParams::Request& request, |
| 964 | + dji_osdk_ros::GetM300StereoParams::Response& response) |
| 965 | +{ |
| 966 | + ROS_INFO("called getM300StereoParamsCallback"); |
| 967 | +
|
| 968 | + if(ptr_wrapper_ == nullptr) |
| 969 | + { |
| 970 | + ROS_ERROR_STREAM("Vehicle modules is nullptr"); |
| 971 | + response.result = false; |
| 972 | + } |
| 973 | +
|
| 974 | + Vehicle* vehicle = ptr_wrapper_->getVehicle(); |
| 975 | + M300StereoParamTool *tool = new M300StereoParamTool(vehicle); |
| 976 | + Perception::CamParamType stereoParam = |
| 977 | + tool->getM300stereoParams(Perception::DirectionType::RECTIFY_FRONT); |
| 978 | + if (tool->createStereoParamsYamlFile(M300_FRONT_STEREO_PARAM_YAML_NAME, stereoParam)) |
| 979 | + { |
| 980 | + tool->setParamFileForM300(M300_FRONT_STEREO_PARAM_YAML_NAME); |
| 981 | + response.result = true; |
| 982 | + } |
| 983 | + else |
| 984 | + { |
| 985 | + response.result = false; |
| 986 | + } |
| 987 | +
|
| 988 | + return response.result; |
| 989 | +}*/ |
946 | 990 | #endif |
947 | 991 | #endif |
948 | 992 |
|
|
0 commit comments