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