DJI 机载SDK

Onboard-SDK

无人机 🧩 软硬件结合 已发布
dji-sdk 979 Stars NOASSERTION BOM 完整度: 3/5 教程完整度: 0/5

项目简介

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)
无人机竞赛或教育课程(二次开发教学)
定制化无人机应用(如物流配送、搜救辅助)