Diagnose Unpredictable Throw Mode

Happy Friday night! Perfect time to review some logs with a brew.

I’ve been playing around with Throw Mode lately on a 5" quad. Lots of fun when it works, scary when it doesn’t. I’ve seen @gherve post a similar topic without seeing a satisfying solution so I hope I can add more data.

For context, when I throw this small of a quad, I can’t guarantee the same type of throw every time. I’ve tried pushing from the bottom, throwing it like a frisbee, tossing it upside down, etc. All of these throws result in similar behavior: an unpredictable and rapid ascent after the drone’s gyro levels out.

From looking around on the git, it seems like this mode has a hardcoded 300cm altitude increase. That explains 3m of ascent, but not the rest.

I’ve attached a total of 3 logs: two are partial successes and one is a failure which resulted in the quad inverting and crashing quite close to the launch site.

Hi @telamechanica,

I’ve added this to the Copter-4.5 issues list so it won’t be forgotten.

I’m having the same issue with throw mode. It levels out and then flies over 12m before stopping. It often doesn’t fly straight up either and goes a 10 m laterally as well.

Hi @GalacticGreg,

Sorry for the slow response, if you’ve got an onboard log I can have a peek.

Hi @telamechanica,

Really sorry for taking 2 months to review this log.

I had a fairly long look at this and the best answer I could come up with is that that during the failed throw it took much longer for the vehicle to get itself upright and it lost altitude as it was trying to upright itself. I can’t say exactly why though. I don’t think it is a motor failure so I’m guess that it is the attitude controller tuning.

Below are the THRO log messages from the successful throw first and the failed throw second. From looking at the stages, we can see that in the successful throw the vehicle is able to right itself in about 0.3 seconds.

… but in the failed throw it took 0.5 seconds.

I thought it might be because of a motor failure but the ESC messages (shown above) show all motors were spinning.

The one thing that looks odd to me is some of the attitude gains appear very high

The maximum accelerations are at or above 400K. I’m not sure I’ve ever seen numbers higher than 150k
ATC_ACCEL_P_MAX = 399744.9
ATC_ACCEL_R_MAX = 469605.7

The angle P gains are also enormous. I’d drop the roll and pitch angle P gains back to about 12. Yaw should probably not be any higher than 6.
ATC_ANG_PIT_P = 28.8674
ATC_ANG_RLL_P= 27.49276
ATC_ANG_YAW_P = 13.67774

Maybe @andyp1per will have some more advice on tuning small vehicles

These are all fine values for a small vehicle - should not be causing any issue here

1 Like

A nicely tuned light and powerful 5" quad can have really high values and fly nicely (produced by autotune and rounded by me):

  • ATC_ACCEL_P_MAX: 490000
  • ATC_ACCEL_R_MAX: 509000
  • ATC_ACCEL_Y_MAX: 358000
  • ATC_ANG_PIT_P: 36
  • ATC_ANG_RLL_P: 36
  • ATC_ANG_YAW_P: 36

and generally such values, if realistic for the particular quad, would rather help stabilizing quicker, I think.

1 Like

I have no experience with the throw mode (so far), but 286th second seems to be a moment of a hard desync for the left-hand-side motors (based on the discrepancy between RCOU.C[3,4] and the matching ESC[2,3].RPM).

So I would suggest looking at ESC firmware tuning.

2 Likes