We are nearly ready for the 3.5.0 release, with a lot of new features. Key features include
RTK GPS improvements
Qualcomm Flight support
improved landing abort
waf build system
ADS-B adapter support
new SITL plane and quadplane simulator
switch to EKF2 by default
Version 3.3.2 released Dec 1st to resolve some issue found including:
bug fix for desired climb rate initialisation that could lead to a drop when entering AltHold, Loiter, PosHold (video)
Fix to hard landings when WPNAV_SPEED_DN set high in RTL, Auto (resolved by using non-feedforward alt hold)
EKF fix to reduce "Bad AHRS" message by filtering innovations
Allow arming without GPS if using Optical Flow
Smoother throttle control in Guided mode (incl follow me) by increasing control rate to 400hz.
Support for new flight controllers in master:
Quaternion rate controller
Attitude controller interface renaming and internally uses SI units
removing Frame_Config #defines in preparation for run-time vehicle selection in future
Features in progress only some of which will make Copter-3.4
Throw mode (video)
Motor library refactoring to better allow modularization
Precision Landing video
3.3 is ready to go stable for TradHeli.
Waiting on the 3.3.3 release for Multirotors to make the release process easier to manage. Last change to go in was to force 1 m/s descent rate if the motor is switched off in flight in an auto-collective mode.
For 3.4, the internal-governor code is well underway, mostly useable for gassers. This included some improvements to the RPM measuring code which benefits all.
The airplane guys might also be interested in the governor code for variable pitch props, but it may also benefit them to have the throttle control prop RPM instead of simply throttle.
Version 0.7.5 released which includes:
fixed occasional pitch problems by requesting baro from vehicle at 1hz
A new build system was added to allow integrating unit tests, benchmarks and simplify the support for the several boards. The basic infrastructure is in place and boards are being gradually migrated from the old build system.
Support for generic auxiliary bus on MPU9250 was added in order to support additional sensors on this bus and also allow MPU9250 to be connected on an I2C bus.
Now we can use kernel drivers to drive PWM output. This allows them to be used for RCOutput, PWM Heater and also aux channels.
General improvements to the codebase was made in order to detect better the Linux boards and share more code among them. New boards are always being added and for this cycle there was support added for Bebop2, Bhat (RPI-based) and qflight (a Linux port for Qualcomm’s Snapdragon). AP_Progmem and other legacy libraries from when AVR-boards were supported were completely removed to improve the code.
PX4Flow algorithm was implemented using V4L2 APIs allowing to connect USB cameras. Right now only some of them are supported but new ones can be added by converting the video format they support to one of the formats supported by the algorithm.
The Linux boards now support the perf API to time each event in the scheduler. Support for getting this values from the flight stack is still under work.
AP_Math library continues to be refactored to include safer and faster methods and at the same time modernized the code base.
PX4 Flight Core:
Last quarter saw a significant investment in infrastructure.
The whole project switched to the CMake build system with Ninja replacing GNU Make as the default build tool. This speeds up incremental builds by several orders of magnitudes and greatly improves the development experience.
SITL is now implemented with jMAVSim and Gazebo as backends and multicopter to VTOL support.
UAVCAN nodes can be upgraded directly from the autopilot and the default build carries up-to-date binaries for the first two ESCs.
A new tailsitter simulation in Gazebo is available and we simulate now optical flow and lidar data directly in Gazebo with real flow calculation.
The PX4 dev team created a Wifi Firmware for the ESP8266 with considerably better throughput than existing solutions. This allows MAVLink telemetry and Firmware upgrade. Qualcomm Snapdragon support for PX4 was released October 2015 by Qualcomm with proprietary drivers. Now the generation 2 of this API reached testing status, based on DriverFramework and open source drivers. This allows the reuse of the framework across projects and for different hardware.
New Pixracer support for final hardware revision. With support for this racing board came also the popular Rattitude flight mode. Current prototypes are incompatible and will not be maintained.
Introduction of the Estimation & Control Library: A flight stack independent modular library including EKF2 (which is an error-state formulation and currently in flight testing).
Refinements in VTOL support (Tailsitter, Tiltrotors, Quad Planes (video)) including automatic transitions in missions. New support for coaxial helicopters. PX4 now also knows how to autonomously takeoff and land on runways (video).
Working on improving upstream support for PX4 and providing support to the APM project for their port to QuRT. DriverFramework now runs on QuRT on an upcoming DSP image release. Consolidated build environment using CMake
Significant progress in development of Python library (pyuavcan) and lightweight C library for resource constrained systems (libcanard).
Second release candidate of Libuavcan is now available.
Support for a vlc supported video stream on the hud
a customizable preflight list is not available
rtcm/sbp packet information display for rtk operations
Largest change is APM Stack support including vehicle setup