<<

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

EE392m - Winter 2003 5-1 Why Feedforward?

works even if we know little about the plant dynamics 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)

EE392m - Winter 2003 Control Engineering 5-2 Feedforward

Feedforward Plant Plant controller – this Lecture 5 Feedback controller • Main premise of the feedforward control: – Lecture 4 PID a model of the plant is known – Lecture 6 Analysis • Model-based design of feedback control - – Lecture 7 Design the same premise • The difference: feedback control is less sensitive to modeling error • Common use of the feedforward: cascade Plant with feedback Feedforward Feedback controller controller EE392m - Winter 2003 Control Engineering 5-3 Open-loop (programmed) control

• Control u(t) found by solving an optimization problem. Constraints on control and state variables. • Used in space, missiles, aircraft FMS – Mission planning – Complemented by feedback corrections • Sophisticated mathematical methods were developed in the 60s to x = f (x,u,t) overcome computing limitations. & J (x,u,t) → min • Lecture 12 will get into more detail of control program optimization. x ∈ X,u ∈U = Optimal control: u u*(t)

EE392m - Winter 2003 Control Engineering 5-4 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

EE392m - Winter 2003 Control Engineering 5-5 Path/trajectory planning

• The disturbance caused by the change of the command r influences 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) as a smooth function that has no/little high-frequency components. No feedforward is used. • The smooth function can be a spline function etc

- Plant yd(t) Commanded output or Feedback setpoint controller low level controller

EE392m - Winter 2003 Control Engineering 5-6 Disturbance feedforward

• Disturbance acting on the plant Example: is measured Temperature control. Measure ambient temperature and adjust • Feedforward controller can heating/cooling react before the effect of the • homes and buildings disturbance shows up in the • district heating plant output • industrial processes - crystallization • electronic or optical components

Disturbance Plant

Feedforward Feedback controller controller

EE392m - Winter 2003 Control Engineering 5-7 Command/setpoint feedforward

• The setpoint change acts as Examples: disturbance on the feedback loop. • This disturbance can be measured •Servosystems – robotics • 2-DOF controller •Process control – RTP •Automotive – engine torque demand Commanded output or - setpoint Plant

Feedforward Feedback controller controller low level controller

EE392m - Winter 2003 Control Engineering 5-8 Feedforward as system inversion y = P(s)u e = P(s)u + D(s)d = = []−1 y ≡ −D(s)d y yd ⇒ u P(s) yd d

y (t) Feedforward u(t) y(t) d Plant controller

• Simple example: More examples: 1+ 2s P(s) = •Disk drive long seek 1+ s •Robotics: tracking a trajectory − 1+ s []P(s) 1 = + 1 2s yd(t)

EE392m - Winter 2003 Control Engineering 5-9 Feedforward as system inversion y = P(s)u ~ ω ~ ω = yd (i ) = = []−1 u(i ) y yd ⇒ u P(s) yd P(iω)

• Issue – high-frequency roll-off 0 1 proper -5 P(s) = + -10 1 s − -15 []P(s) 1 = 1+ s -20 0.01 0.1 1 10 non-proper

• Approximate inverse solution: – ignore high frequency in some way

EE392m - Winter 2003 Control Engineering 5-10 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 accelerometer m&x& = u a = &x& = − − u ma k(x xd ) ⇒ x = x this is d wrong!

EE392m - Winter 2003 Control Engineering 5-11 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 d n y P-1(s) y = ⋅ y[n], y[n] (t) = (t) d P(s) sn d d dtn

1 + P(s) = -1 = 1 s =  + 1  = + P (s) yd y&d 1  y&d y&d yd 1+ s s  s 

EE392m - Winter 2003 Control Engineering 5-12 Approximate Differentiation

• Add low pass filtering:

Compute d fe e dforwa rd 1 1 1 P† (s) = ⋅ τ = 0.2 ()+τ n 0.8 1 s P(s) 0.6 0.4 0.2 0 = 1 2 4 6 8 10 12 P(s) Desired and produced output 1+ s 1 0.8 † 1 P (s) = ⋅(1+ s) 0.6 1+τs 0.4 0.2

0 2 4 6 8 10 12

