lecture 5 - feedforward - stanford...

24
EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward Programmed control Path planning and nominal trajectory feedforward Feedforward of the disturbance Reference feedforward, 2-DOF architecture Non-causal inversion Input shaping, flexible system control Iterative update of feedforward

Upload: vudung

Post on 05-Apr-2018

234 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-1

Lecture 5 - Feedforward

• Programmed control• Path planning and nominal trajectory feedforward• Feedforward of the disturbance• Reference feedforward, 2-DOF architecture• Non-causal inversion• Input shaping, flexible system control• Iterative update of feedforward

Page 2: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-2

Why Feedforward?

• Feedback works even if we know little about the plantdynamics and disturbances

• Was the case in many of the first control systems• Much attention to feedback - for historical reasons

• Open-loop control/feedforward is increasingly used• Model-based design means we know something• The performance can be greatly improved by adding open-

loop control based on our system knowledge (models)

Page 3: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-3

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 lesssensitive to modeling error

• Common use of the feedforward: cascadewith feedback

Plant

Feedbackcontroller

PlantFeedforwardcontroller

– this Lecture 5

– Lecture 4 PID– Lecture 6 Analysis– Lecture 7 Design

Feedforwardcontroller

Plant

Feedbackcontroller

Page 4: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-4

Open-loop (programmed) control• Control u(t) found by solving an

optimization problem. Constraints oncontrol and state variables.

• Used in space, missiles, aircraft FMS– Mission planning– Complemented by feedback corrections

• Sophisticated mathematical methodswere developed in the 60s toovercome computing limitations.

• Lecture 12 will get into more detailof control program optimization. UX ∈∈

→=

uxtuxJ

tuxfx

