Heavy Octo Quad X8, Abnormal yaw, too low Rate D

Hi guys!
I have a problem with Yaw and too low Rate D (Roll and Pitch).

Frame : Octo quad X8 (My design)

Motors: T-motor u8II 150KV (12S)
ESC: T-motor ALPHA 60A 12S V1.2
Prop: T-motor Polish 22 inch
Battery : 12S
Flight controller: Pixhawk Cube Orange
Dimensions: 1096mm motor to motor
Firmware: ArduCopter 4.1.1 (Tried 3.9, 4.0, 4.07)
Current Sensor: Mauch PL-200
Take-off weight: 13,5 Kg

Test: PosHold hover, Test Yaw, Test Roll, Test Pitch, Test Thottle by 1 minute.
Test video: Test Heavy Octo Quad X8 - YouTube
Test log: https://drive.google.com/file/d/1nlj-yTfOgjI_Nr5aNTX7mTvnrU2Xsl6c/view?usp=sharing
Param: https://drive.google.com/file/d/1iPJvgDBCyl3kJJPcIePH9D11q9JNYBNY/view?usp=sharing

Problem on video YAW test: 1min 39 sec
Problem on Log:

Gyro Noise I think normal.
Throttle Hover (ThO) from log 0,4 (RPM t-motor list is 2925), 48,75 Hz
MOT_THST_EXPO 0,2 (from motor thrust scaling table and t-motor list)

Extended Tuning:

I tried with INS_GYRO_FILTER 20 and 30, but with 40 is better.
Tried Autotune and manual setting PIDs.
If I increase D Pitch/Roll appear Oscillations (0.002 for example)
If I increase P Pitch/Roll appear Oscillations (0.12 for example)
I know that Rate Yaw P too high, but I tried with 0,4 - 0,8 manual, autotune 1,15 is better.

One more log with circular flight: https://drive.google.com/file/d/1skDlCVRwNPDscTwLHHFb0o9n6ozSH3LR/view?usp=sharing
Video: Circular flight Octo X8 - YouTube

Thank you in advance for your help!

Perhaps you should have started with the Initial Parameter setting for the craft and advanced from there?

Thanks for your tip, but I did it, many times.

OK, I saw some of your Rate filters at default and thought otherwise.

You only need to do the initial params once, then follow the Tuning Process Instructions — Copter documentation

You havent done it properly and accepted all changes though because MOT_BAT params were not set and BATT_ARM_VOLT was not set in the first log, then in the circular log even less of those battery-related params are set.
Keep MOT_THST_EXPO in the range 0.2 to 0.4 for those T-Motor ESCs though.

The thread is about yaw, but really yaw has the best control, and it’s Pitch and Roll that needs additional tuning. You could reduce the ATC_RAT_YAW_P to about 0.8 and ATC_RAT_YAW_I to 0.08 if yaw is taking away from pitch and roll attitude control, or causing the shakes when arming.

This is the only worrying part I saw in the circular log:

Pitch and Roll depart from desired, briefly motor 5 is commanded to near maximum and motor 4 is commanded low to compensate.
This is most likely a problem with an ESC having a desync-like event. If you ask me I wouldnt use the T-Motor Alpha or Flame ESCs, but I also think many people have been using them for a long time.
Maybe add capacitors across the supply voltage very close to the ESCs.
If this type of issue happens again, and you can land safely, I’d be swapping out those ESCs. Some people dont get to land safely and in one piece.

Thank you xfacta Shawn.
MOT_BAT Installed all the parameters that I need, BATT_ARM_VOLT responsible for the ARMING of the copter, not for his flight.
MOT_THST_EXPO is 0,2 on my param (0,4 too high based on load schedule).
I tried set ATC_RAT_YAW_P 0.9 - 0.2 (and I=P/10), but it was only worse.
I did not know that the T-motor company was worse, before its products were high-quality. Thank you, I will try to put capacitors to the ESC, I did not think that the problem could be in ESC T-motor.

I suspect this is a problem with your yaw acceleration being too high. Set:

And see if you have the same problem.

This is unusually high:

This is crazy low!

Thank you very much Leonardthall!

