Autotune failing in 29inch drone

Hi all,

Thanks to helping minds in advance.

I’ m building an agri drone with the following specs

T motor p80 120 kV motor with 29 inch props
Quad configuration
Flame 80A HV esc
12s 16Ah battery ( for initial testing )
Symmetry X frame
Cube orange flight controller

Arducopter 4.3.1 stable as autopilot firmware

I tried the following tests,

Tried flying in stabilize with the default params, vehicle found to be oscillating.

Mot_thst_expo interpolated from the graph available on the documentation and found as 0.8 for 29 inch props

Changed pid values to half along with couple of other params including filter values etc.
After that vehicle seems to be flying good.
Tried alt hold , vehicle started wobbling oscillating up and down ,
Changed POSZ params by half and problem solved.
Enabled harmonic notch ( set it to mode 4 )

Tried to do autotune in roll, failing with a GCS message autotune failing to level

Tried to do autotune on pitch axis, same error

After some readings, reduced the autotune_aggr to 0.075 and tried the same no positive results. Still getting the same error,

According to documentation did manual tuning for d term and pi terms , ended up in reduced pi values and slightly increased d value from previous pids,

After Manual tuning pushed for auto tune, still failed due to same level issue.

After all this tried some basic pos hold, RTL, auto flight modes and the vehicle behaved well.

Now can anyone suggest me why I’m failing at auto tune?

Do I really need to do autotune ?

Because after all this I tried dumping some 15kg payload to the vehicle , it failed to take off in pos hold and started high amplitude oscillations .

It would be helpful if someone can suggest any mods or tweaks to be done to get it work/ tuned better.

Best to post a link to the last .bin flight log.

Attaching the log file after Manual tuning.

Vibrations are bit high but not drastic. See if there’s wiring or anything else you can secure, and nothing touching the flight controller. Maybe send a picture.
It will definitely help to improve vibrations.

Those ESCs require
MOT_PWM_MIN,1100
MOT_PWM_MAX,1940
and redo the tests for MOT_SPIN_ARM and MOT_SPIN_MIN using MissionPlanner motor test

MOT_SPIN_ARM should be as low as you can get it but still reliably start each motor. Maybe about 0.1
MOT_SPIN_MIN needs to be at least MOT_SPIN_ARM + 0.03 so probably about 0.13 or 0.15
You can adjust MOT_SPIN_MIN later after more flight tests - you want to ensure that descents and wind do not cause a motor/ESC desync when RPM is low. You dont want MOT_SPIN_MIN so high that you cant descend either.

Set these to fine tune the Harmonic Notch Filter - it’s picking up on a much higher harmonic at the moment, not the actual hover frequency.
FFT_MINHZ,30
INS_LOG_BAT_MASK,1
INS_LOG_BAT_OPT,4

It looks safe to set
ATC_THR_MIX_MAN,0.5

Definitely set these too:
BATT_ARM_VOLT,44.30
BATT_CRT_VOLT,42.00
BATT_LOW_VOLT,43.20
BATT_FS_CRT_ACT,1
BATT_FS_LOW_ACT,2
It’s good that you had the Fence set.

I think those rate P and I values are too low and should be around 0.08 instead of 0.04 - but probably do a hover test and some very gentle movements with the other settings I’ve mentioned before you change them.
Let’s see that .bin log file.
If you get some more stable flight then you can dive back in to manual tuning of PIDs

2 Likes

Thank you for your time. I’ll. Check with the above mentioned params and will let you know

@xfacta
I tried flying with your preferred params, Drone took off well good, flied without any visible oscillations. ( with default pid values )
Then i tried putting 0.08 for P & I, again took off and drone behaved well.
In both the situations the drone failed in autotune. it was giving the same error of Auto tune failing to level.
Tried reducing the P&I to get little bit manual tuning, tried multiple flights still it’s not taking the autotune, tried reducing the autotune_aggr from 0.075 to 0.05 still negative result.
I’m attaching todays flight logs here. Thanks in advance for your support.

https://drive.google.com/file/d/1gkEM_dN8oGC00DNHF346o7zdt5xDYT__/view?usp=share_link

@xfacta after putting your params, the drone seems to be little more stable

Alright, we can fix the Harmonic notch filter now

Disable the FFT, it’s not picking up on the lower frequencies
FFT_ENABLE,0

Set throttle based notch
INS_HNTCH_MODE,1
INS_HNTCH_REF,0.13
INS_HNTCH_FREQ,35
INS_HNTCH_BW,17
INS_HNTCH_FM_RAT,0.7
INS_HNTCH_HMNCS,3

Set a static notch
INS_HNTC2_ENABLE,1
INS_HNTC2_MODE,0
INS_HNTC2_REF,0
INS_HNTC2_FREQ,105
INS_HNTC2_BW,50
INS_HNTC2_ATT,40
INS_HNTC2_HMNCS,1

