-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Add setpoint derivative feed forward term to PID controller #5642
Conversation
So, this is not a feed-forward itself, it's a multiplier for one of the components of the D-term |
No it's not. And it's a shame BF called that a feed forward. It's not done,
the goal is to comoute dterm only from measurement.
From the math level it's the same as now, only tuning is simpler since
instead of setpoint weight you separately tune "damping" and acceleration
from the stick movement
wt., 28 kwi 2020, 17:42 użytkownik Konstantin Sharlaimov <
notifications@github.com> napisał:
… So, this is not a feed-forward itself, it's a multiplier for one of the
components of the D-term
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#5642 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAHMBG2EESH3Z5TIDDRMQCDRO32NJANCNFSM4MS3M5YA>
.
|
Maybe we should then separate D/setpoint and D/measurement into two PID parameters and deprecate setpoint weight? We'll end up with P, I, D/setpoint, D/meas and FF, may be a lot, but it will in fact may tuning simpler. D/setpoint and FF will only affect reaction to the stick. |
That would mean we will need 5th gain in each bank, new frames for MSP, Configurator support and so on. |
Makes sense, but can we please not call it "feed-forward" to avoid confusion with real FF-term on fixed wings? |
DS maybe?
śr., 29 kwi 2020, 13:32 użytkownik Konstantin Sharlaimov <
notifications@github.com> napisał:
… Makes sense, but can we please not call it "feed-forward" to avoid
confusion with real FF-term on fixed wings?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#5642 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAHMBGZBBT2BCWBZYWFSFM3RPAF4DANCNFSM4MS3M5YA>
.
|
First flight tests completed and result are very appealing. There is less vibrations due to better behaving Dterm that now is measured only from measurement. The amount of control on fast strick movements was better than before. Unfortunatley I do not have a log with CDterm recorded. DVR: https://youtu.be/tFXFGss8aFE It still needs some check but seems like a good feature |
Happy to hear. Finally we're getting rid of |
Maybe let's call the derivative of setpoint not DS but DFF (Differential Feed-Forward, or Differentiated Feed Forward) People have got used to "Feed Forward" name and it would be easier to explain that Betaflight's FF is actually DFF in iNav and the real feed-forward is just FF in iNav. At least both FF and DFF names describe their impact for the system. DS does not. |
IMO "feed-forward" has nothing to do with how this works (neither in INAV nor in BF). |
Yes, what is called FF in Betaflight and iNav is different from true FF in a control system theory. But speaking about iNav, FF for fixed-wings simply propagates setpoint (control) to output (servos). While such FF is not used for multirotors, it's derivative is used, and, as I understand (please correct me if I'm wrong) Pawel in this PR brings it to PID controller settings, dropping dterm_setpoint_weight. The question is to name it properly. My proposal is to keep FF as it is for FW and name new component DFF instead of DS. It directly explains what it does (takes FF (=setpoint) and gets it's derivative). The goal is to use familiar FF name. |
I see, so the idea is to avoid adding a new term "setpoint" to prevent user confusion. @DzikuVx WDYT? |
Actually I think that |
As part of this PR: