我遵循以下链接的示例代码
http://android.dronekit.io/first_app.html
当我设置VehicleApi.getApi(this.drone)接口时,.arm( true );vehicleState.isFlying()自动变为true。
谁能告诉我这个问题是什么?
我需要的是: 1.起飞,着陆
我从一些网站上看到,dronekit-android不支持模式更改。如果是,我应该如何发送mavlink消息才能起飞和降落?到目前为止,我可以成功地将mavlink消息发送到PX4板。
感谢您的回复。
感谢您的回复。
BR SeanH
发布于 2017-01-06 15:14:48
如果你跟踪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。
发布于 2018-03-08 07:03:01
我以前没有尝试过android-dronekit,我注意到github上的src文件夹已经两年多没有更新了。
我建议您使用python-dronekit,因为在python中有一个功能强大的库,称为pymavlink,并在python-dronekit中使用。如果您愿意,您可以构建超级应用程序,但首先尝试在python中起飞和降落。
https://stackoverflow.com/questions/39892730
复制相似问题