LARGE Octoquad instability

I am in the final stages of tuning a heavy lift octoquad and I am running into an issue with the roll axis that appears and disappears seemingly at random. The roll axis will respond very slowly to my inputs, almost like the sensitivity was turned way down. And the copter will be very slow to return to level after being rolled in either direction. This behavior only occurs on the roll axis, and appears and disappears seemingly at random. So one second everything is fine and the next second I have restricted ability to control the quad on the roll axis. Pitch and yaw are unaffected.

This following issue may offer a clue to the roll axis problems but I’m not sure. During the autotune process the copter rocks back and forth diagonally when autotuning the pitch and role axis’s. I turned down the autotune aggressiveness from .1 to .05 progressively and the behavior still persists at .05.

Not sure if the 2 issues are related or independent. If anyone has any idea what may be causing the strange roll behavior please let me know, I’m a few hours deep into forums and I have not found a similar issue where it appears and disappears at random.

Strange roll behavior: https://drive.google.com/file/d/108HLBzT556V3YYT_kecJBuTmXYDstB97/view?usp=sharing

Autotune diagonal rocking: https://drive.google.com/file/d/1Zyk2u662deT-CD4YtrelpQg4A16LIdjQ/view?usp=sharing

Frame: https://hdairstudio.com/product/sonda-x8-multipurpose-multirotor/
Motors: T-Motor U7 V1
ESC: T-Motor 80a 6s
Props: T-Motor 18in CF

The attitude control looks reasonable for default PIDs , apart from those really big deviations from pitch and roll right at the end of the log from 10:35:51

Current also spikes at that time from an average of about 50amps up to a peak of 250amps!
Check the PWM outputs, it’s Motors 1, 3 and 6 being commanded to max and min because they are not providing the required thrust at the right times.

My opinion is change those T-Motor Alpha or Flame ESCs to something that doesnt exhibit random desync-like behaviour.

Connect to MissionPlanner and press Alt-A to set a few extra battery related parameters, and definitely set these too:
BATT_FS_CRT_ACT,1
BATT_FS_LOW_ACT,2

Once you’ve got that pitch/roll random deviation sorted, set up the Harmonic Notch filter (yell out for help if needed) and run a new Autotune. Leave the aggressiveness at default 0.1

Thank you for the info! Its good to know the cause of the erratic behavior at the tail end of that flight was caused by ESC de-sync. Although its quite irritating that these ESC’s would be doing that, I mean I’m running 80A ESC’s with motors that pull max 45A. Not to mention they have less than 5 hours them. I am very worried about putting the significant payload I wanted to (15lbs) under the build at this point because of the sudden loss in stability caused by the de-syncing.

I’m reading up on harmonic notch filtering (thank you for pointing in that direction) to hopefully remedy the de-syncing. I found this thread that has good information What should I use for ATC_RAT_PIT_FLT* values?

In addition from what I have read so far it seems like vibration and “interference” can cause an aircraft to rock back and forth diagonally during autotune, (still not totally clear what what interference is exactly in the context of the filters that are meant to reduce it)

I hope to not have to change out the ESC’s because of the chunk of change put down on them, but at the end of the day if its what has to happen to make this build reliably stable its what has to happen. Any advice on brands that are more reliable worst comes to worst?

Those high end T-motor ESCs seem to randomly do something that looks like desync and they can draw excessive current for some unknown reason. if you suspect them do a lot of arm/disarm cycles or use MP motor test at low RPM for a long time and eventually you might see them stopping and starting the motors when they shouldn’t.
Personally I would use APD ESCs but there are other good reliable ESCs out there. Maybe KDE and I think many people have the high-end Hobbywings running long term.

As with any product, there are those that will swear by the T-Motor ESCs and never had an issue, and those amongst us that have never seen them operate reliably and even fail right out of the box.

One note, T-Motor high-end ESC’s apparently have built-in linearization, so you have to lower MOT_THST_EXPO to .1 or even lower.

That is VERY good to know! I found a page on ardupilots documents archive that mentions this exact information: Motor Thrust Scaling — Copter documentation

