DroneKit 简单起飞不起作用

DroneKit simple takeoff not working

我正在尝试制作一个简单的 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");

            }
        });

虽然我正在设法武装直升机,但起飞命令总是 returns 错误,executionError 3 或 4 我不知道这是什么意思? 有没有executionError代码的意思? 或者也许知道问题出在哪里?

[已解决]。 以下是为使代码正常工作需要执行的步骤:

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 文档,这种模式可以在没有足够 GPS 卫星数的情况下使用。 您还需要 GPS 中的 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 版(或更高版本)