I will try set ATC_ACCEL_Y_MAX 6000 (earlier, I put 12000, according to the manual, this acceleration set the autotune and it seemed to me better.

ATC_INPUT_TC - this parameter is for smoothing manual control. I have a problem more with automatic flight, when using the Follow mode, or in Auto mode - that use parameters WPNAV.

MOT_SPIN_MIN - I set on the manual, through the Motor test - motor rotation began to minimize of 0.18, I added not 0.2 and 0.3, just in case.

MOT_THST_EXPO 0,2 for ESC Alpha T-motors is normal, Alpha have built-in linearization curves, To confirm you can see the calculation

I don’t believe they do. Can you send me your thrust curve.

I don’t have any data on me right now - but I can confirm that an Expo value of 0.2 for Alpha ESCs has been correct in the past.

If you are the expert, why are you asking for my help?

Not asking for help just thought my input would be helpful to the discussion going on. I defer all expertise. If you find otherwise, please feel free to let me know.

When something doesn’t look right I don’t guess. I get the data and verify.

It is especially suspicions given the strong curve in the plot above.

I have also used the larger alpha ESC’s and did not see an indication they have internal linearization.

There is no such thing as a “correct” expo, only a good approximation for the thrust curve. The best approximation for expo value depends on not just the ESC but also the motor, propeller and the values of MOT_SPIN_MIN and MOT_SPIN_MAX.

My misunderstanding, I have just gone off of what has worked well in tuning with Alphas for me in the past (starting at 0.2). I will be sure to keep up with this thread to further my knowledge on this topic. Interested to see what is found.

Guys, I used this article to configure MOT_THST_EXPO - Motor Thrust Scaling — Copter documentation
At the bottom of the article there is a link to the calculation file, which I presented above. Parameters I took from the table by reference U8Ⅱ - U Series - T-MOTOR The Safer Propulsion System

"Parameter Calculation

A copy of this spreadsheet can be used to calculate the appropriate values from the thrust stand data above."

Leonardthall, I did not make my test for U8II, but did for U11, in general, the data coincided, except for the maximum values.

Today I made a big test, raised ATC_ACCEL_FILTER to 20 (it was 10), reduced ATC_GYRO_FILTER to 22 (it was 40), FLTD and FLTD=GYRO/2. Accordingly, noises ACCEL increased and noises GYRO decreased. But it did not better fly :frowning:

New log: https://drive.google.com/file/d/15zEJXC8Q-I9knJp5hkK-r8JwSTILLtMb/view?usp=sharing
New param: https://drive.google.com/file/d/1UAdUYrz5fIdVG94rQUfjpZA9one5m1Ar/view?usp=sharing

Changed the mounting of the flight controller, installed it on a stringent crib.
YAW better in manual mode, but in AUTO bad.
Rate P and R / Des I think bad. I tried to raise D, also oscillations. I had to reduce P to 0,85 (it was 0,95).

The one time I actually got a response from T-Motor when I asked about this that’s what they said:

OK, I sent T-Motor the following email:

Can you please tell me which, if any, of your ESC products have thrust liniarization as a function in firmware? This is relative to their use with Ardupilot where thrust liniarizatiuon is configurable in firmware on the Flight Controller. If your ESC firmware is performing liniarization then it would not be appropriate to enable this in the Flight Controller firmware.

Thank you,


And I received the following response:

Dear Dave,

ESC does not have this setting.

It is usually set by flight control.

Best regards,

Liam Xu

Sales & Tech Department

1 Like

After getting the data I don’t think the data is good enough for me to give a confident prediction of the exact expo value. However given the data and depending on your MOT_PWM_MIN the value is somewhere between about 0.4 and 0.65 (values get lower with higher MOT_PWM_MIN).

I would suggest you use 0.6.

However I would not trust manufacture thrust data.

Agree. The accuracy of the information provided by T-motor is doubtful. In addition, the coaxial pair of engines works differently. Since the lower propeller is in the air flow of the upper propeller, its effectiveness is reduced significantly, which means that the thrust two motors reduced. I think it is necessary to do the test of two motors in coaxial mode, and re-build a thrust curve.
Thank you Leonardthall, I will try to find more accurate values.
But I did not understand why the parameter D is so low from P.