DroneKit任务没有送到无人机

时间:2017-05-07 14:17:37

标签: dronekit dronekit-android 3dr

我试图使用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检查任务。 我只是不明白为什么它有时会工作,有时候不会。

我确实确保无人机连接到应用程序。 我还确保无人机可以并且可以携带。 我真的卡在这里......任何帮助都会受到赞赏。

2 个答案:

答案 0 :(得分:0)

我之前没有尝试过dronekit-android,但我认为最好打开一个问题here

Android项目的源代码已更新超过两年了!

通常,有一个上传/下载任务的协议。实现起来并不容易,但您可以实现它。我是用c ++做的。在进入下一步之前,您应该始终检查无人机的确认。检查协议here

答案 1 :(得分:0)

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

我联系了开发人员,似乎我并不是唯一有这个BUG的人。 似乎当您将ReturnToLaunch添加到Mission API中发生的事情时,任务不会发送到无人机。只要我从ReturnToLaunch移除了Mission对象,就会正常工作。

解决方法:为了解决这个问题,我在RTL完成Mission时将无人机置于mhoSheet.UsedRange.AutoFilter field:=21, Criteria1:=Affiliate & " " & "Recon" If mhoSheet.UsedRange.rows.SpecialCells(xlCellTypeVisible).rows.count = 1 Then '--- none of the rows passed the filter, so just exit Exit Sub End If 模式。