PX4 命令目录
PX4 下行能力分为两类:普通飞控动作使用 MAVLinkCOMMAND_LONG / COMMAND_INT 并由 COMMAND_ACK 完成;参数读写使用 MAVLink parameter microservice,并由 PARAM_VALUE / PARAM_ERROR 完成。两类能力都通过统一 Open Platform 命令 API 创建和查询。
API 入口
| 操作 | 方法与路径 |
|---|---|
| 创建命令 | POST /api/v1/open/downlink/commands |
| 查询命令状态 | GET /api/v1/open/downlink/commands/{commandId} |
| 请求字段 | 要求 |
|---|---|
vendor | 固定 px4 |
command_type | MAV_CMD named flow 或 px4.parameter.* |
payload | 对应 command 的 typed request,不接受裸 param1..param7 |
idempotency_key | 必填,重复请求返回同一命令 |
协议覆盖
| 协议族 | 数量 | 完成信号 | 入口 |
|---|---|---|---|
| MAV_CMD named flow | 178 | COMMAND_ACK | 本页能力域目录 |
| 参数读取 | 1 | PARAM_VALUE / PARAM_ERROR | px4.parameter.read |
| 参数写入 | 1873 | PARAM_VALUE / PARAM_ERROR | named parameter set |
| 不开放入口 | 1 | 不适用 | MAV_CMD_DO_SET_PARAMETER 被 named parameter set 替代 |
调用流程
- 调用创建命令接口,设置
vendor=px4、command_type和对应payload。 - 平台返回
command_id与受理状态ACCEPTED。 - PX4 agent 在默认 disabled 模式下不会发送真实 MAVLink frame;guarded 模式才会发送并等待 PX4 响应。
- 使用
command_id查询平台命令状态;终态由COMMAND_ACK或 parameter microservice 响应推进。
MAV_CMD 能力域
| 能力域 | command 数量 | 用途 |
|---|---|---|
navigation | 33 | 航点、起降、返航、任务与地理围栏相关命令。 |
condition | 6 | 任务条件、延迟、距离、航向与门限命令。 |
system-control | 19 | 解锁、模式、预检、校准、重启、日志和系统级控制命令。 |
do-control | 45 | 速度、ROI、伺服、继电器、降落伞、执行器和任务动作命令。 |
request-system | 9 | 请求消息、协议版本、相机信息、事件和存储信息命令。 |
camera-media | 37 | 相机拍摄、录像、变焦、云台、视频流与媒体管理命令。 |
external-guided | 5 | 外部位姿、状态估计、跟随与引导控制命令。 |
user-extension | 15 | 用户自定义 MAVLink 命令区间。 |
other | 9 | 暂未归入前述能力域的 MAVLink 命令。 |
参数协议
| 能力 | command_type | 说明 |
|---|---|---|
| 读取参数 | px4.parameter.read | 调用 PARAM_REQUEST_READ,payload 指定 param_id。 |
| 写入参数 | px4.parameter.<name>.set | 每个 PX4 参数一个 named command,不允许调用方传 param_id。 |
| 全量写入目录 | 参数 set 全量目录 | 1873 个 QGroundControl 同款参数,来自 PX4 parameters.json/xml。 |
| 按组查找 | PX4 参数组目录 | 按 Commander、EKF2、MAVLink、Sensors 等 PX4 group 查找。 |
禁止项
- 不接受 generic
mavlink_commandpayload。 - 不接受云端 payload 字段
param1到param7。 - 不接受 generic
px4.parameter.set。 - 不接受
MAV_CMD_DO_SET_PARAMETER作为普通 command;参数写入必须使用 named parameter set command。