ACRO bug (fixed in 2.9.1b): while doing flips in ACRO mode, if you switch to Stabilize while inverted your throttle will go to minimum.  To regain throttle control you need to switch back to ACRO then back to Stabilize again (i.e. switch to stabilize twice).  You never lose control of roll/pitch/yaw.

Loiter/AltHold/Auto/RTL bug: if you switch into these modes with throttle at zero motors will go to minimum until you raise the throttle.

Auto mode altitude bug (fixed in 2.9.1b): setting a waypoint altitude greater than 320m over home altitude may wrap around and instead be interpreted as a low altitude.

ArduCopter 2.9 is now in the mission planner and the downloads area!

The major improvement is we use inertial navigation to improve altitude hold.  This increased reliance on the accelerometers means you must do some additional set-up before flying:

1. Perform the new accelerometer calibration in the mission planner (video).  The auto-trim metho has also changed (video).

2. Add vibration dampening foam between your frame and the APM.  Some suggested materials: DuBrogelhk foam.

 3. If upgrading from 2.8.1, modify the throttle and altitude PID values:

  • Increase your Throttle Rate P, reduce I to zero, increase D
  • Increase Altitude Hold P, reduce I to zero
  • Tune Throttle Accel P and I terms but try to keep P about 1/2 the size of I


Here is the list of major changes (a more detailed list can be found in the release notes):  

  • Alt hold using inertial navigation (Leonard, Randy, Jonathan)
    • AUTO_VELZ_MIN, AUTO_VELZ_MAX parameters control the max climb/descent rate for the autopilot (cm/s)
    • PILOT_VELZ_MAX controls max climb/descent rate for the pilot (in cm/s)
  • Landing improvements (Leonard/Randy).  Copter will descend to 10m or until an object is sensed with the sonar.  Then slows to 50cm/s descent (speed can be adjusted with LAND_SPEED parameter). (video).
  • Surface tracking with sonar (Randy/Leonard).  Copter will attempt to maintain current distance from objects in front of sonar regardless of altitude.  Only used in alt-hold and loiter, not used for missions.  Sonar can be enabled/disabled with CH7 switch. (video)
  • Failsafe improvements (Randy/Craig/John Arne Birkeland) including bug fixes, additional check for PPM encoder failure and implementation of battery failsafe.  Set-up instructions are here.
  • Mediatek gps driver accuracy improvements and use of SBAS [Craig].  Instructions on upgrading your mediatek to firmware 1.9 are here.
  • Traditional Heli improvements (Rob) including (a) bringing heli code back into the fold, (b) enabled rate controller (previously only used angle controllers). (c) fix to rotor speed controllers - now operates by switching off channel 8.  (d) allow wider collective pitch range in acro and alt hold modes vs stabilize mode  (e) bug fix to allow collective pitch to use the entire range of servos
  • Acro trainer (Leonard). Copter will return to be generally upright if you release the sticks in acro mode.
    • ACRO_TRAINER : set to 1 to enable the auto-bring-upright feature
    • ACRO_BAL_ROLL, ACRO_BAL_PITCH : controls rate at which roll returns to level
  • Camera control improvements (Randy/Sandro Benigno):  (a) AP_Relay enabled for APM2  (b) Trigger camera with CH7 or DO_DIGICAM_CONTROL command  (c) Allow pilot override of yaw during missions and fixed CONDITIONAL_YAW command.
  • PPM sum support for transmitters with as few as 5 channels (Randy/Tridge/John Arne Birkeland).
  • Performance and memory useage improvements (Tridge).


As per usual PIDs are optimised for the 3DR/jDrones quad with 850 motors and 10" props. If you're using more powerful motors/props and are seeing bad flight behaviour in stabilize, start by turning down Rate Roll P in 25% steps.

Special thanks to our testing team lead Marco and the dedicated bunch on the 2.8.1 release thread who put their copters at risk while testing the pre-release version.  Some of their videos are here: 1 2 3 4 5 6 7 8

Please feel free to report issues you find in the discussion below and/or add them to the issues list.


Views: 298262

Reply to This

Replies to This Discussion


     If the AHRS_GPS_GAIN is set to 1, the ahrs will try to account for centrefugal forces due to changes in speed.  This is certainly very important for airplanes but it's a bit unclear if it's important for copters or not.  The annoying thing about having it enabled is that you see the HUD in the mission planner gets jittery if you don't have a very good GPS lock.  Still, beyond that I don't think anyone has shown that it's harmful.


I'd be forever grateful if someone did a more objective test to show whether it helps or hurts but it's a difficult test to do unless you have some kind of external system that tells you what your real attitude is (like a vicon system).

Maybe a clue, but not a real test, when you configure DJI Naza you have to set the position of the GPS regarding the CG (for x, y and z axis) and if you do it wrong, there's some oscillations of the copter.

So it seems there's an effect.

Personally I always kept at "0" on all my test.

Randy many thanks for getting this out,your a true star,just need to start getting to grips with it,Marty.


With your post in mind, I just upgraded to the official 2.9.0 via Missionplaner. Without repowering or anything i could access the menues including the cli to do erase/reset. Somehow there is a magic spell on your serial com doing also evil to your gps update trails....

Anyway i couldn't resist, calibrated everything and took it for a spin on my quad. I have already repaired my faulty dampening (a loose alu-plate produced acc disturbance) over the 29.rx generations. Althold was doing very well on stock parameters (sonar deactivated). The rest of the flight was a little bit shakey because i didn't put in my normal rate_Pids... . I didn't do tuning or anything, because my fingers started to freeze in the cold. For me it's the best release (flying since 2.7.X on apm)!!!


Kraut Rob

P.S.: BTW I am also really looking forward for BLheli FW for my SIL-Chip Skywalker 20A ESC so my quad will be perfect this weekend ! [VERY BIG SMILE ON MY FACE/]

Thank you Development team. I look forward to try the new code.

excellent team ... i work a lot for my job whit open source sw developer team ... this is over the top for many reason passion, commitment, competence, vision etc.  ... 

Haven't been able to download it through Mission Planner yet..

"Update Failed Timeouts are not supported on this stream."


Guess will need to wait my turn :-).. 



Randy, send me a PM with the specific data you want... I don't have the time to do any analysis myself, but I can likely get time in our MoCap studio in the next few weeks to capture internal and external observations (provided there's no commercial work going on). We have a very large studio with a 24 camera system, capable of 120Hz full state observation. That should be sufficient for your data needs.

Hi, just some observations in missionplaner:

While setting up RTL altitude and RTL final altitude i get an LED pin error (Requester) upon writing the changes. After resetting apm and restarting mp i can verify, that the values are written correctly.

Setting under advanced parameters MPU6000 filter to default in the drop down menue the value written to the variable in adv parameterlist reads: 0. The explanation text in the prior menue says that the default for arducopter is 42Hz. But when you change it to 42Hz the variable also reads 42 and not 0 anymore. Probably the default "0" will be interpreted as "42Hz" internally?


Kraut Rob


     You're right.  We've moved to github.  We're now only using the google code for the wiki and downloads area.  The issues are being moved over to github as well.


    Yes, both "0" and "42" will be interpreted as 42hz on arducopter.  Load up arduplane however and "0" will be interpreted as 20 (I think).

     Ok, I've recreated the error you're seeing when you try to change RTL_ALT_FINAL.  I'll ask MichaelO to have a look at it.  My guess is that when you change the RTL_ALT_FINAL that MP screen incorrectly thinks that you're also modifying the LED_MODE.  Must be a small bug.

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service