Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子

Linux环境下搭建大疆Onboard SDK开发环境

  • 环境设置
  • 前期准备
  • 编译OSDK代码
  • 运行例子

环境设置

  1. 系统:Ubuntu 18.04.2 LTS
  2. 工具:gcc 7.4.0 + cmake 3.14.3
  3. 软件:DJI Assistant 2 调参软件(Windows或者Mac OS系统下运行)请按照无人机的型号下载对应的版本,错误的版本可能会无法升级无人机固件从而导致运行例子失败!
  4. 本教程中使用的无人机为大疆M600 Pro

前期准备

  1. 准备2台电脑。一台安装Linux系统用于编译大疆Onboard SDK代码,一台为Windows系统的电脑或者苹果电脑,用于运行DJI Assistant 2 调参软件中的模拟器。
  2. 在装有Ubuntu系统的电脑中安装gcc编译器和cmake等工具。本次教程使用的系统为Ubuntu 18.04.2 LTS,并且可以配合7.4.0版本的gcc编译器和3.14.3版本的cmake工具成功使用。
  3. 下载大疆Onboard SDK代码。网址:https://github.com/dji-sdk/Onboard-SDK。可以直接下载压缩包或者使用git工具克隆到本地也行。
  4. 注册成为大疆开发者。可以访问大疆开发者官网点击右上角的“注册”。
  5. 创建一个大疆App。访问大疆开发者官网,登陆之后在DEVELOPER CENTER页面的Apps选项中点击"CREATE APP"按钮,创建的时候SDK选项记得选Onboard SDK,其他的随便填。创建完之后App图标是灰色的,记得到自己的邮箱中查看邮件点击相关链接激活App。激活后的App可以点击,点击之后显示App的"App ID"和"App Key"等信息,记住这些,以后会用到。
  6. 准备一根USB-TTL线,用于连接无人机和运行Linux系统的电脑(可自行taobao)。
  7. 准备一根Micro USB数据线(也就是以前旧安卓手机使用的数据线),用于连接无人机和运行DJI Assistant 2 调参软件的Windows或者Mac电脑。

编译OSDK代码

如果采用下载的方式获取OSDK代码,下载下来的是一个名为"Onboard-SDK-3.8.zip"的压缩包文件,直接解压后可以看到一个名为"Onboard-SDK-3.8"的文件夹,执行下列操作:

  1. 打开终端进入"Onboard-SDK-3.8"文件夹,新建一个名为"build"的文件夹,也就是在终端执行:
mkdir build

在这里插入图片描述
2. 进入新建的"build"文件夹,执行cmake和make命令:

cd build/
cmake ..
make -j4

执行结果:
Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第1张图片
等到编译进度达到[100%]之后观察"build"文件夹下多了很多东西,现在我们就编译了大疆Onboard SDK的osdk-core库和官方提供的运行例子应用。

运行例子

  1. 连接无人机和2台电脑。简单地说就是用USB-TTL线连接无人机和Linux电脑,用Micro USB线连接无人机和运行DJI Assistant 2 调参软件的Windows或者Mac电脑。
    从大疆Onboard SDK的资料网站上可以看到M600 pro无人机和电脑连接的教程:
    Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第2张图片
    我们用一根USB-TTL线跟我们的Ubuntu电脑相连,USB-TTL是下图这样的:
    Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第3张图片
    我用的无人机是大疆的M600 Pro,把无人机的顶部盖子拆开就能看见A3飞控系统,上面有一个标着"API"的接口,然后根据大疆Onboard SDK的资料网站上的API接口说明连接USB-TTL线:
    Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第4张图片
    买回来的USB-TTL线的一端一般会有4个杜邦线头(一般会在商品页面告诉你接口的线序),这时候就要注意了我们只需要连接RxD(信号接收),TxD(信号发送)和GND(接地)三根线,千万不要连接VCC 9V的供电线,否则可能会烧掉设备!

  2. 配置用户文件。用户配置文件名为"UserConfig.txt",在"Onboard-SDK-3.8/sample/linux/common"文件夹中可以找到,复制它到之前创建的"build"文件夹里面的"bin"文件夹中。然后打开"bin"文件夹中的"UserConfig.txt"文件,填入自己之前创建的App的APP ID和APP KEY。文件中的第三行device表示无人机通过USB数据线连接运行Linux系统的电脑后所用的端口名称,一般不用修改,第四行为无人机的API接口和运行Linux系统的电脑的通讯波特率,一般也不用修改。

  3. 启动设备。首先开启无人机和无人机的遥控器电源,无人机和遥控器一定要连上! 这里以Windows电脑为例,打开Windows电脑为例上的DJI Assistant 2 调参软件,确保无人机和Windows电脑相连,首先在设置里把所有选项开启:
    Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第5张图片
    点击无人机型号图标,然后升级无人机固件到最新版本。在SDK选项页面里勾选"启动API控制":
    Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第6张图片
    在模拟器选项页面点击打开模拟器,这时候记得在DJI Assistant 2 调参软件上点击"开始仿真"按钮,否则模拟器是没有反应的:
    Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第7张图片

  4. 运行例子 。回到Linux电脑上,确保Linux电脑和无人机通过USB-TTL线相连,打开终端到之前新建的"build"文件夹中的"bin"文件夹,在终端上输入以下命令运行飞行控制的例子:

./djiosdk-flightcontrol-sample

然后例子运行,之后会显示让你输入2个选项:
[a] 起飞+降落
[b] 起飞+位置控制+降落
Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第8张图片
这里我选择[b]选项,然后就能看见Linux系统电脑上的终端显示出运行结果,再看看Windows电脑上的模拟器就能看见无人机在动,这时候也可以通过无人机的遥控器控制无人机飞行。
Linux环境下搭建大疆Onboard SDK开发环境并运行M600 Pro飞行控制例子_第9张图片
同时可以运行"bin"文件夹下的其他例子,只要在终端输入 ./接上对应的例子名字就行。

你可能感兴趣的:(无人机)