Hello! Welcome to the next lesson in our course on multivariable control.
In the previous module, we learned how to design powerful state feedback controllers using techniques like pole placement and decoupling. We created control laws of the form that rely on having access to the full state vector, .
However, in most practical systems, including your rotary inverted pendulum project, it's often impossible or too expensive to measure every single state variable. For example, you might have sensors for the pendulum's angle and the motor arm's angle, but not for their angular velocities. This presents a major problem: how can we implement a full-state feedback law if we don't know the full state?
Today's lesson answers that question. We will explore the principle of the Luenberger observer, a dynamic system that provides an estimate of the unmeasurable system states, which we can then use in our feedback controller.
The Problem: Unmeasurable States
First, let's get a clear picture of the problem we're solving. The controllers we've designed require the full state vector at every instant in time. What happens when we can't measure it?
State Observers (Dr. Jake Abbott, University of Utah)
Dr. Jake Abbott from the University of Utah explains why the assumption of full state knowledge is often unrealistic and introduces the core motivation for using a state observer.
Watch the beginning of this video from 00:03 to 01:57. Focus on how the need for an observer arises directly from the structure of the state feedback control law we've been studying.
A First Attempt: The Open-Loop Observer
A natural first thought might be to build a software model of our system. Since we know the system matrices () and the control input we are sending, we could run a simulation in parallel with the real system and use the simulation's state as our estimate.
This is called an open-loop observer or a real-time simulator. Its dynamics would simply be:
Here, (read "x-hat") represents our estimate of the true state .
While simple, this approach has significant flaws.
State Observers (Dr. Jake Abbott, University of Utah)
Let's examine why this open-loop approach is generally not robust enough for real-world applications. Dr. Abbott explains its two critical weaknesses.
Continue watching from 01:57 to 08:28. Pay close attention to the two main reasons this approach fails: Its inability to correct for errors in the initial state guess ((\hat{x}(0) eq x(0))). The problem of instability: if the plant itself is unstable (has an unstable A matrix), the open-loop observer will also be unstable, making it useless.
As the video highlights, the open-loop observer is "stupid" because it ignores a valuable piece of information we have access to: the actual measured output of the plant, .
The Solution: The Luenberger Observer
The key innovation of the Luenberger observer is to use the discrepancy between the plant's actual output () and the observer's estimated output () to continuously correct the state estimate. This creates a closed-loop observer.
The structure is as follows:
- The observer generates an estimated output: .
- It compares this to the measured output from the plant, , to form an output error: .
- This error is multiplied by an observer gain matrix, , and fed back as a correction term into the observer's dynamics.
The governing equation for the Luenberger observer is:
Substituting , we get:
The term is the correction mechanism. If the estimated output matches the real output, this term is zero. If they differ, this term nudges the dynamics of to reduce the error. The observer gain determines how strongly the observer reacts to this output error.
The block diagram below provides a great visual representation of this structure.

The Core Principle: Error Dynamics
This structure is intuitive, but does it actually work? We need to prove that our state estimate will converge to the true state . To do this, we analyze the dynamics of the estimation error, which we define as . Our goal is to show that .
The rate of change of the error is . Let's substitute the equations for the plant and the observer:
Assuming an ideal plant with no disturbances and :
The terms cancel out:
Factoring out the state terms and the error :
This is the fundamental result for the Luenberger observer. The estimation error has its own dynamics, completely independent of the control input . For the error to decay to zero from any initial condition, this linear system must be stable. This means all eigenvalues of the matrix must be in the left half of the complex plane.
This brings us to the crucial link with a concept from Module 2: observability. It turns out that we can place the eigenvalues of anywhere we want by choosing the observer gain if and only if the system pair is observable. This makes perfect sense: if a state is unobservable, it has no effect on the output , so the output error contains no information about that state's error, and the observer can't correct it.
Let's watch the final segment of the video to see this derivation and conclusion in action.
State Observers (Dr. Jake Abbott, University of Utah)
The derivation of the error dynamics is the key to understanding how an observer works. Dr. Abbott now walks us through this derivation, revealing the elegant principle that governs the observer's performance.
Watch from 08:28 to 17:32. This is the most important part of the lesson. Focus on: The structure of the closed-loop observer equation. The step-by-step derivation of the error dynamics equation: \dot{e} = (A - LC)e. The final conclusion: for the estimation error to go to zero, the observer's dynamics, governed by (A - LC), must be stable. This is possible if the system is observable.
Test your understanding!
Imagine you have a system that is unobservable. You design a Luenberger observer for it. What will happen to the estimation error as time goes on?
Show answer
Since the system is unobservable, there are certain modes (combinations of states) that do not affect the output . Because the observer's correction mechanism relies entirely on the output error , it has no information about these unobservable modes.
Therefore, the observer cannot correct errors in these modes. While the error in the observable parts of the state might decay to zero (if you choose properly), the error in the unobservable parts will evolve according to the system's natural dynamics. If these unobservable modes are unstable, the estimation error will grow to infinity. If they are stable, the error will persist or decay according to the system's original, unchangeable eigenvalues. You cannot force the error to zero for the unobservable states.
Conclusion
In this lesson, we have established the fundamental principle of the Luenberger observer as a tool for estimating unmeasured system states.
Key Takeaways:
- State feedback controllers require full state information, which is often unavailable in practice.
- A simple open-loop simulation of the system is not a robust estimator because it cannot correct for errors and fails if the system is unstable.
- The Luenberger observer is a closed-loop estimator that uses the output error () as a correction term.
- The observer's governing equation is , where is the observer gain matrix.
- The estimation error dynamics are given by .
- For the state estimate to converge to the true state, the error dynamics must be stable. This is achieved by choosing such that all eigenvalues of are stable.
- The ability to arbitrarily place these error-dynamics poles depends on the system's observability.
Preview of the Next Lesson:
We've learned why the observer works and that we need to choose the gain matrix to make stable. But how should we choose ? What are "good" locations for the observer's poles? In the next lesson, we will answer these questions by learning how to select observer pole locations to achieve a desired estimation speed and then calculate the observer gain matrix to place them there.