DJI OSDK 和 OSDK-ROS 3.7 和 3.8 bug demo_flight_control 起飞和停止
DJI OSDK and OSDK-ROS 3.7 and 3.8 bug demo_flight_control take off and halt
我面临 OSDK-ROS 3.7 和 3.8 的问题,我无法 运行 demo_flight_control 正确采样
在模拟器中api自动起飞后,无人机就卡在那里了。并且有命令发布到 flight_control ENU 主题。
基于 GPS demo_mission 没有问题。它可以自动飞到坐标。
我使用的硬件和固件版本是
STATUS/1 @parseDroneVersionInfo,L729:硬件=A3
STATUS/1 @parseDroneVersionInfo, L730: 固件 = 3.3.8.47
重现问题的最小示例来自此处
https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.8/dji_sdk_demo/src
OSDK(选项 b)和 OSDK-ROS(默认)的 flight_control 问题相同
For Previous 3.3 3.5 3.6 我以前没遇到过。我已将报告发送给 dev@dji.com。还没有回复
我自己解决问题
在 https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.7 和 3.8 至少需要 1.7.6
但是我在大疆助手2固件中找不到1.7.6,只有1.7.7和1.7.5。所以我决定使用 1.7.7
但 1.7.7 仅适用于 GPS 航点任务,不支持基于 setpoint_generic 的控制
所以解决方案是使用 1.7.5 来获得基于 GPS 的任务和基于 ros 主题的速度控制。
低于这个版本,DJI系统中的版本控制是随机标记版本。所以你必须不断试错才能把事情做好
以下为大疆Email回复。非常无用,但会为其他人调试类似问题提供一些提示
张小龙(DJI)
亲爱的盛海,
感谢您联系大疆
在OSDK3.7和3.8中使用A3无法重现您提到的问题
你能尝试直接取得控制权吗?使用 /dji_sdk/sdk_control_authority
也尝试发布 /dji_sdk/flight_control_setpoint_ENUposition_yaw 控制命令,不要使用示例。
感谢您的理解与支持,祝您生活愉快。
此致,
DJI SDK 支持团队
嗨布鲁斯
我试过你提到的,使用
FIrst launch sdk.launch
Then, rosservical call /dji_sdk/sdk_control_authority 1
And write a simple empty C++ script to publish to /dji_sdk/flight_control_setpoint_generic.
结果是一样的。无人机在 DJI assistant2 模拟器中没有移动。
我的理论是 GitHub https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.7
上的 A3 固件版本可能太高
它说支持 3.7 和 3.8
A3/A3 专业版 1.7.6.0
但是我在大疆助手2固件中找不到1.7.6,只有1.7.7和1.7.5。所以我决定使用 1.7.7
这会是问题吗?
现在是新加坡晚上 11 点,我将在早上拍摄两个样本和自定义方法的视频。我会把视频上传到youtube。你可以从那里看到。
此致
袁盛海
我面临 OSDK-ROS 3.7 和 3.8 的问题,我无法 运行 demo_flight_control 正确采样
在模拟器中api自动起飞后,无人机就卡在那里了。并且有命令发布到 flight_control ENU 主题。
基于 GPS demo_mission 没有问题。它可以自动飞到坐标。
我使用的硬件和固件版本是
STATUS/1 @parseDroneVersionInfo,L729:硬件=A3
STATUS/1 @parseDroneVersionInfo, L730: 固件 = 3.3.8.47
重现问题的最小示例来自此处
https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.8/dji_sdk_demo/src
OSDK(选项 b)和 OSDK-ROS(默认)的 flight_control 问题相同
For Previous 3.3 3.5 3.6 我以前没遇到过。我已将报告发送给 dev@dji.com。还没有回复
我自己解决问题
在 https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.7 和 3.8 至少需要 1.7.6
但是我在大疆助手2固件中找不到1.7.6,只有1.7.7和1.7.5。所以我决定使用 1.7.7
但 1.7.7 仅适用于 GPS 航点任务,不支持基于 setpoint_generic 的控制
所以解决方案是使用 1.7.5 来获得基于 GPS 的任务和基于 ros 主题的速度控制。
低于这个版本,DJI系统中的版本控制是随机标记版本。所以你必须不断试错才能把事情做好
以下为大疆Email回复。非常无用,但会为其他人调试类似问题提供一些提示
张小龙(DJI)
亲爱的盛海,
感谢您联系大疆
在OSDK3.7和3.8中使用A3无法重现您提到的问题
你能尝试直接取得控制权吗?使用 /dji_sdk/sdk_control_authority
也尝试发布 /dji_sdk/flight_control_setpoint_ENUposition_yaw 控制命令,不要使用示例。
感谢您的理解与支持,祝您生活愉快。
此致, DJI SDK 支持团队
嗨布鲁斯
我试过你提到的,使用
FIrst launch sdk.launch
Then, rosservical call /dji_sdk/sdk_control_authority 1
And write a simple empty C++ script to publish to /dji_sdk/flight_control_setpoint_generic.
结果是一样的。无人机在 DJI assistant2 模拟器中没有移动。
我的理论是 GitHub https://github.com/dji-sdk/Onboard-SDK-ROS/tree/3.7
上的 A3 固件版本可能太高它说支持 3.7 和 3.8
A3/A3 专业版 1.7.6.0 但是我在大疆助手2固件中找不到1.7.6,只有1.7.7和1.7.5。所以我决定使用 1.7.7
这会是问题吗?
现在是新加坡晚上 11 点,我将在早上拍摄两个样本和自定义方法的视频。我会把视频上传到youtube。你可以从那里看到。
此致
袁盛海