Add a new optional argument to the PID class which allows a constant output bias to be specified. If provided this bias is applied to the output before any output limits are applied. This can be useful for systems which require a non-zero output to maintain a steady-state.
This new argument is optional and defaults to zero, so existing users of the package won't notice any changes. The implementation itself is also trivial.
I've been using a bias constant in a system I'm currently working on by using a PID instance without output limits, then applying the bias and output limits myself, after calling the PID instance. This works fine, but it's definitiely neater and more efficient to be able to let the PID take care of all the limits internally.
Interested to hear if you think this would be worth having @m-lundberg . Let me know if there's anything else I need to add to this PR. Thanks for your work on this package, I've found it great to work with!
Add a new optional argument to the PID class which allows a constant output bias to be specified. If provided this bias is applied to the output before any output limits are applied. This can be useful for systems which require a non-zero output to maintain a steady-state.
This new argument is optional and defaults to zero, so existing users of the package won't notice any changes. The implementation itself is also trivial.
I've been using a bias constant in a system I'm currently working on by using a
PID
instance without output limits, then applying the bias and output limits myself, after calling the PID instance. This works fine, but it's definitiely neater and more efficient to be able to let the PID take care of all the limits internally.Interested to hear if you think this would be worth having @m-lundberg . Let me know if there's anything else I need to add to this PR. Thanks for your work on this package, I've found it great to work with!