Quadplane VTOL, sends throttle to ZERO during waypoint mission

Hello all,

I’m hoping someone can help me figure out why Ardupilot would send throttle to Zero during a quadplane’s waypoint mission. I had flown the plane changing modes manually from QStabilize to FBWA and back with no problem, and the plane behaved well. I have done an autotune, and I have an airspeed sensor that I had just calibrated a flight or two before the incident.

Basically, I wanted to get auto missions working and created the attached mission with just a few waypoints and VTOL takeoff and land. It looked like things were going well with a good takeoff and smooth transition, but when going for waypoint 5, Ardupilot decided to send throttle to zero while in FBWA and the plane started to dive hard. I was able to transition to q-hover/q-stabilize, trying to recover, but the plane kept losing altitude despite my efforts to keep it in the air and get the plane to a safe landing.

I am attaching the log file (Link to the file) and a picture of the UAV Log Viewer showing the interesting bit. What I can see is that the plane raised the throttle to maintain altitude in the turn, the voltage sagged but then Ardupilot quickly dropped the throttle to just about 0%

I have been looking for a reason why this happened, but can someone help me out here? Thanks!

Here is the log file:
https://drive.google.com/drive/folders/15ULDYdMT6AeDNMqF6EGnkgesMvMxSk2i?usp=sharing

This is what it looks like after the incident…

What caused the throttle cut?
The plane saw max airspeed and cut throttle to reduce.
image

Vehicle lost altitude due to:

  • loss of thrust
  • roll angle approaching 90 deg while attempting to reach waypoint 6
  • lack of pitch authority because the arduplane doesn’t know how to knife edge (yet)

What’s caused this behavior?
Below you can see the large gradient between waypoints WP3 and WP4. This prevented the vehicle from reaching cruise envelope before making a significant maneuver in transit to WP5 after WP5.

Suggestion for next flight
Ensure the mission will allow vehicle to attain cruise speed and altitude before making significant turns.

A safe way to transition from VTOL to Plane is reaching cruise altitude before performing maneuvers as a Plane. To ensure this, it is beneficial to set VTOL transition altitude to the desired cruise altitude, or maintain cruise altitude at the target VTOL transition. If neither are possible due to space or time constraints of your mission, then use the Gradient field to prevent the demands on vehicle from exceeding flight envelope.

Also if your vehicle is fast, it’s a good idea to set the max throttle output value for takeoff (TKOFF_THR_MAX) to prevent the vehicle from reaching ARSPD_FBW_MAX.

Determine value of TECS_CLMB_MAX
Follow the steps on the TECS page about Initial Parameters to set this parameter and others that are influenced by flight envelope of your vehicle, and really should be customized before trying Auto maneuvers.
https://ardupilot.org/plane/docs/tecs-total-energy-control-system-for-speed-height-tuning-guide.html#set-initial-parameters-throttle-pitch-airspeed-and-vertical-speed-limits

Other noteworthy items
Also notable, but not to blame, is roughly 1/4 second loss of log data just before the throttle cut point in time. Shortly before that loss in data, there was another loss of data lasting almost 3/4 sec. This could suggest a processor hang, or long method executing, perhaps while making a complex decision.

Just before you changed modes, the plane did seem to have the right idea to recover it’s attitude – it had leveled the wings, pitched the elevator slightly up, and started ramping up throttle. I think it would have recovered if it had stayed in Auto mode. Personally, after seeing the wacky attitude and imagining what that looked like in person, I wouldve switched modes too! See the angle in screen below.

3 Likes

Thanks for looking into this and the detailed analysis. I need to think about this and learn about the gradient. Interesting observations and good points you are making. This is a Pixhawk 1-M, I’ll keep it in mind to look for signs of the processor struggling to keep up.

Damage from the last flight was repairable, so I repaired it and flew it again. This time no mission, just flying manually and the thing rolled over 180 deg on me on the 2nd flight… attaching the logs… ;(

It flew fine during the 1st flight
00000070.BIN

During the 2nd flight it decided to roll 180 degrees and kill itself…
00000071.BIN

2023-07-03 14:22-02Crash.bin
There is a sudden drop in battery voltage (BAT.VoltR) before the climb is completed in Auto mode. This may have caused the FC to automatically transition due to loss of thrust. At this time, the throttle was cut so that the battery voltage was restored and the aircraft was able to fly for about 10 seconds.

Rolled 180 Deg.BIN
This also shows a sudden drop in battery voltage just before the crash. This may have caused not only the loss of thrust but also the loss of power to the servos. Otherwise, such a sudden change in attitude could not have occurred in FBWA mode.

Flew OK.BIN
The flight went well, but the battery voltage dropped sharply just before the throttle was lowered. If the throttle cut had been a few seconds later, it might have crashed as well.

I suggest you consider increasing the battery capacity.

Hi @hatnac , thanks for looking at it and the suggestion. I was running the FC and pusher motor on LiIon trying to get longer flight time, but I’ll try to stabilize things with LiPos and get a good reading in current consumed before trying LiIon again, thanks!

It transitioned because of a high angle event. See the messages from log file.
image

@hatnac what battery hurt you? :smile: Lots of blame on batteries huh?

The log data does not support this. In fact the battery voltage went up to 16V a :exclamation: half second :exclamation: prior to the impact. This was due to the pilot setting throttle to 0% in anticipation of a highly uncoordinated gravity-assisted landing. Good job pilot! @FlyingSandal

The data does not support this statement either. The lowest battery value in that flight was 14.89 V. The frame appears to be running a 4s lithium pack based on starting voltage, that’s 3.7 V per cell with plenty of headroom while under load. And look the battery recovers to 16.3 V at the end of flight, which indicates a nearly fully charged pack.

Disagree

I also have a Skyhunter as a VTOL. Started 3 years ago and had not a maiden flight yet. But started the vertically lift once and found underpowered. Changed the 4 quad motors but also the FC from old Pixhawk to Matek H743 wing. And that caused the holdup for me. Soldering and stuff around that FC is not my strengths. But slowly getting there. Another plane I have 3D printed recently has priority at the moment.
Now I am watching you and hope you get good Help for sorting your problems. Or is a rebuild of the Skyhunter not possible? Good luck.

@tedm
You are right. I should consider more possibilities.
I regret that I have been putting too much blame on the battery for various problems.

1 Like

Thanks Ted for looking at this. As hard as it is to admit it, looks like the crash was due to pilot error… I tried to make that last turn a little too gentle on the throttle and the right wing lost lift due to my airspeed dropping… I must have started the turn into the wind and came out with the wind and that was enough to stall the plane as I must have already been close to the stall speed of ~14 m/s

I do have a replacement airframe and I will rebuild it, set my minimum airspeed to 16m/s and fly in cruise mode instead of FBWA for my future flights. All the electronics and motors survived, so in a few weeks I’ll post an update.

Thanks to all for chiming in!

FlyingSandal
Jorge Jimenez
Keep 'em up in the air!

2 Likes