稳定版
v1.15版本带来了大量升级和修复,部分得益于社区对1.14版本的积极反馈。特别是PX4 v1.15为通过ROS 2和uXRCE-DDS中间件使用PX4的开发者及集成商提供了显著改进。除了网络和中间件更新,新增的 PX4 ROS 2 接口库 允许开发者用 ROS 2 编写飞行模式,与 PX4 原生模式无缝协作。
此次更新还新增了从传感器到驱动的硬件支持,这得益于我们不断增长的行业合作伙伴网络。本版本中,您将享受到常见硬件选项的更新支持(部分由制造商直接赞助)。我们衷心感谢他们的支持!
最后,导航代码进行了多项改进和漏洞修复,这将带来更流畅的体验和更简单的调试过程。
所有这些改进使PX4 v1.15成为理想版本,尤其适合已在使用1.14版本的用户。我们期待更多用户尝试此版本,并在GitHub上向开发团队反馈问题(如何提交问题)。
继续阅读以获取升级说明。
主要变化
- 导航功能大幅改进
- 新增和更新的硬件支持
- 动态模式API
- 【实验性】PX4 ROS 2接口库,简化ROS 2对PX4的控制。
升级指南
- Gazebo已取代jMAVSim作为PX4-Autopilot的默认模拟引擎。若您仍在使用JMAVSim,请迁移至Gazebo,未来开发将聚焦于Gazebo 上。
- 参数
SYS_MC_EST_GROUP
已被移除,现改用专用参数选择状态估计器(详见下文说明)。
其他变化
硬件支持
- [Pixhawk标准] 分离Pixhawk自动驾驶总线(PAB)的基础ID和FMUM ID(#22639)
- [Pixhawk标准] [FMUv6X] 增加TELEM2 RX的接收缓冲区以提升吞吐量(#21660)
- [新增硬件] 支持FMUv6XRT - Pixhawk 6X-RT(#22263)
- [新增硬件] MicoAir H743(#23218)
- [新增硬件] ARK Mosaic-X5 RTK GPS(#22735)
- [新增硬件] ARK Pi6X光流传感器(#22829)
- [功能] 新增Auterion电源模块选择器(#22073)
- [灯光] 新增LP5562 RGBLED驱动(#21649)
- [Holybro] 为KakuteH7 / KakuteH7v2 / KakuteH7mini 系列启用EKF2(#21961)
- [Cubepilot] 新增Orange+第4版支持(#22039)
- [3DR] 改进Control Zero Classic支持(#22971)
通用改进
- 移除
SYS_MC_EST_GROUP
,改用EKF2_EN
、ATT_EN
、LPE_EN
切换状态估计器(PX4-Autopilot#22567)
(默认启用EKF2_EN
) - [引导程序] 新增强制擦除【force-erase】选项和引导程序版本(PX4-Autopilot#22777)
- [uORB] 支持超过255个uORB消息(PX4-Autopilot#21923)
- [新功能][实验性]支持Zenoh Pico(PX4-Autopilot#22017)
- [功能] 改进任务恢复功能(如重放云台指令和航测相机命令)(PX4-Autopilot#21710)
- [功能] 恢复任务时沿用上次任务的飞行速度(PX4-Autopilot#21714))
- [导航] 提前提示可能发生的导航故障(PX4-Autopilot#21876))
- [地理围栏] 改进地理围栏逻辑(PX4-Autopilot#22394)
- [安全机制] 解锁失败时触发警告(PX4-Autopilot#22885)
- [安全机制] 缩短故障安全警告信息(PX4-Autopilot#22886)
- 支持远程参数数据库(PX4-Autopilot#22836)
- 新增平台独立的UART接口 (PX4-Autopilot#21723)
- [改进] 新增单向“紧急停机”手势允许您随时停止电机。默认情况下,此选项处于禁用状态。PX4-Autopilot#18509.
- [功能] 支持大型飞行器罗盘校准(无需完全旋转)(PX4-Autopilot#15235, PX4-Autopilot#15687).
控制
- [Offboard模式] ROS2支持直接控制电机和舵机(PX4-Autopilot#22222)
状态估计
- 改用误差状态卡尔曼滤波器(ESKF),优势包括:
- 更好的收敛性(对初始航向精度不敏感)
- 数值稳定性更高
- 计算量更低
- 使用李群理论更准确描述四元数不确定性(PX4-Autopilot#22262)
- 使用约瑟夫稳定协方差更新算法(PX4-Autopilot#22770)
- 使用 SymForce 自动生成协方差预测、测量雅可比、状态结构和协方差索引
- 通过MAVLink手动更新位置(
MAV_CMD_EXTERNAL_POSITION_ESTIMATE
) - 新增辅助全局位置(AGP)融合(用于外部地图匹配视觉算法)
磁力计(Mag)改进
-
新增"Init"磁力计模式(参数
EKF2_MAG_TYPE
):
此模式下,磁力计仅用于初始化滤波器航向。初始化后,航向仅通过陀螺仪预测及位置/速度更新(如GNSS)进行估算。 -
磁力检查重构(参数
EKF2_MAG_CHECK
):- 新增磁力强度容差参数(
EKF2_MAG_CHK_STR
) - 新增倾斜检查(
EKF2_MAG_CHK_INC
)
- 新增磁力强度容差参数(
-
航向融合优化:
重新设计磁力航向融合逻辑,准确考虑磁偏和地球磁场的不确定性。 -
全模式磁偏估计:
允许在所有磁力计模式下估算磁偏差(提升校准灵活性)。 -
GNSS辅助下的航向收敛:
改善初始航向不佳时(如错误校准)的收敛速度(依赖GNSS数据辅助修正)。
IMU改进
- 陀螺仪与加速度计偏置估算优化:
提升数值稳定性(将“增量角/速度偏置”算法改为直接估计“加速度计/陀螺仪偏置”)。
光流传感器(Optical Flow)更新
- 支持起飞前运行:
光流传感器现在可在无人机起飞前启动(便于台架测试或地面校准)。
偏航紧急估计器(Yaw Emergency Estimator)改进
- 算法升级:
改用误差状态推导方法,提升航向估算性能。 - 初始化增强:
支持在起飞前运行,用于初始化EKF的航向。
传感器
- 修复NXP UWB SR150驱动(PX4-Autopilot#1123)
- Septentrio GPS更新(PX4-Autopilot#23386)
- Ublox新增UBX-RXM-RTCM 以获取 RTCM 输入状态(PX4-Autopilot#21595)
- 新增TDK IIM42653 IMU驱动(PX4-Autopilot#21019)
- [空速计] 简化空速计配置流程(PX4-Autopilot#22510)
- [新参数]
SYS_HAS_NUM_ASPD
、FW_USE_AIRSPD
- [日志] 记录所有GPS数据(PX4-Autopilot#22421)
仿真
- [Gazebo]支持 Advanced Plane,一种模拟的固定翼飞行器,可提供比普通飞机更好的空气动力学模拟(PX4-Autopilot#22167、gz-sim#2185)
- [Gazebo]环境变量现在可以用来表示模拟模型 (PX4-Autopilot#22400
PX4_SIM_MODEL
)- 这将取代 ,后者现已弃用。
PX4_GZ_MODEL
- 这将取代 ,后者现已弃用。
- [Gazebo]Gazebo 和 PX4 SITL 的分离 (PX4-Autopilot#22467)
- 模拟的两个部分现在已分开。
- 它们可以按任何顺序独立启动,甚至可以在网络中的不同主机上运行。
- Gazebo 还支持通过 Gazebo GUI 中的资源生成器进行拖放
- JMAVSim 模拟器现在受社区支持。
- 它已作为官方 PX4 开发工具链的一部分被弃用,以便我们将精力集中在 Gazebo 上
- [Tools/simulation/gz]: 默认加载 ApplyLinkWrench 插件 (PX4-Autopilot#21874)
- 允许用户在模拟中指定 Gazebo Garden/Harmony 渲染引擎 (PX4-Autopilot#22693)
- 在 SITL Gazebo中添加对四尾翼 VTOL 的支持 (PX4-Autopilot#20558)
- [特征]在 SITL 中启用/禁用 PX4 内部电池模拟器的参数 (PX4-Autopilot#22710)
- [新建参数]
SIM_BAT_ENABLE
- [新建参数]
- [GZ -Bridge]修复 GZ 超时导致模拟启动缓慢 (PX4-Autopilot#22194)
以太网(Ethernet)更新
- 默认静态IP变更(PX4-Autopilot#22517):
当DHCP失效时,默认静态 IP 从192.168.0.3
改为10.41.10.2
,避免与路由器常见IP段192.168.0.x
冲突。
MAVLink改进
- 云台模式修复(PX4-Autopilot#23236):
修正自动遥控(Auto RC)与MAVLink模式下的云台控制逻辑。
uXRCE-DDS接口升级
- [uXRCE-DDS] DDS Topics YAML 现在允许使用 to 指定将指示的 ROS 2 主题发送到为 ROS 2 保留的单独 uORB 主题实例 (PX4-Autopilot#22266
subscription_multi
)- 这允许 PX4 区分来自 ROS 的更新和来自 PX4 uORB 发布者的更新
- 通过此更改,ROS2 用户现在可以决定他们发送到 PX4 的消息是与现有的 uORB 消息重叠还是保存在单独的实例中。
- 将 VOXL 从 microdds 客户端移动到 UXRCE-DDS 客户端 (PX4-Autopilot#22997)
- 添加参数以禁用 Agent 和 Client 之间的时间同步 (PX4-Autopilot#21757))
- [新建参数]
UXRCE_DDS_SYNCT
- [文档]中间件 uXRCE-DDS / ROS 2 / Gazebo Simulation
- [新建参数]
ROS 2新特性
- [特征]动态模式 API (PX4-Autopilot#20707))
- [功能] [PX4 ROS 2 接口库]实验的:一个新的 C++ 库,简化了从 ROS 2 控制 PX4 的过程
- 支持在 ROS 2 中添加飞行模式,这些模式是飞行控制器上运行的 PX4 模式的对等模式。
- 模式的行为与 FMU 内部模式相同
- 传播到 GCS 并可由用户选择
- 用于布防检查和模式要求的接口
- 集成到故障安全状态机
- [特征]多旋翼 Go to 界面 (PX4-Autopilot#22375)
平台更新
多旋翼(Multicopter)
- [新模式] 抛飞模式实验的:通过将多旋翼飞机抛向空中来启动它。PX4-自动驾驶仪#21170
- [新模式] 慢速定位模式:位置模式的较慢版本,可配置更低的最大速度/偏航率,适合精细操作,其中最大水平速度、垂直速度和偏航率轴可以配置为较低的值(使用参数、RC 控制器旋钮/开关或 MAVLink)。PX4-自动驾驶仪#22102
- [直升机] 新增尾部舵机支持 PX4-Autopilot#21274
- [直升机] 支持共轴双旋翼直升机。文档,PX4-Autopilot#22083
- [改进]多旋翼位置控制参数描述 (PX4-Autopilot#21729)
- [改进]默认电机 PWM 限制最小 1100 最大 1900。默认值从 900us 更改为 1000us!(注意检查配置!)文档,PX4-Autopilot#21513
垂直起降机(VTOL)
- 过渡参数优化(PX4-Autopilot#21760):
新增VT_BT_TILT_DUR
控制倾转时间,缩短整体过渡时长。 - 尾座式改进(PX4-Autopilot#22584):
在稳定模式(Stabilized)下添加自动调整俯仰角。 - 前推力辅助(PX4-Autopilot#22843):
将下降视为着陆模式。 - 紧急下降参数(PX4-Autopilot#21598):
新增VT_QC_ALT_LOSS
参数控制意外降高时的保护逻辑。
固定翼(Fixed-Wing)
- 空速计配置简化((PX4-Autopilot#22510):
- 弃用
CBRK_AIRSPD_CHK
,改用SYS_HAS_NUM_ASPD
设置空速计数量 -
将参数
FW_ARSP_MODE
改名为FW_USE_AIRSPD
-
操作说明:
-
若想不带空速计也能解锁飞行(比如用GPS测速),将
SYS_HAS_NUM_ASPD
设为0 -
若不想让飞控使用空速数据(比如手动飞行),将
FW_USE_AIRSPD
设为0
-
- 弃用
- 抗风性能增强(PX4-Autopilot#21764):
优化大风环境下飞行控制的稳定性。 -
姿态控制器代码优化(PX4-Autopilot#22472):清理代码,提高可靠性
-
能量控制参数改名(PX4-Autopilot#22548):
-
FW_T_THR_DAMP
改名为FW_T_THR_DAMPING
-
FW_T_I_GAIN_THR
改名为FW_T_THR_INTEG
(注:改名是因为这些参数的实际作用发生了变化)
-
-
垂直起降(VTOL)高速数据记录(PX4-Autopilot#22700)):现在能记录更详细的飞行数据
-
特技模式轴控制开关((PX4-Autopilot#21566):
-
新增参数
FW_ACRO_AXS_CTRL
,可关闭特技模式下特定方向的自动控制(比如禁用横滚轴自动修正)
-
-
独立路径跟随控制器(PX4-Autopilot#21376):新增专门控制飞机沿预定路径飞行的模式
-
新增飞行性能模型(PX4-Autopilot#22091):加入计算飞机最大续航/航程等性能的功能
-
新增空速最大参数(PX4-Autopilot#22091):通过
FW_S_CEILING
设置飞机允许的最大空速
无人车(Rover)
- Aion R1实验性支持
新增适用于Roboclaw电机控制器的驱动
提供新款差速转向无人车Aion R1的组装说明
包含Roboclaw电机控制器的接入方法
- 专用构建版本
为PX4/FMU-v5/v5x/v6c/v6x硬件提供独立无人车固件(PX4-Autopilot#22675)。
完整更新日志
查看GitHub完整变更记录:v1.14.0...v1.15.0