大疆开放无人机架构标准¶
摘要¶
DJI构建了覆盖移动端、机载端、负载端、云端的多层级SDK体系,通过抽象产品类和组件类实现高度可扩展的架构设计。同一套代码可控制不同无人机产品,新机型发布后现有应用即可兼容,体现了消费级/工业级无人机领域最成熟的开放架构实践。
SDK体系架构¶
DJI开发者平台提供6大SDK:
1. Mobile SDK(MSDK)¶
面向iOS/Android应用开发,控制DJI无人机和手持相机设备。
核心能力: - 飞行控制(自主飞行、航点规划) - 相机控制(拍照、录像、参数调节) - 实时视频流获取 - 传感器数据获取(GPS、指南针、气压计、飞行速度、海拔,最高10Hz) - 媒体文件下载与管理 - 遥控器、电池、无线链路状态访问
架构特点: - 使用抽象产品类和组件类,同一套代码控制不同产品 - 为适配Phantom 4编写的应用,可直接在Inspire 1上使用(除独特功能外) - 新产品发布时,现有应用即兼容(需更新到支持新产品的SDK版本)
2. Payload SDK(PSDK)¶
面向无人机负载设备开发,使第三方传感器和工具包能与DJI飞行平台深度集成。
核心理念:打造无人机空中的专用工具包
提供内容: - 开发负载设备的API接口 - 硬件平台(SkyPort V2、X-Port标准云台) - 负载设备设计标准 - 技术支持、负载检测及市场推广
支持平台:Linux系统、RTOS系统
典型应用:气体监测仪、倾斜摄影相机、喊话器、探照灯等
3. Onboard SDK(OSDK)¶
面向机载计算机应用开发,基于OSDK开发的应用程序运行在机载计算机上。
- 通过指定接口获取无人机飞行控制器、GPS模块、图传系统等数据
- 适合需要高性能边缘计算的复杂任务
4. Edge SDK¶
面向DJI Dock(无人机机场)和云端管理场景。
- 支持DJI Dock 3、DJI Dock 2、DJI Dock
- 与DJI Pilot 2上云方案配合
- 支持Matrice 4E/4T、Matrice 350 RTK、Matrice 30系列等行业机型
5. Cloud API¶
通过DJI Pilot 2实现无人机上云,无需深度定制APP即可通过云端控制无人机。
- DJI Cloud API Demo开源工具包
- 基于MQTT协议的云端通信
- 支持远程任务下发、实时数据回传、设备管理
6. UX SDK / Windows SDK¶
- UX SDK:提供用户界面组件,快速构建DJI设备控制界面
- Windows SDK:支持Windows平台的无人机应用开发(Public Beta)
架构设计原则¶
高度可扩展的组件化设计¶
Component层级:
├── 飞行器产品类
│ ├── 飞行控制器
│ ├── 云台
│ ├── 相机
│ ├── 遥控器
│ └── 无线链路
└── Mission Control(任务控制)
├── 单个智能任务(Mission Operator)
└── 连续任务序列(Timeline)
- Component类:描述云台、相机、飞行控制器、遥控器和无线链路等,提供组件控制、状态信息并包含子组件
- Mission Control:负责执行智能任务,支持单个任务运行和连续任务序列
抽象与兼容性¶
- 将15类硬件模组抽象为软件底层驱动
- 不同产品间的功能差异在运行时可查询调用
- 一致性功能直接可用,无需修改
支持的产品矩阵¶
| SDK | 代表支持产品 |
|---|---|
| Mobile SDK | Mavic 3系列、Matrice 30/300/350 RTK、Mini 3/4 Pro、Matrice 400 |
| Payload SDK | Matrice 30/300/350 RTK、Mavic 3行业系列 |
| Edge SDK | Matrice 4E/4T、Matrice 350 RTK、Matrice 30系列 |
| Onboard SDK | Matrice 100/200/210/600系列 |
| Windows SDK | Mavic 2系列、Phantom 4 Pro V2 |
开发者生态¶
- 开发者社区:提供技术文档、示例代码、论坛支持
- GitHub开源:Payload-SDK等部分SDK开源
- 负载检测与认证:通过官方负载检测,获得市场推广支持
- 妙算(Manifold):面向DJI行业无人机的算力拓展模块,提供高性能端侧算力与原生PSDK接口
与MOSA的关联¶
DJI SDK体系与MOSA原则的对照:
| MOSA原则 | DJI实践 |
|---|---|
| 模块化设计 | 组件类抽象(云台/相机/飞控独立组件) |
| 开放接口 | 多层级SDK覆盖移动端/机载/负载/云端 |
| 标准统一 | 同一套API跨多代产品兼容 |
| 即插即用 | 新产品发布即兼容现有应用 |
| 供应商竞争 | PSDK允许多家第三方负载厂商在统一平台竞争 |
关键差异:DJI的开放是围绕DJI自有飞行平台的生态开放,而非平台本身的开放。飞行平台核心飞控算法、通信协议底层仍为闭源,这与MOSA要求的"全栈开放、政府拥有架构定义权"(如GRA模式)有本质区别。
相关内容¶
- china-vehicle-road-cloud-integration — 中国车路云一体化战略
- huawei-vehicle-open-ecosystem — 华为车辆开放生态
- ucs-control-station — 无人系统指挥控制标准接口(UCS/STANAG 4586)
- sosa-sensor-open-systems-architecture — SOSA传感器开放系统架构
笔记¶
- DJI已于2021年10月停止对PSDK V2.x.x和SkyPort的开发,建议使用PSDK V3.x.x + SkyPort V2/X-Port
- Mobile SDK V4与V5架构有较大差异,开发者需注意版本迁移
- 大疆在消费级无人机市场占有率超过70%,其SDK体系事实上成为行业标准
- 与美军UCS(STANAG 4586)标准相比,DJI SDK更偏向商业应用,缺乏军规级安全认证和跨品牌互操作性