跳转至

大疆开放无人机架构标准

摘要

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模式)有本质区别。

相关内容

笔记

  • 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更偏向商业应用,缺乏军规级安全认证和跨品牌互操作性