v1.11.0
PX4/PX4-Autopilotv1.11.0Sep 7, 2020by dagar
AI Summary
A major release featuring new high-performance IMU drivers, a hover thrust estimator, backup yaw estimator, and support for new hardware platforms.
Key Highlights
- New hover thrust estimator (PR #13981)
- Backup yaw estimator for emergency recovery (EKF-GSF)
- New InvenSense and Bosch IMU drivers with high-rate support
- Major sensor calibration improvements (Gyro, Mag, Level)
- Support for new hardware including Durandal, CubePilot, and CUAV boards
Breaking Changes
- VTOL support is no longer included in flash limited px4_fmu-v2 hardware (original 3DR Pixhawk with silicon bug)
New Features
- New IMU drivers and framework optimizations
- UAVCAN support and multiple battery support
- ROS 2 support (Dashing, Eloquent, Foxy)
- New notch filter and acceleration feedforward
- Takeoff failure detection
- Offboard control improvements for Rover
- UUV mixers and controllers
- NuttX upgrade to version 8.2
Full Release Notes
# Release Notes ## Highlights * Multicopter hover thrust estimator (https://github.com/PX4/Firmware/pull/13981) * Backup yaw estimator for emergency recovery (https://github.com/PX4/ecl/pull/766) * new Invensense and Bosch IMU drivers enabled everywhere * completely rewritten drivers and framework optimized for flight performance (high rate raw data up to 8 kHz and low end-to-end latency) * configurable low latency sensor pipeline with new notch filter * Multicopter rate controller runs synchronized with primary gyro (up to 4 kHz configured via IMU_GYRO_RATEMAX) * Major sensor calibration improvements ([Gyro](https://github.com/PX4/Firmware/pull/13632), [Mag](https://github.com/PX4/Firmware/pull/13623), [Level](https://github.com/PX4/Firmware/pull/13666)) ### Migration Guide * VTOL support is no longer included in flash limited px4_fmu-v2 hardware (original 3DR Pixhawk with silicon bug) ### Hardware Support * [Holybro Durandal](http://docs.px4.io/master/en/flight_controller/durandal.html), (Manufacturer Supported) * [NXP IMX-RT, S32K](https://nxp.gitbook.io/ucans32k146/), (Manufacturer Supported) * [Holybro PIX32V5](http://docs.px4.io/master/en/flight_controller/holybro_pix32_v5.html), (Manufacturer Supported) * [CubePilot Cube Yellow](http://docs.px4.io/master/en/flight_controller/cubepilot_cube_yellow.html), (Manufacturer Supported) * [CubePilot Cube Orange](http://docs.px4.io/master/en/flight_controller/cubepilot_cube_orange.html), (Manufacturer Supported) * [CUAV X7](http://doc.cuav.net/flight-controller/x7/en/), (Manufacturer Supported) * [CUAV X7 Pro](http://doc.cuav.net/flight-controller/x7/en/x7-pro.html), (Manufacturer Supported) * [CUAV Nora](http://doc.cuav.net/flight-controller/x7/en/nora.html), (PR #15536) (Manufacturer Supported) ### Drivers * SPI DMA adds centralized DMA map (PR #14207) * Move primary IMU to new InvenSense driver (PR #14356) * New drivers interface and consolidation (PR #14386 ) ### System Architecture * Board config simplifications for SPI & I2C (PR #14221) and PWM timers (#13871) * Adds UAVCAN node `cannode` (PR #14148) * Adds CAN interface runtime (PR #14367) * Support for multiple UAVCAN v0.1 Smart Batteries (PR #14198) ### Multicopter * New hover thrust estimator (PR #13981) * XYZ-synchronized motion in auto modes (diagonal climb) (PR #13596) * New Notch filter (PR #13549) * Acceleration feedforward (PR #14212) * Mag power compensation (PR #14457, [Docs](https://docs.px4.io/master/en/advanced_config/compass_power_compensation.html)) * Takeoff failure detection (PR #14428, [Docs](https://docs.px4.io/master/en/config/safety.html#failure_detector)) * Horizontal velocity limit close to ground (PR #13561, [Parameter](https://dev.px4.io/master/en/advanced/parameter_reference.html#MPC_LAND_VEL_XY)) ### VTOL * Tiltrotor: Use tilt to accelerate the vehicle forward while in hover (PR #13779) * Weather vane improvements (PR #13782) * Active path and deceleration tracking during transitions (PR #14405) ### Fixed Wing * Improved airspeed failure detection (PR #12353) * Enables fallback estimation without airspeed sensor. (PR #12887) ### Rover * Major improvements to offboard control * Enable offboard attitude setpoints (PR #13323) * Enable offboard velocity setpoints (PR #13225) * Enable ActuatorControl setpoints in offboard mode (PR #13314) ### Underwater Vehicles * New mixers for underwater vehicles Generic & HippoCampus (PR #14079) * New UUV default specific parameters and autostarting (PR #14079) * New Mixer for UUVs with X-shaped thruster configuration (PR #14079) * New `uvv_att_control` controller for UUV attitude control (PR #14079) ### PX4/ECL - Estimators improvement * Emergency Yaw recovery using EKF-GSF estimator (PR PX4/ecl#766) * Pre-flight accel bias estimation stability fixes (PR PX4/ecl#818) ### Onboard computer / middleware improvements * Adds ROS 2 Dashing and Eloquent support to the microRTPS bridge (PR #13907) * Adds ROS 2 Foxy support to the microRTPS bridge (PR #15227} * Adds time sync to the microRTPS bridge (PR #14297) * UART link data stream fixed in the microRTPS bridge (PR #15354) ### PX4/Avoidance * Smoother flight planning with improved repeatability (PR PX4/Avoidance#555) * Bezier trajectory avoidance interface (PR #14279) * Bugfixes and improvements ### Simulation * Multi-Vehicle simulation with Gazebo * Adds support for multiple distance sensor instances. (PR #14143) * Adds support for UUV vehicles. (PR #14079) * Adds support for boats. (PR PX4/sitl_gazebo#409 ) * Adds Catapult and Hand launch support for fixed-wing. (PR PX4/sitl_gazebo#393 ) ### Failsafe / Commander / Navigation improvements * New Hover Thrust estimator (PR #13981) * Commander, Navigator state clean-up (PR #14307) * Navigator fixes heading drift after takeoff (PR #13965) * Enable RC-Override in Take-off (PR #14022) * Takeoff failure detection (PR #14428) * Pre-flight check: Disable mag field strength check via parameter (COM_ARM_MAG_STR) (PR #13766) ### OS/NuttX The release includes a change from [NuttX-7.29 ](https://bitbucket.org/nuttx/nuttx/src/101f3bddecb70cfb8dc78c5b4fad98f3480ae399/ReleaseNotes#lines-21789) to [NuttX-8.2](https://bitbucket.org/nuttx/nuttx/src/efff9b9438e69ea6c70e879b7ee4d49bff1b0988/ReleaseNotes#lines-25651) See [NuttX release notes](https://bitbucket.org/nuttx/nuttx/src/efff9b9438e69ea6c70e879b7ee4d49bff1b0988/ReleaseNotes#lines-25651) for the details of changes in NuttX-8.2 details. Included as backports are: * STM32[F4 F7 H7] * spi_exchange (no DMA) with for STM32xx_SPI_DMATHRESHOLD * STM32[F7 H7] * SDMMC internal pull up usage fixed * Add check_format tooling * nxstyle - output compiler like error format * STM32H7 * fix stm32h7x3xx_dmamux.h: add missing underscore to defines * STM32F7 * stm32f7:Add Serial Tx DMA * stm32f7:ethernet: Add some delays so that ifup() does not * NXP IMX-RT, S32K * S32K add support for Nxp drone boards * imxrt: Adds the ability to run from OCRAM * imxrt: Add USB Device support for i.MX RT * imxrt: added missing i2c prescale mask * imxrt: interrupt serial storm, add DTCM and set up I and * imxrt: Allow clock setting for SPI and I2C from board.h. * imxrt:lpi2c Fix interrupt storm on failed write. * imxrt:lpi2c ensure that on an error status reflects it. * imxrt:lpi2c imxrt_lpi2c_reset uses GPIO with SION * imxrt:gpio Support readback on OUT GPIO * imxrt1020-evk: Enable the GPIO based CD. * imxrt:lpspi: Fixed race on register setting. * imxrt:lpspi: Remove hack setting LPSPI1 daisy irrespective * imxrt:lpi2c.c:Added configurations to fine tune LPI2C Time * IMXRT106x USDHC: Support regular GPIO for CD and inversion. * IMXRT106x:pinout add ALT 8 GPIO_GPT2_COMPARE3 & fix GPIO_G * IMXRT106x:pinout add ALT 8 GPIO_GPT1_CAPTURE[1|2] * Kinetis renamed TJA1100 to TJA110X registers ## v.1.11.0 Changelog https://gist.github.com/mrpollo/7173f6c89d2fdacb923eb4481b486e41