github.com/RhysU/helm
A header-only PID controller.
helm

Overview

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.

This project and its API documentation are hosted at https://github.com/RhysU/helm and https://rhysu.github.io/helm/, respectively.

References