我正在尝试制作一个简单的Takeoff命令。
以下代码如下:
ControlApi.getApi(this.drone).takeoff(10, new AbstractCommandListener() {
@Override
public void onSuccess() {
}
@Override
public void onError(int executionError) {
alertUser("Error: " + executionError);
}
@Override
public void onTimeout() {
alertUser("timeout");
}
});虽然我设法武装直升机,起飞命令总是返回错误,使用executionError 3或4,我不知道它意味着什么?有谁有executionError代码的含义吗?或者也许知道是什么问题?
发布于 2017-04-29 15:07:59
解决了问题。为了使代码工作,需要采取以下步骤:
1.
VehicleApi.getApi(this.drone).arm(true, new AbstractCommandListener() {
@Override
public void onSuccess() {
}
@Override
public void onError(int executionError) {
}
@Override
public void onTimeout() {
}
});确保您在onSuccess方法中得到了正确的响应。
2.
VehicleApi.getApi(drone).setVehicleMode(VehicleMode.COPTER_GUIDED);这是我的问题所在。我设法把直升机放在Guided_NoGps根据Arducopter的文件,这种模式可以放置在没有足够的全球定位系统卫星计数。此外,你需要一个3DFix在全球定位系统切换到Guided模式。你需要确保你有超过9个稳定的卫星锁,否则这段代码就不能工作了。
3.
运行下面的代码
ControlApi.getApi(this.drone).takeoff(10, new AbstractCommandListener() {
@Override
public void onSuccess() {
}
@Override
public void onError(int executionError) {
alertUser("Error: " + executionError);
}
@Override
public void onTimeout() {
alertUser("timeout");
}
});我已经在基于PX4控制器的四架飞机上进行了测试.此外,您还需要ArduCopter版本3.4 (或更高)
https://stackoverflow.com/questions/43635635
复制相似问题