Elevator waggle on MANUAL -> FBWA

I take off in MANUAL mode and switch to FBWA a few feet off the ground. When I do, the airplane does a quick up-down-up-down-up-down waggle. It takes less than a second, and then the elevator is smooth for the rest of the flight. This behavior is consistent between flights. The screenshot is from the log in the link below, but other logs in the same directory show a similar pattern.

What did I misconfigure?

https://github.com/arikrupnik/ardupilot-config/blob/master/logs/FIXED_WING/7/2023-01-17%2008-58-54.bin?raw=true

The moment you switched from manual to FBWA the plane had about 22 degrees nose up pitch and about 24 degrees left roll. The RC stick inputs were (more or less) neutral. So as soon as you entered FBWA the plane is is quickly trying to reach level nose and wings. With over 20 degrees of error on two axis I’m guessing what you’re seeing is the tuning reaching it’s limits for error correction speed.

1 Like

That makes sense. Thank you @Allister. It makes sense that it waggles more in pitch than roll. LIM_RLL is 60 degrees while LIM_PITCH_MAX is 25, so I’m a lot closer to limits in pitch than roll.

Does this imply that the D term is too high, it overshooting like this on a step function? Not a practical problem, more me trying to understand the system better.

Ari.

Hmm… maybe? I’ve had issues with flying wings that get into a control oscillation that I was able to smooth out by using PTCH_RATE_SMAX. I don’t think your plane needs that right now given it’s only happening in one very specific situation.

1 Like

Thank you @Allister

Ari.

How well is the plane set up to fly in manual? If its set up correctly then when you change to fbw no big inputs should be needed. Check where the elev pwm is when flying level at slow speeds, check your c of g,
Also you can takeoff quite well in fbw no need for manual. But i believe for many people who dont have non-stabilised plane experience they put something together which barely flies then expect the flight controller and some autotune to fix it for them (which it almost will) but sooner or later they are uploading a log and asking why it crashed.
To do it right, the plane should be well balanced, not too overloaded, have appropriate control authority and fly straight and level BEFORE you ask the flight controller to do anything for you.

Yes, I’ve met people like that.

I had flown this plane for almost ten years before I put this flight controller in it.

Ari.

1 Like

I tried taking off in FBWA to avoid abrupt transition from manual to attitude control. I still get the waggle on takeoff. How can I tell if cycle detection is kicking in?

https://github.com/arikrupnik/ardupilot-config/blob/master/logs/FIXED_WING/7/2023-01-20%2015-59-49.bin?raw=true

Ari.

There is a lot of pitch oscillation in the moment of takeoff. I would suggest reduce P and D by 30-50%

PTCH_RATE_D from 0.00748 to 0.005 and
PTCH_RATE_P from 0.25 to to 0.15

Thank you @jreise-d and @Allister. I’ve been looking at the logs and at the oscillations, and I think I need to take both your advice. It’s possible that my problem is that the airframe itself is capable of a lot more aggressive maneuvering than tune level 6 supports. If I want this tame an aircraft, I should decrease Ps and Ds and avoid oscillations. But maybe tuning to a higher level would harmonize the tune with the capabilities of the airframe and its control surfaces. I plan to try that next time I’m at the field.

Ari.

You can try tuning to a higher AUTOTUNE_LEVEL, and if the oscillations appear intermittently then you can reduce the PTCH_RATE_SMAX in steps of 10.

1 Like

I tuned at level 7 and the oscillations are smaller. Out of curiosity, I’m going to try level 8.

Ari.

2 Likes

We’re finally getting flyable weather. I ran autotune at level 8. Elevator is much more stable now, but aileron overshoots and the plane rocks side-to-side in straight and level flight. Here are the changes from autotune at level 7 (red) to 8 (green). I’m thinking of reverting the roll tune to the red version.

Screenshot_2023-02-25_18-53-07

Here’s an example of the roll oscillation. This is flying in a straight line with clam wind. The area in the bottom center is especially telling. Desired roll is constant, but achieved oscillates around it.

https://github.com/arikrupnik/ardupilot-config/blob/master/logs/FIXED_WING/7/2023-02-25%2015-23-05.autotune-8.bin?raw=true

https://github.com/arikrupnik/ardupilot-config/blob/master/logs/FIXED_WING/7/2023-02-25%2015-31-30.bin?raw=true

Thank you @Allister, @Scott_Nunan and @jreise-d . With tune level 7 for roll and 8 for pitch, the airplane is smooth and controllable without waggling. Onto tuning the rudder controller! These huge wings and barndoor ailerons have significant adverse yaw, and this is my next project on this airframe.

https://github.com/arikrupnik/ardupilot-config/blob/master/logs/FIXED_WING/7/2023-03-01%2008-39-58.racetrack.bin?raw=true

Ari.

1 Like

Good job, i wasnt aware of a yaw loop in plane, maybe for ground roll but i thought yaw was just a mix of aileron, if thats what you mean by tuning i guess you can change the ratio but thats about all there is to it

There’s more than that.

https://ardupilot.org/plane/docs/new-roll-and-pitch-tuning.html#yaw-damper-sideslip-tuning

Wow, i see there is, Maybe this has been developed somewhat over the years. I just remember that when in fbw and holding the plane the rudder servo didnt move at all when i twisted the airframe in the yaw direction so i thought the loop didn’t exist like it does for pitch and roll. That’s a nice control loop drawing, good find