Skip to content

Commit

Permalink
Plane: prepare for 3.4.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
tridge committed Sep 24, 2015
1 parent 643178f commit 38d51dd
Show file tree
Hide file tree
Showing 2 changed files with 134 additions and 16 deletions.
4 changes: 2 additions & 2 deletions ArduPlane/Plane.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
#ifndef _PLANE_H
#define _PLANE_H

#define THISFIRMWARE "ArduPlane V3.4.0beta3"
#define FIRMWARE_VERSION 3,4,0,FIRMWARE_VERSION_TYPE_BETA+2
#define THISFIRMWARE "ArduPlane V3.4.0"
#define FIRMWARE_VERSION 3,4,0,FIRMWARE_VERSION_TYPE_OFFICIAL

/*
Lead developer: Andrew Tridgell
Expand Down
146 changes: 132 additions & 14 deletions ArduPlane/release-notes.txt
Original file line number Diff line number Diff line change
@@ -1,17 +1,133 @@
Release 3.4.0beta2, 7th September 2015
--------------------------------------
Release 3.4.0, 24th September 2015
----------------------------------

I have started the beta release cycle for the 3.4.0 release of
plane. This will be the last release that supports the APM1/APM2 boards.
The ArduPilot development team is proud to announce the release of
version 3.4.0 of APM:Plane. This is a major release with a lot of
changes so please read the notes carefully!

First release with EKF by default

This is the also the first release that enables the EKF (Extended
Kalman Filter) for attitude and position estimation by default. This
has been in development for a long time, and significantly improves
flight performance. You can still disable the EKF if you want to using
the AHRS_EKF_USE parameter, but it is strongly recommended that you
use the EKF. Note that if an issue is discovered with the EKF in
flight it will automatically be disabled and the older DCM system will
be used instead. That should be very rare.

In order to use the EKF we need to be a bit more careful about the
setup of the aircraft. That is why in the last release we enabled
arming and pre-arm checks by default. Please don't disable the arming
checks, they are there for very good reasons.

Last release with APM1/APM2 support

This will be the last major release that supports the old APM1/APM2
AVR based boards. We have finally run out of flash space and
memory. In the last few releases we spent quite a bit of time trying
to squeeze more and more into the small flash space of the APM1/APM2,
but it had to end someday if ArduPilot is to continue to develop. I am
open to the idea of someone else volunteering to keep doing
development of APM1/APM2 so if you have the skills and inclination do
please get in touch. Otherwise I will only do small point release
changes for major bugs.

Even to get this release onto the APM1/APM2 we had to make sacrifices
in terms of functionality. The APM1/APM2 release is missing quite a
few features that are on the Pixhawk and other boards. For example:

- no rangefinder support for landing
- no terrain following
- no EKF support
- no camera control
- no CLI support
- no advanced failsafe support
- no HIL support (sorry!)
- support for far fewer GPS types

that is just the most obvious major features that are missing on
APM1/APM2. There are also numerous other smaller things where we need
to take shortcuts on the APM1/APM2. Some of these features were
available on older APM1/APM2 releases but needed to be removed to
allow us to squeeze the new release onto the board. So if you are
happy with a previous release on your APM2 and want a feature that is
in that older release and not in this one then perhaps you shouldn't
upgrade.

PID Tuning

While most people are happy with autotune to tune the PIDs for their
planes, it is nice also to be able to do fine tuning by hand. This
release includes new dataflash and mavlink messages to help with that
tuning. You can now see the individual contributions of the P, I and D
components of each PID in the logs, allowing you to get a much better
picture of the performance.

A simple application of this new tuning is you can easily see if your
trim is off. If the Pitch I term is constantly contributing a
signifcant positive factor then you know that ArduPilot is having to
constantly apply up elevator, which means your plane is nose
heavy. The same goes for roll, and can also be used to help tune your
ground steering.

Vibration Logging

This release includes a lot more options for diagnosing vibration
issues. You will notice new VIBRATION messages in MAVLink and VIBE
messages in the dataflash logs. Those give you a good idea of your
(unfiltered) vibration levels. For really detailed analysis you can
setup your LOG_BITMASK to include raw logging, which gives you every
accel and gyro sample on your Pixhawk. You can then do a FFT on the
result and plot the distribution of vibration level with
frequency. That is great for finding the cause of vibration
issues. Note that you need a very fast microSD card for that to work!

Rudder Disarm

This is the first release that allows you to disarm using the rudder
if you want to. It isn't enabled by default (due to the slight risk of
accidentially disarming while doing aerobatics). You can enable it
with the ARMING_RUDDER parameter by setting it to 2. It will only
allow you to disarm if the autopilot thinks you are not flying at the
time (thanks to the "is_flying" heuristics from Tom Pittenger).

More Sensors

This release includes support for a bunch more sensors. It now supports
3 different interfaces for the LightWare range of Lidars (serial, I2C
and analog), and also supports the very nice Septentrio RTK
dual-frequency GPS (the first dual-frequency GPS we have support
for). It also supports the new "blue label" Lidar from Pulsed Light
(both on I2C and PWM).

For the uBlox GPS, we now have a lot more configurability of the
driver, with the ability to set the GNSS mode for different
constellations. Also in the uBlox driver we support logging of the raw
carrier phase and pseudo range data, which allows for post-flight RTK
analysis with raw-capable receivers for really accurate photo
missions.

Better Linux support

This release includes a lot of improvements to the Linux based
autopilot boards, including the NavIO+, the PXF and ERLE boards and
the BBBMini and the new RasPilot board. If you like the idea of flying
with Linux then please try it out!

On-board compass calibrator

We also have a new on-board compass calibrator, which also adds calibration
for soft iron effects, allowing for much more accurate compass
calibration. Support for starting the compass calibration in the
various ground stations is still under development, but it looks like
this will be a big improvement to compass calibration.

This is the also the first release that enables the EKF for attitude
and position estimation by default. This has been a long time coming,
and significantly improves the flight performance. You can still
disable the EKF if you want to using the AHRS_EKF_USE parameter.
Lots of other changes!

There has also been a lot of internal code restructuring in this
release, with the move from .pde files to .cpp files and changes to
the handling of include files.
The above list is just a taste of the changes that have gone into this
release. Thousands of small changes have gone into this release with
dozens of people contributing. Many thanks to everyone who helped!

Other key changes include:

Expand Down Expand Up @@ -72,9 +188,11 @@ Other key changes include:
- moved SKIP_GYRO_CAL functionality to INS_GYR_CAL
- added detection of bad lidar settings for landing

Please test out the beta and report back on how it goes! There has
been a lot of testing of this release already by core developers so
I'm not expecting a long beta release cycle.
Note that the documentation hasn't yet caught up with all the changes
in this release. We are still working on that, but meanwhile if you
see a feature that interests you and it isn't documented yet then
please ask.



Release 3.3.0, 20th May 2015
Expand Down

0 comments on commit 38d51dd

Please sign in to comment.