control//controller design//state feedback
State feedback is a control law that computes the actuator command as a linear combination of every state of the plant, \(u=-Kx\), and it is the common skeleton of pole placement, the LQR and, around a moving reference, trajectory tracking. Where a PID looks at one error, state feedback looks at the whole state vector: positions, velocities, angles and rates at once, each with its own gain.
State feedback is a control law that computes the actuator command as a linear combination of every state of the plant, u=−Kxu=-Kxu=−Kx, and it is the common skeleton of pole placement, the LQR and, around a moving reference, trajectory tracking. Where a PID looks at one error, state feedback looks at the whole state vector: positions, velocities, angles and rates at once, each with its own gain.
On the lateral axis of a planar drone the state is position, velocity, tilt and tilt rate, x=[x,x˙,θ,θ˙]Tx=[x,\dot x,\theta,\dot\theta]^{\mathsf T}x=[x,x˙,θ,θ˙]T, and the input is the torque. The closed loop becomes x˙=(A−BK)x\dot x=(A-BK)xx˙=(A−BK)x, whose eigenvalues decide how it responds. It is less new than it looks. Unfold the cascade of proportional loops a drone already flies with: the rate loop commands τ=k4(ωref−θ˙)\tau=k_4(\omega_{\text{ref}}-\dot\theta)τ=k4(ωref−θ˙), the attitude loop ωref=k3(θref−θ)\omega_{\text{ref}}=k_3(\theta_{\text{ref}}-\theta)ωref=k3(θref−θ), and so on outward. Substituting gives
K=[k1k2k3k4k2k3k4k3k4k4].K=\begin{bmatrix}k_1k_2k_3k_4 & k_2k_3k_4 & k_3k_4 & k_4\end{bmatrix}.K=[k1k2k3k4k2k3k4k3k4k4].
A cascade is a state feedback with its gains multiplied in order. What modern control adds is a method to choose KKK and a frame that does not need an ordered chain: it works the same with several coupled inputs and no obvious hierarchy, which is where cascades are hard to tune.
It needs the whole state. Some states are measured (an encoder's angle), most are not (a velocity, a wind force), so in practice xxx is an estimate from an observer or a Kalman filter, and the estimate's error enters the command multiplied by KKK (LQG).
It needs the inputs to reach every state (controllability), and how cheaply they reach them is read from the conditioning of the controllability matrix: a direction the motors can push only weakly needs enormous gains.
It has no integrator. Like a proportional controller it leaves a steady offset under a constant push (wind on a drone, a load on a motor). The standard fix is integral augmentation: add the integral of the tracking error as an extra state, x˙I=r−y\dot x_I=r-yx˙I=r−y, and design KKK for the enlarged system, which then rejects constant disturbances as a PI would (integral action).
On a double integrator, state feedback and PD are literally the same controller; the difference appears with more states and more inputs.