PX4 命令目录

PX4 下行能力分为两类:普通飞控动作使用 MAVLink COMMAND_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_typeMAV_CMD named flow 或 px4.parameter.*
payload对应 command 的 typed request,不接受裸 param1..param7
idempotency_key必填,重复请求返回同一命令

协议覆盖

协议族数量完成信号入口
MAV_CMD named flow178COMMAND_ACK本页能力域目录
参数读取1PARAM_VALUE / PARAM_ERRORpx4.parameter.read
参数写入1873PARAM_VALUE / PARAM_ERRORnamed parameter set
不开放入口1不适用MAV_CMD_DO_SET_PARAMETER 被 named parameter set 替代

调用流程

  1. 调用创建命令接口,设置 vendor=px4command_type 和对应 payload
  2. 平台返回 command_id 与受理状态 ACCEPTED
  3. PX4 agent 在默认 disabled 模式下不会发送真实 MAVLink frame;guarded 模式才会发送并等待 PX4 响应。
  4. 使用 command_id 查询平台命令状态;终态由 COMMAND_ACK 或 parameter microservice 响应推进。
{
  "vendor": "px4",
  "device_id": "px4-real-1",
  "command_type": "nav_return_to_launch",
  "payload": {},
  "idempotency_key": "req-px4-rtl-001",
  "timeout_seconds": 30
}

MAV_CMD 能力域

能力域command 数量用途
navigation33航点、起降、返航、任务与地理围栏相关命令。
condition6任务条件、延迟、距离、航向与门限命令。
system-control19解锁、模式、预检、校准、重启、日志和系统级控制命令。
do-control45速度、ROI、伺服、继电器、降落伞、执行器和任务动作命令。
request-system9请求消息、协议版本、相机信息、事件和存储信息命令。
camera-media37相机拍摄、录像、变焦、云台、视频流与媒体管理命令。
external-guided5外部位姿、状态估计、跟随与引导控制命令。
user-extension15用户自定义 MAVLink 命令区间。
other9暂未归入前述能力域的 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_command payload。
  • 不接受云端 payload 字段 param1param7
  • 不接受 generic px4.parameter.set
  • 不接受 MAV_CMD_DO_SET_PARAMETER 作为普通 command;参数写入必须使用 named parameter set command。