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.
Herre is the tlog. Please keep in mind this is the hanger queen but it is behaving exactly like the one in the plane. The APMs are the same rev with same FW. I leveled using basic MP process above and as you can see, the AHI indicates the APM is a shallow dive. I moved the APM around to simulate roll and pitch changes near the end of the tlog.
The APM is in Fail Safe as there is no RC input. And yes, HDOP is high but it really doesn't matter wrt this anomaly.
Installed 2.74 on a previously flashed APM 2.5 and it completely fixed my altitude hold problems. Altitude on my F2 was typically within 5 feet and airspeed within 5 MPH. Great job!
Has anyone tried the camera triggers yet?
In 2.74b there is a minimum satellite number (6). What does the APM do if this lower limit is reached?
It stops using the GPS for velocity numbers to correct the accelerometers, and instead uses the cross-product of airspeed and gyros to estimate centripetal acceleration.
If there is no manual level and no boot up level, how do you level?
yep, you're right. I've opened an issue for this.
I feel like you're getting ahead of the response curve. I have quite a few questions above that I was hoping you would be able to answer.
I have telem. So how to do telem level. If people don't have this and no auto, which I knew, how do they level their plane?
Okay. That is what I did and I end up with the problem originally described. So, can anyone help me?
That's OK - I will get to Steven's questions, just a bit busy. I've had a look at his levelling log and I'm still thinking about possible causes.
It has taken me a while to get to the bottom of the data in your log.
First thing I should mention is that when looking at issues like this it is a good idea to try to separate display issues in MissionPlanner from code issues in the APM. To do that in this case we need to graph the roll, pitch and other values out of the APM, rather than relying on a heads-up display. Then if the raw numbers look fine you know it's a MP issue. If the raw numbers aren't good then it's an APM issue.
Here is a graph showing the roll, pitch and accel calibration offset on X axis (the one that determines pitch) when you did the levelling:
You can see the missing data in the middle which is when it did the levelling. You can also see that after levelling it had an initial non-zero pitch (around 5 degrees in this case) which decayed over around 13 seconds to level.
That non-zero pitch after levelling isn't supposed to happen, as the AHRS system is reset at the level of the levelling process. So the puzzle for me is why it was initially non-zero.
The answer turned out to be in this graph:
What is happening is that the velocity changes from your GPS (you had GPS lock at the time, but a very poor GPS lock) are causing the gyro drift correction to move, which is causing there to be an incorrect pitch rotation estimate. That causes your pitch to jump until it gets smoothed out over the 13 seconds after the level.
It is harmless, but I can see why it is disconcerting. I will look at changing the AHRS.reset() code to better handle the change that happens when we finish a level to see if it can be avoided.
Please tell me, should I reset the settings on the APM 2.5 hardware after upgrading the firmware from the APM Plane 2.74beta2 to 2.74b? Heard about crashing the airplanes because of the same reason in RTL mode but don't know on what firmware version it was happened.
Sorry If I am asking the questions which is already asked, but I wont to know for sure.