There’s actually a bit more we could do with the FFT, but I think it’s better to get stable flight and reasonable tuning THEN mess around with FFT and dynamic notches later.

AUTOTUNE_AGGR below 0.075 would definitely NOT be recommended. Stay with 0.08 or 0.10.
I think PIDs need some adjustment to give better attitude control before Autotune can work. There are some copters where Autotune will never work, and its hard for me to say exactly why without ever seeing them. Generally it’s going to come down to component selection, frame layout and stiffness, quality of the build.

Set a Motor Emergency Stop switch on your transmitter, any unused channel (except Ch6 if you can avoid it, this is useful for other tuning functions that you might need)
RCxx_OPTION,31

You can try these in separate steps, dont just change them all at once or you wont know which effects are caused by which changes.
Try increasing
ATC_ANG_RLL_P,6
ATC_ANG_PIT_P,6
and see if you can get a good takeoff and stable flight - have your estop switch ready.
If not, put them back to how they are now.

Next try these
ATC_RAT_RLL_P,0.100
ATC_RAT_RLL_I,0.100
ATC_RAT_RLL_D,0.005
ATC_RAT_PIT_P,0.100
ATC_RAT_PIT_I,0.100
ATC_RAT_PIT_D,0.005

For each of these tests, just hover and some gentle movements if everything is going OK, Dont worry about trying to start Autotune yet. Let’s see the logs first.

EDIT:
adjust a typo “Stay with 0.08 or 0.10” in relation to Autotune

3 Likes

Sure ,will try it out and let you know. Thank you!

@xfacta
Your suggestion really worked and today the auto tune for all three axes have been happened. And pi values gained upto 0.08 what you have suggeted eraly.

Thank you for your time and support.

Here I have one doubt, can I add 15 kg payload directly jto the system and really fly or do j really need to tune the aircraft with the same payload. I’m really doubting on mot_thst_expo ( currently settled as 0.8 using curve interpolation) .

Here I’m attaching all the flight logs and expecting the expert opinion on the weight tests.

I cant tell much from Autotune logs, there’s too much going on.

But in relation to payloads, all you need to do is measure the

  • Minimum Takeoff Weight (probably when you did autotune)
  • Maximum Takeoff Weight (new total with added payload)

And recalculate these ACCEL values - do not change any other PIDs or anything.

  • new ATC_ACCEL_P_MAX = ATC_ACCEL_P_MAX x (min_TOW / max_TOW)
  • new ATC_ACCEL_R_MAX = ATC_ACCEL_R_MAX x (min_TOW / max_TOW)
  • new ATC_ACCEL_Y_MAX = ATC_ACCEL_Y_MAX x (min_TOW / max_TOW)

Round the new values to the nearest thousand - single digits and decimal places are not important.

And you can have a param file with original values
and a param file with values to suit a payload

All you do is save parameters to a file, then use a text editor to strip out everything else, and save it with a new name.
Here’s two sample files with sample values (not your real values) so you can see what they look like. And you can load one via MissionPlanner to suit the flight and it saves making typing errors.

Original after autotune no payload.param (89 Bytes)
With payload.param (88 Bytes)

3 Likes

Hi there,

Today I tried taking off the vehicle with suggested params changes with 15 kg of payload.
After first flight in stabilize pushed to pos hold, and during the flight the drone seems to be unstable. and after that landed, tried one more take off with original autotuned params but same result.
https://drive.google.com/file/d/1R6-ZmBX8joeCmNDiA0m795UfZwga5osi/view?usp=sharing, https://drive.google.com/file/d/1XSiyEmfR6LAjyZOvOVCcATjhtuGTT5g8/view?usp=sharing

1 Like

Have you got a log of a flight after Autotune but before adding payload?
Us eLoiter instead of Poshold.

Motor outputs are going to very near maximum. You might need to think carefully about motors and props, and the payload. Be aware that just because a manufacturer lists some data for a motor and prop combination, doesnt mean it’s the right combination.

Vibrations are problem, especially for the 3rd IMU that isn’t damped.
I think you should do some more physical work to reduce vibrations, and then do another test flight without the payload for us to look at.

I suspect there is quite a lot of instability with that payload added because the copter is underpowered for this job. It could be that sloshing is affecting attitude control if the payload is liquid.

At least now we can refine the Harmonic Notch filter too since the load has changed everything quite a bit.
This will set it back to FFT based and hopefully we can pick up on the correct peaks this time, both with and without a payload.
FFT_ENABLE,1
FFT_MINHZ,30
FFT_WINDOW_SIZE,256
FFT_SNR_REF=15
FFT_HMNC_PEAK=5
FFT_MAXHZ,300
FFT_NUM_FRAMES,3
INS_HNTCH_MODE=4
INS_HNTCH_REF=1
INS_HNTCH_HMNCS,7
INS_HNTCH_OPTS=2
INS_HNTCH_FM_RAT,1.0
INS_HNTC2_ENABLE,0

