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

Reply to This

Replies to This Discussion

Really? Hungry bats don't worry me, and neither do quads that fly like tractors. I think 3dr is going to sell a lot more boards to the hungry bat crowd though... now that alt hold works.

anywaysMerriam-Webster: anyways definition: archaic anywise.

Still that problem with oscillating aero forces and horizontal speed. Even anal balancing with Graupner E-props and T-motors won't get rid of that... stiffen the arms it just means less of that energy is absorbed before it gets to the IMU. It is really a complicated mess... kinda cool how not so elegant foam does the trick IMHO. I'm sure NASA would use something more expensive though... gives me an idea... now I want to try some of that NASA memory foam under my APM, lol!

Another abstract but related thought... maybe folding props would get rid of a lot of those high speed vibrations found in a quad? That would allow the oscillating aero loads to be somewhat dissipated by "flapping" the blade up/down instead... like dampers on a CP heli. Of course there's always some reactionary force, but just an idea maybe someone can try.

Please report the issue here, thanks!

I like that description, Kevin.  Tractor Mode....

FYI with telemetry logs ACC data is found under "a*" ("accel_cal_*" is just sensor calibration data). IIRC, RAW data is sampled 5 times faster than tlog ACC (50hz, vs <=10hz). The higher the sampling rate, the higher the frequency of vibration we can resolve. Just for academics... theory says we need to sample at least twice the max frequency we are interested in examining (the Nyquist frequency). This implies that APM, in an ideal world with it's 50hz control loop, should have 100hz ACC samples. At 50hz sampling we're only seeing vibes going up to 25hz... that's just half of what APM's 50hz loop sees, but it's better than no ACC logging.


Vibration is a problem in all airframes and now with 2.9 and probably even more so with upcoming 2.9.1 we are finally faced with the serious necessity of isolating or dampening vibration for the APM (or probably PX4) as well.

Clearly one technique is to reduce vibrations from being produced in the first place, but on multicopters in particular, there are major limits to what can be achieved simply by balancing and tuning and multiple propellers turning at varying speeds is always going to introduce vibration.

Component dampening such as at the motors or the motor support arms can also reduce vibration and of course directly dampening vibration at the APM is the easiest and currently most often used method.

Additionally, camera systems benefit from vibration reduction in addition to their requirements for stabilization control.

Camera systems often use soft rubber grommets or "Lord" mount type shock isolators to very effectively reduce vibration.

It is seems reasonable that a similar and more thought out and "tuned" approach  to vibration isolating the APM / PX4 might be worthwhile than simply sticking a piece of gel or foam under it.

I am currently using a suspended O-ring design on my APM, but I believe that "Lord" type mounts of appropriate flex would provide better isolation and not result in the amount of inertial displacement that can happen in this system.

Just a few thoughts on what is bound to become a more crucial issue in the future, figuring out what best to do rather than just sticking a band aid (or foam pad) on it.

I have been able to get outdoors and do some texting of 2.9 on my Arducopter. 2.9 seems much improved now over 2.8.1, many thanks to the developers!.

This is my observations so far, the results aren't perfect, but maybe with the advice I can get it close to perfect.

I the trims adjust feature and set my ch 7 to get my copter to hover nicely in stable mode without drifting off with my trims set to zero.

Next, I tried Loiter mode.  As soon as I set the switch, it gets busy.. I does hold position pretty well and stay in one spot, but is fidgety, If I were shooting video, the video would be quite jumpy. My guess is that it is a tuning issue, should I lower the Rate Loiter P? if so, then what to I do with the I and the D?

Any advice on tuning the loiter mode to not be so fidgety yet hold position fairly well would be greatly appreciated!

Also, when I am in Loiter, and move to a new position several meters away, when I release the stick input, The copter moves back to the original position where I first switched to loiter mode.

Is that the expected behavior?  If so, I don't know why that would be desirable, for me, I would like to be in loiter all the time and just move from one position to another and then when the stick control is released, that should be the new loiter position of it to maintain.. 

Also, It seems that after moving the copter from the original loiter position and the copter returning to that location, it seems like each time some error accumulates over where that original loiter position was until it seems to think the loiter position is several meters away from where the original position really is. 

Anyway, Is this the result of a tuning issue, or am I expecting to much?


+1... couldn't have said it better myself Gary. Foam under the case, etc... are all crude implementations. I've got some more experiments I plan to carry out using variable foam compression to "tune" the mount. It will be far more elegant than the foam/rubber band approach, but I think it is still classified as shade tree engineering :P. Whatever material and configuration 3dr uses in the future, the design driver can be "increasing the number of hard mounted applications"... try and make hard mounting the case work acceptably with a broad range of applications. That should lead to more APM sales, versus tuning it specifically for one configuration (3dr quads). All the RAW data logs being posted can be used to find out which are the more "popular vibration environments" out there.

How's this look for vibration? Spike at the end is landing of course.

Also, nice job with the sonar.  

But.... Does it look to you like Sonar and Baro are separating over time?

Thank you to all developers and testers!

Today I uploaded 2.9 and tried flying my Octo for a few minutes until it started to snow....

I noticed the following:

- I typically do some 'wiggle' tests to see how the copter responds. With 2.9 I noticed that when I wiggled here left and right quickly, she started to climb very quickly! What could that be?

- I tried to auto trim method, but I'm not sure when CH-7 is actually activated/enabled. Is there a way in MP to see when CH-7 is actually toggled? I can see in the radio calibration that it moves, but I'm not sure what is 0 and what is 1 (enabled)

- It was too cold to fly again, so I have no further information at this time. My setup is a home built Octo, 880kV motors and 4s battery. 11" APC props. Any preliminary thoughts would be great.

All parameters (PIDs) are default.



On the new quad I am working on, I am using the o-ring suspension approach, but also have memory foam (like the tempur-pedic stuff) under the board under compression. My thought being that the foam would help dampen vibes, but also would retard side to side movement and support the middle of the board. So far, the results seem pretty good,

Reply to Discussion


© 2020   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service