Scroll back to top
Apply the input
to the open-loop system
and you get the closed-loop system
Suppose we want to choose
Heads up!
This entire discussion will be based on the assumption that there is exactly one input (i.e., that
However, other similar methods — for example, the method of Tits and Yang (“Globally convergent algorithms for robust pole assignment by state feedback,” IEEE Transactions on Automatic Control, 41:1432-1452, 1996), as implemented by scipy.signal.place_poles in python — can be used when there are multiple inputs. Our result about when eigenvalue placement is possible — i.e., about when a system is “controllable” — also generalizes to systems with multiple inputs, although it becomes harder to prove.
Consider the system
Suppose we define a new state variable
for some invertible matrix
by differentiation. We have called this process “coordinate transformation” — it is exactly the same process we used for diagonalization when establishing our result about asymptotic stability. Plug these two things into our original state-space model and we get
Solve for
Finding a solution
to the original system. We would like to know if these two solutions “behave” the same way. In particular, we would like to know if the eigenvalues of
First, let’s look at the eigenvalues of
Second, let’s look at the eigenvalues of
We can play a trick. Notice that
and so
It is a fact that
for any square matrices
It is another fact that
Applying this other fact, we find
In summary, we have established that
and so the eigenvalues of
to the transformed system and choose
to the original system, i.e., choosing
will result in placing the eigenvalues of
In the previous section, we showed that eigenvalues are invariant to coordinate transformation. The next question is what coordinates are useful for control design. The answer to that question turns out to be something called controllable canonical form.
A system with
where
Notice that
It is a fact that the characteristic equation of this system is given by
It is easy to see that this formula is true for
There are a variety of ways to prove that this same formula is true in general. Applying the general formula to compute the matrix determinant, for example, we would find:
where each matrix
Plug this in, and our result follows. Now, the reason that controllable canonical form is useful is that if we choose the input
for some choice of gains
then the ”
The characteristic equation of this closed-loop system, computed in the same way as for
If you want this characteristic equation to look like
then it’s obvious what gains you should choose
So, if you have a system in controllable canonical form, then it is easy to choose gains that make the characteristic equation of the closed-loop system look like anything you want (i.e., to put the closed-loop eigenvalues anywhere you want). In other words, it is easy to do control design.
We have seen that controllable canonical form is useful. Now we’ll see how to put a system in this form. Suppose we have a system
and we want to choose an invertible matrix
then we can rewrite the system as
where
are in controllable canonical form. The trick is to look at the so-called controllability matrix that is associated with the transformed system:
We will talk more later about the controllability matrix — for now, notice that
You see the pattern here, I’m sure. The result is:
where
is the controllability matrix associated with the original system.
There are three things to note:
As a consequence, you can solve for the matrix
Now, suppose you design a control policy for the transformed system:
Remember, you can do this easily, because the transformed system is in controllable canonical form. We can compute the equivalent control policy, that would be applied to the original system:
In particular, if we choose
then we get the behavior that we want.
Again, we emphasize that this only works if
Apply the input
to the open-loop system
and you get the closed-loop system
Suppose we want to choose
Using the results of the previous sections, we know we can do this as follows:
Compute the characteristic equation that we want:
Compute the characteristic equation that we have:
Compute the controllability matrix of the original system (and check that
Compute the controllability matrix of the transformed system:
where
Compute the gains for the transformed system:
Compute the gains for the original system:
And we’re done!
This process is easy to implement, without any symbolic computation.
Remember, although this method only works for systems with exactly one input (i.e., when
We say that a system is controllable if eigenvalue placement is possible. We have seen eigenvalue placement with Ackermann’s method (for the special case when
Let’s break this statement down.
First, suppose there is only one input, so
Now, suppose there is more than one input, so
If
We can actually say a little more than this. It turns out that if the controllability matrix