【大疆无人机OnboardSDK(一)Assistant2仿真系统搭建】

本文详细介绍了大疆M600无人机OnboardSDK的搭建过程,包括硬件准备如M600无人机、妙算2-C处理器、Ubuntu与Windows电脑的配置,以及软件准备如DJIAssistant2和OnboardSDK的下载与安装。文章还提供了连接线的使用说明,以及如何通过Ubuntu进行OnboardSDK的编译和配置,最后展示了如何在DJIAssistant2上进行仿真模拟。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【大疆无人机OnboardSDK(一)Assistant2仿真系统搭建】

首先:一定要仔细阅读官网给出的说明书!M600用户使用说明,以及妙算2-C使用说明,不然都搞不清哪些线的作用是干什么的,也不清楚飞控上面哪些预留口是正常有用的!

为了想要完成OnboardSDK开发,首先要对其仿真模拟平台进行搭建,大疆自带了Assistant2软件(貌似只有windows和mac版本)该软件可对无人机固件升级,OnboardSDK开发API设置,波特率设置,以及仿真模拟GUI显示无人机飞行姿态等。

硬件平台准备:

  • 大疆M600无人机(A3飞控);

  • win10电脑一台(用来安装Assistant2);
  • ubuntu16.04电脑一台(我使用的妙算2-C用来编译运行OnboardSDK);妙算2-C 是大疆自己出产的inter i7的处理器即CPU版本。
  • 无人机遥控器(用来将档位调至F档,表示采用OnboardSDK控制,具体档位说明见其用户说明书。)

软件准备:

重点来了,如何连接线?按照上面的准备工作,查看大疆开发者官网给出的连线示意图:

https://developer.dji.com/onboard-sdk/documentation/development-workflow/hardware-setup.html

官网给出的图其实很清楚:

 

A3也就是我们M600盖子下面的飞控了,打开顶盖即可发现:

1、而只需要用API接口就行,那我怎么知道API那几个孔端点是啥?所以官网给出了下面示意图来说明:从左往右依次对应:

(我试了USB转TTL之后的波特率也可以自行设置,例如230400。用转接后USB可以随便插妙算任意一个USB口即可,USB对应的设备为ttyUSB0)因此这时需要使用USB-TTL的转接线才能连接到Ubuntu(妙算2)的USB插口上。貌似默认配件里面没有,要向厂家要,或者网上买一根。这个线长这样:

然后就可以将A3和Ubuntu连接起来了(只需要用到下面三个线):还是上面第一张图。

注意TXD表示发送数据,RXD表示接受数据!一般串口就用这二个来表示。左边发送,右边接收,右边发送,左边接收!

2、M600无人机外面的LED指示灯下给出的一个Micro-USB接口(即之前常用的安卓数据线的另一头)。这个是用来连接windows电脑usb,进而利用Assistant2来进行执行仿真模拟,固件升级等都是这个口。

3、连接完成之后:飞控上面的红色指示灯会亮起。

仿真模拟实验:

首先:获取权限

您需要将您的用户添加到dialout组中,以获取uart通信的读/写权限。请按照以下步骤操作:

  1. 在终端键入   sudo usermod -a -G dialout $USER
  2. 注销您的用户帐户,然后再次登录以使权限生效。

1.打开妙算终端下载OnboardSDK:

从github下载OnBoard-SDK源码

git clone https://github.com/dji-sdk/Onboard-SDK

2.下载好源码之后进入源码并编译:

cd Onboard-SDK
mkdir build
cd build
cmake ..
make 

3.将配置复制进当前Onboard-SDK下面的UserConfig.txt到:bin/目录下:

cp ../sample/linux/common/UserConfig.txt bin/

4.进入bin/目录下修改上面复制过来的用户配置文件。

cd ./bin
vim UserConfig.txt 

配置文件如下:

app_id : your_app_id_here   //App ID
app_key : your_key_here     //Key
device : /dev/ttyUSB0   //USB连接飞控后在电脑中显示的串口名称
baudrate : 230400   //在 DJI Assitant 2 中修改的波特率

app_id与app_key去大疆开发者网站:https://developer.dji.com/cn/

