



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
The problem of placing closed loop poles in a system when only output measurements are available. The solution involves constructing a state estimator, or state observer, to estimate the entire state based on the available output measurements. How to design the state observer and how to choose the observer gain matrix l to ensure the estimation error goes to zero. The document also discusses the connection between observability and controllability in the context of state observer design.
Typology: Study notes
1 / 6
This page cannot be seen from the preview
Don't miss anything!




Reading: FPE, Section 7.7, 7.7.1, 7.7.
Consider again the plant
x˙ = Ax + Bu y = Cx.
We have seen that if this realization is controllable, we can arbitrarily place the closed loop poles via state feedback of the form u = −Kx + r. However, there is one problem with this: it assumes that we have access to the entire state vector x. This is typically not the case in practice, since we only have access to the output y, which represents sensor measurements of only a few of the states. Measuring all of the states via sensors is usually not possible, since sensors can be expensive, and some states simply cannot be measured (for example, the state might represent the temperature inside an extremely hot reactor, where it is not possible to place a sensor without damaging it). How can we place the closed loop poles if we do not have access to the entire state?
The commonly used method to get around this problem is to construct an estimator for the state based on the output y. Specifically, the output measures some of the state variables, which are affected by the states that we do not measure. So by examining how the measured states change with time, we can potentially determine the values of the unmeasured states as well. We will do this by constructing a state observer (also called a state estimator). We will then use the state estimate provided by the observer to control the system. This is called observer feedback and the feedback loop will look like this:
Note that we are allowing the observer to have access to the input u since we are assuming that u is ours to choose, and therefore known.
To see how we can obtain an estimate of the entire state, suppose that we construct a new system with state z that mimics the behavior of the plant:
z˙ = Az + Bu.
If we initialize this system with z(0) = x(0) and we apply the same input u to this system and the plant, we would have z(t) = x(t) for all time. Thus, we would have a perfect estimate of the state for all time, and we could use the state feedback control u = −Kz, where K is the control gain required to place the poles at desired locations. In summary, if we knew the initial state x(0) of the system, we could technically obtain an estimate of the state at any time. However, there are some problems with this:
In order to fix these shortcomings, we will modify the observer equation as follows:
z˙ = Az + Bu + L(y − Cz).
In this modified observer, the role of the corrective term L(y − Cz) is to utilize the measurements of the state vector in order to help the observer do a good job of tracking the state. Specifically, since y = Cx, the term y − Cz represents the error between the measured states and the estimates of those states. If z(t) = x(t) (i.e., the state observer is perfectly synchronized with the state), then the term y − Cz will be zero. If the state estimate is different from the actual state, however, the hope is that the term y − Cz will also be nonzero, and help to reduce the estimation error to zero. The gain matrix L is used to ensure that this will happen.
To see how to choose L, let us examine the estimation error defined as e = x − z. The evolution of the estimation error is given by
e˙ = ˙x − z˙ = Ax + Bu − Az − Bu − L(y − Cz) = A(x − z) − L(Cx − Cz) = Ae − LCe = (A − LC)e.
Taking Laplace transforms, we get
sE(s) − e(0) = (A − LC)E(s) ⇔ E(s) = (sI − (A − LC))−^1 e(0).
The right hand side of the above equation is simply a matrix of transfer functions, each of which has determinant given by det(sI − (A − LC)) (i.e., the poles are the eigenvalues of A − LC). In order for the error to go to zero regardless of the initial estimation error, we want all of the poles to be in the OLHP. This means that we have to choose the matrix L so that the eigenvalues of A − LC are all in the OLHP.
To determine conditions on A and C which will allow us to arbitrarily place the eigenvalues of A − LC, let us make a connection to controllability. Recall that if the pair (A, B) is controllable, then it is possible to place the eigenvalues of A − BK arbitrarily via a choice of matrix K. For the observer, we are dealing with the matrix A − LC; this is different from A − BK because the gain matrix L pre-multiplies the matrix C, whereas the gain matrix K post-multiplies the matrix B. However, note that the eigenvalues of a matrix are the same as the eigenvalues of the transpose of the matrix. This means that the eigenvalues of A − LC
Example. Is the system ˙x =
(^) x +
(^) u, y =
x observable?
Solution.
Notes:
Once the eigenvalues of A − LC are placed at desired locations in the OLHP, the estimation error e(t) will asymptotically go to zero, and thus the estimated state z(t) will asymptotically approach x(t):
The speed at which the estimated state catches up to the actual state is given by the eigenvalues of A − LC: the further into the left half plane these eigenvalues are, the faster the estimate will catch up to the actual state. This can be seen from the expression for the error E(s) we calculated earlier: the poles of the transfer functions governing the dynamics of e(t) are given by the eigenvalues of A − LC, and we have seen from the first part of the course that poles that are further in the OLHP cause the transients to die out faster. How far depends on where we want the state feedback poles to lie, because the faster the estimation error goes to zero, the better the estimate of x that we are using in our feedback, and the better our controller works. A general rule of thumb is as follows:
The eigenvalues of A − LC should be placed about five times further in the OLHP than the eigenvalues of A − BK.
Once the observer is constructed, the observer feedback input to the system is given by
u = −Kz + r ,
where K is the same gain matrix that we would use if we had access to the actual system state (i.e., if we were using state feedback u = −Kx + r).
Note: There are multiple ways to find L to place the eigenvalues of A − LC. One way is to consider this as a controllability problem, and find LT^ to place the eigenvalues of AT^ − CT^ LT^ by using the controllability techniques from the last section. Another way is to directly work with the given matrices and their eigenvalues, as we will see in the following example.
Example. Consider the system ˙x =
x +
u, y =
x. We would like to place closed
loop poles at s = − 1 , −2. Design an observer to estimate the state, and use observer feedback to achieve this goal.