Drone’s Firmware(DJI pilot 中读到):01.00.0710
Controller’s Firmware(OSDK命令读到):3.4.3.44
1. 安装Onboard-SDK-4.0.1
DJI OSDK4.0.1网址为: https://github.com/dji-sdk/Onboard-SDK/tree/4.0,在该网址下载zip压缩包至妙算机,在本地解压。
OSDK教程文档地址:https://developer.dji.com/onboard-sdk/documentation/introduction/homepage.html
OSDK安装教程地址:https://developer.dji.com/cn/onboard-sdk/documentation/quickstart/development-environment.html
1.1 添加UART读写权限
1、使用sudo usermod -a -G dialout $USER
命令将用户添加至dialout 组中。
2、重新登录所添加的账户后,该账户即可获取UART 读写权限。
1.2 添加DJI USB 设备节点
如启用OSDK中的视觉功能,则需在妙算中添加DJI USB设备节点
1、在/etc/udev/rules.d/
目录下创建文件DJIDevice.rules
。
2、在DJIDevice.rules
文件中添加SUBSYSTEM=="usb", ATTRS{idVendor}=="2ca3", MODE="0666"
。
3、重新启动电脑后,系统即可识别DJI USB 设备。
1.3 安装ACM驱动
安装ACM(Abstract Control Model)驱动后,开发者使用机载计算机或第三方开发平台通过USB 接口能够实现应用程序仿真和外部供电功能。 使用dmesg 命令可查询系统中ACM 驱动的信息,妙算应该是出厂已经安装好到了ACM驱动:
1.4 安装FFmpeg
安装FFmpeg 后,开发者使用机载计算机或第三方开发平台能够实现视频相关功能。
sudo apt-get install libavcodec-dev libswresample-dev
1.5 安装LibUSB
安装LibUSB 后,开发者使用Manifold 和第三方开发平台能够获取无人机接收到的图像数据。
使用如下命令安装LibUSB:1.0.17及更高版本。
sudo apt-get install libusb-1.0-0-dev
1.6 安装OpenCV 3.x
安装OpenCV 后,开发者使用机载计算机或第三方开发平台能够以可视化的方式获取立体感知及对象识别等应用功能的信息。
若已经安装了ros-kinetic则无需再专门安装OpenCV,ros-kinetic中有OpenCV库
若要使用双目深度估计等功能,可能要手动编译安装OpenCV和opencv_contrib,安装时可参考https://developer.dji.com/cn/onboard-sdk/documentation/sample-doc/advanced-sensing-stereo-depth-perception.html
若编译安装时遇源码下载问题,可参考https://blog.youkuaiyun.com/qq_39936818/article/details/104951448
若遇无法找到opencv2/xfeatures2d/cuda.hpp
的问题,可参考https://www.codenong.com/cs106654012/,如果改了CMakelists.txt还报错,就直接在头文件中写cuda.hpp的绝对路径吧
若出现/usr/local/include/ceres/solver.h:503:5: error: ‘shared_ptr’ does not name a type
错误,可在Opencv源码下的CMakeLists.txt中加入
add_definitions(-std=c++11)
再重新cmake和make,以使其编译时支持c++11。
若编译时报错boostdesc_bgm.i: No such file or directory
参考https://www.cnblogs.com/arxive/p/11778731.html
1.7 编译安装
cd Onboard-SDK-4.0.1
mkdir build
cd build
cmake..
#若编译高级视觉功能和云台目标跟踪例程,可使用下列命令来cmake
#-DTARGET_TRACKING_SAMPLE=ON 选项会在cmake时下载KCF源码并编译
cmake -DADVANCED_SENSING=ON -DTARGET_TRACKING_SAMPLE=ON ..
sudo make -j7 install
2. 运行例程
按照妙算2-G与M210 RTK V2硬件链接文章中描述的方法连接妙算与M210 V2。
按上述文章中的方法设置好UserConfig.txt中的app_id,app_key,device和baudrate,并在文件中添加acm_port : /dev/ttyACM0
.
2.1 运行显示摄像头图像的例程
cd build/bin
./camera-stream-poll-sample UserConfig.txt
2.2 运行云台跟踪的例程
cd build/bin
./camera-stream-target-tracking-sample UserConfig.txt UserConfig.txt