/helm

A header-only proportional-integral-derivative (PID) controller.

Primary LanguageCMozilla Public License 2.0MPL-2.0

helm

Controller block diagram

This proportional-integral-derivative (PID) controller, implemented wholly within [helm.h], features:

  • low pass filtering of the process derivative,
  • windup protection,
  • automatic reset on actuator saturation,
  • anti-kick on setpoint change using "derivative on measurement",
  • incremental output for bumpless manual-to-automatic transitions,
  • a unified controller gain parameter,
  • exposure of all independent physical time scales, and
  • the ability to accommodate varying sample rate.

References

-- Astrom, Karl J. and Richard M. Murray. Feedback systems: an introduction for scientists and engineers. Princeton University Press, April 2008. Available online.

-- Wescott, Tim. Applied control theory for embedded systems. Newnes, 2006.