,min),,(),,(&

)(* tuu =Optimal control:

Page 5: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-5

Optimal control• Performance index and constraints• Programmed control

– compute optimal control as a time function for particular initial(and final) conditions

• Optimal control synthesis– find optimal control for any initial conditions– at any point in time apply control that is optimal now, based on

the current state. This is feedback control!– example: LQG for linear systems, gaussian noise, quadratic

performance index. Analytically solvable problem.– simplified model, toy problems, conceptual building block

• MPC - will discuss in Lecture 12

Page 6: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-6

Path/trajectory planning

• The disturbance caused by the change of the command rinfluences the feedback loop.

• The error sensitivity to the reference R(s) is bandpass:|R(iω)|<<1 for ω small

• A practical approach: choose the setpoint command (path) asa smooth function that has no/little high-frequencycomponents. No feedforward is used.

• The smooth function can be a spline function etc

low level controller

Plant

Feedbackcontroller

Commandedoutput orsetpoint

-

yd(t)

Page 7: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-7

Disturbance feedforward

• Disturbance acting on the plantis measured

• Feedforward controller canreact before the effect of thedisturbance shows up in theplant output

Feedforwardcontroller

Plant

Feedbackcontroller

Disturbance

Example:Temperature control. Measureambient temperature and adjustheating/cooling• homes and buildings• district heating• industrial processes -crystallization• electronic or optical components

Page 8: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-8

low level controller

Command/setpoint feedforward• The setpoint change acts as

disturbance on the feedback loop.• This disturbance can be measured• 2-DOF controller

Feedforwardcontroller

Plant

Feedbackcontroller

Commandedoutput orsetpoint

Examples:

•Servosystems– robotics

•Process control– RTP

•Automotive– engine torque demand

-

Page 9: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-9

Feedforward as system inversion

• Simple example:

PlantFeedforwardcontroller

yd(t) y(t)u(t)

More examples:

•Disk drive long seek

•Robotics: tracking a trajectory

[ ] dd ysPuyy

usPy1)(

)(−=⇒=

=

[ ]s

ssP

sssP

211)(

121)(

1

++=

++=

yd(t)

dsDydsDusPe

d )()()(

−≡+=

Page 10: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-10

Feedforward as system inversion

• Issue– high-frequency roll-off

• 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

non-proper

Page 11: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-11

Proper transfer functions• Proper means deg(Denominator) ≥ deg(Numerator)• Strictly proper <=> high-frequency roll-off, all physical

dynamical systems are like that• Proper = strictly proper + feedthrough• State space models are always proper• Exact differentiation is noncausal, non-proper• Acceleration measurement example

d

d

xxxxkmau

uxm

=⇒−−=

=)(

&& xa &&=

this is wrong!

accelerometer

Page 12: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-12

Differentiation• Path/trajectory planning - mechanical servosystems• The derivative can be computed if yd(t) is known ahead of

time (no need to be causal then).

)()(,1)(

1)( ][][1- tdt

ydtyyssP

ysP n

nn

dn

dnd =⋅=

ssP

+=

11)(

ddddd yyys

ys

sysP +=

+=+= &&&

111)(1-

Page 13: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-13

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

Compute d feedforward

2 4 6 8 10 120

0.2

0.4

0.6

0.8

1Des ired and produced output

2.0=τ

Page 14: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-14

‘Unstable’ zeros• Nonminimum phase system

– r.h.p. zeros → r.h.p. poles– approximate solution: replace r.h.p. zeros by l.h.p. zeros

• RHP zeros might be used to approximate dead time– exact causal inversion impossible

• If preview is available, use a lead to compensate for thedeadtime

sssP

sssP

++=

+−=

125.01)(,

25.011)( †

sTsTesP Ts

+−≈= −

11)( 2

Page 15: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-15

Two sided z-transform,non-causal system

• Linear system is defined by a pulse response. Do not constrainourselves with a causal pulse response anymore

∑∞

−∞=

−=k

kukxhxy )()()(

• 2-sided z-transform gives a “transfer function”

∑∞

−∞=

−=k

kzkhzP )()(

• Oppenheim, Schafer, and Buck, Discrete-Time Signal Processing,2nd Edition, Prentice Hall, 1999.

• Fourier transform/Inverse Fourier transform are two-sided

Page 16: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-16

Impulse response decay

i

Imaginary

poles

1 Real

r

r-1

• Decay rate from the center = log r

-10 0 10

0

TAP DELAY NUMBER

NONCAUS AL RES P O NS E

Page 17: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-17

Non-causal inversion• Causal/anti-causal decomposition

– 2-sided Laplace-transformcausal

anti-causal

s−11

s−11

sssP25.01

1)(+

−=

{←

−+−=

−+=

ssssP

125.125.0

125.01)(1-

-10 -5 0 5-0.2

-0.15

-0.1

-0.05

0

0.05

0.1

0.15

DELAY

IMPULSE RESPONSE OF THE INVERSE

)(1)(1-

ωω

iPiP =

iFFT

Page 18: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-18

Frequency domain inversion• Regularized inversion:

( ) min)()()()( 22 →+−∫ ωωρωωω diuiuiPiyd

)()()()()(

)()( †*

*

ωωωρωω

ωω iyiPiyiPiP

iPiu dd =+

=

-2 -1 0-1.5

-1

-0.5

0

0.5

DELAY

REGULARIZED INVERSE

)1)(25.01(1

)(

sss

sP

++−

=

P†(iω)

min2

2

2

2→+− uPuyd ρ

• Systematic solution– simple, use FFT– takes care of everything– noncausal inverse– high-frequency roll-off– Paden & Bayo, 1985(?)

Page 19: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-19

Input Shaping: point-to-point control• Given initial and final conditions

find control input• No intermediate trajectory

constraints• Lightly damped, imaginary axis

poles– preview control does not work– other inversion methods do not work

well

• FIR notch fliter– Seering and Singer, MIT– Convolve Inc.

PlantFeedforwardcontrolleryd(t)

y(t)u(t)

Examples:• Disk drive long seek• Flexible space structures• Overhead gantry crane

Page 20: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-20

Pulse Inputs

• Compute pulse inputssuch that there is novibration.

• Works for a pulsesequence input

• Can be generalized toany input

Page 21: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-21

Input Shaping as signal convolution

• Convolution: ( ) ∑∑ −=− )()(*)( iiii ttfAttAtf δ

Page 22: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-22

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-leggedhopping machine(M.Raibert)

Height control:yd = yd(t-Tn;a)h(n+1)=h(n)+Ga

stepFeedforwardcontroller Plant

Step-to-stepfeedback update

Page 23: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-23

Feedforward Implementation• Constraints and optimality conditions known ahead of time

– programmed control

• Disturbance feedforward in process control– has to be causal, system inversion

• Setpoint change, trajectory tracking– smooth trajectory, do not excite the output error– in some cases have to use causal ‘system inversion’– preview might be available from higher layers of control system,

noncausal inverse

• Only final state is important, special case of inputs– input shaping - notch filter– noncausal parameter optimization

Page 24: Lecture 5 - Feedforward - Stanford Universityweb.stanford.edu/class/archive/ee/ee392m/ee392m.1034/Lecture5... · EE392m - Winter 2003 Control Engineering 5-1 Lecture 5 - Feedforward

EE392m - Winter 2003 Control Engineering 5-24

Feedforward Implementation• Iterative update

– ILC– run-to-run– repetitive dynamics

• Replay pre-computed sequences– look-up tables, maps

• Not discussed, but used in practice– Servomechanism, disturbance model– Sinusoidal disturbance tracking - PLL– Adaptive feedforward, LMS update