PX4-Autopilot Main Release Notes
AlphaThis contains changes to the PX4 main branch that are not included in the next release (PX4 v1.18).
WARNING
PX4 v1.18 is in beta testing. Update these notes with features that are going to be in main (PX4 v2.0 or later) but not the PX4 v1.18 release.
Read Before Upgrading
Please continue reading for upgrade instructions.
Major Changes
- Motor failure recovery for hexarotors. On a detected single motor failure the control allocator removes the failed motor and, on a hexarotor, additionally stops (CA_FAILURE_MODE =
1) or reverses (2) the motor opposite it, recovering the yaw authority that is otherwise lost. Reversing keeps the opposite motor in the allocation and needs a reverse-capable ESC; the reverse thrust the allocator expects from a forward propeller is set with CA_REV_THR_FRAC (default0.4). Disabled by default. (PX4-Autopilot#28078)
Upgrade Guide
COM_ARM_TRAFFhas been replaced byCOM_TRAFF_AVOID. The old value 3 ("enforce for mission modes only") is migrated toCOM_TRAFF_AVOID=2, which blocks arming in all modes, not just mission modes. If you relied on being able to arm manually with traffic detected, setCOM_TRAFF_AVOID=1(warning only) instead.PCA9685_SCHD_HZhas been removed.PCA9685_PWM_FREQnow sets both the PWM frequency of the PCA9685 and the rate at which values are pushed to it; if you hadPCA9685_SCHD_HZset to a non-default value, setPCA9685_PWM_FREQto it after upgrading. Frequencies above 400 Hz (previously only usable in duty-cycle mode) are no longer supported.- Re-check motor failure handling on hexarotors. CA_FAILURE_MODE =
1now also stops the motor opposite the failed one on a hexarotor (previously only the failed motor was removed from the allocation). Other airframes are unaffected, andCA_FAILURE_MODE=0(the default) is unchanged. See Motor Failure Recovery. (PX4-Autopilot#28078)
Other changes
- Fast mission Return modes (RTL_TYPE = 2 and 4) now skip
DO_JUMPcommands (loops) while following the mission path. (PX4-Autopilot#26993: fix(navigator): goToNextPositionItem skip loops when required)
Hardware Support
- DroneCAN ESCs no longer need to set
UAVCAN_PUB_ARMasArmingStatusis published automatically wheneverUAVCAN_ENABLEis3(ESC output enabled). (PX4-Autopilot#28364)
Common
- The unit and functional test suite builds, links and runs on macOS (
make tests), andpx4_poll()timeouts on macOS wait for their full duration instead of returning at once. The blended GPS timestamp is accumulated in double and rounded once instead of truncating each weighted term. (PX4-Autopilot#28516) - The AlphaFilter library takes its sample interval and time constant in microseconds, and the float seconds overloads are removed, so a value in the wrong unit no longer compiles. Out-of-tree code that constructs the filter with seconds needs updating. (PX4-Autopilot#28421)
Control
- TBD
Safety
- Geofence Aware Return mode. (PX4-Autopilot#27145: feat(navigator): Geofence Aware RTL, PX4-Autopilot#28001: docs(navigator): [geofence] added some more warnings about limitations).
- Flight termination can now be used instead of a Descent mode as a fallback failsafe mode, allowing safer landing for unpiloted vehicles that carry a parachute. See Battery level failsafe (COM_LOW_BAT_ACT) and Position Loss Failsafe Action (new COM_POS_FS_ACT). (PX4-Autopilot#28064: feat(commander): add terminate options for critical battery and lost position failsafes).
- Failure injection ( SYS_FAILURE_EN) has been significantly extended. (PX4-Autopilot#27572, PX4-Autopilot#27832, PX4-Autopilot#27950)
- Now applied on real hardware, not just simulators (injection hooks live in the shared sensor drivers).
- Command handling is centralized behind a dedicated failure-injection manager module.
- Multiple sensor instances can be failed simultaneously via a bitmask, and failures can be triggered from an RC switch.
- Changed default behaviour of injected WRONG failure for Batteries, to publish a wrong level, and not stop publishing
- Motor failure recovery for hexarotors: on a single motor failure the control allocator removes the failed motor and additionally stops (CA_FAILURE_MODE =
1) or reverses (2) the motor opposite it to recover the lost yaw authority. Mode2requires a reverse-capable ESC and models the reverse thrust of a forward propeller with the new CA_REV_THR_FRAC (default0.4). Reversible motor outputs on DroneCAN are now sent as signedRawCommandvalues (negative is reverse). (PX4-Autopilot#28078) - Added
RTL_TYPE=6for battery-aware home priority return (PX4-Autopilot#26968). Returns to home if the estimated flight time to home is within the remaining battery time; otherwise returns to the closest rally point. Falls back to the closest safe point (home or rally) if battery time remaining is unavailable.
Estimation
- TBD
Sensors
- Enable u-blox Diagnostics with u-center while the vehicle's GPS runs as usual. (PX4-Autopilot#28280).
Simulation
- Gazebo: the GNSS failure injection commands (
failure gps off,stuckandwrong) now apply to the NavSat data published by the gz bridge, consistent with the other simulator paths. (PX4-Autopilot#28398)
Debug & Logging
- TBD
Ethernet
- TBD
uXRCE-DDS / Zenoh / ROS 2
- TBD
MAVLink
- TBD
RC
- TBD
Multi-Rotor
- TBD
VTOL
- TBD
Fixed-wing
- TBD
Rover
- TBD
ROS 2
- TBD