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: 298514

Reply to This

Replies to This Discussion

Yes Randy, but "override the yaw" is not useful if a user abort a mission and takes control of the quad manually, would the nose pointed in a direction to him difficult to understand.
In my case, and you can see it in any of my videos, if do a mission abort i resume manual control of the quad immediately because I know where it is pointed the nose.

Try to increase to "0.3".

Thanks Marco!

I gave a test with your parameters.

  • Loiter holds well! Even in wind. Hexa is very active and steers well. Perfect.
  • Alt-hold. is not better than earlier. Hexa creeps slowly upwards.Perhaps my acc calibration is not done correctly.
  • Stabilize is excellent. I took rate P bit down - I want as little itching as possible.

Many thanks once again!

Nice! I've reported the "alt-hold" problem to the dev list for the "cosmetic release" 2.9.1.
Have tried to keep the quad stable at high altitude for at least 10 seconds to store the throttle_trim? It's important to store the hovering point.

So does that mean loiter doesn't look at this value?  Or are you saying loiter and circle mode use it?  If not, what does loiter do now as far as holding position, always try to hold it as close to 0 meters variance?

Hi Heikki,

We added a bunch of things that should have stopped this. Can you add some logs?




     When you applied Marco's parameters did you also apply all the parameters including these?


      These are board specific parameters so if you used these and then didn't repeat your accelerometer calibration then your alt hold wouldn't work well.


     That's right.  Loiter doesn't look at this parameter at all.  It tries to stay as close as possible to the location it was at when it was first engaged.

@Randy - I used compare values & select only the "PID-tuning values" Still my calibration might be wrong  - e.g., I made the calibration by holding the hexa upright with hand, hexa standing on the floor (=there might have been some movement compared to full independent standing)

@Leonardthall - good to hear. I will dig out the logs & upload later.

my 2.9 testing today.

alt hold great but a bit jumpy i dont know why. need tuning

"jumpy"  when throtle up during loiter (look at 3:23 )

also "jumpy" when do auto land at 3:31 min.

Hey Kevin,

I did what you recommended. I set the Thr_Rate_D to 0.001 and the outcome was the same. It was still bouncing (jerking) up and down.

I even attempted to adjust the Thr_Rate_D to negative values and it produced the same results (jerking up and down). 

One setting that I  haven't adjusted is the Throttle Accel P.  Per Randy's instruction above in step 3: Tune Throttle Accel P and I terms but try to keep P about 1/2 the size of I. I might give this a try.

If this doesn't fix the issue, I'm just going to use 3s lipos.  The copter flies so well with 3s. It is solid in Loiter and Altitude modes.

It is worth checking your logs by turning on RAW and NTUN. Make sure that you don't have too much noise in the RAW logs.

If this is just a tuning problem you may start by reducing THR_ACCEL_P and THR_ACCEL_I. Start by keeping them at the same ratio. You may also try reducing the THR_RATE_D term however I would attempt to reduce the first two parameters first.


Reply to Discussion



Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service