VTOL Quadplane AUTO Flight Failing to Maintain Desired Altitude

I’m working on a large-scale (25 kg) VTOL quadplane, and I am struggling to have the aircraft maintain desired altitude between waypoints.

When flying in transitioned AUTO mode, during turns, the plane will roll to the maximum bank angle (50 degrees) and lose significant altitude. It appears that the plane mainly uses roll to turn, without mixing much rudder. I messed with some of the TECS parameters, but honestly I don’t understand much of what’s going on there. When flying in transitioned FBWA, I am able to turn the plane in a tighter radius without losing altitude by mixing more yaw than roll. Is there some way to command the plane to mix more rudder during turns? I tried changing KFF_RDDRMIX, but this only seems to affect the amount rudder is used to maintain heading, and the plane will still roll to bank limits.

In the above graph we can see that the two ruddervators never saturate during AUTO flight, and saturate during FBWA flight. The graphed FBWA flight was much more stable, had a smaller turn radius, and more consistent altitude.

In the above graph, we can see a fairly large discrepancy between demanded and actual height, with differences exceeding 10 meters.

In addition, the plane seems to have a pretty binary mindset with regards to throttle control (see graph below). When the plane is below the desired altitude, throttle is maxed out until the desired altitude is reached. Once the plane exceeds the desired altitude, it cuts throttle almost (and sometimes all the way) to zero until the plane once again reaches the desired altitude, causing the oscillatory nature seen above. For such a large aircraft, this is far from desired behavior.

Does anyone know how I can remedy this behavior? Thanks!

relevant logs

The response of ATT_Pitich to ATT_DesPitch is delayed by almost 2 seconds, which leads to oscillations in the pitch direction. Furthermore, it causes altitude oscillations and unwanted throttle up and down.

Since the PID gains for the roll and pitch controllers are still at their default values, you should perform an auto-tune. That alone will improve your problem considerably. If you still have altitude changes on turns you may need to adjust TECS_RLL2THR or PTCH2SRV_RLL.