Skip to main content
Engineering LibreTexts

11.6: PID Controllers

  • Page ID
    47291
    • Franz S. Hover & Michael S. Triantafyllou
    • Massachusetts Institute of Technology via MIT OpenCourseWare
    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    The most common type of industrial controller is the proportional-integral-derivative (PID) design. If \(u\) is the output from the controller, and \(e\) is the error signal it receives, this control law has the form

    \begin{align} u(t) \,\, &= \,\, k_p e(t) + k_i \int\limits_{0}^{t} e(\tau) \, d \tau + k_d e'(t), \\[4pt][4 pt] C(s) \,\, = \,\, \frac{U(s)}{E(s)} \,\, &= \,\, k_p + \frac{k_i}{s} + k_d s \\[4pt][4 pt] &= \,\, k_p \left[ 1 + \frac{1}{\tau_i s} + \tau_d s \right] , \end{align}

    where the last line is written using the conventions of one overall gain \(k_p\), plus a time characteristic to the integral part \( (\tau_i) \) and time characteristic to the derivative part \( (\tau_d) \).

    In words, the proportional part of this control law will create a control action that scales linearly with the error – we often think of this as a spring-like action. The integrator is accumulating the error signal over time, and so the control action from this part will continue to grow as long as an error exists. Finally, the derivative action scales with the derivative of the error. This will retard motion toward zero error, which helps to reduce overshoot.

    The common variations are: P, PD, PI, PID.


    This page titled 11.6: PID Controllers is shared under a CC BY-NC-SA 4.0 license and was authored, remixed, and/or curated by Franz S. Hover & Michael S. Triantafyllou (MIT OpenCourseWare) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.