接口规范
飞机侧必须实现的协议、参数、时序与格式。文本开放,实现自由。

平台包含接口规范、开发工具、一致性测试与认证授权。
飞机侧必须实现的协议、参数、时序与格式。文本开放,实现自由。
Python 与 C++ 客户端、REST 接口、舞步工具链、仿真沙箱。
74 项自测脚本可在本地实验室运行,输出用于认证提交的签名报告。
认证分为三级,与订阅和授权票绑定,按等级开放飞行栈能力。
规范、SDK 与工具按许可开放;飞行栈和安全内核采用商业授权。
厂商自主设计机型、尺寸、动力配置、外观与品牌;平台按机型与批次认证。
可阅读、修改与二次分发,也可独立按规范实现。
起飞授权链、集返与互避、动态补位、时统;授权票签发与校验、固件签名、机器码绑定。只有一个版本,由一方维护。
| 层 | 内容 | 许可 | 可否二次分发 |
|---|---|---|---|
| 规范文本 | 协议、字段、时序、参数表 | CC BY 4.0 | 可以 |
| SDK 客户端 | Python / C++ / REST 封装、示例、仿真桩 | Apache-2.0 | 可以 |
| 舞步格式 | 舞步容器格式说明与解析实现 | Apache-2.0 | 可以 |
| 一致性套件 | 74 项自测脚本与报告生成器 | Apache-2.0 | 可以 |
| 地面站前端 | SkyMagician GCS 界面与交互 | Source-Available | 可读可改,不可再发行 |
| 飞行栈 | 起飞授权链、集返与互避、动态补位、时统 | 商业授权 | 不可 |
| 安全内核 | 授权票签发与校验、固件签名、机器码绑定 | 不开放 | 不可 |
一场演出的数据流是单向、可追溯的:创作 → 打包 → 分发 → 校验 → 起飞 → 遥测回流 → 落盘。
创作 打包 地面站(飞行栈) 机队 Studio / Blender -> 舞步容器 -> 编号分配 -> 写入飞机 轨迹 / 关键帧 加密与签名 逐机分发舞步 -> 舞步存储 安全指标校验 逐机校验 <- 校验应答 起飞前准备 定时同步起飞 -> 同步离地 合包遥测回流 <- 逐机单播 飞行记录落盘 / 回放
地面站分为实时链路层与编排显示层:前者负责与机队之间的收发与分发,后者负责编排、监控与回放。各项职责与规范的对应关系:
| 能力 | 职责 | 对外接口 |
|---|---|---|
| 实时链路 | 逐机单播收发与会话维护 | 规范 §链路 |
| 协议解析 | MAVLink v2 解析与合包解码 | 规范 §遥测 |
| 机队台账 | 在线判据、编号映射与状态归集 | SDK Fleet |
| 舞步分发 | 分片分发、缺包补传、逐机校验 | SDK Dance |
| 固件分发 | 签名固件推送与线刷 | 授权等级 ≥ SMC-2 |
| 差分注入 | RTK 差分数据注入与基准分发 | 规范 §时统 |
| 射频群广播 | 时统对齐与紧急指令 | 规范 §链路 |
| 动态补位 | 缺席顶替与顶替轨迹 | 飞行栈(闭源) |
| 授权校验 | 在线鉴权与离线凭证校验 | 安全内核(闭源) |
| 遥测发布 | 供前端与第三方订阅的实时遥测出口 | SDK / 科研订阅 |
在浏览器中体验编号分配、舞步校验、起飞准备与返航流程,无需连接真机。
模拟器使用仿真机演示以下四个步骤:
按桩位文件为仿真机分配编号,未分配编号的飞机不能进入后续步骤。
大包分片下发,中断可续,重复内容不重传,随后逐机校验回执。
逐项检查链路、编号、舞步、电量与定位等级;未通过检查的飞机不予起飞授权。
定时同步起飞,合包遥测回流,返航互避与动态补位。