EE392m - Winter 2003 Control Engineering 5-13 ‘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 1− s 1+ 0.25s P(s) = , P† (s) = 1+ 0.25s 1+ s • RHP zeros might be used to approximate dead time – exact causal inversion impossible − 1− sT P(s) = e 2Ts ≈ 1+ sT • If preview is available, use a lead to compensate for the deadtime

EE392m - Winter 2003 Control Engineering 5-14 Two sided z-transform, non-causal system • Linear system is defined by a pulse response. Do not constrain ourselves with a causal pulse response anymore ∞ y(x) = ∑h(x − k)u(k) k=−∞ • 2-sided z-transform gives a “transfer function” ∞ P(z) = ∑h(k)z−k k=−∞ • Fourier transform/Inverse Fourier transform are two-sided

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

EE392m - Winter 2003 Control Engineering 5-15 Impulse response decay

• Decay rate from the center = log r Imaginary i NONCAUS AL RES P O NS E r

poles r-1 1Real

0

-10 0 10 TAP DELAY NUMBER

EE392m - Winter 2003 Control Engineering 5-16 Non-causal inversion

• Causal/anti-causal decomposition causal – 2-sided Laplace-transform 1 1− s − P(s) = 1 s 1+ 0.25s 1+ 0.25s 1.25 P-1 (s) = = −0.25 + 1− s 1− s anti-causal ω {← 1 -1 1 IMPULSE RESPONSE OF THE INVERSE P (i ) = 0.15 1− s P(iω) 0.1 0.05

0 iFFT -0.05 -0.1

-0.15

-0.2 -10 -5 0 5 DELAY EE392m - Winter 2003 Control Engineering 5-17 Frequencyω domain inversion ω ω ω 2 2 • Regularized inversion:ω y − Pu + ρ u → min ω d ρ 2 2 ω ω (y (i ) − P(i )u(i ) 2 ρ+ uω(i ) 2 )dω → min ∫ d ω P* (i ) u(i ) = y (i ) = P† (i )y (iω) P*(i )P(i ) + d d

• Systematic solution P(s) = REGULARIZED INVERSE − – simple, use FFT 1 s 0.5 – takes care of everything (1+ 0.25s)(1+ s) 0 – noncausal inverse -0.5 P†(iω) – high-frequency roll-off -1 -1.5 – Paden & Bayo, 1985(?) -2 -1 0 DELAY

EE392m - Winter 2003 Control Engineering 5-18 Input Shaping: point-to-point control u(t) Feedforward y(t) • Given initial and final conditions Plant find control input yd(t) controller • No intermediate trajectory constraints Examples: • Disk drive long seek • Lightly damped, imaginary axis • Flexible space structures poles • Overhead gantry crane – preview control does not work – other inversion methods do not work well • FIR notch fliter – Seering and Singer, MIT – Convolve Inc.

EE392m - Winter 2003 Control Engineering 5-19 Pulse Inputs

• Compute pulse inputs such that there is no vibration.

• Works for a pulse sequence input

• Can be generalized to any input

EE392m - Winter 2003 Control Engineering 5-20 Input Shaping as signal convolution

()δ − = − • Convolution: f (t)* ∑ Ai (t ti ) ∑ Ai f (t ti )

EE392m - Winter 2003 Control Engineering 5-21 Iterative update of feedforward

step Feedforward Plant • Repetition of control tasks controller

Step-to-step • Robotics feedback update – Trajectory control tasks: Iterative Learning Control Example: – Locomotion: steps One-legged hopping machine • Batch process control (M.Raibert) – Run-to-run control in semiconductor manufacturing Height control: y = y (t-T ;a) – Iterative Learning Control d d n h(n+1)=h(n)+Ga (IEEE Magazine, Dec. 2002)

EE392m - Winter 2003 Control Engineering 5-22 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

EE392m - Winter 2003 Control Engineering 5-23 Feedforward Implementation

• Iterative update –ILC –run-to-run – repetitive dynamics

• Replay pre-computed sequences – look-up tables, maps • Not discussed, but used in practice – , disturbance model – Sinusoidal disturbance tracking - PLL – Adaptive feedforward, LMS update

EE392m - Winter 2003 Control Engineering 5-24