[DJI]Guidance SDK安装配置详解

[DJI]Guidance SDK安装配置详解
说明:对于Guidance SDK,官方已有详细的开发者指南,详见https://developer.dji.com/guidance-sdk/documentation/cn/application-development-guides/index.html 本文档只作为归纳补充,详细描述从初次搭建环境到运行示例程序的所有过程步骤,但需注意,具体操作还需以官方文档为准。本文档只针对于Linux环境下的Guidance的安装与配置。(注:Guidance初次使用需要配合调参软件,而调参软件只有Windows平台版本,因此会涉及到部分Windows环境配置)。

Windows系统环境配置

一、安装Guidance(视觉传感导航系统)
Guidance是一款全新的视觉传感导航系统,可感知附近障碍物,让飞行器主动躲避。购买套件之后,第一步需要对设备进行组装,套件说明书上有组装详解,也可根据官方提供的视频进行组装。视频地址:http://www.djivideos.com/video_play/0a422f04-a6dc-4fa0-b7af-e8b9053d1bc6

二、Windows环境下使用调参软件对Guidance进行配置
1.安装Guidance Assistant软件
软件下载地址:https://dl.djicdn.com/downloads/dev/Guidance/DJI_Guidance_Installer_v1.3.zip
下载之后对文件进行解压安装。根据测试,此软件不支持Win XP系统,只适用于Win 7和Win 8系统,Win 10系统需要进行相应的设置,禁用Windows驱动程序强制签名(关于win10环境下DJI Guidance Assistant 的安装方法http://bbs.dji.com/thread-41585-1-1.html )。 本文档测试环境为Win 7系统。
软件在安装过程中会自动安装Guidance所需的USB驱动,在软件安装引导结束后需重启系统使之生效。

2.测试调参软件是否成功安装
测试调参软件需要有组装好的Guidance设备的配合。将组装好的Guidance设备通过USB连至电脑并上电(需要连接DJI电源),进入计算机管理-设备管理器中查看,如果在设备列表中出现“DJI, Inc. – Guidance”,意味着软件安装成功。

3.通过Guidance Assistant软件激活并订阅数据
首次使用Guidance,需要通过Guidance Assistant软件激活并订阅数据,否则在之后的编程运行过程中会出现程序运行错误或数据订阅不完整的问题。本块内容在开发者指南中有详细的图文配置,此处只进行简单的描述。
(1)首先,将Guidance连接至电脑并上电启动;接着等待Guidance上的绿灯开始闪烁后,打开Guidance Assistant软件,可以看到软件查看页面的左下角绿灯亮起,说明连接正常;此时将工作模式设置为自定义模式(绿灯开始闪烁后再打开Guidance Assistant软件)。
(2)转到“自定义”页面,在“接口参数”选项卡中根据需要激活USB与UART,并通过勾选相应的选项来订阅图像数据及图像输出频率;图像数据及频率设置也可通过Guidance SDK中相应的API进行设置(注意,通过相应的API进行设置只是临时生效,断电重启后将恢复默认在Guidance Assistant中的设置)。
(3)关闭Guidance Assistant软件并重启Guidance使配置生效。

4.摄像头的标定。
摄像头标定是指摄像头拍到标定板图片的方式,计算出摄像头的系统参数。此步骤很关键,之前没有进行摄像头标定而直接运行编写好的程序会出现订阅数据不全的情况,不能测速测障。可根据调参助手的说明对摄像头进行标定。需要注意的是,需要对每个摄像头(5个)分别进行一次标定。
调参助手的介绍和具体的标定请移步官方视频:http://www.djivideos.com/video_play/dcf95299-3821-45c3-9504-60b35b99878d

Linux系统环境配置

一、安装libusb驱动
从http://www.libusb.org/ 下载并解压libusb-1.0.9.tar.bz2,运用cd命令跳转至解压目录下,接着运行以下指令安装libusb驱动。

./configure
make
make install
安装成功之后,需要注意的是,在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/udev/rules.d/51-guidance.rules’

二、将g++更新到最新版本

sudo apt-get install g++

三、安装OpenCV(已安装过OpenCV的可跳过此步骤)
1.安装依赖库。在终端输入以下三条命令,安装所需要的依赖

sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

2.下载OpenCV
下载OpenCV-3.1.0.zip。下载地址:
http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/3.1.0/opencv-3.1.0.zip

3.编译OpenCV
将下载的压缩包解压至用户主目录(home目录下),并将解压后的文件夹命名为opencv。在该目录下新建一个build目录,进入build目录,执行cmake生成makefile文件。指令如下

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..
cmake成功之后,就可以在build文件下make了。指令如下
sudo make
sudo make install

4.设置环境变量
添加库路径:
sudo /bin/bash -c ‘echo “/usr/local/lib” > /etc/ld.so.conf.d/opencv.conf’
更新系统库
sudo ldconfig
至此OpenCV安装完毕。

四、运行Guidance程序前的准备工作

1.SDK包下载
Guidance-SDK(完整包。包括头文件、所有平台的库文件、所有文档):https://github.com/dji-sdk/Guidance-SDK
Guidance-SDK-ROS:(ROS包。包括头文件、Ubuntu及Odroid XU3的库文件。):https://github.com/dji-sdk/Guidance-SDK-ROS

2.正确放置DJI_guidance.so
将相应的Guidance共享库libDJI_guidance.so拷贝至 /usr/local/lib
以完整包为例,libDJI_guidance.so在目录Guidance-SDK-master/so目录下,根据系统情况选择相应目录下的.so文件,如x64目录下的.so文件。进入目录下,通过指令拷贝:

sudo cp libDJI_guidance.so /usr/local/lib
sudo ldconfig

3.通过sudo指令运行程序
使用Guidance的USB接口时,需要使用sudo指令,以取得对USB接口的root权限。否则会出现permission denied的错误。例如:

sudo ./guidance_example
为了避免每次都要使用sudo来运行Guidance SDK程序的麻烦,可以在/etc/udev/rules.d/文件夹中创建一个规则文件51-guidance.rules,内容如下:
SUBSYSTEM==”usb”, ATTR{idVendor}==”fff0″, ATTR{idProduct}==”d009″, MODE=”0666″
然后再拨插USB线,就可以以普通用户的权限来运行Guidance SDK程序了。

五、运行示例程序
Guidance SDK提供了示例程序,该示例程序可从设备订阅不同方向的图像以及深度图、灰度图、速度、距离障碍物的距离等。
1.新建工程文件夹
拷贝相关文件到文件夹下
Guidance-SDK-master/examples/usb_example/DJI_guidance_example文件夹下的:main.cpp、DJI_utility.cpp、DJI_utility.h以及Makefile文件
Guidance-SDK-master/include文件夹下的DJI_guidance.h文件

2.编写Makefile文件(应确保OpenCV已经正确安装)
(此Makefile文件已经写好,不需要改动。需要注意的是,如果自己写Makefile文件,还需添加LDFLAGS = -Wl,-rpath,./ -lpthread -lrt -L./ -L/usr/local/lib/ -l DJI_guidance -lusb-1.0

2.编译与运行
将Guidance通过USB线与电脑连接,上电,启动Guidance。(Guidance连接上电脑需要反应一段时间,待指示灯由红色变蓝色则连接正确),之后便可编译并运行工程

make
./guidance_example

此时订阅的信息便可从显示器显示出来。



说点什么

avatar
250
  关注  
提醒