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

Reply to This

Replies to This Discussion

There is significant pressure from the community to go for automatically tuned where ever possible.

The tests and experience from the dev team suggested that this would be a better option, and generally, maybe it is. However, if you are willing to do the calibration manually then I think you can get equal accuracy.But less risk.

With the current compensation for motors this should all improve further for 2.9.2.

Man, I don't know if I would class this as a bug... If I swap out of Auto, I expect my inputs to be reflected at the aircraft. What is suggested; go to hover throttle and slew to the stick input throttle with a user adjustable slew rate parameter?

the buggy bit about this is that it cuts the motors to min but that should never happen when you're in alt-hold or should zoom downwards at your maximum descent speed but not fall like a rock.  Note that in this situation the moment you increase your throttle it then works normally from then don't just want it plummet towards the earth, raise the throttle! :-).

Thanks Randy- so, just looking for clarification. Is it right to say that in order to reach a desired rate of descent, the controller is allowed to shut down the motors? Is that the bug?


     i had trouble opening the rar file but have you checked that your throttle is in the middle?  the throttle deadband is between 40% ~ 60%.

     post the logs as a zip and I'll have a look.


    Thanks for trying this out.  Your experience will be factored into the recommendations re whether we leave compass learn on/off! :-)


    Not quite.  It's ok for the controllers to reduce the motors to minimum to try and maintain altitude (and that's required surprisingly often actually).  With this bug though the altitude controller wants to raise the motors above min but it's cries are ignored.  Those cries are ignored because the auto_armed flag is being incorrectly set to be "false".  The auto-armed flag is much like the regular armed flag which you turn on/off by holding throttle down and pushing rudder left or right.  auto_armed is only used for the auto pilot though.  It's a safeguard to ensure that the autopilot doesn't fire up the motors before we're ready especially when first starting a mission. you know when you start a mission with a TAKEOFF command as the first command, after you switch into auto mode it'll sit on the ground until you push the throttle up.  the moment you push it above zero it'll take-off.  That bit of behaviour is handled by the status of the "auto_armed" flag. this bug that auto-armed is incorrectly being set to false because the throttle is zero as we switch into loiter or auto.  It needs a slightly better check..or maybe we should remove it completely...i haven't completely though through what the fix should be yet.

..i suspect the bug has been there for some time by the way..


     Yes, I think you're right about the wind-up causing the jump when you use take-off in a mission and don't immediately push the throttle up after switching to AUTO mode.

     Sorry to be a pain but could you repost your issue in the new github issues list?  We plan to close the goggle one shortly I've just got to finish reviewing those 80 or so issues that haven't been moved over.

the vibrations level is great by the way!

Yes, to be honest, I don't like it much the way it is at the moment'll be changed eventually just not sure if it'll be 2.9.2 or a later release.

Howz 2.9.2 coming up? Any update on the release ???



2.8 is not more stable, just don't use the inertial for altitude correction.
With 2.9.x is only a tuning or vibration problems, I got them too, for example by using epp plastic mixed with carbon, I throw due, even balancing them gave me good vibrations mighty fat.

Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service