0:00

So, in the previous lecture, we saw that there was something fishy at play here,

Â where sometimes we can do pole-placement and sometimes we cannot.

Â And what we really have here is, it's a question of the b matrix.

Â Is the b matrix rich enough, so that we can make the system do whatever we want

Â it to do? And remember, that the b matrix, really describes the actuators we

Â have. So, if we're cheap and we don't buy any actuators, I mean there's nothing we

Â can do, of course, we cannot affect the system.

Â So, the choice of b matrix meaning what actuators we buy will matter and whether

Â or not we have enough control authority revolves around the concept of

Â controlability. And that is the topic of this lecture.

Â And in order to sneak up on controlability, I'm going to start with a

Â rather modest example. Let's do a discrete-time system, we have

Â seen mainly continuous times systems but let's start with discrete-time system

Â here starting a time zero at the origin at 0.

Â So, what I would like to do is take this system and in n steps, where n is the

Â dimension of, of my state, I'm going to drive it to a target state,

Â x*. So basically, here's what I want to do, I

Â want to start at the origin. And then in n steps [SOUND] flow around

Â until I get to where I would like to be. And the question one can ask then is, can

Â I do that? Is it possible? Does there exist such a u? Well, let's figure it

Â out. the first thing I do is I pick view at

Â time 0 and x1, it's Ax0+Bu0.

Â 1:42

Well, x0 was equal to 0, so this whole thing is simply equal to B times u0.

Â Well x2, that's A times x1 plus B times u1. Well, x1 is Bu0, right, so the whole

Â thing becomes ABu0+Bu1. x3, well if I plug things in, I get

Â A^2Bu0+ABu1+Bu2. In fact, if I keep going to xn, I get A

Â n-1 Bu0, blah, blah, blah, blah, right?

Â So, we seem to have a formula, really, for

Â for where we end up. And, in fact, what we want to do, of

Â course, is make xn equal to this desired point.

Â And what I can do is I can rewrite this thing, this equation,

Â which is really an equation in the u's in the following form.

Â I have u n-1 times B. Well, that's this term.

Â And then, all the way down to u0B an-1, which is this term right here.

Â So, what I'm doing is I'm just saying, this is what I would like to solve with

Â respect to my u's. Well, when can I do that? Well, first of

Â all, this matrix here, the B AB all the way to A n-1 B,

Â it's a fancy-looking matrix and, in fact, it's an important-looking matrix.

Â I'm going to call this matrix, gamma. And gamma is an n by m times n matrix,

Â where n is the dimension of the state and m is the dimension of the input.

Â Well, this solution, or sorry, this equation x* is gamma times this U u

Â vector has a solution in terms of u's, if and only if the rank of gamma is equal to

Â n. And rank is the number of linearly

Â independent rows or columns in gamma. Well, so that's what we want to do,

Â right? We want to somehow have a gamma that's rich enough.

Â And it turns out that this thing generalizes, this way of thinking about

Â the control problem, generalizes quite nicely to continuous time systems as

Â well. So, if I have a continuous time system,

Â x dot is Ax+Bu, x in Rn. Well, first of all, this system is

Â completely controllable, which we're going to call CC.

Â If it is possible to go from any initial state to any final state,

Â so, meaning, if I start here and I want to end up here,

Â there is a u that takes me between these 2 points,

Â for any such points, that's what it means for the system to be

Â completely controllable. And now, I'm going to define gamma again,

Â which is this B AB all the way to A n-1 B.

Â This is known as the controllability matrix.

Â And here, ladies and gentlemen, is the first theorem of this entire course.

Â Controllability theorem or complete controllability theorem 1.

Â The system is completely controllable. If and only if the rank,

Â which means the number of linearly independent columns of gamma or rows,

Â it's the same. if and only if the rank of gamma is equal

Â to n, where n is the dimension of the system.

Â So, this is the rank test as its known and its a way of checking controllability

Â of a linear time-invariance system. So, let's see what happens.

Â Here I have two different systems, 2 0 1 1 x plus 1 1 u is the first one and 0 1 0

Â 0 and 0 1 u, fine, there should be an x here, by the

Â way. so the lower one is the point mass the

Â upper one was one where we actually saw that pole-placement was not possible.

Â In fact, pole-placement is possible for the lower system and not possible for the

Â upper system. This is, in fact, the system used when we

Â couldn't do it. Well, let's look at them. First of all,

Â this top system is a two-dimensional system,

Â n=2. And gamma, in this case, is B AB, all the

Â way A n-1 B. But n-1=1 so gamma is simply B times AB.

Â Well, the lower system also istwo- dimensional.

Â Gamma is equal B times AB. Well, let's compute AB then.

Â It turns out to be equal to 2 2 for the upper system and if I apply this into

Â gamma, I get B here and AB here. So, this is 1, 1 the first column and 2,

Â 2 the second column. And if I multiply the first column by

Â two, I get the second column. So, this thing does not have two linearly

Â independent columns. In fact, it has one linearly independent

Â column. So, the rank of gamma is equal to one,

Â which means, it's not completely controllable.

Â Well, looking at the lower system. Well, this is AB, this is my gamma, 0 1 1

Â 0. There is no way I can multiply this

Â column by anything to get this column. So, the lower gamma has rank equal to 2

Â because that's two linearly independant columns.

Â So, it is completely controlable. So here, pole-placement not possible,

Â not completely controllable. Here, pole-placement possible,

Â not completely controllable. It seems like we're ready for theorem

Â number 2. So, if I have u as -Kx, x dot then become

Â A-BKx. This is the close loop dynamics.

Â Then, controllability theorem number 2 says that pole-placement to arbitrary

Â eigenvalues is possible if and only if the system is completely controllable.

Â So, what this tells me is that we need to check controllability.

Â If we don't have complete controllability, chances are we're not

Â going to be able to control them. So, this is the obstruction to

Â pole-placement. And, in fact let's let's see how we would

Â actually compute something like this for real.

Â So, let's say that I have again, my point, my, my system.

Â Well, in MatLab, luckily for us, we don't have to compute things at all.

Â We just say, here is the controllability matrix.

Â So, gamma or g is controllability of AB, we can check the rank.

Â In this case, we get the answer out, 2. So, the rank of g is 2.

Â n is 2, in this case, so we have indeed, a completely

Â controllable system, which means, again I forgot an x there, I

Â apologize, which means that we can place the poles

Â wherever we want and we all, it also means that it's possible to go between

Â any two points. So, let's say that I start here and I

Â want to go to x*. Is it possible to go like this? Well, I

Â know it's possible to go from x0 to x* but it turns out that just because you

Â can go between any two points, doesn't mean you can follow any trajectory

Â because this system, the point mass, well, x1 here is

Â position, right? And x2 is velocity. Well, if I'm here, that means I have a

Â positive velocity and a positive possession.

Â And now, what I'm going to do if I start moving like this, I'm going backwards,

Â meaning, x1 is reduced with a positive velocity and there is no way I can go

Â backwards with a positive velocity, so this is not possible.

Â So, what do we need to do? Well, here I have a positive velocity so I'm going to

Â keep growing but I can reduce the velocity.

Â And here, I have zero velocity, right? Down here.

Â And that negative velocity, I start going backwards.

Â And [SOUND] I'm going backwards. And then, I can start going forward again

Â to get to x*. So, this is how you would have to go from

Â x0 to x*. So, you can't follow arbitrary

Â trajectories just because the system is completely controllable,

Â but you know that you can go between arbitrary points. So, that gives us the

Â tools that we really need to understand when we can control the system and that

Â tool is controllability.

Â