Advanced Control

state observer (Luenberger observer)

A state observer is a piece of software that figures out the hidden inner condition of a machine when you cannot measure all of it directly. Many controllers need to know a robot's full internal state — every joint angle and also how fast each one is turning — but sensors are expensive, heavy, or noisy, so often you only measure some of it, say the angles but not the speeds. The observer fills in the rest. It runs a little copy of the robot's math inside the computer, watches the few real measurements you do have, and continuously refines its guess of everything else until its imagined robot moves just like the real one.

Here is the clever trick at its heart. The observer's internal model predicts what the sensors should read; it then compares that prediction with what the sensors actually read, and the gap between the two — the prediction error — is fed back to nudge the guess in the right direction. If the model thinks the arm should be at one place but the real sensor says it is slightly past that, the observer corrects its estimate of both the position and the unmeasured speed. The Luenberger observer, named after David Luenberger who introduced it in the 1960s, is the classic recipe for choosing the observer gain — how hard to push on that correction — so the estimate's error shrinks to zero quickly without overshooting.

Why does this matter for robots? Because good control usually depends on knowing the velocity of every joint, yet measuring velocity well is hard — raw speed readings tend to be jittery. Instead of buying a velocity sensor for every joint, you measure only positions and let an observer estimate the speeds smoothly. The same idea lets a robot keep working when a sensor fails, lets a drone sense its tilt from limited readings, and lets controllers act as if they could see everything even when they cannot.

A balancing two-wheeled robot measures its tilt angle with a sensor but has no clean way to read how fast it is tipping; a Luenberger observer estimates that tipping speed from the angle alone, and the controller uses both to stay upright.

Measure one thing, estimate the rest — then control as if you could see it all.

An observer assumes the system is observable — that the few signals you do measure actually carry enough information to reconstruct the hidden ones; if they do not, no observer can recover them.

Also called
observerLuenberger observer状态估计器狀態估計器