Tuning Assistance - Hexacopter with 30" Props - Initial setup review before Autotune

Hey all, hope everyone’s doing well!

I’m setting up a large-ish (25kg) hexacopter and need the community’s input and assistance to get this tuned and flying autonomous missions. This is the first time I’m setting up a multirotor this big, I’ve previously setup a 7.5kg 850mm build with 22" props, and multiple smaller ones so I’m familiar with the basic process.

I’m facing some issues with attitude control particularly a wobbly position hold (PosHold, not Loiter) and would appreciate a review of the setup so far and inputs on how to proceed towards an Autotune.

Aircraft details

MTOW: 25kg
Size: 1600mm motor to motor

Airframe mass (no payload, no batteries): 9kg
Batteries, 4x Tattu 6S 22Ah: 4x2.5 = 10kg
Empty mass (airframe + batteries): 19 kg

Takeoff masses tested:
Empty: 19kg
2.28kg payload: 21.28kg
5kg payload: 24kg

Propulsion
Motor: T-Motor U8XL 110kv OEM
ESC: T-Motor Flame 60A HV
Propeller: T-Motor 30X10.5
Battery setup: 12S2P 44Ah (4x Tattu 6S 22Ah)

Flight controller: Cube Orange, soft-mounted with the blue rubber dampers

Rangefinder: Lightware LW20C on I2C

Overview

  • I setup the initial parameters for the battery, motor and PID controller following the Initial parameters.xlsx

  • Setup min and max PWM outputs to 1100us & 1940us for the T-Motor Flame ESCs

  • Setup MOT_THST_EXPO = 0.2 for the Flames

  • Parameter file before calibration, with values from Initial parameters.xlsx:
    M1500 Initial Params Pre Cal Pre Tune.param (18.4 KB)

  • Performed sensor and radio calibrations.

  • After verifying motor & propeller directions, proceeded to fly.

  • Initially the flight controller was hard-mounted. After looking at the vibes, soft-mounted the flight controller and noticed a reduction in vibes, and that’s how it’s mounted currently.

Flight Notes - 08 Sep 2021

All logs available here.
Flight specific logs are linked below.

01 - Zero payload flights

LOG 01

  • Windy, ~3m/s gusting to 6m/s
  • Stabilize & AltHold working as expected, felt okay, however could feel the aircraft getting unsettled with gusts.
  • Altitude hold is good.
  • Attitude overshoot visible in logs
  • PosHold was very wobbly, with oscillations on gusts, possibly because of the low hover throttle?
  • I noticed MOT_THST_HOVER was not updating, maybe because CTUN.ThO did not go higher?

02 - Added payload of 2.28kg

LOG 02

  • Did not notice a significant improvement.
  • Hover throttle increased slightly
  • Decided to proceed with setting up the Harmonic Notch filter

03 - FFT Flight - Pre filter setup

LOG 03 - FFT Flight Pre filter setup

Harmonic notch filter settings from FFT

  • Frequency: 36 Hz (72 Hz had a higher amplitude but selected 36 Hz)
  • Bandwidth: 18
  • INS_HNTCH_REF: 0.264 (I used the average value of CTUN.ThO since MOT_THST_HOVER was not updating)

04 - FFT Flight - Post filter setup

LOG 04 - FFT Flight Post filter setup

FFT Comparison

Left - before, Right - After

Issues & probable causes

  • Overshoot in roll & pitch

  • Wobbly/oscillating PosHold, especially with gusts

  • MOT_THST_HOVER won’t update

  • I’d guess most of the issues are due to the low hover throttle.

  • Does the overshoot indicate overpowered copter?

Thank you for making it through that wall of information, appreciate your help and looking forward to suggestions.

Thanks!

Flight Notes - 10 Sep 2021

All logs available here.
Flight specific logs are linked below.

01 - Payload 5kg

LOG 01

  • Did a quick hop without any payload with the previous day’s PIDs to check everything.
  • Added 5kg payload.
  • Was sluggish because I had tried lowering PIDs the previous day.
  • Reset PIDs to default

  • After adding the payload, VibeZ increased from an average of 5.45 to 9.78, I’m hoping this should not be an issue?
  • Did notice it was flying much better than the previous day
  • Overshoot still present.
  • Still wobbly in PosHold in gusts, minor improvement over the previous day.

02 - Added some damping for the payload

LOG 02

03 - Manual tuning

