错误:无法 catkin 构建 Onboard-SDK-ROS

Errot: Can not catkin build Onboard-SDK-ROS

我沿着这个页面构建。

https://developer.dji.com/onboard-sdk/documentation/sample-doc/sample-setup.html#linux-oes

但是,出现了以下错误。 你知道解决办法吗?

错误 << dji_sdk:make /home/robotics/catkin_ws/logs/dji_sdk/build.make.001.log /home/robotics/catkin_ws/src/Onboard-SDK-ROS/dji_sdk/src/modules/dji_sdk_node_mission_services.cpp: 在成员函数‘bool DJISDKNode::missionStatusCallback(dji_sdk::MissionStatus::Request&, dji_sdk::MissionStatus::Response&)’中: /home/robotics/catkin_ws/src/Onboard-SDK-ROS/dji_sdk/src/modules/dji_sdk_node_mission_services.cpp:20:62: 错误:“class DJI::OSDK::MissionManager”没有名为“wayptCounter”的成员 response.waypoint_mission_count = vehicle->missionManager->wayptCounter; ^ /home/robotics/catkin_ws/src/Onboard-SDK-ROS/dji_sdk/src/modules/dji_sdk_node_mission_services.cpp:21:62: 错误:‘class DJI::OSDK::MissionManager’没有名为‘hotptCounter’的成员 response.hotpoint_mission_count = vehicle->missionManager->hotptCounter; ^ /home/robotics/catkin_ws/src/Onboard-SDK-ROS/dji_sdk/src/modules/dji_sdk_node_mission_services.cpp: 在成员函数‘bool DJISDKNode::missionWpActionCallback(dji_sdk::MissionWpAction::Request&, dji_sdk::MissionWpAction::Response&)’中: /home/robotics/catkin_ws/src/Onboard-SDK-ROS/dji_sdk/src/modules/dji_sdk_node_mission_services.cpp:131:32: 错误:“class DJI::OSDK::MissionManager”没有名为“wayptCounter”的成员 if (vehicle->missionManager->wayptCounter == 0)enter image description here

似乎 Onboard-SDK-ROS 3.7(几个月前的最新提交)没有构建在删除了 wayptCounter 和 hotptCounter 的 Onboard-SDK 3.8(9 天前的最新提交)之上。

最佳方案:大疆发布Onboard-SDK-ROS,支持Onboard-SDK 3.8新特性。

即时解决方案:将 Onboard-SDK 降级到 3.7,以便支持 Onboard-SDK-ROS 3.7。在 DJI 发布 Onboard-SDK-ROS 3.8(或 DJI 更改其 Onboard-SDK-ROS 说明以下载旧的 Onboard-SDK 3.7)之前,您遵循的 DJI 说明已失效。

去年 Onboard-SDK 3.7 和 Onboard-SDK-ROS 3.7 在同一天发布,所以这个问题没有发生,令人失望的是它们现在不同步,破坏了像你这样的构建。

我还注意到 2019-04-03 的 Onboard-SDK 3.8 README.md 链接到以 "Release Notes for Onboard SDK 3.6 2018-08-14 3.7 OSDK 3.7 Highlights".

开头的 latest release notes

希望DJI有人即将更新Onboard-SDK版本说明到3.8并推送提交发布Onboard-SDK-ROS 3.8。