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

Reply to This

Replies to This Discussion


     The very large altitude you're seeing is not good but it's not related to the sonar.  I guess you've done the accelerometer calibration?  Can you try arming the motors?  it should reset to zero.  Can you include a tlog or dataflash log?

     By the way, as of 2.9 the sonar distance is not used to calculate the copter's altitude anymore.  The reason for this is because the copter's altitude is the altitude above the home position's altitude not the distance above ground.  The sonar tells you the distance to the nearest object below the copter (if it's within 7m or so).  Sonar distance is the same as altitude when you're right at the home location but everywhere else it's most likely a bit different.

ok, great videos!  sorry!

I think getting it up in the air so the legs aren't touching the ground and messing things up would help...also getting it out of ground effect will help - it'll be bumpy with all the turbulance until you're at least 1/2 a meter up.


    those gyro values are set automatically when the red and blue lights flash as you arm the motors so setting them manually won't' have any effect.  It may indicate a problem but I'm not completely sure.  When you move the copter around in your hand does the HUD update properly?  How about the heading?


    It sounds like you have a overpowered copter if it hovers at 35% of throttle so I can easily imagine that you will also need to adjust down you Throttle Accel P and I values.  As you adjust them down you should keep the ratio of P:I at 1:2.  So for example, reduce them both by 20% to P:0.6, I:1.2 and see if that makes it better.

So I shouldn't worry about the
Thr rate P. should I turn that down too or just do the thr accel P and I


    I like the video!  CamStudio rocks and it's opensource!

    Like Nick says, ArduCopter won't let you go into mode that requires a GPS (Loiter, AUTO, Guided, RTL) unless you have GPS lock.




     Manual is absolutely a-ok.  the auto method basically has a compressed version of the world's declination values stored in a table so it'll get pretty close to what you can get by looking up on that web page.


    Yes.  2.9.2 will be runnable on the PX4 and it'll work with the MissionPlanner in almost exactly the same way as the APM.  Inflight data, configuration, etc.  There will probably be a few hiccups right at the beginning but the aim is to make it pretty seamless for the user.


    I think you can leave throttle P alone.  Leonard is more an expert than I am on tuning throttle but I think in general with our pid stuff you tune the bottom level (in this case the accel controller) to get do the higher levels to adjust "feel".  Maybe that's oversimplifying what can be a complex interaction between control loops but that's how i think about it.

When i try to write WP to my board I get this error message.

I have updated my APM2.5 board to 2.9.1 and done calibrating. I did not erase my board.



     I've ping'd Michael Oborne about this and I think he will likely put a frozen version of the mission planner into the downloads area that includes the old accelerometer calibration method.

     Until then, there is an easy work around.  Just go to the you can use the latest version of the planner but for the accel calibration part you'll need to go into cli (mission planner's Terminal window), type "setup" and then "level" and you'll run the old level routine instead of the new multi-point calibration method.

Did you add the 2.9 to the F550 frame?

If so did you use DJI motors and ESC's?

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