大疆无人机M100的onboard sdk开发-激活(QT平台)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/linux_0416/article/details/85996210

1.这篇主要围绕osdk的M100激活进行展开,M100要进行OSDK开发,第一步就是现将设备激活,才能通过SDK对它进行控制;

一.硬件条件:

1.通过usb接口连接dji assistant,视频如下https://www.dji.com/cn/search?q=assistant ,

第一次通过assistant软件进行无人机激活,激活之后才能开始使用无人机以及sdk控制;

2.打开dji go 以及连接到遥控器;

3.打开无人机飞行器,通过API串口连接到PC上;

二、软件控制

1.第一次使用无人机,使用assistante软件对无人机进行激活,激活之后,打开DJI assistant 2,勾选API控制,设置飞控API串口的波特率和/或运行模拟器。

2.在DJI go app中选择“允许切换飞行模式”;

3.将遥控器的模式选择切换到F模式;

4.qt的实例官方说明https://developer.dji.com/cn/onboard-sdk/documentation/sample-doc/qt-sample.html

qt的例程主要实现以下功能:

激活/控制权力
飞行控制
相机/平衡控制
航点任务
Hotpoint任务
MFIO控制
广播遥测
订阅遥测

官方提供的Qt示例应用程序提供了一个跨平台的GUI的OSDK功能。应用程序支持Ubuntu Linux,MacOS和Windows平台。

SDK应用程序目前尚未实现移动通信和硬件同步功能。

具体过程如下:

在QtCreator,单击Open Project按钮,导航到sample/Qt/djiosdk-qt-sample/目录。选择djiosdk-qt-sample.pro文件。

在项目配置”对话框中,选择适当的编译器版本和QT并单击Configure Project。

然后,单击Projects在左侧面板中选择Run设置下Build and Run在标题的左侧。

检查Run in Terminal复选框。在Linux下,您可能需要直接QtCreator的安装XTerm而不是GNOME终端-终端;去Tools->Options->System和改变路径Terminal箱/usr/bin/xterm -

遵循这些步骤,你的项目设置正确。你可以选择进入你的APPID和密钥在UserConfig.txt在根文件的文件夹,以避免每次进入它内部的应用。

运行中的应用

点击Run或Debug在左下角的按钮来启动该应用。

启动画面应该像这样:

首先,选择串行端口,Initialize Vehicle按钮。这将设置Vehicle对象初始化所有部件并读出应用程序ID和密钥文件userconfig.txt。

接下来,您必须启用了无人机和任选得到控制。

在此基础上,探讨不同组分对clikcing顶部按Tab。例如,这里是个截屏,飞行操纵页面:

所述终端为您调试和状态信息的源;这里是个截屏:

注:

该例子是QT所有平台兼容的固件/组合osdk3.3.1版本都支持,除了M100。如果M100的版本为M100: 1.3.1.0+,那么OSDK3.7版本的qt例子是支持的。

如果M100的固件版本较低,那么需要进行M100的固件升级:

 

1、升级M100的固件:

(1) M100的固件升级很简单,连接好所有的部件(官方电池、GPS、云台相机等),在自己的电脑上安装一个DJI assistant 2,https://www.dji.com/cn/matrice100/info#downloads 所有部件的升级都通过这个软件助手,不需要下载其他的软件升级包。将一根micro USB线连接电脑与M100尾灯后面的USB口,首先开启遥控器,然后开启M100电源,进入assistant 2进行固件升级。

(2) 根据安装GPS的位置,在DJI assistant 2中设置GPS的三维坐标;

2、配置妙算的系统环境:

  给妙算安装各种各样的软件,因为妙算的硬件架构是嵌入式的,所以一些包的安装和普通在Intel CPU的主机上安装有不同的地方,最好根据官方给的文档来进行安装,不要想当然,具体见妙算的文档;

3、安装Onboard SDK

  大疆的Onboard SDK有两个版本,一个不是ros版本的,一个是ros版本的,推荐先装没有ros版本的,步骤很简单,先在这里下载Onboard SDK,然后按照这个链接去安装,https://developer.dji.com/onboard-sdk/documentation/sample-doc/sample-setup.html#linux-onboard-computer 很简单。然后安装ROS版本的SDK,后面跑读取云台相机的程序的时候就直接把package 拷贝到SDK的workspace下面进行编译就可以了。

4、激活M100

  这个步骤我感觉官网上的说明有一些没说清楚的地方。所有的步骤可以参考这个链接,但是我要强调一下的就是,如果想使用SDK,就必须先在开发者网站上注册,成为大疆的开发者,然后在开发者网站中首先创建一个APP,里面有ID和Key。在启动sdk的时候,在launch文件中填入 APP ID 和Key的时候就是填你创建的ID和Key,不是你的dji go的账号和密码,还有串口的波特率以及串口的名字,如下图所示。

5、利用妙算获取云台相机的视频数据:

  可以参考github上的这个网站,https://github.com/wqf233333/DJI_SDK_X3_FACE_DETECTION/tree/master/dji_sdk_manifold_read_cam 可以将云台读出来的视频格式先转成rgb格式的,然后通过rostopic 发布出来,这样就可以使用视频流了。

6、将妙算上的视频通过socket传送给mini PC

  因为项目的需求是在windows平台下面跑orb slam,所以需要将视频传送给mini PC,我这里选用的是利用socket传输,如果是在Ubuntu下面跑orb slam,一个比较好的选择就是构建一个局域网,直接通过rostopic 来进行数据的传输。

我采用的方案是妙算和mini PC用一根网线进行直连(也可以用路由器进行连接),然后将mini PC上面的以太网的IP地址选用固定的,设置好网关和DNS,关闭windows的防火墙。在妙算上也使用固定的IP地址,注意两者的IP地址不要相同,也不要相差太大。在运行socket程序之前看看能不能ping通,ping通了说明配置是对的,如果不行就得先检查。Ubuntu的和windows的socket程序略有不同,感兴趣的可以去google一下。

 

 

猜你喜欢

转载自blog.csdn.net/linux_0416/article/details/85996210