|
| | PID (double kP, double kI, double kD, double kF=0, double windupRange=0, bool signFlipReset=false, double slew=0) |
| | Construct a new PID controller.
|
| |
| | PID (const PIDGains &gains, double windupRange=0, bool signFlipReset=false) |
| | Construct a new PID controller from a PIDGains struct.
|
| |
| PIDGains | getGains () |
| | Get the current gains of the PID controller.
|
| |
| void | setGains (PIDGains gains) |
| | Set new gains for the PID controller.
|
| |
| double | update (double error) |
| | Update the PID controller based on the current error.
|
| |
| double | update (double error, double measurement) |
| | Update the PID controller based on error and actual measurement (to prevent derivative kick).
|
| |
| void | reset () |
| | Reset the PID controller's internal state (integral, previous error, etc.).
|
| |
| void | setSignFlipReset (bool signFlipReset) |
| | Enable or disable resetting the integral term when the error sign flips.
|
| |
| bool | getSignFlipReset () |
| | Check if sign-flip integral reset is enabled.
|
| |
| void | setWindupRange (double windupRange) |
| | Set the windup range within which the integral term is allowed to accumulate.
|
| |
| double | getWindupRange () |
| | Get the current windup range.
|
| |
| void | setAlpha (double alpha) |
| | Set the alpha value for the derivative filter.
|
| |
| double | getAlpha () |
| | Get the alpha value for the derivative filter.
|
| |
| void | setIntegralLimit (double limit) |
| | Set the maximum absolute value for the integral term.
|
| |
| double | getIntegralLimit () |
| | Get the integral limit.
|
| |
| void | setStaticThreshold (double threshold) |
| | Set the static threshold error value.
|
| |
| double | getStaticThreshold () |
| | Get the static threshold error value.
|
| |
A standard PID controller with advanced features.
Includes support for windup range limits, sign-flip resets, slew rate limits, filtered derivatives, and integral limits.
Definition at line 22 of file PID.h.