Also set
INS_FAST_SAMPLE,3
EK3_PRIMARY,1

4 Likes

I agree with Shawn that thrust to weight with the 15kg payload is insufficient for stable flight. An average commanded output of ~1725us in what looks like a hover condition is asking for trouble.

2 Likes

53rd flight.bin and after 52.bin both the CTUN.ThO is too high like not enough propulsion.
Pos Holt seems like did not have the capability to learn new propulsion under the additional 15kg payload. Before is like ranging between 0.13 ~ 0.14.

maybe need to take off at Atl-hold learn and update the new propulsion value. if MOT_HOVER_LEARN sets to 2, my experience said the learning will happen.

I think the payload is oversized potentially, based on my experience.
My experience sharing.

1 Like

In helping out Sagar, you’ve given me a lot of help (insight) too!
Thanks!

I need to revisit adjusting the notch filter on my drones …

1 Like

Thanks to everyone who extended their support through this thread, I think my issue is with overloaded payload, but the aircraft is performing well and good. Happy that this community and developers helping a lot of people by understanding the core problems.

Hi everyone,

After the quad setup , i have built a new configuration
T motor P80 120 Kv motor
Flame 80A HV ESC
Frame Type : OCTA QUAD
FCB : Cube orange
GPS : Here 3
Propeller : T motor G29*9.5

In this particular setup i have followed all from scratch till Autotuning. Autotune happened seamlessly. After tuning the drone flied in stabilize as well as Alt.Hold well and good. There were no oscillations or wobbling noticeable.

After all this tuning and testing i started testing in Pos.Hold. In pos hold without any pilot input drone is slightly wobbling and tried the same test multiple time and the result was same.
@xfacta
The test repeated with adding some payload of 10Kg . After that also the drone seems to be flying stable in stabilize as well as alt.hold modes, but not in Pos.hold. the same level and pattern of wobbling ( in a circular fashion ) .

Here attaching all the log files . Hope you could give a solution to this.

https://drive.google.com/file/d/15yOfCFvdGPGh99jR4iZbb70VPeQm57Qo/view?usp=share_link

https://drive.google.com/file/d/1864yeS7I4OP-t344I0hUdFu1GxPTg98z/view?usp=share_link

https://drive.google.com/file/d/1VImVq_giDgHMxtcoIMFSs-6jqd1kzzyW/view?usp=share_link

From Log27
Why not use Loiter instead of PosHold - it’s so much more modern and there’s params to adjust if needed.

Connect to MissionPlanner, InitialParameters, put in your battery cells
Accept all the battery voltage and MOT related params
Select the Suggested params and the T-Motor Flame params.
DO NOT accept the MOT_THST_EXPO value offered for T-Motor Flame ESCs at this stage.
Set MOT_THST_EXPO,0.8

The Harmonic Notch Filter is set up wrong, you’ve chosen a frequency based on the highest peak, which is almost never the correct peak. You need to select the lowest frequency peak, usually the first free-standing peak but not down in the “control” region below about 30Hz.
You will need to adjust these:
INS_HNTCH_FREQ,32
INS_HNTCH_BW,16
INS_HNTCH_FM_RAT,0.7
INS_HNTCH_REF,0.143 ← this will need recalculation later after new test flights.
There could be further adjustment here, since this is an octaquad motor outputs have quite a spread of PWM range. This makes a spread of frequencies instead of a neat peak and harmonics.

Autotune will need to be redone after these changes.

From Log29
The Frequencies are much better defined in this log, since you must have the payload onboard.
Motor output/PWM is still good and in a nice range - you are NOT underpowered now :slight_smile:
The Harmonic Notch settings from the previous log still apply, so that’s good.

From both logs
Stability is not great - I think the PIDs need a bit of work, possibly a few other related parameters too, but let us see what all the above changes produce before we intervene.
Vibrations are still a bit high, most evident in the non-damped 3rd IMU. If you can reduce the Z axis vibrations somewhat that will help with Autotune results and you’ll have a much better baseline tune making it easier to notice any issues in the future.

4 Likes

I recently built a similar craft. Octaquad, 29 inch TMotor props, 120 kV KDE motors, APD F200 ESCs, Orange Cube. On first takeoff, I had almost no authority on yaw, so I had to look at what other big beasts had on yaw rate P&I. I started with 10x default values, then backed down to 8x-ish and yaw was working fine.
After fixing a vibes issue, I ran a somewhat successful RP autotune. Alt Hold performance is nice, but Loiter is wobbly.
log