PX4 开放平台接入

PX4 是 UTMOS Open Platform 的独立 vendor。接入方使用同一套开放平台鉴权、命令创建、命令查询和事件模型,但请求中的 vendor 固定为 px4,不会复用 DJI command catalog,也不会进入 DJI 兼容层。
真实 PX4 下行默认关闭。生产环境默认只读;MAVLink command、parameter read 和 parameter set 只有在 PX4_COMMAND_MODE=guarded、transport ready、租户授权和 operator guard 都满足时才会发送到飞控。

接入面

接入面当前能力对外合同
上行 telemetryMAVLink 观测事件与 vehicle state 投影PX4 云端接入
MAV_CMD 下行178 个 PX4 sourced generated flowPX4 命令目录
参数读取1 个 px4.parameter.read flow参数协议
参数写入1873 个 named px4.parameter.<name>.set commandnamed parameter set
台架验证真实飞控、HITL、Gazebo Classic、QGroundControlGazebo Classic HITL

推荐入口

云端接入合同

NATS subject、command.accepted、command.completed、上行事件和状态映射

下行命令目录

按能力域查看 178 个 MAV_CMD flow 与参数协议入口

参数 set 全量目录

查看 1873 个 PX4 named parameter set command

按 PX4 参数组查找

按 Commander、EKF2、MAVLink、Sensor Calibration 等分组定位参数

调用链路

command.accepted 只表示开放平台已经完成鉴权、授权、幂等校验和持久化,不表示飞控已经执行。执行结果以查询接口中的 statusresponse_coderesponse_messagevendor_response 为准。

生产边界

  • PX4_COMMAND_MODE=disabled 是默认值;此时 agent 不会向真实飞控发送任何下行 frame。
  • MAV_CMD 不接受 generic mavlink_commandparam1param7 这类裸 MAVLink payload。
  • 参数写入不开放 generic px4.parameter.set,也不开放 MAV_CMD_DO_SET_PARAMETER;必须使用 named parameter set command。
  • 参数写入必须命中 PX4_PARAMETER_WRITE_ALLOWLIST,payload 不能覆盖 param_idvalue_type
  • PX4 与 DJI 是并列 vendor;云端多厂商能力应该通过统一 command lifecycle 聚合,不应该让 PX4 接入污染 DJI method 设计。

最小请求示例

{
  "vendor": "px4",
  "device_id": "px4-real-1",
  "command_type": "nav_return_to_launch",
  "payload": {},
  "idempotency_key": "req-px4-rtl-001",
  "timeout_seconds": 30
}
参数写入示例:
{
  "vendor": "px4",
  "device_id": "px4-real-1",
  "command_type": "px4.parameter.cbrk_usb_chk.set",
  "payload": {
    "value": 0
  },
  "idempotency_key": "req-px4-param-CBRK_USB_CHK-001",
  "timeout_seconds": 30
}

下一步

  1. 先阅读 PX4 云端接入,确认 command lifecycle 和安全模式。
  2. 下发普通飞控动作时,从 PX4 命令目录 选择能力域。
  3. 读取或写入参数时,从 参数协议 进入;需要全量写入参数时使用 参数 set 全量目录按参数组查找