大疆无人机-guidance sdk开发

https://enterprise.dji.com/cn/sdk?site=brandsite&from=nav

https://developer.dji.com/cn/guidance-sdk/

Guidance SDK 目前已弃用.
它会继续开放给Guidance系统使用,但是不会再维护更新。

以上是官方的相关连接

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文档

 

结构

  • demo: 用Guidance SDK实现的示例应用
  • doc: 文档
  • examples: USB和串口的简单示例程序
  • include: Guidance SDK头文件
  • lib: Windows下的库文件
    • 2010/x64: 使用 Visual Studio 2010 64 bit 编译
    • 2010/x86: 使用 Visual Studio 2010 32 bit 编译
    • 2013/x64: 使用 Visual Studio 2013 64 bit 编译
    • 2013/x86: 使用 Visual Studio 2013 32 bit 编译
  • so: Linux下的库文件
    • x64: 在64位Linux系统上用 g++ 编译
    • x86: 在32位Linux系统上用 g++ 编译
    • XU3: 在XU3上用 g++ 编译 (也适用于DJI Manifold及TX1)
    • XU3: 在TX1上用 g++ 编译 (64bit系统)
    • arm: 使用最新的 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_exampleexamples/uart_example中找到,其中包含了可直接编译运行的Visual Studio工程。需要将对应的dll文件复制到exe所在目录或Windows系统目录。

Linux

USB和串口的示例代码可以在同样的目录(examples/usb_exampleexamples/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

 

你可能感兴趣的:(无人机)