Tip:
Highlight text to annotate it
X
So, last time we saw that the PI regulator, or its slightly more elaborate
brother, the PID regulator, was enough to make the cruise controller do what it
should do. Which is, achieve stability, tracking and parameter robustness. Today I
want to talk a little bit more about PID control.
And, the reason for that is, this regulator is such an important regulator
or controller that's out there in virtually every industry you can think of,
there is a PID regulator going on underneath the hood in almost all
controllers. And, there are really three knobs you can tweak here. One is KP, which
is the proportional gain. The other's kI which is the integral gain and then kD
which is the derivative gain. And I want to talk a little bit about what are the
effects of these gains? Well first of all P As we saw. It's a contributor to
stability. In the sense that, it makes the system, not guaranteed. But it's helping
out to make the system stable. And it's, it's making it responsive in the sense
that. You respond if someone, if you click, or press 70 miles per hour on your
cruise controller. It drives the system towards that value. I'm calling it medium
rate responsiveness. Because it's not super fast. And the speed. In fact, the
rate of responsiveness is a function of how big kp is. But as you saw, it wasn't
typically enough to achieve tracking. But the I component is really. Good for
tracking and in fact if your system is stable than having an eye component is
enough to assure tracking in almost all cases. It's also extremely effective at
rejecting disturbances so that integral part is a very effective Part to have in
your controller. Now it's much slower in the sense that you have to accumulate over
time errors to respond to them because it's an integral. So it, it re, responds
slower and there is a very there is a little bit of a warning I need to make
there, by making k i large. You may very well induce oscillation so this is not, oh
I'm going to pick all of the Them. A million and go home. Yo u have to be a
little careful in how you actually select, select these gates. Now the d part, well,
since it's not responding to actual values, their values but the change is in
their values, it's typically faster responsiveness, so something is about to
happen. Well, the rate is changing so the, the derivative part kicks in typically
faster. now there is a little caveat to this. And that's the derivative is
sensitive to noise. Because if you have a signal that's noisy then if you compute
the derivative of that signal you're going to get rather aggressive derivatives that
don't necessarily correspond to what the non noisy signal would be. So you have to
be a little careful with the d part. So making KD too large is typically an
invitation to disaster because you're, you're over reacting to, to noise. So, the
last thing I want to point out though is when you put this together you get PID
which is already by far the most used low level controller. Low level means whenever
you have a DC motor somewhere and you want to make it do something Somewhere there is
a PID leak. Whenever you have a chemical processing plant for getting the right
concentrations in your chemicals, somewhere there is a PID regulator. It's
almost everywhere there, or in almost all control applications, PID shows up under
the hood in some form or another. But, I do want to point out, that this is not a
one-size-fits all. We can't guarantee stability with a PID regulator. Sometimes
it's not enough. In fact, when we go to complicated Robotic systems, the PID
regulator will typically not be enough by itself. So we need to do a lot of more
thinking and modeling to, to use it and at this point we actually don't really know
how to pick these gains. However, I want to point out that this is a very, very
useful type of controller. And since it is a feedback lob because it depends upon the
error it actually fights uncertainty model parameters in a remarkable way and the
feedback has this remarkable ability to overcome the fact that we don't know
gamma, we don't know c, we don't know m. But still, we seem to do well when we
design controllers for a wide range of, of these parameters. So having said that,
let's hook it up to our car and in fact we had a PID regulator for velocity control
on the urban challenge vehicle, Sting 1 as it's called. We had this model that we've
already seen, and I pick It's completely random and arbitrary numbers here for the
parameters. I even put r equals to 1, so we're going to go 1 mile per hour. let's
say 1 meter per second. it really doesn't matter These are arbitrary values. Just so
you'll see what's going on. So, if we start with our friend The p regulator so
we have kp = 1 here and all the other gains are 0 then well, we don't actually
make it up to 1 we only make it 2 - 0.1. This we had already seen. So the p part by
itself was not enough to, to both be stable and achieve tracking. Well, that's
Ok in the i part. It's cruise-controller again kp is 1, kI is 1 and now we are
having a very nice so called step response which means we are responding, we are
waking up and then we are hitting it with a step, in this case the step of height 1
or 70 if its 70 miles per hour. so then this thing makes it's way up and it stays
up there perfect. So this is actually a good and successful design right here. Now
,if this is so good why don't we make ki higher to make it even better? Well if I
To crank up KI to 10. Then, all of a sudden, my system starts oscillating. So
this is an example of where the integral part may actually cause oscillations.
Which is, we should at least be aware of this fact. And be a little careful when we
tweak our parameters. And if we see oscillations That is a. Clear indication
that the integral part is typically a little bit too large. What about the d
part? Well, let's add the d part. In this case, it actually doesn't matter too much.
What you see here is that I had a small d part. I'm a little bit paranoid when it
comes to large kd terms because they are a little bit Noise sensitive.
But what you're seeing here is that you're getting a faster initial response because
of the introduction of a D part, but then, we actually get almost a slower response
towards the end so the D part is there to drive it well up in the beginning, but
then So were stand in this particular application, having a d gain that's not
ser, it's not even clear if that was, was useful. But this is some of the thinking
that goes into tweeking PID regulators. So what we are going to do next time, is
we're going to go now, from this rather abstract, integrals and derivatives, to
something that we can actually implement. And we're going to see how these PID gains
show up when we control a the altitude of a hovering quad regulator..