大疆M210V2+NANO+OSDK3.9开发

**DJIM210V2+NANO+OSDK3.9开发**
ps:可直接下载完整PDF文档(完整文档包括整个开发流程+问题记录+与官方技术交流邮件截图等)
链接:https://download.csdn.net/download/qq_35390371/12514361

注意事项
使用OSDK 开发应用程序时,为保护开发者免受意外,请注意如下事项:
•    在使用OSDK 开发应用程序或测试基于OSDK 开发的应用程序时,请取下桨叶;
•    无人机电机在转动时,请勿靠近;
•    请勿向无人机电源输出接口输入大功率电流;
为降低基于OSDK 开发的应用程序因内部故障导致无人机损毁或意外事件的发生,DJI 强烈要求开发者使用DJI Assistant 2中的模拟器模拟无人机的飞行状态,并根据模拟器中的数据和日志信息调试应用程序,降低无人机损毁或意外事件发生的风险,避免不必要的损失。

启用OSDK 控制功能
     为使基于OSDK 开发的程序能够与飞行平台间正常通信,请在DJI Assistant2 中启用OSDK API 控制功能。
     大疆M210V2+NANO+OSDK3.9开发

1、M210V2 Onboard SDK 3.9 开发
官方链接:
https://developer.dji.com/onboard-sdk/documentation/development-workflow/environment-setup.html#ubuntu-linux
(1)Ubuntu Linux开发环境要求:
大疆M210V2+NANO+OSDK3.9开发
具体设置为:
①Opencv3.3.1(官方推荐),源码编译全安装,步骤详见opencv安装(若不用视觉相关,可不安装);
②安装LibUSB 并添加DJI USB 设备节点
sudo apt-get install libusb-1.0-0-dev  //用于读取双目摄像头、FPV图像
③添加UART 读写权限
1)使用sudo usermod -a -G dialout $USER命令将用户添加至dialout 组中。
2)重新登录所添加的账户后,该账户即可获取UART 读写权限。
④如需在M210 系列的无人机上使用OSDK 中的视觉功能,使Linux 系统能够获取并标识DJI 的设备:
1)在/etc/udev/rules.d/目录下创建文件DJIDevice.rules
2)在DJIDevice.rules文件中添加SUBSYSTEM=="usb", ATTRS{idVendor}=="2ca3", MODE="0666"
3)重新启动电脑后,系统即可识别DJI USB 设备
⑤sudo apt-get install libavcodec-dev libswresample-dev
⑥sudo apt-get install libopencv-dev
(2)环境配置以及测试(PC 测试环境Ubuntu 1604)
https://developer.dji.com/onboard-sdk/documentation/development-workflow/sample-setup.html#linux-onboard-computer
设备连接:
使用USB 转TTL 线(FT232BL)和双头USB 线连接计算机和无人机。
可参照无人机连接妙算:
大疆M210V2+NANO+OSDK3.9开发
具体步骤:
①配置环境,详见(1)开发环境要求
②注册大疆开发者账户,新建例程获取开发者ID以及KEY
https://developer.dji.com/user/apps/#all
③下载SDK3.9(已更新到4.0,不清楚改了什么,根据自己情况下载)
https://github.com/dji-sdk/Onboard-SDK
④在命令行实现:解压并进入文件,创建build文件夹并进入
unzip xxx
mkdir build
cd build
⑤cmake .. -DADVANCED_SENSING=ON -DWAYPT2_CORE=ON  
⑥make
⑦将获取的ID和KEY填入文件UserConfig.txt
/Onboard-SDK-master/sample/platform/linux/common/ UserConfig.txt
⑧复制UserConfig.txt到/Onboard-SDK-master/build/bin
⑨使用串口连接电脑和无人机,打开无人机和遥控器,运行demo
进入/Onboard-SDK-master/build/bin
运行:./djiosdk-flightcontrol-sample UserConfig.txt
可使用公对公USB数据线连接无人机和电脑,运行DJI Assistant 2 For Matrice(已经安装好调参软件),进行模拟仿真,根据提示输入命令,观察无人机状态。
(4)环境配置以及测试(Nvida Jetson Nano)
①清除TF卡(高速卡),格式化
②下载官方镜像,文件jetson-nano-sd-r32.1-2019-03-18.zip,并解压
③将TF卡插入电脑,打开软件Win32DiskImager-1.0.0
加载img镜像,然后写入
 大疆M210V2+NANO+OSDK3.9开发
④将TF卡插入Nano,插上电源,进行简单的设置,就可进入Ubuntu系统。
⑤按照上文步骤配置环境
⑥编译
A,    解压OnboardSDKmaster,进入文件夹,新建文件build
B,    进入build,执行:
cmake .. -DADVANCED_SENSING=ON -DWAYPT2_CORE=ON  //获取高级图像感知
(ps:下载较慢,可以使用离线下载源码包)
C,    下载最新的advanced-sensing源码包
https://github.com/dji-sdk/Onboard-SDK-Resources/tree/advanced-sensing-2.0.3-armv8
将下载好Onboard-SDK-Resources-advanced-sensing-2.0.3-armv8.zip解压
将解压后的文件src和inc文件放到Onboard-SDK-master\osdk-core\advanced-sensing-2.0.3目录下。
⑦将ID和KEY填入文件UserConfig.txt
/Onboard-SDK-master/sample/platform/linux/common/ UserConfig.txt
⑧复制UserConfig.txt到/Onboard-SDK-master/build/bin
⑨使用串口连接电脑和无人机,打开无人机和遥控器,运行demo
进入/Onboard-SDK-master/build/bin
运行:./djiosdk-flightcontrol-sample UserConfig.txt
可使用公对公USB数据线连接无人机和电脑,运行DJI Assistant 2 For Matrice(已经安装好调参软件),进行模拟仿真,根据提示输入命令,观察无人机状态。
2、新建测试app
(1)在/Onboard-SDK-master/sample/platform/linux 目录下创建selfDemo文件夹
(2)编写selfDemo.cpp文件,selfDemo.hpp文件,CMakeLists.txt main.cpp
Ps:可直接复制例程,然后修改代码,修改CMakeLists.txt中的生成的可执行文件名称
如:
 大疆M210V2+NANO+OSDK3.9开发
将cameragimbal修改为selfDemo,并保存
(3)打开/Onboard-SDK-master/sample/platform/linux下的CMakeLists.txt(与上面那个不同,目录少一级)
 大疆M210V2+NANO+OSDK3.9开发
如图,增加一句代码,并保存
(4)进入/Onboard-SDK-master/build
运行:make
进入/Onboard-SDK-master/build/bin
可以看到结果如下,则正确。

大疆M210V2+NANO+OSDK3.9开发

(5)NANO与M210V2硬件连接图

大疆M210V2+NANO+OSDK3.9开发