The APM dev team is delighted to announce the release of APM:Plane 2.74, a major new release with a lot of new features. This release is recommended for anyone flying fixed wing aircraft with an APM2 or PX4.
There are a lot of changes in this release, but some of the highlights are:
Scroll down for a more complete list of changes, but before that I'd like to give you a bit more detail on the highlights above.
New Attitude Controllers
The new "APM_Control" attitude controllers have been in development for a long time. Originally developed by Jon Challinger last year, they were extended by Paul Riseborough and made compatible with the existing parameter names. The key advantage of these new controllers is their improved handling of noise, and much better ability to tune for your aircraft. There is a new tuning guide in the wiki which gives detailed instructions on how to make the most of the new capabilities.
One of the big effects you will see with the new attitude controllers is better handling of pitch compensation in turns. The new PTCH2SRV_RLL parameter makes tuning for flat turns much easier, which has been a major source of frustration in the past.
The new controllers also handle sensor noise much better, especially if you use any D term in your roll or pitch controllers.
New Speed/Height Controller
The new TECS speed/height controller is the second major controller change in this release, and will make a world of difference for aircraft with an airspeed sensor. After a lot of testing I decided to make TECS the default in this release, although you can switch back to the old controllers using the ALT_CTRL_ALG parameter if need be. If for some reason you find you do need these old controllers then please let me know, as I am planning on removing the old controllers in the next release.
The previous airspeed controller for speed/height suffered from a major problem that it gave absolute priority to airspeed. If the aircraft could not achieve the target airspeed you had set then it would dive to gain speed, even to the point of diving into the ground. This made it quite fragile, and you had to be very sure of your airspeed configuration.
The new controller operates over a range of airspeed values, set using the ARSPD_FBW_MIN and ARSPD_FBW_MAX parameters. That controller will try to meet both the airspeed and altitude demands of the mission, but if it can't reach the target speed it will happily fly a bit slower, as long as it doesn't get below ARSPD_FBW_MIN. You can control the relative priorities of speed versus height using the TECS_SPDWEIGHT parameter. See the full tuning guide for details.
New ACRO flight mode
This modes brings rate controlled stabilization to APM:Plane, and should help give you an "on rails" manual flight experience. It is a lot of fun to fly, but it is not for beginners!
We're planning on expanding the ACRO mode in future releases. Right now it is great for "locked in" flying, and also good for loops and handles inverted flight very nicely. It doesn't yet handle knife-edge or prop-hanging.
New CRUISE flight mode
After a suggestion from Hein, we now have a new CRUISE flight mode. This mode is ideal for longer distance flying without a pre-programmed mission. It is like FBWB, but also does ground track heading hold, with heading update via aileron or rudder.
I've been testing CRUISE at my local flying field, and it is the easiest mode to fly in APM. Just steer the plane around the sky, and when you stop steering it locks onto a ground track and holds it. It isn't a good mode for takeoff and landing, but once you are in the air it is great.
New camera trigger system
When using APM for aerial mapping where you want photos taken at regular distances, the previous system was to setup a grid mission with a "camera trigger" mission item at regular intervals within the mission. That worked, but led to overly large and complex missions. You can now just set a single parameter CAM_TRIGG_DIST to the number of meters of flight between photos, and the APM will take care of when to trigger the camera. This makes for much simpler missions, and also works in other flight modes, including FBWB and CRUISE.
Lots of smaller changes
As is usual with a new release after a couple of months of development there were a lot of smaller improvements based on feedback from users. Many thanks to everyone who gave feedback and contributed patches!
Here is a partial list of the changes:
This new release has a lot of new features that should improve the flying experience for all APM users. The APM dev teams wishes all APM users many enjoyable flights, and we hope you have as much fun flying this release as we had making it.
The Arduplane Pids tab used to have the "most-used" or relevant tuning parameters but the new additions like APM_Control and TECS tuning parameters are now hidden in the advanced tab, is there any plan to get the most relevant tuning parameters onto the Arduplane Pids tab?
I'm afraid my experience flying v2.74b this morning was not at all satisfactory. However it's most likely a tuning issue but with all the complicated new parameters it's hard to know where to start. Attached are my logs, I'm hoping that the devs can have a look and disseminate them. (Note I'm not using an airspeed sensor (yet) but the wind was very light, about 3-5km/h.)
Two main problems are as follows:
1) Motor hunting during flight - not sure why or how to tune it out but it was very noticeable, i.e. quick-ish, uneven changes in motor RPM.
2) Diving at the entry into a turn, followed by rapid height loss then a 'zoom' to try regain the lost altitude.
Paul, Tridge, how do I tune these 2 problems out?
P.s. additionally the logs show the altitude started at 100m AGL at the start of the mission and dropped to 50m AGL at the end, all waypoints were at 100m
That tlog is not from 2.74, it is from an earlier flight on the 14th. Do you have a tlog from the flight today?
Apologies, here's the correct one:
The main issue is your pitch controller settings - the plane isn't tracking the pitch demand fast enough, which is leading to the oscillations in both pitch and throttle. Here is a part of your auto flight:
The bit to look at is the way that the green line lags the red line by between 1 and 2 seconds. That is quite a lot of lag, and it means that your PTCH2SRV_P is too slow. I'd suggest you change PTCH2SRV_P from 0.6 to 0.9 as a start.
If that doesn't help as much as you like then there are two more parameters which can more directly control the oscillation you are seeing in both pitch and throttle. The first is TECS_TIME_CONST which is currently 5. If you raise that to 10 then it would damp out those oscillations a lot.
The second damping parameter is TECS_PTCH_DAMP. That defaults to 0, and you could raise it to 0.2 or so to damp the pitch a bit.
Finally you could add a throttle slewrate. The default is no slewrate limit, and it may be more sensible to have a THR_SLEWRATE of 100 so the motor can't change by its full range in more than a second (or 10% in 0.1 seconds).
I hope that helps! Please let us know how it goes. Also, what sort of plane is it?
Thank you, Tridge. I'll definitely try those and report back. The plane is a twin boom pusher, some photos here: http://www.diydrones.com/forum/topics/od-twin-boom-pusher-plane-neu...
(It's had it's aerodynamic problems sorted)
Are there any caveats with using this release on the older APM1.4 hardware?
It works fine on a 2560 based APM1.4. We should be able to continue supporting that board for quite a while.
That is very good to hear! :)
I still use APM 1.4 and i am very delighted! :)
I will fly today. I will report back after.
Just arrived home,
It sure does fly smooth.
But i have experienced 2 things.
The worst was that in auto mode failsafe did not work!
Is there a parameter for this?
The other was that my plane was reacting slow on aileron stabilisation.
Do i need different settings than before?
Other than this i really liked to fly 2.74!
Cruise i love! sometimes my planes nose was more than 45° off cog! :D
(20 - 30 km/h wind)
To be a bit more specific:
It was throttle FS that did not work in auto mode.
I can overcome on this disableing it and using only mode fs.
Thanks for the report!
Failsafe certainly should be working. Do you have a tlog that I can look at? Or a dataflash log?
For failsafe parameters see the parameter docs and look for the word failsafe.