# PX4-Autopilot v1.14 Release Notes
# Read Before Upgrading
The v1.14 release includes a few breaking changes for users upgrading from previous versions, in particular we are moving away from using mixer files to define the vehicle geometry, motor mappings and actuators.
Additionally, we deprecated the Fast-RTPS interface used by ROS 2 in favor of a much cleaner solution that doesn't require a custom build target, and goes away with the additional message generation step.
Please continue reading for upgrade instructions.
# Major Changes
- Dynamic Control Allocation
- Improved Preflight Failure Check Reporting
- Failsafe Simplification and Simulation
- Default Simulation is now New Gazebo
- Improved ROS 2 Interface thanks to uXRCE-DDS
# Dynamic Control Allocation
We are very excited to enable the new dynamic control allocation by default; it allows users to define vehicle configurations at runtime without needing a mixer file, thanks to the new vehicle setup dashboard in QGroundControl.
Note
The new actuator configuration UI is available on QGroundControl 4.2.0 or newer.
# Improved Preflight Failure Check Reporting (QGC Arming Checks UI)
PX4 v1.14 adds much improved preflight failure reporting through the events interface. If the vehicle won't arm, you can more easily find out why in the QGC Arming Checks UI (opens new window). No more wondering if it's a problem with the safety switch, a poor calibration, or something in the internals of the estimator!
Note
The QGC Arming Checks UI is available in the QGC Daily Build (QGC v4.2.0 and later)
As part of this change, it is now possible to switch to any mode when disarmed (previously you could not switch to a mode that required GPS if you didn't have a good position estimate). PX4 will only allow you to arm when the conditions for the current mode are met, and will report failure checks that are not relevant to the current mode as warnings.
# Failsafe Simplification
Safety Failsafe handling has been simplified, in particular with respect to what happens if a failsafe is triggered when another failsafe is already in progress.
- There is now a hold delay before the action is performed, giving the user time to override the failsafe if needed.
- If multiple failsafes are triggered, the more severe action is taken. For example if both RC and GPS are lost, and manual control loss is set to Return mode and GCS link loss to Land, Land is executed.
The new Failsafe State Machine Simulation allows you to test failsafe behaviour under all possible configurations and conditions.
# New Gazebo
Given the recent changes (opens new window) by the Open Robotics simulation team, we are introducing name changes for our gazebo simulations, mirroring Open Robotics naming scheme, starting with v1.14:
Most importantly this affects the PX4 build target names as well:
- Gazebo targets are prefixed with
gz_
(e.g.make px4_sitl gz_x500
). - Gazebo Classic
make
targets are now prefixed withgazebo-classic_
(e.g.,make px4_sitl gazebo-classic_cloudship
).
# Improved ROS 2 Interface via uXRCE-DDS
We updated the ROS 2 interface, replacing Fast-RTPS (opens new window) with uXRCE-DDS, resulting in an improved experience across the board.
The change also avoids the need for _rtps
build targets, enabling the interface on even more targets by default.
# Upgrade Guide
For users upgrading from previous versions, please take a moment to review the following:
The actuator changes require you to verify vehicle geometry and motors/servos mappings match your vehicle. In QGC, find the Actuator Configuration Dashboard, and make sure to confirm the airframe geometry matches actuals from your vehicle, as well as update motor and ensure motors and servos are mapped to outputs as they are wired to the frame and with the correct ESC type specified. Note: take advantage of the sliders in the UI. They can be used to confirm motor wiring.
We highly recommend running an ESC Calibration if using PWM ESC motors and then setting appropriate disarmed minimum and maximum values for the motors (in the actuator UI).
The calibration is critical if you are using a custom mixer file or the airframe you assigned in an earlier version is not present in PX4 v1.14.
However, an ESC Calibration is still recommended even if you are using an airframe that precisely matches a specific vehicle in the Airframe Reference (such as the Holybro X500 V2) as your wiring and ESCs calibration may not match the defaults.
Default disarmed PWM was changed from 900us to 1000us. Verify if you previously used the default PWM disarmed values and if the changes impact your setup. For details, you can find related information in the step 7 of ESC calibration document.
Fast-RTPS users must port their code to the new uXRCE-DDS interface. Application code should only require minor modifications. These include (minimally):
Modifying topic names to match the new naming pattern, which changed from fmu/<topic_name>/out
to fmu/out/<topic_name>
, and Adusting the QoS settings.
For more information see Fast-RTPS to uXRCE-DDS Migration Guidelines
# Other changes
# Hardware Support
- Cubepilot Cube Orange+ - PX4-Autopilot#20304 (opens new window)
- Unicore GPS: Support for Holybro Unicore UM982 GPS - PX4-Autopilot#21214 (opens new window))
- VOXL2 Improved support - PX4-Autopilot#21426 (opens new window)
- Cubepilot Cube Black detection: Fixed Cube Black vs. Pixhawk 2 detection with CAN1 connected - PX4-Autopilot#21342 (opens new window)
# Common
- Failsafe state machine rewrite and web simulation
- Improved preflight failure check reporting (requires QGC v4.2.0 (opens new window) or later): PX4-Autopilot#20030 (opens new window) and qgroundcontrol#10362 (opens new window)
- Package delivery in mission: For package delivery applications, inital support for payload delivery in mission for gripper actuator was added
- Manual control setpoint message redefinition:
manual_control_setpoint.x
,y
,z
,w
->roll
,pitch
,yaw
,throttle
;throttle scale [0,1] -> [-1,1]
- PX4-Autopilot#15949 (opens new window) - Default motor PWM configuration - PX4-Autopilot#21800 (opens new window)
- Fix PWM/Oneshot calibration - PX4-Autopilot#21726 (opens new window)
# Control
- Land and take off again in mission: Landing doesn't disarm if the mission is not done - PX4-Autopilot#19659 (opens new window)
- Separate trajectory setpoint message: Message is now separate from vehicle_local_position_setpoint message. - PX4-Autopilot#19622 (opens new window)
- Bugfix: "Invalid setpoint" message on takeoff or mode switch: The message popped up as false positive depending on timing - PX4-Autopilot#20581 (opens new window)
- Bugfix: Step switching Altitude to Position: Switching from Altitude to Position with speed produced a jerk step - PX4-Autopilot#20905 (opens new window)
# Estimation
- Multiple height source fusion
- EKF2 start without magnetometer and barometer data: Until now, a mag and a baro was mandatory to run EKF2 - PX4-Autopilot#20021 (opens new window)
- Multirotor wind estimate improvements: More accurate bluff body drag model - PX4-Autopilot#20848 (opens new window)
# Sensors
- DroneCAN sensors now need to be individually enabled via
UAVCAN_SUB_*
parameters - PX4-Autopilot#18471 (opens new window) - Battery estimation defaults, reporting improvements: Defaults: current based load compensation, higher empty cell voltage, shorter action delay - PX4-Autopilot#19429 (opens new window), PX4-Autopilot#19700 (opens new window), PX4-Autopilot#19594 (opens new window), https://github.com/PX4/PX4-Autopilot/pull/19679
- SF45 rotation Lidar serial driver - PX4-Autopilot#19891 (opens new window)
# Simulation
- [Gazebo] Ignition Fuel for PX4: PX4 now has a repository for gazebo models in ignition fuel - https://app.gazebosim.org/PX4
- [Gazebo] Support for Gazebo garden with native ignition transport support: Added native ignition transport support for direct interaction with Gazebo and the simulation. Supported vehicles in Gazebo are X500 (Multicopter), Plane, Standard VTOL - PX4-Autopilot#20319 (opens new window)
- [Gazebo-classic] Serializer for Gazebo sniffer: Added a sniffer for serializing gazebo related information - PX4-SITL_gazebo-classic#937 (opens new window)
- [Gazebo-classic] Motor failure plugin as a ros2 plugin: Motor failure plugin has been updated to be a ros2 plugin - PX4-SITL_gazebo-classic#862 (opens new window)
- [Gazebo-classic] Addition of Omnicopter model: A fully actuated omnidirectional vehicle model has been added to Gazebo SITL - https://github.com/PX4/PX4-SITL_gazebo-classic/pull/866
- [Gazebo-classic] Addition of Advanced liftdrag plugin: Advanced liftdrag plugin that models nonlinear aerodynamics based on AVL - PX4-SITL_gazebo-classic#901 (opens new window)
- [Gazebo-classic] Addition of Safe landing world: Addition of safe landing world, for testing safe landing - PX4-SITL_gazebo-classic#93 (opens new window)
- [Gazebo-classic] Depricated Ubuntu Bionic reated tests: Removed testing due to EOL of Ubuntu Bionic - PX4-SITL_gazebo-classic#974 (opens new window)
- [SIH] Standalone sensor simulations in tree: Ability to simulate sensors in tree that was part of SIH is now a stand alone sensor module. Sensors include magnetometer, GPS, Barometer, Airspeed - PX4-Autopilot#20137 (opens new window), https://github.com/PX4/PX4-Autopilot/tree/release/1.14/src/modules/simulation/sensor_airspeed_sim
- [SIH] Failure injection for battery simulation - https://github.com/PX4/PX4-Autopilot/commit/ebc1d7544e8146788c9e7cf5e8b64f60199240e4
# MAVLink
- MAVLink forwarding over USB: Forward MAVLink traffic to/from USB by default - PX4-Autopilot#20745 (opens new window)
# Multi-Rotor
- Improved Follow-Me flight mode: Follow-me mode was improved for better user experience - PX4-Autopilot#18026 (opens new window) | PX4 Dev Summit presentation (opens new window)
- Improved Helicopter Support: Helicopter Configuration
- Direction-based speed constraints for multirotors: Can define a different forward, backward and lateral speed - PX4-Autopilot#19257 (opens new window)
- Allow yawing in hold mode: Let the pilot yaw the drone while staying in hold mode - PX4-Autopilot#21399 (opens new window)
# VTOL
- Quad-chute: enable to reset failure state. Reset failure state once operator trigger transition to FW again - PX4-Autopilot#20913 (opens new window)
- Simplify Tailsitter transitions to FW in Stabilized: Adapt the tilt threshold automatically on configured max tilt setting - PX4-Autopilot#21582 (opens new window)
- Refactor uncommanded descend Quad-Chute: Enables to set altitude error threshold to trigger a Quad-chute - PX4-Autopilot#21598 (opens new window)
- Enable control-surface-less Quad-tailsitters: Enables to use differential thrust to control full body attitude in FW mode on tailsitters - PX4-Autopilot#20511 (opens new window)
- Skip VTOL_Takeoff mission item if already in-air - PX4-Autopilot#19985 (opens new window)
# Fixed-wing
- Flaps/Spoiler refactor - PX4-Autopilot#19329 (opens new window)
- FW Position control: switch from L1 to NPFG guidance - PX4-Autopilot#19603 (opens new window) | PX4 Dev Summit presentation video (opens new window)
- Automatically apply learned airspeed scale in-air - PX4-Autopilot#19787 (opens new window)
- Takeoff refactor/enhancements - PX4-Autopilot#19869 (opens new window)
- FW landing refactor/enhancements - PX4-Autopilot#19871 (opens new window)
- Scale minimum airspeed with wind strength FW Position control: add option to scale min airspeed with wind magnitude - PX4-Autopilot#20259 (opens new window)
- Improve FW hand-launch takeoff - PX4-Autopilot#20557 (opens new window)
- Improve accelerated stall protection - PX4-Autopilot#20636 (opens new window)
- Add option to disable manual yaw inputs - PX4-Autopilot#20647 (opens new window)
- Disable airspeed rate input into TECS airspeed rate estimation has shown to be unreliable, so we decided to disable it for now - PX4-Autopilot#21317 (opens new window)
- Support flying at different airspeeds Add airspeed to trim throttle mapping in TECS to support flying at different airspeeds - PX4-Autopilot#21345 (opens new window)
- FWPositionControl: navigateWaypoints: fix logic if already past waypoint - PX4-Autopilot#21642 (opens new window)