Luenberger observers and separation
A position-sensed mass–spring–damper with designed state feedback and a Luenberger observer. Compare true and estimated states, noise and actuator limits.
First, picture it
Only position is measured. Can the observer correct an initially wrong position estimate and infer velocity?
What the model says
A position sensor cannot report velocity directly. The observer runs a copy of the model: x̂′ = Ax̂ + Bu + L(y−C x̂). The term y−C x̂, called the innovation, compares measured position with predicted position. Its correction changes both the position estimate and the velocity estimate. The lab deliberately starts the estimate at the wrong position so that recovery is visible.
x′ = Ax + Bu; ureq = −Kx̂ + Nr; x̂′ = Ax̂ + Buapplied + L(y − Cx̂)m = 1 kg, k = 4 N/m, c = 0.8 N·s/m; x = [position, velocity], y = position + noise. Continuous controller and observer, RK4 at 1 ms, recorded every 20 ms. Observer damping is 0.8; its natural frequency is the chosen ratio times controller ωn. Uniform seeded noise is held for 20 ms. Saturation is included; delays, model mismatch and process noise are not. This is not a sampled digital implementation or a Kalman filter.
A model prediction corrected by a measurement
A position sensor cannot report velocity directly. The observer runs a copy of the model: x̂′ = Ax̂ + Bu + L(y−C x̂). The term y−C x̂, called the innovation, compares measured position with predicted position. Its correction changes both the position estimate and the velocity estimate. The lab deliberately starts the estimate at the wrong position so that recovery is visible.
With an exact model, no noise and the same applied input, subtracting observer from plant gives e′ = (A−LC)e. For A = [[0,1],[-4,-0.8]] and C = [1,0], choose L₁ = 1.6ωo−0.8 and L₂ = ωo²−4−0.8L₁. This gives observer error denominator s²+1.6ωo s+ωo², with damping ratio 0.8. Unlike feedback K, which acts through the physical input, L injects a measurement correction into the internal estimate.
Fast estimation is a tradeoff
For the ideal unsaturated observer-based loop, the combined eigenvalues are those of A−BK and A−LC. This separation principle makes design manageable. It does not say that transient peaks, saturation or noise are harmless. With measurement noise n, error dynamics include −Ln; large observer gains can magnify its effect on velocity estimates and the resulting control force.
First compare recovery with no noise and a deliberately wrong initial estimate. Then reset that initial mismatch and compare observer speed using the same seeded noise. This separates two effects that a single busy plot can hide. Kalman filtering introduces statistical process and measurement assumptions to choose correction gains; choosing a fast Luenberger observer is not the same procedure.
Make it concrete
Pin observer feedback with speed ratio 1. Raise only the ratio to 3. Compare position estimation error, estimated velocity and force during the first second. Then compare true-state feedback.
Open the connected experimentMake a prediction before moving a control.
- PREDICTOnly position is measured. Can the observer correct an initially wrong position estimate and infer velocity?
- CHANGE ONE THINGPin observer feedback with speed ratio 1. Raise only the ratio to 3. Compare position estimation error, estimated velocity and force during the first second. Then compare true-state feedback.
- OBSERVEPin the baseline. Compare the same time and inspect the physical input as well as the output.
- EXPLAINThe innovation y−C x̂ corrects a model prediction. L places the eigenvalues of A−LC; faster error dynamics remove this initial mismatch sooner but can produce a transient peak in estimated velocity. The observer receives the applied, clipped force, not an unavailable requested force. Separation of controller and observer poles assumes a linear, unsaturated exact model.
The innovation y−C x̂ corrects a model prediction. L places the eigenvalues of A−LC; faster error dynamics remove this initial mismatch sooner but can produce a transient peak in estimated velocity. The observer receives the applied, clipped force, not an unavailable requested force. Separation of controller and observer poles assumes a linear, unsaturated exact model.
Check your understanding+
Only position is measured. Can the observer correct an initially wrong position estimate and infer velocity?
The innovation y−C x̂ corrects a model prediction. L places the eigenvalues of A−LC; faster error dynamics remove this initial mismatch sooner but can produce a transient peak in estimated velocity. The observer receives the applied, clipped force, not an unavailable requested force. Separation of controller and observer poles assumes a linear, unsaturated exact model.