Post on 19-Jul-2018
transcript
1
Lecture 4:Basic Concepts in Control
CS 344R/393R: RoboticsBenjamin Kuipers
Controlling a Simple System
• Consider a simple system:
– Scalar variables x and u, not vectors x and u.– Assume x is observable: y = G(x) = x– Assume effect of motor command u:
• The setpoint xset is the desired value.– The controller responds to error: e = x − xset
• The goal is to set u to reach e = 0.
!
˙ x = F(x,u)
!
"F
"u> 0
2
The intuition behind control
• Use action u to push back toward error e = 0– error e depends on state x (via sensors y)
• What does pushing back do?– Depends on the structure of the system– Velocity versus acceleration control
• How much should we push back?– What does the magnitude of u depend on?
Velocity or acceleration control?
• If error reflects x, does u affect x′ or x′′ ?• Velocity control: u → x′ (valve fills tank)
– let x = (x)
• Acceleration control: u → x′′ (rocket)– let x = (x v)T
!
˙ x = ( ˙ x ) = F (x, u) = (u)
!
˙ x =˙ x
˙ v
"
# $ $ %
& ' ' = F (x, u) =
v
u
"
# $ $ %
& ' '
!
˙ v = ˙ ̇ x = u
3
Laws of Motion in Physics• Newton’s Law: F=ma or a=F/m.
• But Aristotle said:– Velocity, not acceleration, is proportional to the
force on a body.• Who is right? Why should we care?
– (We’ll come back to this.)
!
˙ x =˙ x
˙ v
"
# $ %
& ' =
v
F /m
"
# $
%
& '
The Bang-Bang Controller• Push back, against the direction of the error
– with constant action u• Error is e = x - xset
• To prevent chatter around e = 0,
• Household thermostat. Not very subtle.
!
e < 0 " u := on " ˙ x = F (x, on) > 0
e > 0 " u := off " ˙ x = F (x, off ) < 0
!
e < "# $ u := on
e > +# $ u := off
4
Bang-Bang Control in Action
– Optimal for reaching the setpoint– Not very good for staying near it
Proportional Control• Push back, proportional to the error.
– set ub so that• For a linear system, we get exponential
convergence.
• The controller gain k determines howquickly the system responds to error.
!
u = "ke + ub
!
˙ x = F(xset
,ub) = 0
!
x(t) = Ce"# t
+ xset
5
Velocity Control
• You want to drive your car at velocity vset.
• You issue the motor command u = posaccel
• You observe velocity vobs.
• Define a first-order controller:
– k is the controller gain.
!
u = "k (vobs" v
set) + u
b
Proportional Control in Action
– Increasing gain approaches setpoint faster– Can leads to overshoot, and even instability– Steady-state offset
6
Steady-State Offset
• Suppose we have continuing disturbances:
• The P-controller cannot stabilize at e = 0.– Why not?
!
˙ x = F(x,u) + d
Steady-State Offset
• Suppose we have continuing disturbances:
• The P-controller cannot stabilize at e = 0.– if ub is defined so F(xset,ub) = 0– then F(xset,ub) + d ≠ 0, so the system changes
• Must adapt ub to different disturbances d.
!
˙ x = F(x,u) + d
7
Adaptive Control
• Sometimes one controller isn’t enough.• We need controllers at different time scales.
• This can eliminate steady-state offset.– Why?!
u = "kPe + u
b
!
˙ u b
= "kIe where k
I<< k
P
Adaptive Control
• Sometimes one controller isn’t enough.• We need controllers at different time scales.
• This can eliminate steady-state offset.– Because the slower controller adapts ub.!
u = "kPe + u
b
!
˙ u b
= "kIe where k
I<< k
P
8
Integral Control
• The adaptive controller means
• Therefore
• The Proportional-Integral (PI) Controller.
!
˙ u b
= "kIe
!
ub( t) = "k
Ie dt
0
t
# + ub
!
u(t) = "kPe(t) " k
Ie dt
0
t
# + ub
Nonlinear P-control
• Generalize proportional control to
• Nonlinear control laws have advantages– f has vertical asymptote: bounded error e– f has horizontal asymptote: bounded effort u– Possible to converge in finite time.– Nonlinearity allows more kinds of composition.
!
u = " f (e)+ ub where f # M0
+
9
Stopping Controller
• Desired stopping point: x=0.– Current position: x– Distance to obstacle:
• Simple P-controller:
• Finite stopping time for
!
d = | x |+"
!
v = ˙ x = " f (x)
!
f (x) = k | x | sgn(x)
Derivative Control
• Damping friction is a force opposingmotion, proportional to velocity.
• Try to prevent overshoot by dampingcontroller response.
• Estimating a derivative from measurementsis fragile, and amplifies noise.
!
u = "kPe " k
D˙ e
10
Derivative Control in Action
– Damping fights oscillation and overshoot– But it’s vulnerable to noise
Effect of Derivative Control
– Different amounts of damping (without noise)
11
Derivative Control Can Add Noise
– Why?
Derivatives Amplify Noise
– This is a problem if control output (CO)depends on slope (with a high gain).
12
The PID Controller
• A weighted combination of Proportional,Integral, and Derivative terms.
• The PID controller is the workhorse of thecontrol industry. Tuning is non-trivial.– Next lecture includes some tuning methods.
!
u( t) = "kP
e(t) " kI
e dt
0
t
# " kD
˙ e (t)
PID Control in Action
– But, good behavior depends on good tuning!– More on this later.
13
Exploring PI Control Tuning
Habituation• Integral control adapts the bias term ub.• Habituation adapts the setpoint xset.
– It prevents situations where too much controlaction would be dangerous.
• Both adaptations reduce steady-state error.
!
u = "kPe + u
b
!
˙ x set
= +khe where k
h<< k
P
14
Types of Controllers• Feedback control
– Sense error, determine control response.• Feedforward control
– Sense disturbance, predict resulting error,respond to predicted error before it happens.
• Model-predictive control– Plan trajectory to reach goal.– Take first step.– Repeat.
Laws of Motion in Physics• Newton’s Law: F=ma or a=F/m.
• But Aristotle said:– Velocity, not acceleration, is proportional to the
force on a body.• Who is right? Why should we care?!
˙ x =˙ x
˙ v
"
# $ %
& ' =
v
F /m
"
# $
%
& '
15
Who is right? Aristotle!
• Try it! It takes constant force to keep anobject moving at constant velocity.– Ignore brief transients
• Aristotle was a genius to recognize thatthere could be laws of motion, and toformulate a useful and accurate one.
• This law is true because our everyday worldis friction-dominated.
Who is right? Newton!• Newton’s genius was to recognize that the
true laws of motion may be different fromwhat we usually observe on earth.
• For the planets in orbit, without friction,motion continues without force.
• For Aristotle, “force” means Fexternal.• For Newton, “force” means Ftotal.
– On Earth, you must include Ffriction.
16
From Newton back to Aristotle• Ftotal = Fexternal + Ffriction
• Ffriction = −f(v) for some monotonic f.• Thus:
• Velocity v moves quickly to equilibrium:
• Terminal velocity vfinal depends on:– Fext, m, and the friction function f(v).– So Aristotle was right! In a friction-dominated
world.
!
˙ x
˙ v
"
# $ %
& ' =
v
F /m
"
# $
%
& ' =
v1
mFext (
1
mf (v)
"
# $
%
& '
!
˙ v = 1
mFext "
1
mf (v)
For More Information …
• There are lots of good tutorials on the Web• Search on:
– PID control– process control– etc.
• http://www.controlguru.com– a blog about automatic process control