observability
Observability asks the mirror-image question to controllability: from only the measurements you can actually take, can you work out everything going on inside the system? Many important inner conditions are hidden — you might measure a wheel's position but not its slip, or a tank's outlet flow but not the temperature deep inside. A system is observable if, by watching its outputs over a stretch of time, you can deduce the full hidden state from what you see. If some inner condition leaves no fingerprint at all on any measurement, that part is unobservable and you are flying blind about it.
Think of a doctor who cannot see inside a patient but can take a pulse, temperature, and blood pressure over several minutes. If those few readings, watched as they rise and fall, are enough to pin down what the body is doing internally, the situation is observable. If two completely different internal conditions would produce the exact same string of readings, the doctor can never tell them apart from measurements alone — that is unobservability. The same logic governs machines: a robot whose sensors happen to miss a swaying flexible link, in a way that never shows up in the readings, cannot know that the link is swaying.
Observability matters because most controllers need to know the state in order to act, yet sensors rarely measure everything directly. When the state is hidden but observable, an estimator — a piece of software such as a Kalman filter — reconstructs it from the available outputs and the system model, and the controller acts on that estimate. If the system is not observable, no estimator can recover the missing part, so the fix is more or better sensors, not better math. Like controllability, observability is checked from the model before the hardware is finalized.
A self-balancing robot with only a wheel encoder may be unable to tell tilting forward from rolling forward; add a tilt sensor and the lean angle becomes observable, letting the controller correct it.
If outputs reveal every hidden state, the system is observable; if a state hides perfectly, it is not.
Observability is the output-side twin of controllability: one is about steering hidden states, the other about seeing them. Together they tell you whether a state-based controller is even possible.