Qplane crash in Auto VTOL maneuvering

We had an aircraft go down last Friday when attempting to move from a VTOL_Takeoff to WP navigation with the Q_enable == 2 (no transition attempt). It actually occurred on the second attempt, but the first was pretty gnarly too and just as well could have crashed. This was actually a vtol only test and the bird didn’t even have wings on we were just testing vtol climbs and nav.

During the VTOL_Takeoff the aircraft did just fine, but as soon as it reached altitude of 10m and switched to a WP ahead and at 20m the throttle went to 100% before crashing to zero, and going back to 100% in a cycle that on the first attempt eventually dampened, but in the second went so bad it had no chance.

It looks like a PID issue with the WP nav throttle, but what parameter controls that? Obviously a different one from the one that controls it in VTOL_Takeoff. On that note, some of the q parameters have no documentation for the code illiterate.

flown on version adruplane 3.8.51
log here:

Also, this worked well in multiple simulations (SITL), on both 3.8.51 and on 3.9 so that drives me even more toward a PID problem, but I still have no idea which parameter controls that, and I obviously can’t figure it out in SITL, and I got lost when trying to track it down in the code.

I did see that there is a different nav controller for those two types of flight however, and suspect that if I could follow the trail further I’d find the difference, but the cod there gets confusing to me.

See attached image from the log. Clearly the Q A P goes nuts on reaching the transition from VTOL Takeoff to WP. Still looking for a lead on this

@WickedShell this is one of the things we discussed at Interdrone

Can you refresh me on what you said? something about the loiter parameters?

@jace26 Q_LOIT_ANG_MAX dictates maximum pitch the vehicle will experience during detransition. If it isn’t set then we fallback to Q_ANGLE_MAX. You should be able to see detransitions use less pitch up in SITL with this. (I’ve only tested this near the 3.9 release version, so you may be seeing different behaviour around 3.8)

The Q_ASSIST/yaw issue I mentioned was https://github.com/ArduPilot/ardupilot/pull/7493 if you are looking for the background explanation/tracking on it. I’m looking to start getting that pushed through soon.

I haven’t looked at any of the above log stuff yet, I’ll try and set some time aside for that.

1 Like

you are the man. Thanks for your help. it was good to meet you!

Of course, Q_loit parameters aren’t a thing in 3.85 where we are right now so we’re back to where we were…

@jace26 The obvious thought is to try 3.9 :slight_smile: It does list improved transition support as well as the loiter change. (I’m not sure if the transition improvements are derived from the loiter changes, but at a top level it might help)

@WickedShell think you’re right, and we will make the move. I’ll update once we pull the trigger.