lecture 6 – outer loop - stanford universitym m 2 1 2 2 1 1, ( ) ( ) ( ) on-line computations: 1....
TRANSCRIPT
EE392m - Spring 2005Gorinevsky
Control Engineering 6-1
Lecture 6 – Outer Loop
• Setpoint profile generation • Gain scheduling • Feedforward and 2DOF design • System inversion problem• Feedforward for simple models
– Zero order, first order, second order, oscillatory (input shaping)
• Iterative update of feedforward – Run-to-run, cascade loop
EE392m - Spring 2005Gorinevsky
Control Engineering 6-2
Setpoint profile generation • Setpoint profile generation = path/trajectory planning • Changing setpoint acts as a disturbance for the feedback loop. • The closed-loop output follows the command accurately
within the loop bandwidth • A practical approach: choose the setpoint command (path) as
a smooth function that has no/little high-frequency components.
• The smooth function can be a spline function etc
cascasde loop
Plant
Feedback controller
Commanded output or setpoint
-
yd(t)
EE392m - Spring 2005Gorinevsky
Control Engineering 6-3
Setpoint profile
• Real-time replay of a pre-computed reference trajectory yd(t) or feedforward v(t)
• Reproduce a nonlinear function yd(t) in a control system
Computed profiledata arrays Y ,Θ yd(t)t
jj
jj
jj
jjd
tY
tYty
θθθ
θθθ
−−
+−−
=+
++
+
11
1
1)(
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=Θ
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
==
=
nndn
d
d
yY
yYyY
Y
θ
θθ
θ
θθ
MM2
1
22
11
,
)(
)()(
On-line computations: 1. Find j, such that 2. Compute linear interpolation
1+≤≤ jj t θθ
t
y
jθ
jY
EE392m - Spring 2005Gorinevsky
Control Engineering 6-4
Linear interpolation vs. table look-up• Linear interpolation is more accurate than a table look-up• Requires less data storage• At the expense of simple computation
EE392m - Spring 2005Gorinevsky
Control Engineering 6-5
Approximation• Interpolation:
– compute function that will provide given values in the nodes
• Approximation– compute function that closely corresponds to given data, possibly
with some error– might provide better accuracy throughout
jθjY
t
y
jθ
jY
EE392m - Spring 2005Gorinevsky
Control Engineering 6-6
B-spline interpolation
• 1st-order– look-up table, nearest neighbor
• 2nd-order – linear interpolation
• n-th order:– Piece-wise n-th order polynomials, continuous n-2 derivatives– Is zero outside a local support interval– The support interval extends to n nearest neighbors
∑=j
jjd tBYty )()(
EE392m - Spring 2005Gorinevsky
Control Engineering 6-7
B-splines• Accurate interpolation of smooth
functions with relatively few nodes• For 1-D function the gain from using
high-order B-splines is often not worth the added complexity
• Introduced and developed in CAD for 2-D and 3-D curve and surface data
• Are used for defining multidimensional nonlinear maps
• All you need to know that B-splinesare useful. Actually using them would require learning available software.
EE392m - Spring 2005Gorinevsky
Control Engineering 6-8
)(xk• Control design requires
• The gain k is scheduledon x
Gain Scheduling • Simple example
))(()()(
dyyxkuuxgxfy
−−=+=
Plant
Controller
yyd
u
Example: varying process gain
Gain Schedule
EE392m - Spring 2005Gorinevsky
Control Engineering 6-9
Gain scheduling
• Single out several regimes - model linearization or experiments
• Design linear controllers for these regimes
• Approximate controller dependence on the regime parameters
Nonlinear system
∑ Θ=Θj
jjYY )()( ϕ
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
)vec()vec()vec()vec(
DCBA
Y
Linear interpolation:
EE392m - Spring 2005Gorinevsky
Control Engineering 6-10
Gain scheduling for aircraft• Flight control• Main trim condition
parameters are used for scheduling
• Shown– Approximation nodes – Evaluation points
• Key assumption– Altitude and Mach are
changing much slower than time constant of the flight control loop
EE392m - Spring 2005Gorinevsky
Control Engineering 6-11
Feedforward
• Main premise of the feedforward control: a model of the plant is known
• Model-based design of feedback control - the same premise
• The difference: feedback control is less sensitive to modeling error
• Common use of the feedforward: cascade with feedback
Plant
Feedback controller
PlantFeedforward controller
– this Lecture 6
– Lectures 3-5– Lectures 7-8
Feedforward controller
Plant
Feedback controller
EE392m - Spring 2005Gorinevsky
Control Engineering 6-12
Why Feedforward?
• Model-based design means we know the system in advance
• The performance can be often greatly improved by adding open-loop control based on our system knowledge (models)
EE392m - Spring 2005Gorinevsky
Control Engineering 6-13
Disturbance feedforward
• Disturbance acting on the plant is measured
• Feedforward controller can react before the effect of the disturbance shows up in the plant output
Feedforward controller
Plant
Feedback controller
Disturbance
Example: Temperature control • Measure ambient temperature and adjust heating/cooling• homes and buildings• district heating • industrial processes
– growing crystals• electronic or optical components
EE392m - Spring 2005Gorinevsky
Control Engineering 6-14Cascade loop
Command/setpoint feedforward• The setpoint change acts as
disturbance on the feedback loop. • This disturbance can be measured • 2-DOF controller architecture
– Feedback controller– Feedforward controller– Joint design
Feedforward controller
Plant
Feedback controller
Commanded output or setpoint
Examples:• Servosystems
– Robotics– Aerospace
• Process control– RTP
• Propulsion (aero + auto) – Engine power demand
-
EE392m - Spring 2005Gorinevsky
Control Engineering 6-15
Feedforward as system inversion
• To get the output need to apply control • Simple example – feedthrough system with known gain
• System inverse and feedforward
PlantFeedforward controlleryd(t) y(t)u(t)
[ ] dFF ysPu 1)( −=
[ ]g
sP 1)( 1 =−
usPy )(=
dyy =
wguy +=gsP =)(
dFF yg
u 1=
EE392m - Spring 2005Gorinevsky
Control Engineering 6-16
Feedforward for 0th order model• Constant gain model (approximate)
• There is a modeling error • It might be desirable to introduce
low pass filtering such that high frequencies are not excited by the feedforward
dFF ygs
u 11
1 ⋅+
=τ
wguy +=
0
Actual step response
Step response for the design model:
y(t)=gu(t)
EE392m - Spring 2005Gorinevsky
Control Engineering 6-17
Setpoint Feedforward• Example: processor thermal control –
Lecture 4, Slide 6
0 20 40 60 80 100 120 1400
0.5
1
FEEDFORWARD ONLY
0 20 40 60 80 100 120 1400
0.5
1
P-CONTROL, NO FEEDFORWARD
0 20 40 60 80 100 120 1400
0.5
1
P-CONTROL AND FEEDFORWARD
)150)(15(4.0)(
++=
sssH
)( dP yyku −−=
FFdP uyyku +−−= )(
dFF yg
uu 1==Feedforward:
P-feedback:
Feedforward + P-feedback:
4.0=g
8=Pk
EE392m - Spring 2005Gorinevsky
Control Engineering 6-18
Feedforward for 1st order model
• Simple 1st order model – integrator
• Inverse system = differentiator
• Differentiating estimator (with low pass filtering)
wus
y += 1
dFF syu ≈
dFF ys
suτ+
=1
EE392m - Spring 2005Gorinevsky
Control Engineering 6-19
Feedforward as system inversion
• Issue– High-frequency roll-off of the frequency response– Attempting inversion would result at growing high-frequency gain
• Approximate inverse solution:– ignore high frequency in some way
[ ] dd ysPuyy
usPy1)(
)(−=⇒=
=
)()(~
)(~ωωω
iPiyiu d=
0.01 0.1 1 10-20-15-10-5 0
[ ] ssPs
sP
+=+
=
− 1)(1
1)(
1
proper transfer function
not proper
EE392m - Spring 2005Gorinevsky
Control Engineering 6-20
Proper transfer functions• Proper means deg(Denominator) ≥ deg(Numerator)• Strictly proper high-frequency roll-off, all physical
dynamical systems are like that• State space models are always proper• Exact differentiation is noncausal, non-proper
d
d
xxxxkmau
uxm
=⇒−−=
=)(
&& xa &&=
this is wrong!
accelerometer
Attempted perfect control
Acceleration measurement example
EE392m - Spring 2005Gorinevsky
Control Engineering 6-21
Approximate Differentiation• Add low pass filtering:
( ) )(1
11)(†
sPssP n ⋅
+=
τ
)1(1
1)(
11)(
† ss
sP
ssP
+⋅+
=
+=
τ
2 4 6 8 10 120
0.2
0.4
0.6
0.8
1
Computed feedforward
2 4 6 8 10 120
0.2
0.4
0.6
0.8
1Desired and produced output
2.0=τ
EE392m - Spring 2005Gorinevsky
Control Engineering 6-22
Example
Differentiation• Setpoint profile = path/trajectory planning • The derivative can be computed if yd(t) is known ahead of
time (no need to be causal then).
• This could be done by computing the profile yd(t) as an output of an integrator chain
)()(,1)(
1)( ][][1- tdt
ydtyyssP
ysP n
nn
dn
dnd =⋅=
21)(s
sP = )()( 2-1 taysysP dd ==
)(1)( tas
ty nd = )(1)()(][ tas
tysty kndkk
d −==
Compute the setpointprofile as a(t)
EE392m - Spring 2005Gorinevsky
Control Engineering 6-23
Double integrator example• Double
integrator model
• Setpoint profile
• Feedforward
Example:Disk drive long seek. Move the R/W head a target track
us
y 21=
as
yd 21=
)(tauFF =
0 20 40 60 80 100-1
-0.5
0
0.5
1x 10
-3 ACCELERATION
0 20 40 60 80 1000
0.005
0.01
0.015
0.02VELOCITY
0 20 40 60 80 1000
0.5
1
POSITION
Hara et at. IEEE Tr. on Mechatronics, March 2000
EE392m - Spring 2005Gorinevsky
Control Engineering 6-24
Input Shaping: point-to-point control• Given initial and final conditions
find control input• No intermediate trajectory
constraints• Lightly damped, imaginary axis
poles – inversion methods do not work well
• FIR notch fliter– Seering and Singer, MIT – Convolve Inc.
PlantFeedforward controlleryd(t)
y(t)u(t)
Examples:• Disk drive long seek with flexible modes• Flexible space structures• Overhead gantry crane
EE392m - Spring 2005Gorinevsky
Control Engineering 6-25
Pulse Inputs
• Compute pulse inputs such that there is no vibration.
• Works for a pulse sequence input
• Can be generalized to any input
EE392m - Spring 2005Gorinevsky
Control Engineering 6-26
Input Shaping as signal convolution
• Convolution: ( ) ∑∑ −=− )()(*)( iiii ttfAttAtf δ
EE392m - Spring 2005Gorinevsky
Control Engineering 6-27
Iterative update of feedforward • Repetition of control tasks
• Robotics– Trajectory control tasks:
Iterative Learning Control– Locomotion: steps
• Batch process control– Run-to-run control in
semiconductor manufacturing – Iterative Learning Control
(IEEE Control System Magazine, Dec. 2002)
Example:One-legged hopping machine (M.Raibert)
Height control:yd = yd(t-Tn;a)h(n+1)=h(n)+Ga
stepFeedforward controller Plant
Step-to-step feedback update
EE392m - Spring 2005Gorinevsky
Control Engineering 6-28
More on Feedforward…• Iterative update
– Iterative Learning Control, run-to-run update – Repetitive dynamics (repeating robotics mechanism motion)
• Replay pre-computed sequences– Look-up tables, maps
• Also used in practice– Servomechanism, disturbance model – Adaptive feedforward
• LMS update• Sinusoidal disturbance tracking, e.g. in disk drives (related to PLL)