DroneKit 任务未发送至无人机

DroneKit mission not sent to drone

我正在尝试使用 Drone-Kit 创建简单的任务 android。

Mission myMission = new Mission();
myMission.clear();
Takeoff to = new Takeoff();
ReturnToLaunch rtl = new ReturnToLaunch();
//set Altitude in meters
rtl.setReturnAltitude(2);
to.setTakeoffAltitude(2);
myMission.addMissionItem(to);
myMission.addMissionItem(rtl);
MissionApi.getApi(this.drone).setMission(myMission,true);

问题是有时有效,有时无效... 我不知道为什么它不起作用...我在代码中没有收到任何错误。

我正在听

AttributeEvent.MISSION_UPDATED

AttributeEvent.MISSION_SENT

AttributeEvent.MISSION_RECEIVED

但是当我 运行 代码时只有 AttributeEvent.MISSION_UPDATED 被触发。 即使它被解雇了,也不意味着任务更新正确。 我正在使用 Mission Planer 检查任务。 我只是不明白为什么它有时有效有时无效。

我确定无人机已连接到应用程序。 我还确保无人机正常并且可以武装。 我真的被困在这里...任何帮助将不胜感激。

之前没试过dronekit-android不过我觉得还是开个issue比较好here.

android项目的源码已经两年多没有更新了!

一般来说,upload/download 任务都有一个协议。实施起来并不容易,但您可以实施。我是用 C++ 做的。在进行下一步之前,您应该始终检查无人机的确认。检查协议 here.

我会回答我的问题,以防有人遇到同样的问题。

我已经联系开发者了,看来这个BUG不止我一个。 似乎当您将 ReturnToLaunch 添加到 Mission 时,API 中发生了一些事情并且任务没有发送到无人机。一旦我从 Mission 中删除 ReturnToLaunch 对象,一切正常。

解决方法:为了解决这个问题,我将无人机置于 RTL 模式,当 Mission 完成后。