v1.9.0 Stable Release
High-Level PX4 v1.9 Release Notes
Release link: https://github.com/PX4/Firmware/releases/tag/v1.9.0
Devguide documentation: https://dev.px4.io/v1.9.0/en/
Full Changelog: https://gist.github.com/mrpollo/999253f9bdddf8a9d5f08141a1a9f364
Highlights
- ARM M7 silicon errata fix
- Ethernet networking support
- Orbit mode (multicopter)
- Multicopter airmode
- Obstacle avoidance in missions (with full 3D navigation, not just basic points)
- Collision prevention in position mode (with full 3D navigation)
- New flight tasks system enabled by default
- Smoother takeoff for multicopters
- Smooth trajectory generator for multicopter auto mode
- GPS heading support for use in magnetically challenging environments
- Forgiving default filter settings for larger multicopters with high vibration levels
- Proven failsafe between different IMUs (Pixhawk 2.1 hardware errata of HEX products successfully detected and handled)
- Operating system: NuttX upgrade from 7.22 to 7.28+
- Option to build single-vehicle-type binaries for flash-constrained microcontrollers
Simulation improvements - Better VTOL models
- Simplified multi-UAV simulation with JMAVSim
- Run simulation faster/slower than realtime (lockstep simulation)
Main Features and Improvements
With over 3000 commits a lot of the changes are not listed here. These changes represent the main improvements in the system.
Multicopter
- Limited-jerk trajectory generator for auto mode
- Smoothing of takeoff
- Mixer rewrite and Airmode for all axes
- Improved Acro performance (keep integrators always enabled in-air)
- Spool-up time for motors after arming
- Orbit flight mode
- Airspeed robustness (fault detection + failover) [BETA]
VTOL
- Improved support for tiltrotors
- Rate controller architecture change (run fixed wing & multicopter rate controller together to have dedicated rate controller for one set of actuators)
- Active weathervane based on direction of desired thrust vector
- Migration guide (vtol roll direction parameter - V19_VT_ROLLDIR)
PX4/ECL - Estimators improvement
- Reduced latency from receipt of IMU data to output of vehicle Pose data
- Multi GPS support (GPS blending and failover)
- Support for Fusion of GPS heading
- Miscellaneous optical flow data use improvements
- Miscellaneous VIO data use improvements
- Improve stability of attitude alignment and yaw reset at large tilt angles (eg tailsitters)
PX4/GPSDrivers
- Support for u-blox F9 generation (RTK)
- Initial support for Septentrio
Computer Vision & Autonomy
- Full bidirectional VIO uORB messaging, with linear/angular velocity and covariance propagation, besides pose data;
- Fast-RTPS bridge client and IDL definitions code generation improvements for a better integration with px4_ros_com (PX4 bridge with ROS2).
PX4/Avoidance
- Collision Prevention in Position Control
- Obstacle Avoidance in Mission Mode
- Pre-flight checks and failsafe mechanisms for Obstacle Avoidance in Mission mode
Simulation
- SITL lockstep (jMAVSim + Gazebo support)
- Faster or slower than real-time simulation, support to pause or step through code, enables SITL on older or slower hardware
- Simulation in Hardware module
- Avoidance in Gazebo
- Serial port configuration improvements
Logging improvements
- Mission log: Minimal summary log file for flight meta data
Onboard computer / middleware improvements
- Improved support for ROS2
- Initial support for monitoring of an onboard computer
- Bootloader update on v2 boards
NuttX update
- NuttX upgrade from 7.22 to 7.28+
- Compressed defconfig files.
- Compressed ROMFS
- Many bug fixes and performance improvements
Updated Supported Hardware
- Analog Devices ADIS16477, ADIS16497
- AK09916 compass (Here 2 GPS)
- Cm8jl65 distance sensor
- PMW3901 optical flow sensor
- InvenSense ICM20948 compass (Here GPS)
- Pixhawk 4 Mini (full support)
- NXPhlite
- NCP5623C RGB LED
- SMBUS batteries (improved support)
- Better ESC calibration for PWM ESCs