没有GPS可以用DJI SDK计划任务吗?

Can I plan a mission with DJI SDK without GPS?

我正在尝试控制无人机自主飞行,但在没有 GPS 访问权限的区域。我可以使用 SDK 告诉它在没有 GPS 的情况下飞行 x 米 forward/backward/up/down 等吗?

由于定位非常依赖飞机的GPS系统,我看不出你如何才能准确控制动作。您还会遇到其他问题,因为大多数自主飞行操作只有在有 6(或 7)颗锁定卫星后才会开始。

您还会发现飞机将缺乏保持位置的能力(除非它足够低以供视觉系统保持位置)。

我的建议是查看 SDK 的虚拟操纵杆部分,但老实说我觉得您不会满意,并且可能无法实现您上面的要求。

答案是肯定的。我很少在导航任务中使用 GPS。唯一的区别是 hardware/software 需要多复杂才能

DJI 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,而是使用类似的概念。我在学校项目后放弃了这个想法,因为它被认为不适合实际的商业应用)。它是 PTAM 与 EKF 用于 IMU 融合 https://www.youtube.com/watch?v=6xNINp7nnDge

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

DJI MSDK 旨在取代 tum_arrone https://github.com/AutonomyLab/ardrone_autonomy 中提到的 link 。

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

DJI WSDK

即使对于 DJI windows SDK,您仍然可以在 feature-rich 区域使用基于纯 PTAM 的方法。如下图所示。是ETH组的运行半直接视觉里程计。它在硬件和软件方面的努力最小。唯一的问题是你需要它是一个 feature-rich 区域。

我非常不同意@Ken,因为光流仅用于 low-level/Microcontroller 位置保持。它不适用于动态 odometry/state 估计。对于 high-level 通用定位和映射,它至少需要一个视觉 odometry/SLAM 输出。而且不仅是低海拔,中高海拔也会像下图一样工作

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