The ArduPilot development team is proud to announce the release of the first beta version of the 3.5.0 release of APM:Plane. We think this is going to be a great release and we'd love some feedback before we do the final version.
The biggest changes in this release are:
- switch to new EKF2 kalman filter for attitude and position estimation
- added support for parachutes
- added support for QuadPlanes
- support for 3 new flight boards, the QualComm Flight, the BHAT and the PXFmini
- support for arming on moving platforms
New Kalman Filter
The 3.4 release series was the first where APM:Plane used a Kalman Filter by default for attitude and position estimation. It works very well, but Paul Riseborough has been working hard recently on a new EKF variant which fixes many issues seen with the old estimator. The key improvements are:
- support for separate filters on each IMU for multi-IMU boards (such as the Pixhawk), giving a high degree of redundency
- much better handling of gyro drift estimation, especially on startup
- much faster recovery from attitude estimation errors
After extensive testing of the new EKF code we decided to make it the default for this release. You can still use the old EKF if you want to by setting AHRS_EKF_TYPE to 1, although it is recommended that the new EKF be used for all aircraft.
Parachute Support
This is the first release with support for parachute landings on plane. The configuration and use of a parachute is the same as the existing copter parachute support. See http://copter.ardupilot.com/wiki/parachute/
Note that parachute support is considered experimental in planes.
QuadPlane Support
This release includes support for hybrid plane/multi-rotors called QuadPlanes. More details are available in this blog post: http://diydrones.com/profiles/blogs/quadplane-support-in-apm-plane-3-5-0
Support for 3 new Flight Boards
The porting of ArduPilot to more flight boards continues, with support for 3 new flight boards in this release. They are:
- the BHAT board
- the PXFmini
- the Qualcomm Flight
More information about the list of supported boards is available here: http://dev.ardupilot.com/wiki/supported-autopilot-controller-boards/
Startup on a moving platform
One of the benefits of the new EKF2 estimator is that it allows for rapid estimation of gyro offset without doing a gyro calibration on startup. This makes it possible to startup and arm on a moving platform by setting the INS_GYR_CAL parameter to zero (to disable gyro calibration on boot). This should be a big help when flying off boats.
That is just a taste of all of the improvements in this release. In total the release includes over 1500 patches. Some of the other more significant changes include:
- RPM logging
- new waf build system
- new async accel calibrator
- SITL support for quadplanes
- improved land approach logic
- better rangefinder power control
- ADSB adapter support
- dataflash over mavlink support
- settable main loop rate
- hideable parameters
- improved crash detection logic
- added optional smooth speed weighting for landing
- improved logging for dual-GPS setups
- improvements to multiple RTK GPS drivers
- numerous HAL_Linux improvements
- improved logging of CAM messages
- added support for IMU heaters in HAL_Linux
- support for RCInput over UDP in HAL_Linux
- improved EKF startup checks for GPS accuracy
- added raw IMU logging for all platforms
- added BRD_CAN_ENABLE parameter
- support FlightGear visualisation in SITL
- configurable RGB LED brightness
Many thanks to everyone who contributed to this release! The development team is growing at a fast pace, with 57 people contributing changes over this release cycle.
I'd like to make special mention of Tom Pittenger and Michael du Breuil who have been doing extensive testing of the plane development code, and also contributing a great deal of their own improvements. Thanks!
Comments
@Justin, you can have 3 compasses, but you have to choose them carefully. The usual hmc5883 I2C compasses on a Pixhawk1 only allow for 2 on most boards as they all use the same I2C address. So you either need a board with two I2C buses available to the user (such as the Pixhawk2) or use a compass on a different bus (such as a UAVCAN compass)
@Justin, yes, auto-land without mission setup is something I will add, but at this stage it is very unlikely to make it into 3.5.0.
Thanks for the flight test!
@Joe,
You can set a QNH if you are using the advanced failsafe system:
http://plane.ardupilot.com/wiki/advanced-failsafe-configuration/#ma...
Is that what you want it for? If not then you'll need to explain your application a bit more.
Cheers, Tridge
Could you not just mentally adjust QFE for QNH and add that value in mission planner? I guess that might affect the earthbound part. In air QNH setting would be cool. Make regulators very happy. With more powerful boards around it should be more than possible.
Great work and much appreciation to the dev team. One thing I am wondering is, for high altitude flight (class a) we need to have the ability to set a barometric setting and as of now (at leaks I haven't found it yet) we don't have this capability. Will this soon be an option for APM Plane? Thanks
Joe
@Nick, unfortunately the APM2 can't support this. We'd already dropped support for it for new features, and the QuadPlane code would make the flash size way too big. In fact, it doesn't even fit on the FlyMaple.
@Tobias, yes, I believe the plan is that EKF2 will be the default for the next release of copter too.
great work! Especially on the EKF! Is this new EKF2 going to be available in copter 3.4? That would be fantastic!!
Hi Tridge,
Am I right in saying the apm 2.5 is no longer supported by this new firmware as I receive verification error after the upload?
Great work as always,
Cheers,
Nick.