DJI 机载SDK
Onboard-SDK
无人机
🧩 软硬件结合
已发布
项目简介
DJI Onboard SDK官方仓库
DJI Onboard SDK(简称OSDK)是大疆创新为开发者提供的一套软硬件开发工具包,旨在让用户将自研的机载计算机通过串口(TTL UART)与大疆旗下支持该SDK的飞行器或飞控系统直接连接,从而实现对无人机底层功能的深度控制与二次开发。当前版本4.1.0于2021年2月发布,在4.0.1基础上进行了多项重要更新,包括新增USB重连功能、提供飞控与相机的基础接口、验证电池模块对M300机型的部分支持,并修复了航点任务V2、相机图像解码、文件下载及MOP功能中的已知问题,同时对飞控与激活模块的实现进行了优化。在ROS支持方面,该版本补充了大部分此前OSDK库中包含但ROS接口中缺失的功能。
标签
项目特点
**实时飞行控制**:支持通过串口或网络直接发送速度、姿态、位置等控制指令,实现精准飞行。
**丰富数据获取**:可获取GPS坐标、IMU姿态、电池电压、遥控器信号强度等数十种传感器数据。
**多平台支持**:提供Linux、ARM、STM32等平台的示例代码和库,适配主流嵌入式系统。
**高级功能集成**:支持调用相机拍照录像、获取避障系统状态、设置兴趣点环绕等高级功能。
**开源与社区活跃**:代码完全开源,GitHub星数近千,有大量开发者贡献示例和问题解答。
**模块化设计**:核心库与平台代码分离,方便移植到自定义硬件或操作系统。
技术规格
| 支持无人机型号 | |
|---|---|
| 通信接口 | |
| 最大通信波特率 | |
| 数据刷新率 | |
| 控制频率 | |
| 支持操作系统 | |
| 开发语言 | |
| 依赖库 | |
| 固件版本要求 |
项目资源
物料清单 (BOM)
| 物料名称 | 数量 | 参考价格 | 备注 |
|---|---|---|---|
| DJI 无人机(如M300 RTK) | 1 | — | 需支持Onboard SDK |
| 机载计算机(如NVIDIA Jetson) | 1 | — | 运行SDK代码的主机 |
| USB转TTL串口模块 | 1 | — | 用于连接飞控与计算机 |
| 杜邦线/连接线 | 若干 | — | 连接串口模块与飞控 |
| Ubuntu 16.04/18.04 | 1 | — | 推荐Linux环境 |
| CMake (≥3.5) | 1 | — | 构建工具 |
| GCC/G++ | 1 | — | C/C++编译器 |
所需工具
计算机(3D建模)
必需
树莓派/开发板
必需
能力画像
**记忆与知识检索**:3/5 — 需要查阅官方文档和API手册,但核心接口数量适中,记忆负担不大。
**动手与操作**:4/5 — 需要连接硬件、配置串口、调试无人机,动手操作要求较高。
**编程与算法**:4/5 — 需要编写C/C++代码实现控制逻辑,涉及多线程和实时通信,算法复杂度中等。
**设计与建模**:2/5 — 项目不涉及硬件设计或3D建模,主要是软件集成。
**实验与调试**:5/5 — 必须反复测试飞行控制指令、数据回传和异常处理,调试是核心环节。
**协作与分享**:3/5 — 开源社区有讨论和PR,但个人开发者居多,协作需求一般。
**学习与研究**:4/5 — 适合研究无人机控制、传感器融合、机器人操作系统(ROS)集成等方向。
**系统集成**:5/5 — 需要将SDK与机载计算机、传感器、地面站等系统整合,集成度很高。
所需技能
C/C++编程基础
Linux系统基本操作(命令行、文件管理)
串口通信与网络编程基础
无人机基本飞行原理与安全知识
使用CMake构建项目
调试工具(如GDB、日志输出)的使用
可选:ROS(机器人操作系统)集成经验
适用场景
无人机自主巡检(电力线、桥梁、农田)
科研实验(多机协同、视觉SLAM、环境监测)
无人机编队飞行表演
工业测绘与三维建模(结合相机与RTK)
无人机竞赛或教育课程(二次开发教学)
定制化无人机应用(如物流配送、搜救辅助)