注册账号并审核升级为开发者用户,在用户中心创建一个app点进去即可获得:填好上面内容。

5.执行官方Samples示例程序,并在Assistant2中查看仿真Demo轨迹。

cd bin
./djiosdk-flightcontrol-sample UserConfig.txt

成功运行后,会提示你数据命令,这时你需要讲遥控器拨到F档,然后终端会提示你输入命令a或b。

效果如下:

注意事项:

①最好跑程序的时候就提前将遥控器打开,并拨到F挡位。注意把无人机旋翼收起来(尽管它也飞不起来)

②使用Onboard SDK前,注意将Ubuntu(执行时不需联网,但是下载onboardSDK时需要联网)通过USB-TTL连接A3飞控,遥控器连接手机,手机连网,windows电脑(联网)连接Micro-USB,首次执行Samples时会在软件DJI Assistant2上面要登陆进行激活。

③注意在Windows电脑下打开Assistant2时选择SDK,并勾选启动API控制,波特率调整和上面UserConfig.txt中填写的一致。调完波特率之后需重新启动一下无人机A3飞控。

④串口打开失败

ls -l /dev |grep ttyU

开放权限:

sudo chmod 666 /dev/ttyUSB0

⑤没有检测到上面串口,检查TXD和RXD二者收发方是否接正确。

 

 

 

 

DJI Python SDK 是套为开发者提供的软件开发工具包,主要用于与大疆的机器人产品如 RoboMaster EP 进行交互。它包含了系列的 API 和示例代码,允许用户通过 Python 编程语言来控制设备的功能。 ### 下载 DJI Python SDK - **项目地址**:可以通过访问 [RoboMaster-SDK](https://gitcode.com/gh_mirrors/ro/RoboMaster-SDK) 项目页面获取最新的 SDK 包以及相关的示例代码[^1]。 - **其他资源**:对于特定硬件如 A3/N3/M600 飞控系统,需要下载对应的 OSDK 库,并确保版本兼容性。此外还需要安装 DJI Assistant 2 for Autopilot 或者相应的调参软件[^2]。 ### 安装指南 - 如果您打算在树莓派上使用该 SDK,则可以找到名为 `sdk install on Raspberry Pi.7z` 的压缩包,其中包含了适用于树莓派的安装指南文档“树莓派上的python sdk使用.docx”[^3]。 - 按照文档中的步骤执行安装过程,通常包括解压文件、配置环境变量等操作。 ### 使用方法 - 在开始开发之前,请确保您的开发环境中已经正确设置了所有必要的依赖项和库。 - 参考官方提供的示例代码来了解如何初始化 SDK 并连接到您的设备。 - 对于某些设备,例如 DJI Matrice 300 RTK,在进行任何开发工作前都应当熟悉相关行业的应用标准和规范,以保证无人机的安全性和可靠性运行[^4]。 ### 开发注意事项 - 固件更新:保持飞控系统的固件为最新版本是非常重要的,这可以通过 Micro-USB 接口连接计算机并利用 DJI Assistant 2 工具完成。同时要注意固件与 OSDK 版本之间的匹配问题。 - 启用 OSDK API:根据所使用的具体机型,可能需要启用特定的 API 权限才能进行外部控制。 以下是个简单的 Python 脚本示例,展示如何使用类似结构的 SDK 初始化个机器人对象(请注意实际代码会因具体的 SDK 版本而有所不同): ```python from robomaster import robot def main(): # 创建机器人对象 ep_robot = robot.Robot() # 初始化机器人 ep_robot.initialize(conn_type='sta', sn='your_device_serial_number') # 获取机器人状态信息 version = ep_robot.get_version() print("Robot Version: {0}".format(version)) # 执行些动作... # 结束任务并释放资源 ep_robot.close() if __name__ == '__main__': main() ``` 这段代码演示了如何创建个 RoboMaster 机器人的实例,并且通过指定连接类型和序列号来初始化这个实例。之后,它可以用来发送命令给机器人,比如获取其软件版本。最后,当程序结束时,关闭机器人连接以释放占用的资源。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值