如何使用mavlink消息取消PX4自动驾驶仪?

时间:2016-10-06 09:47:14

标签: android dronekit-android

我按照以下链接的示例代码

http://android.dronekit.io/first_app.html

当我设置API VehicleApi.getApi(this.drone).arm(true); vehicleState.isFlying()自动变为true。

有谁能告诉我这个问题是什么?

我需要的是: 1.起飞,着陆

我从一些网站上读到dronekit-android不支持模式更改。如果是这样,我应该如何发送mavlink消息起飞和降落? 到目前为止,我可以成功地将mavlink消息发送到PX4板。

感谢您的回复。

感谢您的回复。

BR SeanH

2 个答案:

答案 0 :(得分:0)

如果你追踪dronekit-android中的一些代码,你可以看到isFlying设置为here,代码如下。

boolean isFlying = systemStatus == MAV_STATE.MAV_STATE_ACTIVE || ...;

MAV_STATE_ACTIVE,定义here个州

  

系统处于活动状态,可能已经悬空。电机已投入使用。

所以isFlying并不意味着它是空中的,而只是电机开启了。当你打电话给VehicleApi.getApi(this.drone).arm(true);时就会发生这种情况,因为那时你正在武装车辆。

对于起飞,您想要使用ControlApi。 ControlApi.getApi(drone).takeOff(desired_altitude, listener)以及您需要使用VehicleApi.getApi(drone).setVehicleMode(VehicleMode.COPTER_LAND, listener)

的土地

您正在查看的示例代码非常陈旧。我建议你关注github的sample app

答案 1 :(得分:0)

之前我没有尝试过android-dronekit,我注意到 src 文件夹在github上的更新时间已超过两年。

我建议您使用 python-dronekit ,因为在python中有一个名为 pymavlink 的强大库,用于 python- dronekit 。你可以根据需要构建超级应用程序,但首先尝试在python中起飞和降落。

相关问题