机身、系统与界面支持品牌定制。接入机型须满足接口规范,完成编号写入、舞步校验与起飞前检查。
厂商需要在自己的飞机上满足的最小集合。不限定机型、尺寸、动力配置与外观。
| 项 | 要求 | 说明 |
|---|---|---|
| 飞控 | 支持 MAVLink v2 与本规范方言 | 可采购参考飞控模块,也可在自有飞控上实现方言 |
| 身份存储 | 非易失的整机编号存储 | 整机唯一编号的唯一事实源;掉电不丢,重刷固件不丢 |
| 定位 | GNSS + RTK 差分输入 | 需接受标准差分数据注入;演出态要求固定解 |
| 数传 | WiFi,逐机单播 UDP 会话 | 必须能接受单播;不依赖广播工作 |
| 射频备链 | 可选,用于时统与紧急指令群广播 | SMC-2 起为必需项 |
| 灯板 | RGB,支持整机同步着色与逐帧刷新 | 需守住规范给出的整机着色时序一致性,并响应地面下发的灯光自检 |
| 电池遥测 | 电压、电流、剩余百分比 | 电流为必需项,动力自检靠它判断电机异常 |
| 电机测试 | 支持单电机独立测试 | 自动停止保护是硬性安全要求,不可省略 |
| 存储 | 舞步容量 ≥ 单场轨迹 + 一份冗余 | 按单场时长与关键帧密度估算,计算口径见规范全文 |
| 固件包 | 接受平台签发的签名固件包 | SMC-3 要求拒绝未签名固件 |
严格逐机单播。每架飞机一条 UDP 会话,丢包能定位到具体机号。
集群规模上去以后,广播会把整个无线信道打满,而且无法定位是哪一架没收到。 平台采用严格逐机单播:指令、遥测速率、舞步分片全部点对点。 射频群广播只保留两类用途,时统对齐与紧急指令。
| 链路 | 用途 | 要求 |
|---|---|---|
| UDP 单播 | 指令、遥测、舞步与固件分发 | 逐机单播;飞机侧须按已建立的会话点对点回发,不依赖广播 |
| 射频群广播 | 时统对齐、紧急返航、紧急降落 | 只出不进,不承载状态回传 |
| 差分链路 | RTK 差分 | 由地面站注入,飞机侧透传至定位模块 |
| 遥测发布(地面侧) | 遥测发布给前端与第三方 | 科研订阅入口,不经过飞机 |
标准 MAVLink 分别发送姿态、位置、电池与 GPS 消息。单帧合包将单机完整状态合并传输,减少大规模机群的包数。
字段分组如下,完整字段表、编码与刷新口径见规范全文:
| 分组 | 覆盖内容 | 用途 |
|---|---|---|
| 标识 | 整机唯一身份与链路标识 | 识别、去重与重号发现 |
| 模式 | 解锁状态与当前飞行模式 | 解锁与飞行模式判定 |
| 位置 | 水平位置与两种高度基准 | 显示、围栏与飞行记录 |
| 速度 | 三轴速度 | 互避与异常判定 |
| 姿态 | 三轴姿态角 | 航向偏差与倾覆检测 |
| 电池 | 电压、电流与剩余电量 | 双阈值告警;电流用于动力自检 |
| 定位质量 | 定位解算质量与可用性指标 | 起飞闸判据 |
| 飞控 | 温度与固件版本信息 | 批次一致性核对 |
| 任务 | 舞步校验状态与在机编号 | 舞步校验与在地判定 |
| 状态文本 | 告警文本与严重度 | 告警上色与事件时间线 |
覆盖起飞、舞步、自检、返航四类核心能力的完整指令集。必需级的指令飞机侧必须全部实现;可选级不实现时须明确拒绝,不得静默丢弃。
| 类别 | 覆盖范围 | 级别 |
|---|---|---|
| 起飞与飞行控制 | 解锁与上锁、模式切换、定时与即时起飞、暂停、变速、时间对齐、任务回放 | 必需 |
| 身份与编号 | 编号写入与清除、桩位基准获取、补位与移除 | 必需 |
| 舞步 | 舞步分发、取消与逐机校验 | 必需 |
| 返航与降落 | 集群返航、单机返航路径、紧急降落 | 必需 |
| 灯光与效果 | 整机着色、灯效状态、外挂效果触发 | 着色自检必需,其余可选 |
| 校准与自检 | 磁罗盘与加速度计校准、动力地面检测、备用链路健康检查 | 动力地面检测必需 |
| 固件与配置 | 固件推送与取消、重启、参数读取与写入 | 固件类 SMC-2 起必需,其余必需 |
飞机在解锁状态下必须拒绝一切写入非易失存储的指令:舞步上传、编号写入、固件推送、参数批量写。 地面站侧同样有闸门,但飞机侧必须独立实现,不能依赖地面站不发。
整场演出打成一个加密容器,按分片下发、逐机校验,未校验的机不放行。
三套客户端,同一套语义。
机队操作、遥测订阅、策略插槽,配套仿真桩。
飞行栈以库的形式嵌入自研程序,界面由接入方开发。
排期、审批、计费与回放归档走服务端。
from skymagician import Fleet, Dance fleet = Fleet.connect("udp://192.168.1.0/24", license="~/.sm/ticket") # 按桩位文件分配编号:编号写进飞机的非易失存储,是整机唯一身份 fleet.assign_numbers(source="stakes.csv") dance = Dance.load("show-2026.pack") fleet.upload(dance, verify=True, resume=True) # 起飞前准备:逐项自检,未通过的机不放行 report = fleet.preflight() for unit in report.blocked: print(unit.number, unit.reason) if report.ok: fleet.timed_takeoff(at="2026-10-01T20:00:00+08:00")
for frame in fleet.telemetry(): # frame.units: 每架的完整合包遥测解码结果 airborne = [u for u in frame.units if u.armed and u.is_airborne] print(frame.t, len(airborne), "airborne")
科研用户可替换编队调度与返航策略,经仿真验证后用于真机。策略插槽开放决策输入与输出,安全校验始终由平台执行。
from skymagician.research import ReturnPolicy, register class MyReturn(ReturnPolicy): def plan(self, units, home_slots, obstacles): # 返回 {unit_id: [waypoint, ...]};平台会对结果做安全校验后执行 return my_solver(units, home_slots, obstacles) register(MyReturn, sandbox_only=False) # 真机执行需 SMC-2 以上授权
通过接口将演出排期、审批、计费与回放归档接入业务系统。
| 端点 | 方法 | 用途 |
|---|---|---|
| /v1/orgs/{id}/licenses | GET | 查询本组织的订阅等级、剩余架次额度 |
| /v1/tickets | POST | 签发离线授权票,绑机器码,含有效期 |
| /v1/tickets/{id}/revoke | POST | 吊销授权票,下次联网即失效 |
| /v1/fleets | GET | 机队清单:编号、SMC 等级、固件版本、批次 |
| /v1/shows | POST | 创建演出:时间、场地、架数、舞步包引用 |
| /v1/shows/{id}/flights | GET | 架次明细,计费与回放的事实来源 |
| /v1/shows/{id}/report | GET | 飞行报告:起飞率、告警明细、异常机分类 |
| /v1/conformance/reports | POST | 提交一致性自测报告,进入认证流程 |
| /v1/billing/usage | GET | 用量:席位数、已消耗架次、当期账单预估 |
| /v1/webhooks | POST | 订阅事件:认证状态变更、额度告警、票据吊销 |
使用自有样机在本地实验室完成六组共 74 项测试,全部通过后提交签名报告申请认证。
| 组 | 内容 |
|---|---|
| 链路 | 会话建立与重连、丢包与重传行为、速率控制的一致性 |
| 遥测 | 合包字段正确性、刷新行为、时间戳单调性、边界值处理 |
| 指令 | 必需指令的响应与拒绝语义、在飞写入保护、重复下发与超时行为 |
| 身份 | 编号写入与掉电保持、编号与舞步的一致性 |
| 舞步 | 分片接收、缺包补传、断点续传、整包校验、容量边界 |
| 安全自检 | 动力自检与安全超时、灯光自检、校准过程可中止 |
$ smc-conformance run --target 192.168.1.31 --profile SMC-2 链路 PASS 遥测 PASS 指令 FAIL 在飞硬闸: 解锁态接受了舞步写入 身份 PASS 舞步 PASS 安全自检 PASS 结果: NOT READY — 在飞硬闸为一票否决项 报告: ./smc-report-20261001-1732.json (已签名)
SkyMagician Compatible 分为三级,分别规定飞行栈能力与商业演出权限。
要求:一致性套件基础各组全通过,样机复测。
解锁:被地面站识别、编号、上舞步;仿真与训练飞行。
要求:加测安全自检组,并追加飞行安全与编队精度实测。
解锁:集群返航与互避、动态补位、固件推送;可承接商业演出。
要求:批次一致性抽检、固件签名链、供应链审核。
解锁:批量授权、贴牌分销、OEM 授权书。
统一管理在线鉴权、离线凭证、固件签名与授权吊销。
地面站提供跨平台运行、集群操作、灯光控制、单机调试与故障筛选。
集群控制系统兼容安卓、Linux、Windows 三个平台,可按现场条件与运维环境选择。
从选择舞步到无人机起飞,通过 5 个按钮完成操作;P04 提供浏览器流程演示。
舞步灯光与手动灯光控制分离,高动态实时控制。指令侧对应 P08 指令集里「灯光与效果」一类,其中整机着色自检为必需项。
支持安卓接入进行单机调试及通讯。样机联调、现场单机排查可以在安卓端完成。
系统支持故障筛选与排除。起飞检查流程见 P04,判定要求见 P12 一致性套件。
依托成熟的集群控制链路,实现单系统控制 13000 架无人机同时起飞、在空中按设定轨迹飞行,稳定可靠。
通信链路提供机群组网、融合定位、长距离传输与统一授时。

