HeavyLift Octacopter steady problem

Hi Everyone!

I have this monster, an Octacopter, 160KV T-Motor 22" props, 12S (2 x 6S 20Amp), 13KG with betteries, BlackCube, Here 2 GPS and HereLink REmote.

I have a problem to keep the drone steady, when i leave the remote on Loiter to check the drone keep the position, start to ramble, especially when is very near to the ground (it must be near to the ground for the function it has to do).

So, The idea of this drone is to hookup a hook to a metal bar, so I need to be the closest I can with the drone, in this case, to the stair.

The problem I have is its too dificult to keep the position, the drone start to ramble arround, and its almost imposible to do this on a precisely way. I have a front dinstance sensor, but I so worry about to keep the position that I never saw it. On the lasts flights, I even use althold, because the Loiter was so bad because glitch GPS.

My main problems are:
-When I move the sticks the drone react so hard, very dificult to have soft movements
-The speed to lading is too hard too
-Dificult to keep a position

This are my PID

About the peronalize tunning about filters and other stuff, here they are

So, cheking my logs, start to check the ATT

In general, looks good I think, but when I move the stick side to side, I can see this and i think its not too good

On the pitch is the same

Here are some videos

Here are the Logs

If you guys can give it a look pls, I will apreciatte your help and comments!!!


Set this for smoother RC control:
or as high as 0.3 if you need to.

You voltage logging doesnt appear to be correct.

Have you run Autotune? If you do run Autotune take off all the extra equipment first.
Whatever weight that arm is, and it’s payload, will need to be counter-balanced so the motors work evenly.

Can you supply a .bin file instead of .log? they list all the parameters too.

1 Like


I will try your changes.

Yes, the battery monitor was down, i have try to modify on flight, but coudnt…

I have run autotune to get those PID with the arm, need to be on the PID because the batteries are counter balanced. If no arm, drone goes back.

Here are the bins, thanks!


I have almost the same problem with my heavy lift hex of 22 kg… When the sticks are released, it brakes with overshooting… The braking accels are set to min whereas atc_input_tc is 0.25. I didnot try overtune yet as my hovering seems good; the problem lies when we apply the brakes specially on the roll side… I posted the same problem in ardupilot discourse and i was advised to switch to copter 4.0 (currently using 3.6.12) and use harmonic notch filtering to reduce the high freq noise. Did u find some solution to the problem?
@xfacta, can u suggest some soln?

@philip @Anubis can you pls give it a look? thanks!

The overshooting is mostly likely caused by poor tuning, and autotune should fix it.

Those don’t look like Autotune PIDs.
Also, what ESCs are you using? If you’re using T-Motor Alpha, you will want to set your MOT_THST_EXPO to 0.2 or so. I think it’s the same for T-Motor Flame ESC. Do Autotune after changing this param.

1 Like

I was checking the MOT_THST_EXPO on my parameters… and…

I´ve copy/paste from my setup excel, and I think the regional setup screw me up. I have paste 0,75, but MP took 75…

Anyway I will try 0.2 and redo the autotune.

Thanks you!

I was looking why I did wrote 0.75, and if I see the tuning process, I saw this

My props are 21"… so 0.75 is the number If I follow the instructions…
So, the tuning web is wrong? Im missing something to calculate the number??

There is another tuning field I have to take care lije this one may be im doing wrong?


It’s not wrong, but it assumes that PWM and throttle% are directly related to each other, which makes the PWM-thrust relationship a downward-sloping curve. MOT_THST_EXPO approximates this curve.

This is usually the case, however some ESCs such as T-Motor and KDE are programmed to linearize the thrust curve (PWM and throttle are not directly related), so the the exponent to estimate the real PWM-thrust curve needs to be lower.

By the way, I looked at the code, your value of 75 was being clamped to 1.0. That probably saved you from a crash.
float thrust_curve_expo = constrain_float(_thrust_curve_expo, -1.0f, 1.0f);

1 Like

thanks! great explanation!

About the “crash”, this drone was never crash… :roll_eyes:

I meant that the drone probably would crash if it actually used the value 75.

1 Like

oh, ok, yes you are right!


No one here thought about ground effect? Are you kidding me?

When a rotary wing aircraft is hovering in ground effect it is basically balancing on a bubble of turbulent air, and more often than not the aircraft will go into a pilot induced oscillation (PIO) and crash. You can’t tune this out.

The aircraft needs to be higher off of the ground, and if memory serves that height necessary to be out of ground effect is roughly equivalent to the rotor disk diameter…


I understand what you say, I have think the same as you, but I have take the Rick recomentadion about the MOT_THST_EXPO, and now works like a charm now.

Thank you anyway!