Stabilize mode overreacts when returning to level

Hello, I could really use some help getting the configuration right on my quad copter.

It is an EMAX Nighthawk 250 with 2300kV motors, 5x3 props, and a 3S battery. It has a Pixracer running Arducopter 3.4-rc2. I was out tuning it today and I got it to hover very nicely in stabilize mode. I can fly it in all directions and it is quite responsive. However, there is a phenomenon which I cannot figure out how to address. If I fly in stabilized mode
with maximum pitch/roll input in a given direction (e.g. full speed forward) for some distance (e.g. 20 meters) and then center the stick the copter does not return to level immediately. Instead, it pitches all the way to the opposite angle and then returns to level slowly. All this takes a few seconds before it is back to level again. This phenomenon seems to be more pronounced the longer I keep flying in a direction before moving the stick back to neutral.

If someone else showed this to me and asked for my opinion I would say the problem was that some I-gain was too high. It feels like an integral, a moving average, or something else with a time window is building up this counter reaction while I move the copter and then it has to “unlearn” it again before it can return to level. But I didn’t finish tuning the copter today so my I-gains for pitch and roll are 0. Only P and D have nonzero values. Therefore, I’m surprised to see this behavior because I thought that P and D would always result in immediate response, like fast oscillations. I have the feeling there is some PID controller that I’m not aware of (maybe in an outer control loop?) but I can’t find out what parameters are controlling it. Am I totally off or did I just overlook a setting?

Best regards
Martin

I see this especially on larger vehicles when the air catches under the propellers. So if I fly fast forward and then flatten out the wind catches under the props and pulls the nose up. If it’s the same thing, then I think you’ll find it’s very much related to the wind speed.
In any case, you can normally set the Rate Roll I to the same value as P. Same goes for Rate Pitch I. Rate Yaw I is normally 1/10th of the P value.

Thanks for the explanation. I hadn’t thought about the wind speed but that does of course increase the longer I keep flying forward. I hope I have time to fly during the coming weekend. Then I’ll try setting I to the same value as P.

The reason I was so sure it was an algorithm that did this is because I had a naze32 on this frame before I installed the pixracer and I have not seen this happening before. Maybe the effect is amplified by the feature that increases the motor speed to maintain altitude when the frame pitches/rolls. I don’t think clean flight has that. I’ll try to deactivate it and see if it makes a difference.