LOG 03

  • CTUN.ThO increased to ~0.3 and I could feel it wasn’t as sketchy as before, so decided to proceed with some manual tuning to try and address the overshoot.
  • Reduced the Rate P & increased Rate D gains:

image

04 - Manual tuning

LOG 04

After increasing Rate D and reducing Rate P, noticed improvement.
PosHold was behaving much better, but gusts did unsettle it every now and then.
CTUN.ThO is around 0.3-0.35

image

Next steps

Parameters at end of flights:
10SEP2021 M1600 Params End of flight.param (18.5 KB)

  • Logs still show overshoot
  • When the desired attitude is flat on the graph, I can see the actual attitude not matching up, is this a sign of high gains?
  • Should I be increasing D further, or reducing P or both?

It would be great if you guys could help me out with:

  • Additional manual tuning steps
  • What to look out for in the logs
  • How to know I can proceed with an Autotune
  • How to determine the mass at which I Autotune

Thanks!

A large hex, similar I suppose but every build is different…
These were reasonable:
ATC_ACCEL_P_MAX,23400
ATC_ACCEL_R_MAX,23400
ATC_ACCEL_Y_MAX,9900
ATC_ANG_PIT_P,3
ATC_ANG_RLL_P,3
ATC_ANG_YAW_P,3
ATC_INPUT_TC,0.22
ATC_RAT_PIT_D,0.036
ATC_RAT_PIT_I,0.25
ATC_RAT_PIT_P,0.35
ATC_RAT_RLL_D,0.036
ATC_RAT_RLL_I,0.25
ATC_RAT_RLL_P,0.35
ATC_RAT_YAW_D,0.007
ATC_RAT_YAW_P,0.41
ATC_RATE_P_MAX,720
ATC_RATE_R_MAX,720
ATC_RATE_Y_MAX,720

You could try a cautious take off and look for oscillations. Those params are “typical” for some large multirotors with the U8’s and Flames.

You’ll probably have to do transmitter tuning to get it right, I’m not sure I’d be running Autotune with those Flame ESCs. They’ve got a tendency to stop working mid-flight like a desync (but it’s not really…)
Get some real ESCs and mount them inboard if possible - longer motor wires/shorter power wires.

EDIT: test in AltHold and see if the hover value changes. Your primary flight modes should be Stabilise, AltHold and Loiter.
Dont even worry about PosHold. Loiter is so much more tunable and usable.

I see in Log 4 you did use Althold some and it seems MOT_THST_HOVER does indeed stay at 0.3

Thank you so much for that, I’ll try it out the next time I’m taking it out for a flight. To clarify, I would be backing up my current param file and then modifying the above values, correct?

However, I wanted to understand the overshoot and how to adjust the PIDs by looking at the logs. This is primarily because, in Stabilize & AltHold it feels okay, but can still see the overshoots in the logs.

Oh wow, I had no idea about this. For reference, this is the airframe. It came with the propulsion setup, so I thought it would be matched.

How often does this happen in your experience? They stop during normal operation or when pushed to extremes?

Is it just that the ESC hardware is unreliable or something’s up with T-Motor’s proprietary firmware?

As for real ESCs, what are some options I can look at if I’m prioritizing reliability for large aircraft at this size?

Got it, I thought the gentler braking of PosHold would be better before having this tuned. Is that something I shouldn’t be concerned about?

I manually set it after averaging the log’s CTUN.ThO. I kept it in AltHold for a good stretch, more than 30 seconds, still didn’t see it change. Earlier, I’ve seen CTUN.ThH change in the logs and converge towards and/or move with CTUN.ThO.

Any ideas as to why that isn’t happening here? The rangefinder wouldn’t have anything to do with it, would it?

Thanks for taking the time to help out!

Can you update the progress of your project again? After implementing the steps above, I experienced the same problem and hardware as you.

Those should be the Alpha ESCs not Flame, so you will be fine.
These are the important values for them:

MOT_THST_EXPO,0.4
MOT_PWM_MIN,1100
MOT_PWM_MAX,1940

The setup definitely has ALPHA ESCs now - but I have worked with an older version that was outfitted with FLAME ESCs. Given that this post is 2 years old, it may have been the version that has FLAME ESCs.

I tried these parameters for my drone, 25 kg 12 s 30 inch 6 motors, and it had a lot of oscillation.
please explain the logic, does the PID depend proportionally and naturally on the weight of the drone? for example, the larger the drone, the greater the PID?