ACRO_THR_MID scaling

After switching from loiter to acro the copter drops.
I assume I have to modify ACRO_THR_MID which is set to 0.
What does the range of 0 to 1 mean ?

ArduCopter 4.0.0

t seems to be a hovering thr. e.g. 0.29 means that the copter hangs at 29% throttle

Does that mean ACRO_THR_MID should be set to 0.38 too ?

I would set the ACRO_THR_MID a little lower than MOT_THST_HOVER and try out in the air

I have always been 0 and flew in acro from start to finish

0 sets it to MOT_THRUST_HOVER.

So I should raise it up to prevent dropping in acro ?

No necessarily. It will be controlled by the MOT_THRUST_HOVER value if it’s 0. If you want to try it start with that value and adjust as you see fit. I don’t think it’s commonly used.

1 Like

Its purpose is for very high power copters, if you want the mid throttle point to be below mid point on your transmitter. Then you have more usable range for most of your throttle.
I haven’t used it in arducopter yet, but my betaflight copter hovers when my transmitter stick is raised about 20%, rather than the 50% arducopter uses.

About yours dropping, does it drop when switching from loiter to stabilize? Mine does a bit, and it’s the same in acro (w/ the above prameter set to zero). I think its learned hover point isn’t quite exact.

As I think others are saying, it’s not necessary to modify ACRO_THR_MID. The MOT_THST_HOVER value is learned so I think if you put the vehicle in a stable loiter for a bit and then switch to Acro then it won’t immediately drop. Acro mode uses a pilot controlled throttle though so the pilot does need to take-over altitude control in any case. The transition should be smooth though.

… maybe provide an onboard log of the issue if it can be reproduced…

Alt drop is about 5m after switching from loiter to stabilize
(loiter -> acro is the same).


How long does it take for ArduCopter to learn MOT_THST_HOVER ?

dataflash log

Although it may not be “approved”, in helicopters I use a custom curve in the RC to get collective in acro to line up with the altitude modes. Since acro is a manual mode anyway, this works perfect. Flip the custom collective curve in and out with the flight mode switch - in acro the curve is active, switches out when it goes to the altitude (non-manual “throttle” modes).

I found there is a slight delay in the time that it takes ArduPilot to respond when the flight mode is switched. So in my RC radio (Taranis) it offers an option on custom curves to “slew” the change in over a couple seconds or so, so it’s not an abrupt change and it smoothly matches the autopilot.

Been using this method for over a year and very happy with it. Most RC radios can do things for manual flight modes (including custom expo and rates in acro) that 500 lines of code in the flight control can’t match trying to do the same thing.

1 Like

Yes, I’ve done that for my heli as you’ve adviced here.
It probaly should work for copter too.
Out of interest I will give the MOT_THST_HOVER learning another try
before I switch to the throttle curve.

I see no reason it won’t work for multirotor. As long as you make a curve so it hovers at center-throttle stick in acro, it should line right up with the altitude modes. If you don’t like that curve for general flying in acro, can flip it in and out with a switch with a slew-rate in the RC, for changing to the altitude modes.

That’s what I like about setting that stuff up in the RC for manual flight modes vs making settings in a ground station. There is almost endless options in a radio running OpenTx that you can tune on-the-fly.


From looking at the logs it looks like the throttle was below mid throttle when the vehicle was switched from Loiter to Stabilize mode.

The maximum climb and descent rate is definitely higher in manual modes (i.e. Stabilize, Acro) compared with semi-autonomous modes like Loiter or AltHold so we expect the vehicle will descend or climb more quickly when it’s switched from a semi-autonomous mode to a manual mode if the throttle is not at it’s middle position.

Looks like you are right, haven’t recognized that.
I will make a new test at the weekend.

1 Like