请输入
菜单

PX4-Autopilot v1.17.0(稳定版)版本说明

PX4-Autopilot v1.17.0 版本说明

核心更新一览

  • 多旋翼新增“高度巡航”模式:摇杆回中时,飞行器保持当前的倾角和航向,以稳定的速度继续巡航,而不是像“高度模式”那样直接刹停。
  • 固定翼起飞模式优化:导航信号丢失后,飞机会保持机翼水平继续爬升;同时支持利用起飞航点的经纬度来设定盘旋等待位置 (PX4-Autopilot#25226)。
  • ROS 2 控制接口增强:固定翼飞行器(以及处在固定翼模式下的 VTOL)现在可通过 PX4 ROS 2 控制接口中的 FwLateralLongitudinalSetpointType 消息,直接下发横向和纵向的控制期望值。
  • 无人车 ROS 2 控制接口:通过新增的 RoverSetpointTypes 消息,支持位置、速度、油门、姿态、角速率、转向等不同组合的期望值下发,并保证类型组合的合法性。详见无人车应用与 API 文档
  • 实验性功能:树内 Zenoh 中间件:持续向 rmw_zenoh 兼容方向演进,支持 CDRv1 序列化、ROS 2 图活动性检测、基于 dds_topics.yaml 自动生成配置、域 ID 参数、Zenoh CLI 等特性。Zenoh 现已默认编译进 FMU-v6xRT 的固件(make px4_fmu-v6xrt_default);在 FMU-v6x 和 SITL 上则提供专门的 Zenoh 构建变体(make px4_fmu-v6x_zenohmake px4_sitl_zenoh)。
  • 实验性功能:多旋翼神经网络控制:v1.17 集成了 TensorFlow Lite Micro 运行时,允许将外部训练好的网络模型(例如在 Aerial Gym 中通过强化学习训练的模型)以 tflite 格式加载,替换多旋翼控制器用于研究和台架测试。该功能目前仅供研究验证,不替代生产环境中的控制器栈 (PX4-Autopilot#24366)。

升级操作指南

从 v1.16 升级时,请务必逐一核对以下变更:

  1. 重新检查遥控器摇杆死区
    此前 RC 通道 1~8 上硬编码的 1% 死区已被移除。如果您的遥控发射机存在中心点抖动,升级后必须通过 RC<N>_DZ 参数为每个通道单独设置死区,否则飞行器可能会对之前被忽略的微小摇杆噪声做出响应 (PX4-Autopilot#25502)。

  2. 使用新舵机中心参数 PWM_*_CENTER 重新校准
    原来的舵机微调参数 PWM_*_TRIM 已被支持非对称偏转的 PWM_*_CENTER 取代,且旧参数值不会自动迁移。升级后请打开 QGC 的作动器配置页面,为之前使用 PWM_*_TRIM 的每个舵机通道重新设定中心位置 (PX4-Autopilot#25897)。

  3. 注意 MAVLink 协议版本默认值变更
    MAV_PROTO_VER 参数默认值已改为 2。MAVLink v1 仍然可用,但需要手动指定。如果您的地面站、数传电台或伴计算机原本依赖协议版本自动回退,请将其升级至 MAVLink v2,或在相应链路上设置 MAV_PROTO_VER=1 (PX4-Autopilot#25583)。

  4. 手动控制曲线参数迁移
    MPC_XY_MAN_EXPOMPC_Z_MAN_EXPOMPC_YAW_MAN_EXPO 三个参数已被移除,系统将使用固定的默认曲线。MPC_HOLD_DZ 已重命名为 MAN_DEADZONE,并成为全局参数,适用于所有支持死区的模式。如果您之前调整过摇杆曲线或保持死区,请重新设置 MAN_DEADZONE;摇杆曲线自定义功能已不再提供。

  5. 确认气压计自动校准是否符合预期
    新增 SENS_BAR_AUTOCAL 参数,用于在 GNSS 作为高度参考时,使气压计偏移量自动对准 GNSS 高度,该参数默认开启。这符合典型户外飞行的需求;但如果您在室内或 GNSS 信号差的环境下飞行,并希望保持气压计偏移量固定,请手动禁用 SENS_BAR_AUTOCAL (PX4-Autopilot#24859)。

  6. 如曾调整测距仪辅助参数,请重新调参
    由于 EKF2 参数命名规范化重构,EKF2_RNG_A_IGATE 参数已被移除。测距仪辅助相关的调参现在依赖其他 EKF2_RNG_A_* 参数。同时,默认的 EKF2_MIN_RNG 从 0.1 米调整为 0.01 米 (PX4-Autopilot#25137, PX4-Autopilot#25574)。

  7. 检查磁力计配置
    现在执行磁力计校准的前提是:至少有一个磁力计处于可用且启用状态(即优先级不为 0)。如果您之前通过将优先级设为 0 来禁用所有磁力计,请在校准前重新启用至少一个 (PX4-Autopilot#25714)。

  8. 检查机架选择参数
    SYS_AUTOSTART=0 现在被视作“未选择有效机架”。如果您之前依赖该值进行特殊处理,请改为选择一个明确的机架 ID (PX4-Autopilot#25645)。

  9. 更新脚本和外部工具中的命令名称
    部分命令和枚举已重命名,请同步更新您的启动脚本、测试工具或外部调用:

    • Shell 命令 commander lockdown oncommander termination
    • 安全保护动作 FORCE_FAILSAFETERMINATION
    • 手动锁定命令 manual_lockdownkill
  10. 电池序列号读取方式变更
    原先在 battery_status 消息中的 serial_number 字段已移至新的 battery_info uORB 消息。所有读取电池序列号的模块(日志系统、地面站、伴计算机软件等)都需要改为订阅 battery_info

  11. 自定义构建流程中移除 parameters_injected.xml
    该文件已从构建系统中移除。如果您维护的板级配置或下游分支中引用了它,请删除相关引用 (PX4-Autopilot#25549)。


其它更新详情

硬件支持

新增 CAN 外设与车辆平台:

  • MR-CANHUBK344 NXP B3RB 无人车平台 (PX4-Autopilot#23897)
  • NXP MR-Tropic 目标(含 imxrt 相关修复)(PX4-Autopilot#26052)

现有板卡功能增强:

  • FMU-v6xRT:支持 V6XRT001/V6XRT002 两种传感器套件;增加 LIS2MDL 和 BMM350 磁力计支持;将 DTCM 空间并入堆内存 (PX4-Autopilot#25733)
  • FMU-v6s:新增 PCA9685 PWM 扩展驱动;支持 INA226/INA228/INA238 电源监测芯片;使用 HSE 作为 RTC 时钟源;调整启动脚本顺序,优先初始化内部传感器
  • 适配新的 Murata 模块 (PX4-Autopilot#24029)
  • mRO PixracerPro:启用更多 UART 接口 (PX4-Autopilot#22516)
  • 3DR Control Zero H7 OEM Rev G:修复 MTD 驱动及 USB 枚举问题 (PX4-Autopilot#25015)
  • ESP32:修复 PWM 寄存器更新逻辑 (PX4-Autopilot#25653)
  • Tropic-Community 底板(Teensy 4.1):刷新 PX4 配置,将 DTCM 移至堆内存,中断向量保留在 ITCM

通用模块

  • QGC 引导程序更新:通过 SYS_BL_UPDATE 参数触发的引导程序更新功能已恢复 (PX4-Autopilot#25032)
  • 安全保护处理:允许飞行员在安全保护降级状态下接管控制 (PX4-Autopilot#26269)
  • Offboard 模式切换:无遥控器输入时,不再允许切换到位置保持模式 (PX4-Autopilot#26391)
  • 电机故障检测:使用更可靠的超时检查机制 (PX4-Autopilot#25757)
  • 电池信息消息:新增 battery_info uORB 消息,用于承载序列号等与 UAVCAN/MAVLink/电池驱动兼容的信息;battery_status 中的序列号字段已移除
  • UAVCAN 电池处理:优化剩余时间计算 (PX4-Autopilot#25500),采样间隔调整为 500ms (PX4-Autopilot#25454)
  • 电池实例数量:上限调整为 3 个(可记录的电池数量同样提升至 3)
  • 剩余飞行时间安全保护:默认关闭
  • 解锁手势参数移除COM_RC_ARM_HYST 已移除,解锁/上锁手势现在固定需要保持 1 秒 (PX4-Autopilot#25999)

控制

  • 舵机 PWM 中心值与非对称偏转:引入 PWM_*_CENTER 参数 (PX4-Autopilot#25897),并扩展至轮式和云台作动器 (PX4-Autopilot#26211)
  • PWM 频率配置:支持通过 Kconfig 进行板级配置 (PX4-Autopilot#24787)
  • DShot 遥测重构:迁移至平台串行抽象层,支持 RX/TX 引脚交换
  • UAVCAN 电调初始化:停止状态下不再发布随机数值 (PX4-Autopilot#25485)
  • UAVCAN 引导程序看门狗:在长时间固件烧录过程中持续喂狗 (PX4-Autopilot#25523)
  • 控制分配器:在 v6x 平台上为航天器模型启用 (PX4-Autopilot#25276)

状态估计

  • 气压计自动校准:默认开启,基于 GNSS 高度校准气压计偏移 (PX4-Autopilot#24859)
  • Septentrio GNSS 抗干扰状态上报:支持干扰、欺骗、认证状态上报 (PX4-Autopilot#25012)
  • EKF2 GPS 检查:增加 GPS 固定类型校验位 (PX4-Autopilot#25215)
  • EKF2 GNSS 辅助:在 EstimatorStatusFlags 中新增 gnss_fault 标志;GNSS 高度故障时暂停经纬度和速度融合;重新启用融合时加入滞回逻辑;航位推算模式下抑制 GNSS 高度重置
  • EKF2 测距融合:跳过不健康的采样点,同时遵守超时设置 (PX4-Autopilot#25634);在垂直加速度异常时拒绝不良测量值 (PX4-Autopilot#25636)
  • EKF2 磁力计处理:起飞后的偏航重置不再跳过;磁航向和磁偏角更新不再影响 XY 轴陀螺零偏
  • EKF2 重力估计:倾斜对齐速度加快;重力融合启动改用加速度计低通滤波,不再使用峰值保持
  • EKF2 空速/风估计:区分空速来源,使得风航位推算逻辑能够使用合成空速
  • 外部航向更新MAV_CMD_EXTERNAL_ATTITUDE_ESTIMATE 命令现在可被 EKF2 消费
  • RTCM 遥测流:同时为 UAVCAN GNSS 接收机发布 (PX4-Autopilot#25315)
  • EKF2 GNSS 重置逻辑改进 (PX4-Autopilot#25297)

传感器

  • 新增驱动:MicroStrain 惯性传感器 (PX4-Autopilot#23858) 及其辅助功能扩展 (PX4-Autopilot#25673);sbgECom INS (PX4-Autopilot#24137);EULER-NAV 气压-惯性 AHRS (PX4-Autopilot#24534);QMC5883P 磁力计 (PX4-Autopilot#25115)
  • LightWare SF30/d:支持二进制协议 (PX4-Autopilot#25570)
  • 空速校准:仅在完整校准流程成功时才保存偏移量 (PX4-Autopilot#25412)
  • 空速选择器:新增合成空速选项
  • IMU 陀螺滤波器:默认角加速度滤波频率从 30Hz 下调至 20Hz

仿真

Gazebo:

  • CMake 链接不再绑定特定 Gazebo 版本,Harmonic 仍是官方支持及 CI 测试版本,但开发者也可自行尝试更新版本(如 Jetty / v15)(PX4-Autopilot#25521)
  • 无人车仿真适配重构后的控制架构 (PX4-Autopilot#25644)
  • Gazebo 桥接传感器支持选择性禁用 (PX4-Autopilot#25484)
  • 修复云台偏航问题,并在桥接中增加 DDS 姿态发布 (PX4-Autopilot#25754)
  • 新增 PX4_GZ_MODEL_POSE 环境变量,用于自定义生成位姿 (PX4-Autopilot#24956)
  • 更新 Gazebo 24.04 相关文档 (PX4-Autopilot#25586)

硬件在环仿真(SIH):

  • 新增 Hexacopter X 和 Ackermann 无人车模型支持 (PX4-Autopilot#25194, PX4-Autopilot#25405)
  • HITL/SIH 电池状态由电池配置参数驱动 (PX4-Autopilot#24103)

调试与日志

  • AirspeedValidated 提升为标准 uORB 主题 (PX4-Autopilot#25579)
  • upload_log.py 脚本支持通过命令行参数指定自定义上传服务器 (PX4-Autopilot#25702)
  • ULog 工具可在缺少 sensor_gps 消息时恢复 UTC 时间戳 (PX4-Autopilot#25534)
  • UAVCAN 节点状态记录到 uORB,方便调试 (PX4-Autopilot#23890)
  • ULog 文件格式文档进一步扩展 (PX4-Autopilot#25624)

ROS 2 / uXRCE-DDS

  • PX4 ROS 2 控制接口新增固定翼横向/纵向期望值及 VTOL 转换支持
  • uXRCE-DDS 支持基于索引的简单命名空间 (UXRCE_DDS_NS_IDX) (PX4-Autopilot#25444)
  • uXRCE-DDS 客户端在固件上传时支持命名空间配置 (PX4-Autopilot#25291)
  • 新增 DDS 主题:TransponderReport(ADS-B)(PX4-Autopilot#25652);来自外部模式的起落架命令 (PX4-Autopilot#25496);Wind 主题(限速 1Hz);云台设备姿态状态;固定翼高级期望值与配置接口

ROS 2 / Zenoh(实验性)

v1.17 中的树内 Zenoh 中间件进一步向 rmw_zenoh 兼容方向演进,主要工作包括:

  • rmw_zenoh 兼容:实现 rmw_zenoh 所需功能,将 ROS 2 RMW 附着代码移至独立文件,切换至 CDRv1 序列化,设置传输租约为 60 秒以匹配 ROS 2,增加实验性活动性支持以使 ROS 2 图正常工作
  • 配置与 CLI:基于 dds_topics.yaml 自动生成 Zenoh 配置,新增域 ID 参数,改进 Zenoh CLI,支持实例选择及发布/订阅删除
  • 板卡支持:Zenoh 现默认编译进 px4/fmu-v6xrt 固件;px4/fmu-v6x 和 SITL 提供可选的 Zenoh 构建变体;auterion/fmu-v6sauterion/fmu-v6x 也提供了对应的 zenoh.px4board 配置;nxp/mr-canhubk3nxp/mr-tropicnxp/tropic-community 默认编译 Zenoh
  • NuttX 支持:更新 NuttX 配置以兼容 Zenoh (PX4-Autopilot#26213)
  • SITL:新增 px4_sitl_zenoh cmake 构建变体,默认使用 127.0.0.1,启用时自动启动 Zenoh,搜索不到节点时给出友好提示
  • 健壮性:验证 payload 大小、增加 CDR 安全裕度、处理配置解析错误、修复主题名与数据类型映射、优化内存使用
  • 子模块zenoh-pico 更新
  • MAVFTP 安全加固:拒绝路径遍历攻击,验证 FTP 写入/突发会话的有效性
  • MAVLink v1 需手动启用:通过 MAV_PROTO_VER 选择 (PX4-Autopilot#25583)
  • 实现扩展的 MISSION_CURRENT 消息:填充 mission_state 及相关字段 (PX4-Autopilot#25034)
  • 支持 MAV_CMD_REQUEST_MESSAGE 用于查询 MESSAGE_INTERVAL (PX4-Autopilot#25460)
  • 低带宽流配置优化:包含更多重要流并调整更新速率 (PX4-Autopilot#25524)
  • 参数传输限流:在低带宽链路上自动限速 (PX4-Autopilot#25126)
  • 系统时钟同步:支持从 SYSTEM_TIME 设置系统时钟 (PX4-Autopilot#24807)
  • 新增硬故障 MAVLink 流式传输选项
  • 新增 MAVLink 模糊测试

遥控器

  • 移除 RC 通道 1~8 硬编码的 1% 死区 (PX4-Autopilot#25502)
  • ManualControlSelector 模块重构:增加可靠的超时检查、统一有效性判定条件、简化优先级逻辑,并支持优先使用 RC 或 MAVLink 及回退策略
  • COM_RC_IN_MODE 扩展:增加按源 ID 升序/降序的优先级模式,并重写文档
  • 有效载荷电源开关泛化:支持可选的三位开关,扩展到 ARK FPV 以外的板卡,并增加单元测试

多旋翼

  • 新增高度巡航模式:摇杆回中时保持当前倾角和航向,持续巡航,适合长距离飞行场景。可选择性禁用该模式的手动控制丢失安全保护(通过 COM_RCL_EXCEPT 对应位),但此时需通过 NAV_DLL_ACT 配置数据链路丢失保护,防止飞丢
  • 摇杆库重构:全局可用,基于 getter 方式访问,指数计算在调用时执行;FixedWingModeManager 现已改用该库
  • 环绕模式优化:最大速度改为可配置 (PX4-Autopilot#25192),进场时应用航向平滑 (PX4-Autopilot#25208)
  • MC 位置控制:收到 trajectory_setpoint 后立即退出航点跟踪模式
  • Hexarotor X:添加到 SIH 和作动器效果测试中
  • MC_RATE* 参数元数据统一 (PX4-Autopilot#25133)
  • 移除摇杆曲线参数MPC_{XY/Z/YAW}_MAN_EXPO 已移除,改用固定默认曲线 (PX4-Autopilot#25435)
  • 死区参数重命名MPC_HOLD_DZ 改为 MAN_DEADZONE,变为全局参数 (PX4-Autopilot#25435)

VTOL

  • 修复任务模式下快速返航后转换卡住的问题
  • VTOL 起飞:仅在固定翼阶段放宽位置控制要求;起飞完成后强制进入 Loiter 状态
  • 空速测量处理逻辑集中管理
  • PX4 ROS 2 控制接口支持从外部模式发起 VTOL 转换

固定翼

  • 起飞模式增强:导航丢失时保持平翼爬升;起飞航点的经纬度可用于定义盘旋位置 (PX4-Autopilot#25226)
  • 高层控制接口重构:为外部集成提供清晰的横向和纵向控制接口
  • 姿态控制器:轮式控制器部分重构
  • 自动调参:识别机动中自动增加 1Hz 振幅,直至达到目标角速率(滚转/俯仰/偏航 0.8/0.5/0.5 rad/s),然后相应调整识别信号幅值
  • TECS 加固:增加对空速和高度输入的 NaN 保护

无人车

  • 移除已弃用的旧无人车模块
  • 新增应用与 API 支持,引入无人车期望值消息类型
  • 仿真适配新架构 (PX4-Autopilot#25644)
  • 持续按车型(Ackermann/差速/麦轮)重构:分离作动器控制、更新位置控制、集中管理模式
  • 新增摇杆输入缩放参数 (PX4-Autopilot#25427)
  • 改进位置保持逻辑 (PX4-Autopilot#25466)
  • RX_MAX_THR_YAW_R 替换为 RO_YAW_RATE_CORR
  • 手动偏航率输入支持指数缩放
  • 完善无人车 API 文档 (PX4-Autopilot#25499)
  • MR-CANHUBK344 NXP B3RB 无人车平台支持 (PX4-Autopilot#23897)
  • Aion Robotics R1 无人车机架 (50001) 标记为停产

安全 / 系统状态管理

  • 故障注入功能重构为独立类;failure motor off -i <n> 命令现在需要预先设置 CA_FAILURE_MODE 参数
  • 命令与枚举命名清晰化:
    • FORCE_FAILSAFETERMINATION
    • commander lockdown oncommander termination
    • manual_lockdownkill
  • 新增基于 RC 通道的终止开关,默认采用 PWM 输入值 (PX4-Autopilot#25209)
  • 系统状态管理模块不再覆盖用户主动触发的终止指令(已增加单元测试)
  • 剩余飞行时间安全保护默认关闭
  • 若任务未完成时飞行器已着陆,不再重置 Home 点 (PX4-Autopilot#24902)
  • 修复任务着陆偏离航线的问题 (PX4-Autopilot#25725)

基础设施与构建

  • parameters_injected.xml 从构建系统中移除 (PX4-Autopilot#25549)
  • QGC 引导程序更新功能 (SYS_BL_UPDATE) 恢复 (PX4-Autopilot#25032)
  • NuttX 子模块更新:修复 dcache 和信号量持有者列表问题
  • CI 中增加 ITCM 检查器;更新 v6xRT 和 Tropic-Community 的 ITCM 映射
  • KakuteH7 加密日志版本和部分 ARK 目标上节省闪存空间
  • 增加航天器相关的系统状态管理和 VehicleStatus 工具 (PX4-Autopilot#24716)

原文链接:https://docs.px4.io/main/en/releases/1.17

上一个
PX4-Autopilot v1.16.0 发布说明
下一个
OneRTK高精度定位系列
最近修改: 2026-07-31Powered by