Mehmet Emre Tiryaki
Back to Notes

Feedback Control

Output Feedback

With plant G(s)G(s) and controller C(s)C(s) in a unity negative feedback loop, the closed-loop and sensitivity functions are

T(s)=G(s)C(s)1+G(s)C(s),S(s)=11+G(s)C(s)T(s) = \frac{G(s)C(s)}{1 + G(s)C(s)}, \qquad S(s) = \frac{1}{1 + G(s)C(s)}

Goal 1: Stabilization All closed-loop poles, the roots of 1+GC=01 + GC = 0, in the open left half-plane.

Goal 2: Robustness to parameters How much the closed loop changes when the plant changes,

∂T∂G=C(1+GC)2≈Δ closed loopΔ open loop,GT⋅∂T∂G=S(s)\frac{\partial T}{\partial G} = \frac{C}{(1 + GC)^2} \approx \frac{\Delta \text{ closed loop}}{\Delta \text{ open loop}}, \qquad \frac{G}{T} \cdot \frac{\partial T}{\partial G} = S(s)

so the relative sensitivity of TT to GG is SS.

Goal 3: Tracking With e(t)=r(t)−y(t)e(t) = r(t) - y(t), tracking means e(t)→0e(t) \to 0. For step references this requires T(0)=1T(0) = 1, equivalently S(0)=0S(0) = 0.

Goal 4: Disturbance rejection With a disturbance DD entering at the plant input,

Y(s)=CG1+CGR(s)+G1+CGD(s)Y(s) = \frac{CG}{1 + CG} R(s) + \frac{G}{1 + CG} D(s)

The simplest controller is proportional, C(s)=KpC(s) = K_p.

State Feedback

With u(t)=−Kx(t)u(t) = -Kx(t),

x˙=(A−BK)x,y=(C−DK)x\dot{x} = (A - BK)x, \qquad y = (C - DK)x

so the closed-loop poles are the eigenvalues of A−BKA - BK.

  • Controllability If rank[BABA2B⋯An−1B]=n\mathrm{rank}\begin{bmatrix} B & AB & A^2B & \cdots & A^{n-1}B \end{bmatrix} = n, the eigenvalues of A−BKA - BK can be placed anywhere.
  • Stabilizability There is a stabilizing KK iff rank [λI−A∣B]=n\mathrm{rank}\,[\lambda I - A \mid B] = n for every eigenvalue λ\lambda with Re(λ)≥0\mathrm{Re}(\lambda) \ge 0, i.e. every uncontrollable mode is already stable.

Output Tracking

To make y(t)→ydy(t) \to y_d, use u(t)=−Kx(t)+Nydu(t) = -Kx(t) + N y_d with KK placing the eigenvalues. Then

x˙=(A−BK)x+BNyd,y=(C−DK)x+DNyd\dot{x} = (A - BK)x + BN y_d, \qquad y = (C - DK)x + DN y_d

At steady state x∞=−(A−BK)−1BNydx_\infty = -(A - BK)^{-1}BN y_d, so requiring y∞=ydy_\infty = y_d gives (single output)

N=1D−(C−DK)(A−BK)−1BN = \frac{1}{D - (C - DK)(A - BK)^{-1}B}

Or find T(s)=Y(s)/Yd(s)T(s) = Y(s)/Y_d(s) and choose NN such that T(0)=1T(0) = 1.