java - DJI Phantom 3 自定义任务 App,任务步骤之间存在延迟 :

标签 java android dji-sdk

我正在使用 Android Studio 开发一个应用程序,该应用程序以某种模式驾驶 DJI Phantom 3 无人机,在某些航点拍照。我将 DJI 示例代码上传到 Android Studio,在 Android Manifest.xml 文件中输入应用程序 key ,并修改“MissionManager”目录中的“CustomMissionView”代码,以便对无人机进行编程以按照指定模式飞行。然而,当我在 DJI 模拟器上运行这个项目时,自定义任务的每个“步骤”之间都有延迟,有时无人机会空闲并悬停几秒钟而不执行任何操作。我想知道是否有任何方法可以在不设置飞行速度的情况下最大限度地减少自定义任务步骤之间的延迟。我怀疑它与 DJICommonCallbacks.DJICompletionCallback() 有关,但我不确定。我是 Android Studio 的新手,所以任何建议都会有帮助。

以下是“CustomMissionView”Java 文件中 protected 方法 DJI Mission 内的一些代码

LinkedList<DJIMissionStep> steps = new LinkedList<DJIMissionStep>();


    //Step 1: takeoff from the ground
    steps.add(new DJITakeoffStep(new DJICommonCallbacks.DJICompletionCallback() {

        public void onResult(DJIError error) {
            Utils.setResultToToast(mContext, "Takeoff step: " + (error == null ? "Success" : error.getDescription()));
        }
    }));

    //Step 2: reset the gimbal to desired angle
    steps.add(new DJIGimbalAttitudeStep(
            DJIGimbalRotateAngleMode.AbsoluteAngle,
            new DJIGimbalAngleRotation(true, -30f, DJIGimbalRotateDirection.Clockwise),
            null,
            null,
            new DJICommonCallbacks.DJICompletionCallback() {

                public void onResult(DJIError error) {
                    Utils.setResultToToast(mContext, "Set gimbal attitude step: " + (error == null ? "Success" : error.getDescription()));

                }
            }));

    //Step 3: Go 3 meters from home point
    steps.add(new DJIGoToStep(mHomeLatitude, mHomeLongitude, 3, new DJICommonCallbacks.DJICompletionCallback() {


        public void onResult(DJIError error) {
            Utils.setResultToToast(mContext, "Goto step: " + (error == null ? "Success" : error.getDescription()));
        }
    }));

最佳答案

每个步骤之间的暂停是由于 DJI 设置自定义任务的方式造成的。当您准备自定义任务时,它不会向飞机本身发送任何任务信息。它确实在运行应用程序的设备上构建自定义任务。在执行任务期间,会向飞机发送一个步骤。当该步骤成功完成后,下一步将发送至飞机。这会导致每个步骤之间的暂停。如果 Remote 到飞行器的信号变弱,任务可能会因超时而失败。

航路点任务没有这种暂停,因为整个任务在准备时都加载到飞机上。

关于java - DJI Phantom 3 自定义任务 App,任务步骤之间存在延迟 :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42600039/

相关文章:

java - 如何为 GitHub 上的 Java 开源项目做出贡献

java - 在 Android studio 中使用 flavors 和 - 错误选择了错误的 AndroidManifest/未合并

java - 如何从 java apache 服务器 HttpRequestHandler.handle() 中关闭套接字以拒绝上传?

dji-sdk - 需要能够获取 DJI MediaFile : QuickShot type(if taken video with it), timelapse 系列、WEB 系列的额外属性

java - 在运行时加载资源包

java - CSS 未反射(reflect)在 Glassfish 4 中的 HTML 文件中

java - 如何在点击选项卡时显示Toast消息?

android - 在android设计中的 Activity 之间切换

windows - DJI Windows SDK示例代码 : Cannot view FPV mode on Mavic 2 Pro

java - 选择条件相似的数据