iNavFlight / inav

INAV: Navigation-enabled flight control software
https://inavflight.github.io
GNU General Public License v3.0
3.19k stars 1.49k forks source link

[6.1.1] fixed wing, iterm to zero on fast rolls? #9328

Open 0crap opened 1 year ago

0crap commented 1 year ago

Current Behavior

On "fast" rolls the bounce on center stick (when you stop the roll) is large and easily seen with FPV flights. set fw_iterm_limit_stick_position = 0.125 is already in place and limits the I term during a roll. (Unfortunately that does not help much, because I term unwinds anyway when the limit stick position ends.)

When doing the same roll in manual mode, there is very little bounce to be seen when you stop the roll. The Blackbox log shows why, iterm is zero when in manual mode.

Screenshot 2023-09-30 200203

Screenshot 2023-09-30 200245

Expected behavior

No bounce when you stop a roll in ACRO mode.

Suggested solution(s)

In ACRO, create a setting that can set iterm to zero during fast moves.

Jetrell commented 1 year ago

@0crap This has certainly been an issue for a while. The problem with fw_iterm_limit_stick_position. Is that it only prevents the i-term from growing.. It doesn't reset it back to zero. Which still leaves some accumulated i-term, that has to unwind at center stick. I think it would be better if it cleared the i-term error, when the stick released speed (back to center), exceeds the PID loop time when it sees the i-term shrinking.

0crap commented 1 year ago

Indeed an issue for quite a while. And frustrating everytime when you try to tune a new airplane. Especially when you switch to MANUAL and notice the airframe alone is perfectly capable to do a roll stop on a dime. I sure hope the time is right to fix this one. (After the AHI fix this is now my number one issue to make INAV perfect for planks.)

A proper fixed wing iterm relax on roll should fix this. Pitch seems not an issue because a looping is a relatively slow move. Roll stops however is an pain in the butt...