大规模无人机编队表演、高校无人机集群教学、蜂群靶机、集群飞行科研——依托同一条成熟的集群控制链路,单系统控制 13000 架无人机同时起飞、在空中按设定轨迹飞行。
同一套集群控制链路面向科研、表演、定制机型、靶机与教学应用,按场景配置舞步、机型与现场方案。
聚焦协同控制、通信导航、任务规划等关键技术,通过分布式算法实现多机自主编队、避障与任务协同。
系统统筹编队动态变换、灯光联动及路径规划,地面控制台实时监控状态,实现万架级无人机群以精准定位系统,勾勒动态图案。
适配客户自有定制机型,支持多品牌、多规格无人机快速接入,实现私有化编队控制与全流程运营,为品牌定制化需求提供底层技术支撑。
聚焦多机协同控制、动态编队及抗干扰等技术验证。通过低成本、模块化靶机群建集群,模拟饱和突防、诱骗干扰等战术场景,测试防空系统的探测、拦截效能。
面向新兴职业「无人机集群航线规划员」,提供标准化教学方案。依托真实集群调度能力,开展航线设计、轨迹优化、灯光编程全流程实训,为低空经济新业态输送专业技术人才。
可使用参考飞控,也可使用实现规范方言并通过一致性测试的自有飞控。
可以通过 C++ SDK 将飞行栈嵌入自有地面站,界面由接入方开发。
仿真沙箱可以,真机不行。真机起飞需要有效授权票,票据签发以 SMC 认证为前提。
会。次版本保持向后兼容;不兼容变更只在主版本发生,提前 6 个月公告,旧版本继续支持 18 个月。
教学与非商业科研可申请社区版软件授权,包含沙箱、SDK 与 SMC-1 认证;课程材料、教学套件及配套服务按对应产品方案确认。对外收费演出按商业等级计费。
标准编队无人机没有摄像头及其他影像载荷,不支持巡检、航拍、测绘与视觉识别;主要用于多机同步编队飞行与灯光表演。
| 版本 | 日期 | 变更 |
|---|---|---|
| v1.0-draft | 2026-08 | 首次公开草案:链路、合包遥测、指令集、舞步容器、一致性套件 74 项 |

已完成 6600 余场高标准编队表演、覆盖全国 200 余座城市、累计安全飞行超 240 万架次,并保持 5184 架同时编队飞行的吉尼斯世界纪录。这条链路现在按规范对外开放:规范可自由实现,飞行栈与安全内核按授权等级下发。