https://enterprise.dji.com/cn/sdk?site=brandsite&from=nav
https://developer.dji.com/cn/guidance-sdk/
以上是官方的相关连接
Guidance SDK可以让开发者通过Guidance的USB口和串口来获取丰富的传感器数据,以及按照自己的需要来灵活配置Guidance。
guidance sdk下载地址https://github.com/dji-sdk/Guidance-SDK
开发环境安装https://developer.dji.com/guidance-sdk/documentation/cn/application-development-guides/index.html
创建视觉跟踪例子https://developer.dji.com/guidance-sdk/documentation/cn/tutorials/index.html
GUIDANCE使用的是超声波和双目的测距方案,
GuidanceSDK:视觉传感导航系统
一.用法
通过USB或UART接口,GuidanceSDK可用于大疆的经纬M100或其它飞行机器人系统。
二.参数
2.1物理参数
尺寸 |
· 视觉处理模块: 78.5mm ✕ 53.5mm ✕ 14mm · 视觉传感模块: 170mm ✕ 20mm ✕ 16.5mm · VBUS线缆: 200mm |
重量 |
· 视觉处理模块:64g · 视觉传感模块(单个):43g · VBUS线缆(每根):11.6g |
2.2硬件参数
功耗 |
最大 12 W(5 个视觉传感模块) |
输入电压范围 |
11.1 V~25 V |
工作环境温度 |
-10°C ~ 40°C |
数据接口 |
VBUS接口 ✕ 5;CAN接口 ✕ 1;USB OTG 2.0 ✕ 1;UART接口 ✕ 1 |
UART电平 |
3.3V |
三.输出数据
3.1实时机体状态
实时输出机体坐标系下的飞机三维速度
实时输出机体坐标系下的飞机三维位置
实时输出由图像和超声波数据融合得到的与最近障碍物的距离
3.2传感器数据
实时输出机体坐标系下的IMU数据,包括三自由度加速度和三自由度的陀螺仪角度
实时输出机体坐标系下到最近5个方向的超声波距离 (0.1m - 8m)
3.3图像
实时输出双目摄像头的8比特灰度图,分辨率为320*240
实时输出双目摄像头的16比特深度图,分辨率为320*240
3.4相机设置
获取双目摄像头的标定参数
获取并设置双目摄像头的曝光模式以及曝光参数
3.5硬件接口
USB
高速率传输所有数据,并对摄像头参数进行精准控制
UART
传输除图像外的所有数据,可方便地适配所有带串口的系统
四.特色
4.1高精度视觉里程计
高精度视觉里程计专为开发者设计,用于描述Guidance在环境中的运动,对速度的测量精度高达厘米级别。基于这些数据,开发者可以提升智能机器人应用的精度,以适应更多的应用领域。
超声波、图像、IMU读数等丰富的传感器数据,都可按照需求输出。开发者可以将Guidance用于绘测、3D建模、巡检等广阔的领域中。
4.2三维感知 构建真实的世界
通过丰富的传感器和强大的计算能力,Guidance可获取稠密深度图来实时感知三维世界。视野中大部分像素的深度都被精确描述,精度达到厘米级。这给予了Guidance与真实世界互动的能力,并使得开发者定制各种三维应用成为可能。
4.3高精度视觉定位系统
装备在Matrice 100等飞行平台上,Guidance能在无GPS信号的条件下实现高精度视觉定位,近地面定位精度达厘米级。在复杂地形和高速飞行条件下均可提供定位信息。
4.4强大的计算平台
由FPGA硬件加速模块和两个ARM Cortex-A9核心构成了Guidance系统强大的计算平台,可实时处理多达10路摄像头数据,并且可以重新配置以便未来升级。
先来说这款能够自由扩展的Matrice100开放式飞行平台,它的特点在于能够灵活扩展,当搭载不同的功能模块时,就能够适用于各类不同的应用场景。包括像动力系统、飞控系统、导航系统,以及图传和遥控等功能模块,都能灵活的进行组合搭载。同时也预留有通用的CAN和UART数据通讯接口,可以分别扩展大疆或是第三方的功能模块,对于有特殊需求的用户,还能够通过SDK开发者平台对其编写定制指令。无论是初级玩家的简单功能模块组合,还是高端玩家的指令编程需求,都能通过这款飞行平台得到满足。
同时发布的Guidance视觉传感导航系统则是一款能够为前者配套的功能模块,核心部件是五组视觉超声波组合传感器,配合相应的视觉算法,能够感知到自身周围的环境情况,对周边的障碍物进行判断,并引导飞控系统及时修正飞行轨迹,从而避免发生碰撞事故。根据官方提供的信息,其近地面定位可达到厘米级精度,而定位系统的有效高度可达到20米,在复杂地形和高速飞行条件下均能提供定位信息。
开发者指南
例程
创建一个视觉跟踪工程
API文档
g++
编译g++
编译g++
编译 (也适用于DJI Manifold及TX1)g++
编译 (64bit系统)arm-linux-gnueabi-g++
编译,供嵌入式ARM系统使用。使用时,请先安装交叉编译工具链:sudo apt-get install gcc-arm-linux-gnueabi g++-arm-linux-gnueabi
请注意,为了便于ROS用户的快速下载,我们还维护了一个独立的ROS包。它不包含任何文档和Windows下的库文件,因此具有更小的体积:Guidance-SDK-ROS.
Windows
USB和串口的示例代码可以在 examples/usb_example 和 examples/uart_example中找到,其中包含了可直接编译运行的Visual Studio工程。需要将对应的dll文件复制到exe所在目录或Windows系统目录。
Linux
USB和串口的示例代码可以在同样的目录(examples/usb_example 和 examples/uart_example)中找到,其中包含了可直接编译的Makefile文件。
注意,在Linux下读写Guidance的USB口需要root权限。为了省去每次运行Guidance SDK程序都要输入sudo
的麻烦,建议在 /etc/udev/rules.d
下添加一个规则文件,即 doc/51-guidance.rules. 或者也可以从终端输入下面的这行:
sudo sh -c 'echo "SUBSYSTEM==\"usb\", ATTR{idVendor}==\"fff0\", ATTR{idProduct}==\"d009\", MODE=\"0666\"" > /etc
gudiance使用注意事项:
(1)gudiance容易受光照强度、物理表面纹理的影响;观测对象纹理良好;室外飞行时,请在视野开阔,光线充足,环境纹理比较丰富的场所飞行,不适合在水面,反光,透明物体表面在特别暗或特别亮,纹理稀疏,纹理重复度很高(例如颜色相同的小格子砖)有阴影和反光的地方使用,
(2)自然环境下处理的没在那么好
(3)可以用多信息融合或者滤波之类的
(4)guidance可以将得到的视觉定位信息传给飞控系统,用户手册上说到guidance装上就具有这个功能
(5)guidance视觉处理模块拥有UART口和USB口和其他系统(如PC)通信,UART口不能传输图像
(6)CAN-BUS,专门用于连接M100飞控
参考微博:https://blog.csdn.net/kinbosong/article/details/72830156
https://blog.csdn.net/KinboSong/article/details/75022350