Stable version
The PX4 v1.15 release brings numerous upgrades and fixes, in part driven by the enthusiastic community feedback on the 1.14 release. In particular, PX4 v1.15 offers significant improvements for developers and integrators using PX4 with ROS 2 and the uXRCE-DDS middleware. In addition to networking and middleware updates, the new PX4 ROS 2 interface library allows developers to write flight modes in ROS 2 that work seamlessly with native PX4 models.
This update also adds new hardware support, from sensors to actuators, thanks to our growing network of industry partners. In this release, you'll enjoy updated support for common hardware options (some sponsored directly by manufacturers). We sincerely thank them for their support!
Finally, the navigation code has received several improvements and bug fixes, which should result in a smoother experience and easier debugging.
All of these improvements make PX4 v1.15 an ideal release, especially for users already using v1.14. We look forward to having more users try this release and provide feedback to the development team on GitHub.(How to submit a question)。
Read on for upgrade instructions.
Major changes
- Significantly improved navigation
- New and updated hardware support
- Dynamic Mode API
- [Experimental] PX4 ROS 2 interface library, simplifies ROS 2 control of PX4.
Upgrade Guide
- Gazebo has replaced jMAVSim as the default simulation engine for PX4-Autopilot. If you are still using JMAVSim, please migrate to Gazebo, as future development will focus on Gazebo.
- The parameter
SYS_MC_EST_GROUPhas been removed,A dedicated parameter selection state estimator is now used instead (see below for details).
Other changes
Hardware support
- [Pixhawk Standard] Separate Pixhawk Autopilot Bus (PAB) Base ID and FMUM ID (#22639)
- [Pixhawk Standard] [FMUv6X] Increase TELEM2 RX receive buffer to improve throughput (#21660)
- [New Hardware] Support for FMUv6XRT - Pixhawk 6X-RT (#22263)
- [New Hardware] MicoAir H743 (#23218)
- [New Hardware] ARK Mosaic-X5 RTK GPS (#22735)
- [New Hardware] ARK Pi6X Optical Flow Sensor (#22829)
- [Function] Added Auterion power module selector (#22073)
- [Lighting] Added LP5562 RGBLED driver (#21649)
- [Holybro] Enable EKF2 for KakuteH7 / KakuteH7v2 / KakuteH7mini series (#21961)
- [Cubepilot] Added support for Orange+ version 4 (#22039)
- [3DR] Improved Control Zero Classic support (#22971)
General Improvements
- Remove
SYS_MC_EST_GROUP, useEKF2_EN、ATT_EN、LPE_ENSwitching State Estimator(PX4-Autopilot#22567)
(Enabled by defaultEKF2_EN) - [Bootloader] Added force-erase option and bootloader version(PX4-Autopilot#22777)
- [uORB] Support more than 255 uORB messages(PX4-Autopilot#21923)
- [New Feature][Experimental] Support for Zenoh Pico(PX4-Autopilot#22017)
- [Function] Improved mission recovery function (such as replaying gimbal commands and aerial camera commands)(PX4-Autopilot#21710)
- [Function] When resuming a mission, the flight speed of the previous mission will be retained.(PX4-Autopilot#21714))
- [Navigation] Advance reminder of possible navigation failures(PX4-Autopilot#21876))
- [Geo-fencing] Improved geo-fencing logic(PX4-Autopilot#22394)
- [Safety Mechanism] Trigger warning when unlocking fails(PX4-Autopilot#22885)
- [Safety Mechanism] Shorten failsafe warning message(PX4-Autopilot#22886)
- Support remote parameter database(PX4-Autopilot#22836)
- Added platform-independent UART interface (PX4-Autopilot#21723)
- [IMPROVEMENT] Added a one-way "Emergency Stop" gesture that allows you to stop the motor at any time. This option is disabled by default.PX4-Autopilot#18509.
- [Function] Supports compass calibration for large aircraft (no need for full rotation)(PX4-Autopilot#15235, PX4-Autopilot#15687).
control
- [Offboard Mode] ROS2 supports direct control of motors and servos(PX4-Autopilot#22222)
State Estimation
- Using the Error State Kalman Filter (ESKF) instead has the following advantages:
- Better convergence (less sensitive to initial heading accuracy)
- Higher numerical stability
- Lower computational complexity
- Using Lie group theory to more accurately describe quaternion uncertainty(PX4-Autopilot#22262)
- Use the Joseph stable covariance update algorithm(PX4-Autopilot#22770)
- Automatically generate covariance predictions, measurement Jacobians, state structures, and covariance indices using SymForce
- Manual position update via MAVLink(
MAV_CMD_EXTERNAL_POSITION_ESTIMATE) - Added Auxiliary Global Position (AGP) fusion (for external map matching vision algorithms)
Magnetometer (Mag) improvements
-
Added "Init" magnetometer mode(parameter
EKF2_MAG_TYPE):
In this mode, the magnetometer is only used to initialize the filter heading. After initialization, the heading is estimated only by gyroscope predictions and position/velocity updates (such as GNSS). -
Magnetic inspection reconstruction(parameter
EKF2_MAG_CHECK):- New magnetic strength tolerance parameter(
EKF2_MAG_CHK_STR) - Added tilt check(
EKF2_MAG_CHK_INC)
- New magnetic strength tolerance parameter(
-
Heading fusion optimization:
Redesigned the magnetic heading fusion logic to accurately account for the uncertainty of magnetic declination and the Earth's magnetic field. -
Full-mode magnetic deflection estimation:
Allows estimation of magnetic deviation in all magnetometer modes (increases calibration flexibility). -
GNSS-assisted heading convergence:
Improved convergence speed when initial heading is poor (e.g., incorrectly calibrated) (relying on GNSS data for corrections).
IMU improvements
- Gyroscope and accelerometer bias estimation optimization:
Improved numerical stability (changed the "incremental angular/velocity bias" algorithm to directly estimate the "accelerometer/gyroscope bias").
Optical Flow sensor update
- Supports pre-takeoff operations:
The optical flow sensor can now be enabled before the drone takes off (for bench testing or ground calibration).
Yaw Emergency Estimator Improvements
- Algorithm upgrade:
Switch to error state derivation method to improve heading estimation performance. - Initialization enhancement:
Supports running before takeoff to initialize the EKF heading.
sensor
- Repair NXP UWB SR150 driver(PX4-Autopilot#1123)
- Septentrio GPS Update(PX4-Autopilot#23386)
- Ublox adds UBX-RXM-RTCM to get RTCM input status(PX4-Autopilot#21595)
- Added TDK IIM42653 IMU driver(PX4-Autopilot#21019)
- [Airspeed Meter] Simplify the airspeed meter configuration process(PX4-Autopilot#22510)
- [New parameters]
SYS_HAS_NUM_ASPD、FW_USE_AIRSPD - [Log] Record all GPS data(PX4-Autopilot#22421)
Simulation
- [Gazebo]support Advanced Plane, a simulated fixed-wing aircraft that provides better aerodynamic simulation than ordinary aircraft(PX4-Autopilot#22167、gz-sim#2185)
- [Gazebo]Environment variables can now be used to represent simulation models (PX4-Autopilot#22400
PX4_SIM_MODEL)- This replaces , which is now deprecated.
PX4_GZ_MODEL
- This replaces , which is now deprecated.
- [Gazebo]Separation of Gazebo and PX4 SITL (PX4-Autopilot#22467)
- The two parts of the simulation are now separated.
- They can be started independently in any order and can even run on different hosts in the network.
- Gazebo also supports drag and drop via the resource builder in the Gazebo GUI
- JMAVSim simulatoris now community supported.
- It has been deprecated as part of the official PX4 development toolchain to allow us to focus our efforts on Gazebo
- [Tools/simulation/gz]: ApplyLinkWrench plugin is loaded by default (PX4-Autopilot#21874)
- Allows users to specify the Gazebo Garden/Harmony rendering engine in the simulation (PX4-Autopilot#22693)
- Add support for quad-tail VTOL in SITL Gazebo (PX4-Autopilot#20558)
- [Feature] Parameters to enable/disable PX4 internal battery simulator in SITL (PX4-Autopilot#22710)
- [New parameters]
SIM_BAT_ENABLE
- [New parameters]
- [GZ -Bridge]Fixed GZ timeout causing slow simulation startup (PX4-Autopilot#22194)
Ethernet Updates
- Default static IP change(PX4-Autopilot#22517):
When DHCP fails, the default static IP is changed from192.168.0.3to10.41.10.2,to avoid conflicts with the router's common IP segment192.168.0.x.
MAVLink Improvements
- PTZ mode fixes(PX4-Autopilot#23236):
Corrected gimbal control logic in Auto RC and MAVLink modes.
uXRCE-DDS interface upgrade
- [uXRCE-DDS] DDS Topics YAML Now allows to specify that the indicated ROS 2 topic will be sent to a separate uORB topic instance reserved for ROS 2 (PX4-Autopilot#22266
subscription_multi)- This allows PX4 to differentiate between updates coming from ROS and updates coming from the PX4 uORB publisher.
- With this change, ROS2 users can now decide whether the messages they send to PX4 are overlapped with existing uORB messages or kept in a separate instance.
- Moving VOXL from the microdds client to the UXRCE-DDS client (PX4-Autopilot#22997)
- Add parameter to disable time synchronization between Agent and Client (PX4-Autopilot#21757))
- [New parameters]
UXRCE_DDS_SYNCT - [document] Middleware uXRCE-DDS / ROS 2 / Gazebo Simulation
- [New parameters]
New Features in ROS 2
- [Feature] Dynamic Mode API (PX4-Autopilot#20707)
- [Function] [PX4 ROS 2 interface library]Experimental: A new C++ library that simplifies controlling PX4 from ROS 2
- Support for adding flight modes in ROS 2 that are equivalent to the PX4 modes running on flight controllers.
- The mode behaves the same as the FMU internal mode
- Propagated to GCS and user selectable
- Interface for arming check and mode request
- Integration into fail-safe state machine
- [Feature] Multirotor Go to Interface (PX4-Autopilot#22375)
Platform Updates
Multi-copter
- [New Mode] Flying mode experiment:Start the multirotor by throwing it into the air.PX4-Autopilot#21170
- [New Mode] Slow positioning mode:A slower version of position mode with lower maximum speed/yaw rate, suitable for delicate maneuvers, where the maximum horizontal speed, vertical speed, and yaw rate axes can be configured to lower values (using parameters, RC controller knobs/switches, or MAVLink).PX4-Autopilot#22102
- [Helicopter] Added tail servo support PX4-Autopilot#21274
- [Helicopter] Supports coaxial twin-rotor helicopters.document,PX4-Autopilot#22083
- [Improvement] Multirotor position control parameter description(PX4-Autopilot#21729)
- [Improvement] Default motor PWM limits min 1100 max 1900. Default value changed from 900us to 1000us! (Please check your configuration!)document,PX4-Autopilot#21513
VTOL
- Transition parameter optimization(PX4-Autopilot#21760):
AddedVT_BT_TILT_DURto control the tilt time and shorten the overall transition time. - Tailstock type improvement(PX4-Autopilot#22584):
Added automatic pitch adjustment in Stabilized mode. - Forward thrust assist(PX4-Autopilot#22843):
Think of descent as landing mode. - Emergency descent parameters(PX4-Autopilot#21598):
AddedVT_QC_ALT_LOSSparameter to control protection logic during unexpected high drop.
Plane
- Simplified airspeed meter configuration((PX4-Autopilot#22510):
- Deprecated
CBRK_AIRSPD_CHK, useSYS_HAS_NUM_ASPDto set the number of airspeed meters -
Rename the parameter
FW_ARSP_MODEtoFW_USE_AIRSPD -
Instructions:
-
If you want to be able to fly without an airspeed meter (for example, using GPS to measure speed), set
SYS_HAS_NUM_ASPDto 0 -
If you do not want the flight controller to use airspeed data (for example, manual flight), set
FW_USE_AIRSPDto 0
-
- Deprecated
- Enhanced wind resistance(PX4-Autopilot#21764):Optimized flight control stability in strong winds.
-
Attitude controller code optimization(PX4-Autopilot#22472): Clean up code and improve reliability
-
Energy control parameter renamed(PX4-Autopilot#22548):
-
FW_T_THR_DAMPrenamed toFW_T_THR_DAMPING -
FW_T_I_GAIN_THRrenamed toFW_T_THR_INTEG
(Note: The name was changed because the actual function of these parameters has changed)
-
-
VTOL High-Speed Data Recording(PX4-Autopilot#22700)): Now can record more detailed flight data
-
Stunt mode axle control switch(PX4-Autopilot#21566):
-
Added a new parameter
FW_ACRO_AXS_CTRLto disable automatic control of specific directions in acrobatic mode (for example, disabling automatic roll axis correction).
-
-
Independent Path Following Controller(PX4-Autopilot#21376): Added a new mode to control the aircraft to fly along a predetermined path
-
New flight performance model(PX4-Autopilot#22091): Added the function of calculating the maximum endurance/range of the aircraft and other performance
-
Added maximum airspeed parameter(PX4-Autopilot#22091):Set the maximum airspeed allowed by the aircraft through
FW_S_CEILING
UGV
- Aion R1 Experimental support
Added a driver for Roboclaw motor controller
Provides assembly instructions for the new differential steering autonomous vehicle Aion R1
Includes access method for Roboclaw motor controller
- Private builds
Provides independent unmanned vehicle firmware for PX4/FMU-v5/v5x/v6c/v6x hardware(PX4-Autopilot#22675)
Full changelog
View the complete change log on GitHub:v1.14.0...v1.15.0