@Eosbandi Thank you for bringing the possibility that T-Motor 80a 6s ESC’s have built in linearization to my attention. I will have to get in touch with T-Motor to see if they have any info regarding this. However after reading this thread:
(AutoTune in 32inch quad result in strange PIDs, crash in next flight - #6 by AngelAlbeniz)
it seems T-Motors official stance is linearization is not built into any of their ESC’s according to dkemxr in the above linked thread.

AngelAlbeniz from the above thread also discuses issues with MOT_THST_EXPO values regarding his T-Motor ESC’s and motors. The difference is AngelAlbeniz is rocking 32" props and what I can only assume are T-Motor U13 motors. What has me apprehensive about moving my MOT_THST_EXPO from my current .74 to .1 is the data that was obtained from AngelAlbeniz measuring the motor thrust expo in a thrust stand and obtaining the correct value to be .4 for his setup, in addition with the testimony from dkemxr that most T-Motor ESC’s do not have built in linearization (although I will have to confirm).

Because I do not have access to a thrust stand I believe the best course of action is to gradually reduce the value of MOT_THST_EXP of my build (18" props U7 V1 motors) by increments of .1 down to either .4 or .5 observing the results as I travel down the values.

On a side note does anyone have a suggestion on a thrust stand that is capable of collecting MOT_THST_EXPO data in a price range under $600? Ardupilot forum links to these 2 testers

and I’m not sure the $100 Turnigy is capable of collecting MOT_THST_EXPO data (correct me if I’m wrong)

Hopefully correcting MOT_THST_EXPO combined with setting up harmonic notch filtering (thank you @xfacta )Will eliminate the strange de-syncing behavior observed in my initial log post and eliminate the aircraft behavior of rocking diagonally during pitch and roll autotuning.
I will post about the results after implementing these changes.
Thank you all for taking the time to impart your knowledge!

People have had success with the T-Motor ESCs using MOT_THST_EXPO of 0.2 or less, as Andras says, and the combined T-Motor power units (motor with ESC in the bottom) have been measured at 0.4, but it could depend a little on the prop size or something else…

Use this rule of thumb for MOT_THST_EXPO

  • set too high you can see instability at low throttle
  • set too low you can see instability at high throttle

I’ve heard of other conversations with T-Motor don’t produce expected outcomes either so I’m not surprised that someone from T-Motor replied with contradictory information.

Hi,

In my tests I used a custom made thrust stand, which cost me only about 50 EUR in terms of materials.
I use a 10Kg load cell from Amazon mounted on the end of a large aluminum profile, where I can mount motors with propellers up to 32inch without any problem. Then I use a MAUCH battery monitor with hall effect sensor to simultaneously measure current and voltage. In my experience I do not recommend using battery monitors that have a shunt resistor to measure current as they do not have the necessary accuracy for these tests. Finally, the battery monitor and the load cell are connected to an arduino board that reads these signals and also controls the motor. For safety I also have a FrSky receiver connected to the arduino, with which I can start and emergency stop tests from a safe distance (you know, throttling up motors with 32-inch propellers to 100% indoors can be a little scary hahah). The arduino runs a simple custom code that automatically performs the tests and sends the information via serial to the laptop where I store it. The major drawback of the system is that the battery monitor must be calibrated very well to be able to obtain good results. It usually takes me longer to calibrate the battery monitor than to perform the test itself.

On the other hand, I can confirm you that in my case I noticed a great improvement when I set the MOT_THST_EXPO parameter to its correct value of 0.4.

Any questions you may have about the thrust stand or my previous tests, feel free to ask. :stuck_out_tongue_winking_eye:

Just to confirm again, can you say what motor and ESC gave you MOT_THST_EXPO 0.4 with the 32inch prop please.

The power system is an ESC/Motor combo witch came with the M1200 pre made chassis from T-Motor. The motor is labeled as a U8XL KV100 (which don’t even exist in their normal catalog). And the ESC sits below the motor in the motor mount, that is all I know.

Little to no information is available about the combo, even after asking.

The propeller used is a T-Motor Polymer Folding 30inch MF3016. This propeller is different than the original 32 inch fixed carbon propellers that the MF1200 came with, but we changed them because we needed them to be able to be folded.

We have had all kind of problems when tried to use T-Motor gear on large machines. Switched to Hobbywing X8 and never a problem since (excpet a prop failing in flight after a lot of flights).

M1200 has an unmodified 60A HV Flame ESC glued in the housing under the motor.

Good to know! :+1:

When I opened the motor mount the ESC board was bare with no markings or name to identify it.

We opened a Flame 60HV alongside and the boards were identical :slight_smile:

That says it all hahahahaha. Good test!

I took the octoquad out for a flight today with the intention of testing the effects of lowering the MOT_THST_EXPO with respect to correcting erratic behavior on the roll axis, as well as the strange autotune rocking behavior and general instability caused by strange de-syncing of the ESC’s I mentioned in the initial post.

(All tests conducted in alt-hold)

To start out I lowered the MOT_THST_EXPO from .74 to .54 then tested flight characteristics at low altitude by slowly rolling and pitching the aircraft at shallow angles at first, then progressively pitching and rolling faster and at steeper angles or “twitching” the aircraft. (note the aircrafts max lean angle for pitch and role is 35 degrees, 10 less than the default at 45 degrees)

Rinse and repeat the process until MOT_THST_EXPO is .3 ( I went from .54 to .3)
After completing the low altitude twitching tests described above with the MOT_THST_EXPO at .3 and observing NONE of the undesirable instability or strange roll behavior I decided it would be a good time to test out the autotune to see if the rocking would be gone as well.

So I took the aircraft about 20m high and proceeded to engage autotune. Instead of rocking back and forth after the first autotune twitch the aircraft went into a full blown spin midair and proceeded to crash in spectacular fashion:
https://www.youtube.com/watch?v=4GLSU_YF4E0&ab_channel=FinnJohnson

Here’s the link to the LOG from this flight:https://drive.google.com/file/d/1alzGNYQ0ld2dQd2SqcIWxpzUU9QOZs5e/view

I believe a prime suspect in the crash was the fact that I changed the autotune aggressiveness to the maximum value (.1) from .05. I did this because I had been running autotune aggressiveness at .1 while the MOT_EXPO_THST value was .74 with no catastrophic issues, and stupidly my brain said “hey it worked before and its gonna get a really accurate tune, run it at max aggressiveness what could go wrong?”

If anyone has any other ideas on what could have caused this I would appreciate your input. Otherwise the next logical step once I rebuild the aircraft is to lower the autotune aggressiveness to .05 and try again, and if the aggressiveness is not the culprit I would prefer to avoid another incident such as this.

Took a quick look and still looking at it but i see the log is truncated. It looks like pixhawk turned off in flight. From when it start rolling to hitting the ground it takes about 2 seconds but only 0.3 are on logs.
Maybe the fast spinning somehow pulled off the power from the flight controller and that is not the cause but just an effect of the crash dynamic.
It really reminds me of the days i was trying to tune a big quad and it just kept killing itself in flight.

As said before we solved by going to Hobbywing X8. About 1000 flights later they still perform great and never seen a desync since.
I am not trying to bash on T-Motor products, as a matter of fact we have a smaller drone with a T-Motor power system (500 series) wich flies 4-5 missions a day since 2 years ago and never ever a single prob. We just didn’t have same luck on large systems from T-Motor.

Have had exactly the same reaction with a large onto when I failed to set the INS_ACCEL_FILTER to the recommended value as described in the Tuning Guide.

At 20, the default, which you have set in your parameters, On the first twitch the copter over reacted and flipped.
I only had it 5m up, not 20m.

Sorry to see it go down like that but you have to go over all parameters listed in the Tuning Guide.

As @Corrado_Steri pointed out you might also have some other issue as the log stopped very abruptly before impact.

When we did all the testing we used INS_ACCEL_FILTER down to 5 but it didn’t make any difference. I am not saying it isn’t his problem, i am just reporting what happened to us with those motor/esc combination.

Thank you for pointing out that the INS_ACCEL_FILTER was set to 20 instead of of 10 as is recommended in arducopter initial setup documentation.

I had previously gone over the arducopter setup several times during the very first setup of this octoquad and thought that I had everything setup correctly. Before the crash I had done around 10 - 15 flights, most of which used autotune. So either I changed the INS_ACCEL_FILTER setting for god knows what reason before the catastrophic flight, and or the culprit for the crash as soon as autotune began was the MOT_EXPO_THST value being moved from .74 to .3.

Because while I gradually moved the MOT_EXPO_THST value down to .3 and tested the flight characteristics of the aircraft manually I did not such gradual testing for the autotune. For my next autotune tests I will be starting with the MOT_EXPO_THST value at .74 & the INS_ACCEL_FILTER at 10. Which has been those perameters settings for the 10 - 15 previous successful flights, then slowly reduce the MOT_EXPO_THST value, testing the autotune at VERY low altitudes to start until a stable and effective autotune can be achieved.

Thank you all so much for lending your experience and knowledge. I will post an update when I have the aircraft fully fixed and can make time to send her up.

Cheers!