control//controller design//state feedback//pole placement

Pole placement is a method for choosing the gain of a state-feedback law so that the closed-loop poles land at values the designer picks, and it is how one writes the personality of a small system directly: how fast it settles, whether it overshoots. The central theorem is generous: if \((A,B)\) is controllable, the \(n\) poles of \(A-BK\) can be put anywhere (complex ones in conjugate pairs) by matching characteristic polynomials,


Pole placement is a method for choosing the gain of a state-feedback law so that the closed-loop poles land at values the designer picks, and it is how one writes the personality of a small system directly: how fast it settles, whether it overshoots. The central theorem is generous: if (A,B)(A,B)(A,B) is controllable, the nnn poles of A−BKA-BKA−BK can be put anywhere (complex ones in conjugate pairs) by matching characteristic polynomials,

det⁡(λI−(A−BK))=(λ−p1)(λ−p2)⋯(λ−pn),\det\big(\lambda I-(A-BK)\big)=(\lambda-p_1)(\lambda-p_2)\cdots(\lambda-p_n),det(λI−(A−BK))=(λ−p1​)(λ−p2​)⋯(λ−pn​),

where pip_ipi​ are the desired poles. With one input, equating coefficients gives nnn equations for the nnn gains; control.place or Ackermann's formula do it numerically.

The altitude of a drone shows it whole. With mz¨=um\ddot z=umz¨=u and u=−k1z−k2z˙u=-k_1z-k_2\dot zu=−k1​z−k2​z˙, the characteristic polynomial is mλ2+k2λ+k1m\lambda^2+k_2\lambda+k_1mλ2+k2​λ+k1​. Asking for natural frequency ωn\omega_nωn​ and damping ζ\zetaζ (a second-order system) gives k1=mωn2k_1=m\omega_n^2k1​=mωn2​ and k2=2mζωnk_2=2m\zeta\omega_nk2​=2mζωn​, which is exactly the PD controller a hobbyist would tune by hand.

Being able to put the poles anywhere does not mean you should.

Faster poles demand larger gains, hence more actuator effort, more amplified sensor noise and less tolerated delay (the delay margin shrinks as the crossover rises). With a motor whose time constant is 30 ms, asking for poles at −200-200−200 rad/s is science fiction.

The method is silent exactly where it gets hard: it never says where the poles should go. With several inputs, infinitely many KKK give the same poles and it does not say which to pick. The LQR fills both gaps by deriving the poles from a cost on error and effort.

A controllable pair can still be nearly uncontrollable. If the controllability matrix has a tiny singular value, some pole moves require huge gains: controllable on paper, uncontrollable with your motors.

The same arithmetic designs observers. Placing the eigenvalues of A−LCA-LCA−LC chooses how fast a Luenberger observer's error dies, and the usual rule puts those poles several times faster than the controller's (estimation-control duality).

For two or three states it is quick and transparent, and it remains the clearest way to teach what gains do; with many states and inputs it gives way to the LQR.