Вы находитесь на странице: 1из 31

Introductory Control

Theory
I400/B659: Intelligent robotics
Kris Hauser

Control Theory
The use of feedback to regulate a signal


Controller
Plant
Desired
signal x
d
Signal x
Control input u
Error e = x-x
d
(By convention, x
d
= 0)
x = f(x,u)
What might we be interested in?
Controls engineering
Produce a policy u(x,t), given a description of the
plant, that achieves good performance
Verifying theoretical properties
Convergence, stability, optimality of a given policy
u(x,t)
Agenda
PID control
Feedforward + feedback control

Control is a huge topic, and we wont dive into
much detail

Model-free vs model-based
Two general philosophies:
Model-free: do not require a dynamics model to be provided
Model-based: do use a dynamics model during computation
Model-free methods:
Simpler
Tend to require much more manual tuning to perform well
Model-based methods:
Can achieve good performance (optimal w.r.t. some cost function)
Are more complicated to implement
Require reasonably good models (system-specific knowledge)
Calibration: build a model using measurements before behaving
Adaptive control: learn parameters of the model online from
sensors
PID control
Proportional-Integral-Derivative controller
A workhorse of 1D control systems
Model-free

Proportional term
u(t) = -K
p
x(t)
Negative sign assumes control acts in the same
direction as x

x
t
Gain
Integral term
u(t) = -K
p
x(t) - K
i
I(t)

I(t) =

0
(accumulation of errors)

x
t
Residual steady-state errors driven
asymptotically to 0
Integral gain
Instability
For a 2
nd
order system (momentum), P control
x
t
Divergence
Derivative term
u(t) = -K
p
x(t) K
d
x(t)
x
Derivative gain
Putting it all together
u(t) = -K
p
x(t) - K
i
I(t) - K
d
x(t)
I(t) =

0

Putting it all together
u(t) = -K
p
x(t) - K
i
I(t) - K
d
x(t)
I(t) =

0


Intuition:
K
p
controls the spring stiffness
K
i
controls the learning rate
K
d
controls the damping

Putting it all together
u(t) = -K
p
x(t) - K
i
I(t) - K
d
x(t)
I(t) =

0


Intuition:
K
p
controls the spring stiffness
K
d
controls the amount of damping
K
i
controls the learning rate
Control limits
If u is bounded in range [u
min
,u
max
], need to:
1. Clamp u
2. Bound the magnitude of the I term to prevent overshoot
Parameter tuning

Example: Damped Harmonic
Oscillator
Second order time invariant linear system, PID controller
x(t) = A x(t) + B x(t) + C + D u(x,x,t)

For what starting conditions, gains is this stable and
convergent?

Stability and Convergence
System is stable if errors stay bounded




System is convergent if errors -> 0
Example: Damped Harmonic
Oscillator
x = A x + B x + C + D u(x,x)
PID controller u = -K
p
x K
d
x K
i
I
x = (A-DK
p
) x + (B-DK
d
) x + C - D K
i
I
Assume K
i
=0
Homogenous solution
Instable if A-DK
p
> 0
Natural frequency w
0
= sqrt(DK
p
-A)
Damping ratio z=(DK
d
-B)/2w
0

If z > 1, overdamped
If z < 1, underdamped (oscillates)

Example: Trajectory following
Say a trajectory x
des
(t) has been designed
E.g., a rockets ascent, a steering path for a car, a planes landing
Apply PID control
u(t) = K
p
(x
des
(t)-

x(t)) - K
i
I(t) + K
d
(x
des
(t)-x(t))
I(t) =

0

The designer of x
des
needs to be knowledgeable about the
controllers behavior!
x
des
(t)
x(t)
x(t)
Controller Tuning Workflow
Hypothesize a control policy
Analysis:
Assume a model
Assume disturbances to be handled
Test performance either through mathematical analysis, or
through simulation
Go back and redesign control policy
Mathematical techniques give you more insight to improve
redesign, but require more work
Example

Feedforward control
If we know a model for a system and know how it should
move, why dont we just compute the correct control?
Ex: damped harmonic oscillator
x = A x + B x + C + D u
Calculate a trajectory x(t) leading to x(T)=0 at some point T
Compute its 1
st
and 2
nd
derivatives x(t), x(t)
Solve for u(t) = 1/D*(x(t) - A x(t) + B x(t) + C)
Would be perfect!
Feedforward control
If we know a model for a system and know how it should
move, why dont we just compute the correct control?
Ex: damped harmonic oscillator
x = A x + B x + C + D u
Calculate a trajectory x(t) leading to x(T)=0 at some point T
Compute its 1
st
and 2
nd
derivatives x(t), x(t)
Solve for u(t) = 1/D*(x(t) - A x(t) + B x(t) + C)
Problems
Control limits: trajectory must be planned with knowledge of
control constraints
Disturbances and modeling errors: open loop control leads to
errors not converging to 0
Handling errors: feedforward +
feedback
Idea: combine feedforward control u
ff
with feedback control
u
fb
e.g., u
fb
computed with PID control
Feedback term doesnt have to work as hard (= 0 ideally)
Plant
u
ff
Feedforward
calculation
x(0)
+
u
fb
Feedback
controller
u

x(t)

x
des
Application: Feedforward control
Feedback control: let torques be a
function of the current error between
actual and desired configuration
Problem: heavy arms require strong
torques, requiring a stiff system
Stiff systems become unstable relatively
quickly
Application: Feedforward control
Solution: include feedforward torques
to reduce reliance on feedback
Estimate the torques that would
compensate for gravity and achieve
desired accelerations (inverse
dynamics), send those torques to the
motors
Handling errors: feedforward +
feedback
Idea: combine feedforward control u
ff
with feedback control
u
fb
e.g., u
fb
computed with PID control
Feedback term doesnt have to work as hard (= 0 ideally)
Plant
u
ff
Feedforward
calculation
x(0)
+
u
fb
Feedback
controller
u

x(t)

x
des
Model based
Model free
Model predictive control
(MPC)
Idea: repeatedly compute feedforward control using model of
the dynamics
In other words, rapid replanning
Plant
Feedforward
calculation
u=u
ff
x(t)

x
des
MPC to avoid moving obstacles
Next class: Sphero Lab
You will design a feedback controller for the move command

Вам также может понравиться