Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Limit Iterm on FW depending on stick position #4023

Merged
merged 2 commits into from Dec 2, 2018

Conversation

Projects
None yet
2 participants
@DzikuVx
Copy link
Member

commented Nov 18, 2018

It's not that simple to tune a FW for sharp turns especially when requested rates are close to the hardware limit. Too much or not enough FF leads to bounce-back or even follow-up when stick is released.

adnotacja 2018-11-18 190857

adnotacja 2018-11-18 191138

Limit in this PR depends on a stick position, not the fact if output is saturated like in case of MR controller since it's harder to determine if any servo is actually at a limit or not.

Experimental, not tested yet

@digitalentity

This comment has been minimized.

Copy link
Member

commented Nov 18, 2018

Idea is to keep ITERM active when stick is not moving or moving slow and limit ITERM when stick deflection is high? Nice.

I would, however, act on rateSetpoint, not on stick position.

@DzikuVx

This comment has been minimized.

Copy link
Member Author

commented Nov 18, 2018

@digitalentity this was my original goal, but I quickly realized that in case of too high rates that airplane can not reach, this would lead nowhere. The limit would trigger too soon or too late. On majority of planes this is not a case, but small agile race or freestyle wing can be affected.

@digitalentity

This comment has been minimized.

Copy link
Member

commented Nov 18, 2018

@DzikuVx if rates are set properly, stick deflection or rateSetpoint won't make a difference.

@DzikuVx

This comment has been minimized.

Copy link
Member Author

commented Nov 18, 2018

As long as set correctly yes. It's hard to guess the max rates and getting them from blackbox and manu mode is quite complex. Lets see it this will be a working and simplified solution

@digitalentity

This comment has been minimized.

Copy link
Member

commented Nov 18, 2018

Then we should probably limit it to ACRO mode only. In ANGLE or automatic modes the rateSetpoint is disconnected from the stick and this logic won't make sense anyway.

@DzikuVx

This comment has been minimized.

Copy link
Member Author

commented Nov 18, 2018

Good idea with limit to acro actually. I will make that happen

@DzikuVx

This comment has been minimized.

Copy link
Member Author

commented Nov 20, 2018

@digitalentity now it should work only in Acro. Did not tested yet tho ;)

@digitalentity

This comment has been minimized.

Copy link
Member

commented Nov 20, 2018

Looks good. Would be interesting to know how it behaves in testing

@DzikuVx

This comment has been minimized.

Copy link
Member Author

commented Dec 2, 2018

@digitalentity flight tested. Works quite nice. Wing was stoping very nicely at the ends of sharp turns and rolls. No more bounceback or follow due to misbehaving Iterm. Even when roll rate was somehow 30% above max rate of the wing
Unfortunately there is no BB log since either SD card is broken on development on Omnibus F7 (again) or I misconfigured something.

Either way, I think it's working so either merge for 2.1 or we keep it for next release

@digitalentity

This comment has been minimized.

Copy link
Member

commented Dec 2, 2018

Let's merge it

@DzikuVx DzikuVx added this to the 2.1 milestone Dec 2, 2018

@DzikuVx DzikuVx merged commit f26bd24 into development Dec 2, 2018

1 check passed

continuous-integration/travis-ci/pr The Travis CI build passed
Details

@DzikuVx DzikuVx deleted the dzikuvx-fw-iterm-anit-windup branch Dec 2, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.