Hexacopter of 17 Kg uncontrollably rotated and no YAW control at the time of Autotuning YawD

Hello ArduPilot Community,

I encountered an issue with my 17kg hexacopter during the tuning process and am seeking advice to diagnose the problem.

Tuning Steps:

  1. QUIK TUNE: Completed successfully.
  2. AUTO TUNING:
  • Roll: Tuned without issues.
  • Pitch: Tuned without issues.
  • Yaw: Successfully tuned.
  1. YawD Tuning: Began the process, but encountered issues shortly after.

Problem Description:

The drone started twitching shortly after initiating YawD tuning.
Approximately one minute later, I received an error message: “Vehicle Failed to Level, Manually Tune the Yaw.”
Subsequently, the drone began rotating continuously without any Yaw input, and the Yaw control was unresponsive.
Even after switching from Autotune to Althold mode, the vigorous rotation continued.
I managed to land the drone manually, thus preventing a crash.

Configuration:

Flight Controller: SIYI N7
GNSS: SIYI M9N
Motors: Hobbywing X6 Plus
Radio & Telemetry: SIYI MK15
Battery: 12S 30000 mAh LiPo (2x 6S in Series)

Log File: You can access the log file from the flight here: Uncontrolled Yaw Log - 2024-12-13

What could be the potential causes for the drone entering an uncontrolled yaw state during the YawD tuning?

Thank you for your help!

First of all, the log is from tuning the roll axis, not YawD. Please make sure you uploaded the correct log. However, I see the situation with yaw in this log which resembles what you are talking about, so - likely the log is correct, but the issue has nothing to do with YawD.

Based on what I see in the log, RCOU.C2, RCOU.C4 and RCOU.C5 are sufficiently less than RCOU.C1, RCOU.C3 and RCOU.C6 from the very beginning: the first group was around 1420 in hover, the second group was around 1550. Exactly the first group of motors are CCW motors, and the second group are CW motors. This, to me, indicates a parasitic yaw moment, which most likely follows from mechanical assembly issues, such as motors being mounted on round tubes, and some improperly aligned.

The average values I’ve stated were in action around second 126 of the log. Already by second 149, the difference grew a little. This indicates to me that at least one of the motors was slipping and continued to rotate on the hand together with its mount, increasing the parasitic yaw, and probably other parasitic moments too. Around second 165, the difference between groups grew even more: some 1350 for CCW motors, some 1570 for CW motors.

Around second 195, some of the CCW motors started to hit the minimum output occasionally (some 1158) on a hard roll input, and starting from second 198, motors 2 or 4 were consistently at the lowest output. This means that the copter could not compensate for the parasitic yaw moment any longer, because further corrections would reduce output thrust, and altitude has some priority over attitude, especially yaw.

As such, it started to give up the yaw precision (in favor of pitch, roll and throttle) in the hope that the pilot can land the copter in such an emergency. Normally losing yaw is less dangerous than losing any other axis or throttle, because the vehicle is less likely to fly away.

My quick verdict is: motor mount slipped, which induced very strong parasitic yaw moments. Obviously, AutoTune puts more mechanical stress on the vehicle than slow and smooth flights, so it is more likely that untightened bolts cause major problems.

Thank you so much for the analysis, after your reply I checked for rotated motor and one of the motors was rotated around 10-15 degrees. I will again test the drone today ensuring snug fit of motor.

Also, I had a problem that during take-off at around 60-65% throttle, the drone jumps from the ground and suddenly it starts to lose altitude. Then I have to increase the throttle much higher to keep the drone in air. after that the drone flies normally. is it because of high value of MOT_THST_EXPO?

This might be just the ground effect.

On AIO builds it could have been propwash into barometer, or heating up due to power MOSFETs starting to work on the same board - but yours is not AIO.

Or it might be underestimated MOT_THST_HOVER, for some reason. In your log, you initially hovered at around 0.24 (I’m checking CTUN.ThO values), then it went down to 0.22 towards the end of the flight. Normally, I think, it grows as the battery depletes. If this is a consistent behavior over all the flights, it may cause the described behavior. In turn, it might be caused by MOT_THST_EXPO too off, especially combined with effects from parasitic yaw.

How did you set MOT_THST_EXPO? Physics generally tells it should be around 0.66 = 2/3. For smaller propellers, it generally gets smaller due to reduced efficiency, and all sorts of effects from ESCs may interfere. The truth can only be established by measuring the thrust curve and fitting the coefficient. Have you done that?

The Parasitic Yaw from previous log has been fixed by leveling the motor and fitting it snug.

The MOT_THST_EXPO I have set from ArduPilot guide. As my hexacopter has 24" props, I have set the value according to the graph below.

Please help me out if I am doing anything wrong. I don’t have any testing equipment for this big motor.

The MOT_THST_EXPO for 24inch props is 0.74 , the formula has been refined a bit recently.
Leonard Hall explained setting and testing MOT_THST_EXPO

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

If you like setting your parameters manually, download this spreadsheet and put in your battery details and prop size. Otherwise use the initial parameters section in MissionPlanner.

https://www.dropbox.com/s/w2ru1gmk7h7ga7m/Initial%20parameters.xlsx?dl=0

The best way is to use the Methodic Configurator as @amilcarlucas says.

@xfacta on a 17Kg expensive copter it is better to use the ArduPilot Methodic Configurator.

Hello!
I was trying to setup the notch filter for this drone as I am getting very high Z Vibrations (Around 30 m/s/s). I wasn’t aware of the multiple options to set notch filter. Then I determined that the motor I am using (Hobbywing X6 Plus) supports CAN based ESC Telemetry which is a good thing and also ArduPilot has given documentation on how to connect the CAN ESC Telemetry of Hobbywing X6 Plus motors Hobbywing DroneCAN ESC — Copter documentation also Andrew Tridgell has made a video on how to configure and connect the ESC to get the data on Mission Planner.

I have followed the whole procedure step by step and got success in getting all six ESC voltage, current and RPM on DroneCAN GUI Tool.

After that I tried to see this information using Mission Planner by setting CAN_D1_UC_ESC_BM to 63 and CAN_D1_UC_OPTION to 128. I rebooted the autopilot and still I wasn’t able to get the values on Mission Planner.

Someone please help me to solve this issue.
Thank You!!