0:00

So now we have seen that controls deals with dynamical systems in generality. And

robotics is one facet of this. Now what we haven't done is actually try to make any

sense of what this means in any precise or mathematical was. And one thing that we're

going to need in order to do this is. Come up with, with models. And models are gong

to be an approximation, and an abstraction of what the actual system is doing. And

the control design is going to be made, rather done, relative to that model and

then deployed on the real system. But, without models we can't really do much in

terms of control design. We would just be stabbing in the dark without knowing

really what, what's going on. So, models are actually Key when it comes to

designing controllers, because if you remember that the question is really how

in control theory, is how do we pick the input signal u. So u again, takes the

reference, compares it to the output, the measurement and comes up with a

corresponding Course correction to what the system is doing. And the objectives

when you pick this kind of control input, well, there are a number of different

kinds of, of objectives. The first one is always stability. Stability, loosely

speaking, means that the system doesn't blow up. So, if you decide a controller

that makes the system go unstable, then no other objectives matter cause you have

failed. If your robots drive into walls or your aerial robots fall to the ground,

basically control stability is always control objective number one. Now, once

you have that, the system doesn't blow up. You may want it to do something more than

not blow up, and something that we're going to deal with is tracking a lot.

Which means, here is a reference either of value. 14, how do we make our system do 14

or here is a path how do I make my robot follow this path or how do I make my

autonomous self driving car follow a road. So tracking reference signals is another

kind of objective. assert important type of objective is robustness in the sense

that. ,, . Since we are dealing with models when we're doing our design. And

models are never going to be perfect. We can't overcommit to a particular model.

And we can't have our controller be too highly dependent on what the particular

parameters in the model. R, model r. So, what we need to do is to design

controllers that are somewhat immune to variations across parameters in the model,

for instance. So this is very important. I'm calling it robustness. a companion to

robustness, in fact one can ague that it's an aspect of robustness. It's disturbance

rejection, because, at the end of the day. We are going to be acting on measurements.

And sensors have measurement noise. things always happen if you're flying a in the

air, all of a sudden you get a wind gust. Now that's a disturbance. if you're

driving a robot, all of a sudden you're going from Linoleum floored carpet, now

the friction changed. So all of a sudden you have these disturbances that enter

into the system and your controllers have to be able to overcome them. at least,

reasonable disturbances for the, the controllers to be To be effective. Now

once you have that we can wrap other questions around it like optimality, which

is not only how do we do something but how do we do it in the best possible way. And

best can mean many different things, it could mean how do I drive from point A to

point B as quickly as possible, Possible or as using as little fuel as possible or

while staying as centered into the middle of the road as possible. So optimality can

mean different things and this is typically something we can do on top of

all these other things and in other to do any of this we really need a model to, to

be a. Effective. So effective controlled strategies rely on

predictive models. Because without them, we have no way of knowing what our control

actions are, are actually going to do. So, what do these models look like? Let's

start in discrete time. this means that, what's happening is that, that Distinct

time instances, thi ngs happen. In discrete time, what we have typically,

is that the state of the system, remember that x is the state. So this is at time

instance, k plus 1. Well, it's some function of what the state was like,

yesterday, the time, k, and, what they did yesterday. So, the position of the robot,

position of the robot tomorrow, is a function of where the robot is today, and

what I did today. And then, f, somehow tells me how to go from today's state and

controlling to tomorrow's state. This is known as a difference equation because it

tells you the difference between different values across, different time instances.

So, that's in, in discrete time. and here's an example of this. This is the

world's simplest discrete time system. It's a clock, or a calendar. This is the

time today. Now I'm adding one second. And this is the time one second later. So the

time right now plus 1 second is the time 1 second later. This is clearly a completely

trivial discreet time system, but it is a difference equation. It's a clock, so if

you plot this we see that here is, this is the 8, which is what time it is As a

function of time. So it's silly. But at 1 o' clock, the state is one. At 2 o' clock,

the state is two, and so forth. And you get this thing with slope one. So, this

would be the world's simplest model. There are no control signals or anything in

there. But it least it is a dynamic discrete time model that describes. How a

clock would work. Now the problem we have with this though is that the Laws of

Physics are all in continuous time. And when we're controlling robots we are going

to have to deal with the Laws of Physics. Newton is going to tell us that the force

is equal to the mass times acceleration. Or, if we're doing circuits, Kirchoff's

Laws is going to relate various properties to capacitances and resistances in the, in

the, in the circuit. So, we're going to have to deal with things in continuous

time, and in continuous time, there is no notion of next. But we have something

almost be tter, and that's the notion of a derivative, which is, it's not next, but

it tells us How is the time change? The change with respect to time. So in

continuous time, we don't have difference equations. What we have are these things

called differential equations. And right here you see that the derivative of the

state with respect to time. Is some function of x and u. So this not telling

me what the next value it is. It's telling me, what's the change? Instantaneous

change. And here, it's the same thing. But now I'm written, I've written x. instead

of dx, dt. and time derivatives, a lot of times, is written with a dot. And I'm

going to use that in this. Class and this actually traces back to the, the slight

controversy between Newton and Leibniz. Leibniz, so in 1684, Newton said, oh I

have this idea that I call it differential, and Leibniz at the same time

had the same idea. Well, this is Leibniz's notation and this is Newton's notation,

and we're going to use the dot for time derivatives here. The point is that these

are both the same equations and they are differential equations, because They are

relating changes to the values of the states. so if you go back to our clock,

what would the differential equation of a clock look like? Well, it would be very,

very simple it would say that the, the change, the rate of change of the time is

one. Which basically means The clock changes a second every second. That's what

it means. So when I drew this picture of the discrete time clock. Or, I drew this

line diagonally across it. What I was really doing was describing this. So this

is the continuous time clock. x dot is equal to 1 And.

We are going to need, almost always, continuous time. Models for, for our

systems. And next couple of lectures, we're going to start developing models of

particular systems. But, before we do this, I want to say a few words about how

to go from continuous time to discrete time. Because our models are going to be

continuous time differential equations. But th en, when we're putting this on a

robot, we're going to put it on a computer. The computer runs in discrete

time, so somehow we need to map continuous time models onto discrete time models. So

now if I say that x at time k, well it's x at time k times delta t, where delta t is

some sample time. So we've sampled k measurements. Well if I, use this. What is

x at time K plus 1 which is at the x.k plus first sample time. Well, I need to

relate this thing somehow to the differential equation. So how do I do

this? Well, this is not always easy to do exactly but what you can note is that.

This is known as a tailor approximation. So x at time k times delta t plus a little

delta t which is exactly the next state. Well it's roughly what it was last time

times the length of the time interval, delta t times the derivative. So this is a

an approximation but the cool thing here is that this x at time k plus delta t,

well that's, xk. So these things are the same. x dot at time k equals delta t, well

that's f. So this are the same things, and then I just have to multiply my delta t

there. So this is a way of getting a discrete time model from the continuous

time model. And, this is how we're going to have to take the things we do in

continuous time, and map it onto the actual Implementations of computers that

ultimately run in discrete time.