PX4 v1.16 在 v1.15 的基础上乘势而上,得益于社区的贡献,带来了重要的新功能和更广泛的硬件支持。本版本引入了双向 DShot 支持,对无人车进行了全面重构,提供了专用固件构建以及适用于 Ackermann、差速和麦克纳姆轮无人车的模块化控制模式,并切换至 Gazebo Harmonic LTS 以提供更可靠的仿真。开发者将受益于新的 ROS 2 消息转换节点(支持动态消息版本管理)以及集成的日志加密功能(解密密钥直接嵌入日志中)。我们还围绕合作伙伴生态新增了传感器驱动和板卡支持,同时在控制、估计和安全方面进行了数十项改进。PX4 v1.16 提升了性能与可用性的标杆。立即升级,并在 GitHub 上告诉我们您的反馈。
升级前请阅读
请继续阅读升级说明。
主要变更
- 双向 DShot(PX4-Autopilot#23863)
- 无人车支持重构
- 全新的无人车专用固件构建(机型 ID 50000–52000)
- 分别用于 Ackermann、差速和麦克纳姆轮无人车的独立模块,每种均支持手动、特技、增稳、位置和自动模式
- 所有无人车模块共享纯追踪引导库
- 旧的无人车位置控制模块已被弃用,由新模块替代
- Gazebo Harmonic LTS 发布,取代 Gazebo Garden 成为 PX4 支持的仿真版本。
- ROS 2 消息转换节点,可动态地将 PX4 消息从一个定义版本转换到另一个。(PX4-Autopilot#24113)
- 日志加密 现在生成加密日志,其中包含经公钥加密的对称密钥,可直接用于解密,而无需将密钥放在单独文件中。
升级指南
- VOXL 2 板卡现在显式设置 EKF2_EV_CTRL=15(此前该参数全局回退为 0),以确保基于事件的光流持续运行。(PX4-Autopilot#24648)
- 以太网静态 IP 从 192.168.0.3 更改为 10.41.10.2,以避免常见的网络冲突。(PX4-Autopilot#22517)
- SF45 激光雷达不再于 TELEM2 上自动启动——若仍希望其在 TELEM2 上运行,需在其模块配置中添加 serial_port: TELEM2(或你偏好的其他端口)。(PX4-Autopilot#24602)
其他变更
通用
- 光流缩放因子 — SENS_FLOW_SCALE。(PX4-Autopilot#23936)
- 为机型维护者重新引入可选的参数版本管理机制。(PX4-Autopilot#22813)
- 电池电量估算改进。(PX4-Autopilot#23205)
- 基于电压并带负载补偿的估算现在使用电池内阻的实时估计,以补偿负载下的电压降(电流增大时),从而提供比原始测量电压更准确的容量估算。
- 基于推力的负载补偿已移除(同时移除的还有 BATn_V_LOAD_DROP 参数,其中 n 为电池编号)。
- 位置(GNSS)丢失故障保护的延迟时间可配置参数(COM_POS_FS_DELAY)已移除。该故障保护现将在丢失位置后 1 秒触发。(PX4-Autopilot#24063)
- 日志加密现在生成包含公钥加密对称密钥的加密日志,可直接用于解密,而无需将密钥放入单独文件。这使得日志解密更加容易,因为无需下载或识别单独的密钥文件。(PX4-Autopilot#24024)
- 通用任务命令超时参数 MIS_COMMAND_TOUT 取代了特定于投放的 MIS_PD_TO 参数。对于可能需要一些时间才能完成的任务命令(例如用于控制云台、绞盘和机械爪的命令),将在收到反馈或超时到期时推进到下一个项目。这通常用于为不提供完成反馈的硬件提供最小延迟,以便在任务推进前使硬件达到指令状态。(PX4-Autopilot#23960)
- [uORB] 为部分 uORB 消息引入版本字段。(PX4-Autopilot#23850)
- 罗盘校准在检测到外部罗盘时,会禁用内部罗盘。这通常会减少因磁力计不一致而产生的误报。(PX4-Autopilot#24316)
控制
- [由 ARK 赞助] 双向 DShot(PX4-Autopilot#23863)
- 将控制分配与执行器有效性重构为非特定模块的通用库(PX4-Autopilot#24196)
- 航天器构建与基础控制分配器(PX4-Autopilot#24221)
- 通过 MC_ORBIT_YAW_MOD 参数可配置的多旋翼环绕模式偏航控制(PX4-Autopilot#23358)
- 碰撞预防现已在手动(基于加速度的)飞行模式(MPC_POS_MODE)下生效(PX4-Autopilot#23507)
估计
- EKF2:椭球地球导航(PX4-Autopilot#23854)
- EKF2:地形状态(PX4-Autopilot#23263)
- EKF2:添加磁力计类型初始化(PX4-Autopilot#23185)
- EKF2:光流默认启用(PX4-Autopilot#23436)
- 位置丢失故障保护延迟已移除;在丢失后 1 秒触发(见通用部分)
传感器
- 实现了 AUAV 绝对/差压传感器支持(PX4-Autopilot#23656)
- 实现了 INA228 / INA238 温度传感器支持(PX4-Autopilot#23639)
- 添加 Ublox ZED-F9P-15B(PX4-Autopilot#22744)
- 磁力计校准:若外部磁力计可用,则自动禁用内部磁力计(PX4-Autopilot#24316)
- BMP581:添加 Bosch BMP581 气压计(PX4-Autopilot#23064)
- Murata SCH16T IMU 驱动(PX4-Autopilot#22914)
- ST IIS2MDC 磁力计驱动(PX4-Autopilot#23023)
- 将距离传感器纳入 DDS 话题(PX4-Autopilot#24121)
- 驱动:磁力计:mmc5983ma:添加 SPI 支持(PX4-Autopilot#23925)
- 驱动/磁力计/ak09916:添加对 AK09915 的支持(PX4-Autopilot#23909)
- 添加 Bosch BMM350 磁力计(PX4-Autopilot#23362)
- 罗盘校准现会在外部罗盘存在时禁用内部罗盘,减少误报(PX4-Autopilot#24316)
仿真
SIH:
- SIH 在 SITL 中的自定义起飞位置现已改为使用常规未缩放的 GPS 位置值进行设置,而此前该值需要乘以 1E7。(PX4-Autopilot#23363)
- SIH 现已支持标准 VTOL 机型。(PX4-Autopilot#24175)
Gazebo:
- Gazebo Harmonic LTS 发布,取代 Gazebo Garden 成为 PX4 官方支持的仿真版本。默认安装脚本(用于 CI)和文档均已更新。由于 Garden 版本已于 2024 年 11 月结束生命周期,此项变更是必需的。(PX4-Autopilot#23603)
- 新增载具模型 x500_lidar_2d — 搭载 2D 激光雷达的 x500 四旋翼。(PX4-Autopilot#22418, PX4-gazebo-models#41)
- 新增载具模型 x500_lidar_front — 搭载前置 1D 激光雷达的 x500 四旋翼。(PX4-Autopilot#23879, PX4-gazebo-models#62)
- 新增载具模型 x500_lidar_down — 搭载下置 1D 激光雷达的 x500 四旋翼。(PX4-Autopilot#23879, PX4-gazebo-models#62)
- 新增载具模型 r1_rover — Aion Robotics R1 无人车。(PX4-Autopilot#22402, PX4-gazebo-models#21)
- 新增载具模型 rover_ackermann — Ackermann 转向无人车。(PX4-Autopilot#23383, PX4-gazebo-models#46)
- 新增载具模型 x500_gimbal — 搭载前置云台的四旋翼(x500)。(PX4-Autopilot#23382, PX4-gazebo-models#47, PX4-gazebo-models#70)
- 新增载具模型 quadtailsitter — 四旋翼尾座式 VTOL。(PX4-Autopilot#23943, PX4-gazebo-models#65)
- 新增载具模型 tiltrotor — 倾转旋翼 VTOL。(PX4-Autopilot#24028, PX4-gazebo-models#66)
- 超实时仿真(PX4-Autopilot#24421, PX4-Autopilot#23783)
- Gazebo:移动平台(PX4-Autopilot#24471)
uXRCE-DDS / ROS 2
- PX4-Autopilot#24113:实验性 ROS 2 消息转换节点,可动态地将 PX4 消息从一个定义版本转换到另一个。
- 实验性:PX4 ROS 2 接口库支持基于 ROS 的航点任务。
- DDS 话题:新增 vtol_vehicle_status (PX4-Autopilot#24582)
- DDS 话题:新增 home_position (PX4-Autopilot#24583)
MAVLink
- mavlink_ftp:正确处理相对路径。(PX4-Autopilot#22980)
- 新增参数:始终通过 USB 启动 MAVLink 流。(PX4-Autopilot#22234)
- 重构:将 MAVLink 消息处理集中到一个函数中,使用引用而非指针指向主实例。(PX4-Autopilot#23219)
- mavlink 日志处理程序重写,以提高效率。(PX4-Autopilot#23219)
多旋翼
- [多旋翼] 添加偏航力矩低通滤波器(PX4-Autopilot#24173)
- 为四旋翼尾座式 VTOL 添加 Gazebo 模型(PX4-Autopilot#23943)
- 允许通过参数 MC_ORBIT_YAW_MOD 配置系统默认的多旋翼环绕模式偏航行为(PX4-Autopilot#23358)
- 调整碰撞预防的实现,使其在默认的手动飞行模式(基于加速度的 MPC_POS_MODE)下工作。(PX4-Autopilot#23507)
垂直起降
- vtol_type:为 VTOL 反向过渡添加位置反馈。(PX4-Autopilot#23731)
- dds_topics:添加 vtol_vehicle_status。(PX4-Autopilot#24582)
- vtol:降低调度频率,修复因频率过高导致的 DSHOT150 问题。(PX4-Autopilot#24727)
固定翼
- 固定翼:修复机轮控制器。(PX4-Autopilot#24167)
- 固定翼:允许在没有有效全局位置的情况下进行位置控制。(PX4-Autopilot#23520)
- 改进:固定翼自动起飞:启用手持/弹射起飞时设置起飞襟翼。(PX4-Autopilot#23460)
无人车
本版本对 PX4 中的无人车支持进行了重大重构:
- 全面重构了无人车相关文档。
- 为无人车推出了全新的专用固件构建。
- 新增专用于阿克曼转向无人车的模块:
-
- 该模块目前支持手动模式、特技模式、增稳模式、位置模式和自动模式。
- 新增专用于差速转向无人车的模块:
-
- 该模块目前支持手动模式、特技模式、增稳模式、位置模式和自动模式。
- 新增专用于麦克纳姆轮无人车的模块:
-
- 该模块目前支持手动模式、特技模式、增稳模式、位置模式和自动模式。
- 新增无人车专用固件构建(机型 ID 50000–52000),适用于阿克曼、差速和麦克纳姆轮无人车。
- 重构了无人车机型编号规则(PX4-Autopilot#23506),同时引入多款新无人车机型:
-
-
-
- Axial SCX10 2 Trail Honcho 51001
-
- 为所有无人车模块共享的纯追踪引导算法提供统一库。
- 在 Gazebo 仿真中支持差速和阿克曼转向无人车(相关发布说明参见仿真部分中的 r1_rover 和 rover_ackermann)。
- 旧的无人车位置控制模块已弃用:请注意,旧模块仍然存在,但已被新的专用模块所取代。
基础设施
- 标准模式:添加特定机型的标准模式。(PX4-Autopilot#24011)
- CI:构建所有目标并上传至发布页。(PX4-Autopilot#24020)
- CI:px4-dev 容器。(PX4-Autopilot#24002)
- CI:针对 Ubuntu 24.04 的工作流。(PX4-Autopilot#23937)
- CI:添加针对 Ubuntu 22.04 的测试。(PX4-Autopilot#23869)
- CI:尝试在 Dronecode Infra (AWS) 上运行。(PX4-Autopilot#23574)
- CI:替换构建工作流。(PX4-Autopilot#23550)
原文链接 https://docs.px4.io/main/en/releases/1.16