Developer

ArduPlane 2.50 released

I'm delighted to announce the release of ArduPlane 2.50 for your flying pleasure. This release has a lot of advances to some of the core ArduPlane code, and should be a big improvement for many people.

Perhaps the most important change in this release is the new DCM code that does acceleration correction based on the GPS. This improvement is based on work by Bill Premerlani which really advances the state of the art for attitude estimation on small microcontroller based autopilots. The improvement in attitude estimation is very noticable in flight, resulting in significantly more accurate control. Many thanks to Bill for his patience in working with Jon Challinger and myself to bring this improvement to ArduPlane.

Other significant improvements include:

  • updates to the barometer driver to sample the pressure and temperature much more rapidly, leading to better altitude estimation
  • updates to the AP_AnalogSource driver to be interrupt driven, allowing us to sample all analog sources much more rapidly. For ArduPlane this improves the airspeed sensor on the APM2 a lot.
  • updates to the waypoint completion logic, to use a "finish line" algorithm. This prevents the problem of circling around a waypoint when we miss it by more than the waypoint radius. The waypoint is now considered complete when we pass a line that is perpendicular to the track, and passing through the target waypoint.
  • improvements to the AP_Mount code, allowing for control of roll/pitch/yaw stabilisation via EEPROM variables that can be set over MAVLink. This allows you to setup the mount once, and it will resume operation as soon as you boot. These changes also fix a number of bugs in the AP_Mount code, so it AP_Mount hasn't worked for you, please try again. Many thanks to Greg Fletcher and Amilcar Lucus for the AP_Mount improvements.
  • Lots of improvements to the ArduPlane parameter documentation.  This documentation should be the first place you look when trying to understand ArduPlane configuration parameters. Many thanks to Andreas Antonopoulos for his great work on generating these wiki docs based on the source code markup.
  • New LAND_PITCH_CD parameter to control the landing pitch when not under airspeed control. Thanks to Jeff Taylor for fixing this!
  • New SCALING_SPEED parameter that allows you to set the base speed for scaling PIDs. Previously we assumed a standard speed of 15 m/s, which is too low for fast aircraft. By adjusting SCALING_SPEED you can have the same set of PIDs for both airspeed and non-airspeed flight control.

There is one change in this release which may require some re-tuning. We were using the wrong value for time delta when using the PID controller for navigation roll. This has been fixed by making the PID library calculate the delta time internally, but it means that existing HDG2RLL_I and HDG2RLL_D values  will be incorrect. I have fixed the defaults, but if you have your own settings for these, you will need to drop HDG2RLL_I by a factor of 5, and raise HDG2RLL_D by a factor of 5 to get the same result as for the previous release.

Thanks to everyone who has contributed to this release!

For the next release the plan is to concentrate on improved stabilisation and navigation controllers, based on the great work being done by Jon Challinger.


Happy flying!

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Hi andrew,

    congratulation for this amazing job!

    I have a question about the APM2 power on,

    APM2 board must still and flat down for 10 sec while powering it up.
    if the APM2 continue to move during the powering up the data is all screwy after. This can be a big issue during the flight if the AP reboot.

    In this case, why can't we get the previous gyro and accelrometer data stored in E²prom for example and have a quick restart ?

    thanks

    Kind regards

    Bernard

  • Today I was testing 2.5, something happened. Suddenly the airplane stop climbing and keep the nose down until he landed violently.

    I post the log,

    In the KML you can see the airplane flying with the heading fixed in one direction, and the airplane turning without following the flight path.

    Can you give me an idea of what was the problem ?

    2012-07-30 19-23 35.log.gpx

    2012-07-30 19-23 35.log

    2012-07-30 19-23 35.kmz

  • Loiter gets blown around too much.

    Will increasing the Nav_Roll_P tighten up loiter to track a better circle or is there a separate parameter for that?

    .
  • 100KM

    So excited thanks everyone!

    Just one problem - since loading 2.50 I need to press the reset button (after cold starting) before it would function in flight mode (APM 1). Terminal mode is fine, without reset.

    Could this have to do with the new change re. the flashing of ram when staring up for the first time?

  • Is it possible to reset home position? I would like to power it up in the pits and let the GPS get a good lock. Then carry it out and reset home just before I takeoff. Is that possible?

  • I'm having extreme difficulty tuning 2.50. I never was fully setup so I do not know if it is an issue with 2.5 or just my setup. I've attempted the default skywalker configuration but it did not resolve the issue.

    While testing FBW_A mode and I go to fully to the left or right with the aileron it rolls over right past the 45 degree limit. I've hit 75 85 degrees before I've had to recover manually. 

    FBW_A Pitch works correctly and limits it to the 15 degree max pitch up

    I also seem to be having issues with it wanting to yaw/bank to the right or left

    The plane flys fantastic in manual mode. 

    any help would be greatly appreciated!!

    Thanks,Ken

    myskywalker.param

    2012-07-29 20-50-05.tlog

  • ALT_HOLT_RTL command is limited to a maximum of 327.67 m. how to remove this limit?

  • I've noticed a new option in advanced params--AHRS_GPS_GAIN.  The description text in the Mission Planner says this is used to determine how much of the GPS is used to control the plane's attitude.

    Since upgrading to 2.5 this morning, I've been watching my HSI in the mission planner slowly wander all over the place.  The plane itself hasn't moved; it's sitting in a rack on the table.  Yet the HSI says the plane is rolled 90 degrees left and pitched 50 degrees up.  Ha--and during the time I've typed this out, now I'm -35 degrees (and diving).

    2.4 held solid and true wherever it was placed.  Is this new behavior expected and ok?  i was excited to try out the cool new stuff Trige described above, but this HSI business and having to wait 20 minutes for 3D lock gives me great apprehension to test it on the wing!

    spag

  • Marvelous progress, I can't wait to get it into the air :)

    By "factor of 5" what *exactly* do you mean?  I can think of two reasonable ways to interpret this, so my odds of getting it right are a little weak.

    My first guess is add .005 to HDG2RLL_D and subtract .005 from HDG2RLL_I.

     

    My second guess is to take the original values (pre 2.5), multiply them by 5.0 and then subtract this calculated value from the original value.

     

    What's the right way to do this?

     

    Thank you!

    spag

  • Moderator

    I upgraded to this from a older version (alot older) and I'm finding that on both my APM1 boards with Mediatek GPS, that the GPS gets a lock (solid blue led), but the mission planner is showing no GPS.

    I've tried pressing the reset button on the IMU, it did not fix the problem.

    I am using Arduplane 2.5 that is installed by Mission Planner, and I didn't compile my own build so I can't see whether MTK 1.6 was selected

This reply was deleted.

Activity