I've just released ArduPlane 2.73 as a bug fix release for several important bugs in 2.72

The main reasons for this release are:

  • fixed a noise and scaling problem with airspeed sensors
  • fixed a potential flyaway problem with the L1 navigation controller
  • improved handling of poor GPS velocity for attitude correction

This release does not contain the new attitude controllers that I previously said would be in 2.73. Paul and I decided that it would be better to hold those over to the next release, and get this release out with just the above critical bug fixes.

The airspeed problem stemmed from a changed introduced in 2.72 to make ArduPlane automatically scale analog inputs with board voltage. That change was good for voltage and current sensing, but it added a lot of noise to airspeed sensing as the 3DR airspeed sensor is ratiometric (the sensor output scales with the supply voltage). The fix was to add support for ratiometric analog inputs. This release also fixes a bug in the airspeed ratio handling. To confirm the fix I have been driving around in my car with an APM2 and PX4 logging airspeed and GPS speed - that test confirmed the airspeed sensing is now accurate.

The flyaway bug in L1 was caused by an unusual situation where the previous waypoint was equal to the next waypoint, which can happen when a mission is interrupted and restarted. The L1 controller would then level the wings and fly straight ahead until the operator intervened. The bug fix was to make the L1 controller detect this situation and track directly to the next waypoint. I don't think many users would have seen this bug, but it definitely could happen and warranted a bug fix release.

The GPS handling bug was related to the MTK GPS, which can be very slow to report loss of GPS lock, which could lead to very poor attitude from DCM and even a crash if the plane tries to turn while the GPS is reporting incorrect velocity information. The fix was to watch the satellite count, and stop using the GPS velocity for accelerometer correction when it had less than 6 satellites. This is selectable with the new AHRS_GPS_MINSATS option.

Other changes

While this release doesn't have the new attitude controllers I decided to leave in some other smaller changes that have been made since the 2.72 release that I consider to be low risk, including:

  • fix the PX4 barometer driver to run at full rate
  • fixed handling of a saturated compass on PX4
  • added COMPASS_ORIENT option to support external compasses
  • fixed the compass in HIL simulation
  • added GCS messages to flash logs
  • allow 3D accel calibration over MAVLink
  • Added new ELEVON_OUTPUT option
  • removed MANUAL_LEVEL option (manual level is now always on)
  • improved pitch handling when inverted

Of these, perhaps the most useful is the ELEVON_OUTPUT option. That makes it possible to setup your transmitter with normal aileron/elevator and get the APM to do a software elevon mixer on output. That gives better control in FBWA mode than the previous elevon options.

I recommend that all users of 2.72 upgrade to 2.73. Happy flying!

Cheers, Tridge




Views: 28267

Reply to This

Replies to This Discussion

Hi, Tridge!

Thanks a lot for detail parsing. I'll try to get uBlox for test and reduce parameters. I'll keep you updated about this trouble.

Is it possible to make the same graph by Mavlink Log Graph in Mission Planner? Where could I find the description of all parameters.

P.S. I downloaded config for my Skywalker from this page.

Regards, Sergey

One of my flight controllers is an APM2.0 with the built in GPS. I was planning on selling to my friend for his Easystar, and first UAV experience. After reading what you wrote about needing to update the firmware on the old GPS's, I am wondering:
1. Is it safe and reliable to use the built in GPS in a 2.0?
2. Can the firmware in the built-in GPS be updated? Does it need to, if so, how is it done?
I know that the GPS can be bypassed and an external one wired, but I won't sell my friend the 2.0 if that is required because I would like to keep things as simple as possible for him.

Thank you for your advice.


I didn't see anything in your param file that jumped out at me. Admittedly however I don't use FBW-B, I use FBW-A, so I can't confirm your experience. I know you don't have a tlog, but how about a log file?

BTW Off topic, but I'm a big fan of the work you're doing on the Minim-OSD Extra. I'm thinking were getting to the point we need a more resource rich v2.0 board though.


Nathaniel ~KD2DEY

Hi Nathaniel,

Well i did "try" to fly today, but rain came right after takeoff... :)

I have the log of this flight, but i did not fly much in FBWB

On Minimosd; A graphical one would be fun :)




Is it possible to make the same graph by Mavlink Log Graph in Mission Planner? Where could I find the description of all parameters.

you can do most of it in MP, but not the pitch_estimate() part, as MP can't graph arbitrary functions of MAVlink variables.

You can install mavgraph.py on windows if you like. Follow the install instructions here, and then run this in a command window:

c:\Python27\scripts\mavextract.py mylog.tlog --mode RTL

c:\Python27\scripts\mavgraph.py RTL3.tlog pitch_estimate(RAW_IMU,GPS_RAW_INT,ATTITUDE) degrees(ATTITUDE.pitch) GPS_RAW_INT.satellites_visible:2

P.S. I downloaded config for my Skywalker from this page.

darn, I thought I'd deleted those. Looks like they are back. I'll do some editing.

Cheers, Tridge

Hi Iskess,

1. Is it safe and reliable to use the built in GPS in a 2.0?

That's a difficult question to answer. I do know that one of the most frequent causes of crashes over recent months has been problems with the MTK GPS. I've tried to make the code more robust to issues with this GPS, but we're still seeing issues.

The tricky thing about it is that it's not easy to reproduce. If you happen to have a "good GPS day" the MTK is fine. So if I take out an APM2 with a MTK on it then I'll probably have a good flight. The problem comes when GPS reception is bad, and it is hard to predict when that will happen. The MTK GPS keeps claiming good reception for a long time after it loses lock, which means the APM keeps using the bad data.

I added a AHRS_GPS_MINSATS parameter to the 2.73 release to try to cope with this. I had noticed that when a MTK GPS goes bad the first sign is that it starts reducing the number of satellites it claims it has. So now if the number drops below AHRS_GPS_MINSATS (which defaults to 6), the APM stops using the velocity numbers from the GPS. Unfortunately this is not always enough, as the log from Sergey showed.

Personally I would not fly a MTK GPS in a large or expensive airframe.

2. Can the firmware in the built-in GPS be updated? Does it need to, if so, how is it done?

It can be, although it is tricky. See this discussion.

btw, while the new firmware seems to help, it seems that it doesn't completely solve the problem.

Cheers, Tridge

I've now updated the "configuration files for common aircraft" page to not actually contain full config files, and instead just to list the key parameters that users should start with. I've also added a few more aircraft.

Cheers, Tridge

Tridge, any chance of a Mission Planner-initiated "auto take off followed by a loiter at x altitude" sequence? Currently, I think this can only be done by a preloaded mission.

Hi Graham,

you do need a mission for that. The MP could have a special button for it if you can convince Michael it's worthwhile, but underneath it would just create a small mission.

Cheers, Tridge

Hi Andrew,

Can you give me advices on my FBWB problem? :)

I am really lost in this....

Wind is solved! :)



Yes, with the openaero2 (KK2 Board) it is possible to switch between rate and attitude (attitude is called self leveling). With the openaero SW (KK board hast no acc sensors) it is only possible to use rate stabilisation. I was using only the rate stabilisation when flying with openaero and it was all I need (except for RTL) Attitude stabilisation feels very weird and is only usable for flying straight IMO.

Are you planing to implement this feature? :)

Hello, Tridge!Please check parameters you recommend for Skywalker. You suggest

  • RLL2SRV_P: 1.8
  • PTCH2SRV_P: 1.5

(are greater than 1.0)

Regards, Sergey

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service