首页 > 解决方案 > 我可以在没有 GPS 的情况下使用 DJI SDK 计划任务吗?

问题描述

我正在尝试控制无人机自主飞行,但在没有 GPS 访问的区域。我可以使用 SDK 告诉它在没有 GPS 的情况下向前/向后/向上/向下飞行 x 米吗?

标签: dji-sdk

解决方案


答案是肯定的。我很少在导航任务中使用 GPS。唯一的区别是您需要的硬件/软件有多复杂

大疆 OSDK

我最近几年的大部分项目,我都是使用 DJI OSDK ROS 用纯 LDIAR 或摄像头来驾驶无人机。请参阅此处的示例视频。在它内部运行带有立体节点的可视化内部导航。我试过 DJI A3/N3/M100/M210/M600。一切正常。复杂的板载硬件,但软件简单直接。 https://www.youtube.com/watch?v=1AbfRENy3OQ&t=90s错误在此处输入图像描述

DJI MSDK 或 PSDK

对于其他情况,例如 DJI MSDK 或 PSDK(如果您有访问权限),您可以使用其他方法,例如流式传输视频流并进行地面定位,然后发送控制命令。看我的视频(这不是使用 DJI A3,而是使用类似的概念。我在放学后放弃了这个想法,因为它被认为不适合实际的商业应用)。它是用于 IMU 融合的 EKF 的 PTAM https://www.youtube.com/watch?v=6xNINp7nnDge在此处输入图像描述

后面运行的代码来自这里https://github.com/tum-vision/tum_ardrone

DJI MSDK 旨在替换 tum_arrone https://github.com/AutonomyLab/ardrone_autonomy中提到的此链接。

您所要做的就是将源代码输入和输出系统修改为android C++ lib。这不是一件容易的事,但我已经看到其他人这样做了。它在硬件上很简单,但在软件上工作更多

大疆 WSDK

即使对于 DJI windows SDK,您仍然可以在功能丰富的区域使用纯 PTAM 方法。如下图所示。它正在运行 ETH 组的半直接视觉里程计。它在硬件和软件方面的工作量最小。唯一的问题是你需要它成为一个功能丰富的区域。

我完全不同意@Ken,因为光流仅用于低级/微控制器位置保持。它不适用于动态里程计/状态估计。对于高级通用定位和映射,它至少需要一个视觉里程计/SLAM 输出。而且不仅低海拔,中到高海拔也会如下图所示

在此处输入图像描述

获取此图像的代码可在此处获得https://github.com/uzh-rpg/rpg_svo


推荐阅读