Copter Works, Quadplane Doesn't (Solved)

Hi friends.
I’m trying my first quadplane build. Since I’ve been expecting trouble I am testing the copter components on a piece of timber the same weight as the plane fuselage while the fuselage is packed away nice and safe :slight_smile:

If I load the copter firmware and do the minimal setup (H quad frame, radio, compass, accel) the contraption hovers and behaves fine.

However when I load the plane firmware and enable Q_ENABLE, set Q_FRAME_TYPE and the other basic setup (plus shifting the servos from 1:4 to 5:8) it oscillates wildly in pitch and I can’t even take off.

I’ve tried 4.1beta and the stable 4.0.9 release of plane with the same results. I initially had the autopilot at YAW_180 so I even tried physically rotating it as well as setting the rotation back to None in the configuration but none of this has made any difference.

I see quadplane works for the rest of you so there must be something dumb I am doing. Here are my params:

Here’s a log file with two (brief) attempts at taking off:

The only thing that is a bit odd is I get “Compass 2 not found” even though it is visible in the GCS and calibrates fine, so I have had to disable the prearm compass check. However I am trying to fly in Q_STABILIZE and also I get this complaint about the compass in copter and it flies okay, including in GPS modes.

Sincere thanks in advance.

Hi David,

I’m not sure what the compass2 issue is but I would disable COMPASS_USE2 and COMPASS_USE3 for now until you get the main issue resolved.

I would start by checking your “X” or “H” setup and verify that the correct motor positions match your Q_FRAME_TYPE.

The motor outputs look off as if the quad was not balanced properly. Motors 2 and 4 (rear of Quad-H) are working much harder.

You need to tune quadplane to hover, you can try using the PID values that you get from copter to get an initial tune for your frame. When you flash a different vehicle firmware, it resets all parameters to default, which is not a very good tune for quadplane out of the box,

Many thanks @GregCovey . I just did some playing around with the compass. I can only assume the odd error message is due to an address conflict between the internal and external compass or somesuch. I had a different brand external compass/GPS so I just swapped it. It resolved that particular error message, although then I got an error while attempting to calibrate it :confused: In any case I assume it is just a distraction and not associated with the main issue as you say. The copter still oscillated in pitch when trying to lift off.

The servo rates in that data file will be misleading - it barely got off the ground and then just flopped around for a second. This is the rates from hovering with the copter firmware - it looks much better.

The motors are in an H configuration and I’ve checked the order and directions. From the documentation I believe the order should be the same for a quadplane, except motor 1 is connected to main output 5 instead of 1 and so on. I shuffled the four control signals up to 5:8 without changing the order that they used for copter when on 1:4. But otherwise yes I’d agree something like this would also be my first guess!

I’ve just double checked my config and Q_FRAME_CLASS is 1 (quad) and Q_FRAME_TYPE is 3 (H).

I guess it could also just be PID settings. I tried bumping the Q_A_RAT_RLL/PIT_P terms up to 0.4 based on the documentation “These default to 0.25 but you may find significantly higher values are needed for a QuadPlane.”.

What PID parameters are you using if the defaults are not very applicable?

Hi @jimenezlee. Many thanks. I wondered about whether there were any additional scaling terms between the PID parameters in copter and (quad)plane or whether I could transfer them. For my successful test with copter I was just using the defaults, e.g.

ATC_RAT_RLL_D 0.0036

Whereas the parameters I have in plane are:

Q_A_RAT_RLL_P 0.4 (I tried the default of 0.25 first)
Q_A_RAT_RLL_I 0.25
Q_A_RAT_RLL_D 0.0036

They’re more similar than I thought actually :confused: I could try winding them back down to the copter values… but in which case it’s odd the doc’s say quadplane would normally need more gain.

Well that did the trick @jimenezlee! I transferred the PID parameters and THST_HOVER from copter and it hovers now.

I’ll experiment and tune things on my piece of wood and then look forward to trying it on the Volantex :slight_smile:

Thanks to you both for your helpful suggestions.

SUMMARY: The default RATE P gains in plane (quadcopter) are higher than the defaults in the copter firmware (which seem to fly just about anything). These higher gains were causing the oscillations, probably because my test setup has almost no inertia in pitch, which won’t be the case on an actual plane.