本文档讲述在Jetson nano开发板上运行大疆提供的Payload SDK实例代码获取无人机实时GPS信息的方法,以及基于Payload SDK发布ROS GPS话题信息的方法。
0 实现目标
在大疆Matrice 350 RTK无人机上安装E-Port 开发者套件,再通过E-Port 开发者套件连接到Jetson nano开发板,便可以读取当前无人机飞行时的RTK数据和GPS数据。RTK数据与GPS数据在组合导航算法中具有重要重要作用。
本文将要实现的,一是编译大疆提供的Payload SDK,来获取实时GPS数据;二是将获取的GPS信息,以ROS话题的形式,发布出来,供组合导航中其他的ROS节点使用。
1 Payload SDK
大疆Payload sdk是DJI 为支持开发者开发出可挂载在DJI 无人机上的负载设备,现在我需要在M350 RTK机型上获取无人机自带传感器设备信息,所获取的信息包括无人机姿态、GPS信息、以及H20T云台的相机码流。
可以参考官网psdk:https://developer.dji.com/doc/payload-sdk-tutorial/cn/function-set/advanced-function/liveview.html
Payload SDK代码可以从Github上的大疆官方页下载:
git clone https://github.com/dji-sdk/Payload-SDK.git
1.1 PSDK 源码编译的前提
在jeston nano安装ffmpeg和opencv 4.8
先安装ffmpeg
sudo apt-get install ffmpeg
再安装
opencv 4.8
可以参考:https://blog.csdn.net/weixin_45041054/article/details/146365049
安装OpenCV 4.8时的cmake命令为:
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -DENABLE_PRECOMPILED_HEADERS=OFF
1.2 PSDK 源码编译
首先,在PSDK源码所在的路径下创建一个build文件夹:
要在CMakeLists.txt里面加入Opencv 4.8
find_package(OpenCV 4.8 REQUIRED)
并切换到build目录下,然后运行cmake …
cmake成功后
可以看到,build路径下生成了Makefile,那下一步当然就是使用make命令进行编译:make -j24
如果你Linux报错:make[2]: *** No rule to make target ‘/usr/local/lib/libopus.a‘
可以参考这篇文章:https://blog.csdn.net/VIFIN/article/details/141599219
或者这样报错
运行这条命令
sudo apt-get install libopus-dev