TU/e Advanced Motion Control Maarten Steinbuch Control Systems Technology Department of Mechanical Engineering Eindhoven University of Technology APC workshop, Vancouver, may 2005 /department of mechanical engineering 1 TU/e Contents • background, motion systems • control for dummies • advanced motion control challenges • embedded dynamical systems /department of mechanical engineering 2 TU/e Eindhoven University of Technology • 9 scientific departments, 10 academic Bachelor programmes, 19 Master programmes, 3000 employees, 220 professors, 6800 students, 200 postgraduate students, 450 PhD students • located in the Eindhoven-Aachen-Leuven triangle • ‘mechatronics’ high tech industry: • Philips, ASML, FEI, Assembleon /department of mechanical engineering 3 TU/e Mechanical Engineering Department • 9 full prof., 60 senior research staff, • 18 Post Docs, 105 PhD students, • 700 BSc and MSc students /department of mechanical engineering 4 TU/e Structure of Mechanical Engineering Thermo Fluids Engineering Computational and Experimental Mechanics Dynamical Systems Design 2 ‘theme Mastertracks’: • Automotive Engineering Science • Micro and Nano Technology /department of mechanical engineering 5 TU/e Mechanical Engineering Department Automotive Engineering Science (2001) (Sub)-Micron Technology (2003) Dynamical Systems Design (DSD) Thermo Fluids Engineering (TFE) Computational & Experimental Mechanics (CEM) /department of mechanical engineering 6 TU/e TU/e - W : Full Chairs in DSD Division • Dynamics and Control: Prof.Dr. Henk Nijmeijer • Control Systems Technology: Prof.Dr.Ir. Maarten Steinbuch • Systems Engineering : Prof.Dr.Ir. Koos Rooda /department of mechanical engineering 7 TU/e from Industry … … to Academia (1999) /department of mechanical engineering 8 TU/e TU Eindhoven Philips /department of mechanical engineering 9 TU/e Isles of Academia /department of mechanical engineering 10 TU/e … in theory there is no difference between theory and practice in practice there is /department of mechanical engineering 11 TU/e …2 simulation is like masturbation: the more you do it the more you think it is the real thing! /department of mechanical engineering 12 TU/e bridging the gap • education: merge classic & modern • bring in real industrial systems • confront PhDs with other disciplines • learn from experimental experience how to proceed with theory /department of mechanical engineering 13 TU/e Control Systems Technology • 1 full prof • 2 part-time prof • 7 associate and assistant prof • 4 technical staff members • 20 PhD students • 40 MSc students/year /department of mechanical engineering 14 TU/e • Motion Systems – industrial applications (pick-and-place, (bio)-robots) – consumer applications (storage systems) – hydraulic servo systems • Automotive – power trains (in particular CVT) – (passive) car safety systems – vehicle electrical power management /department of mechanical engineering 15 TU/e /department of mechanical engineering 16 TU/e /department of mechanical engineering 17 DaVinci surgery robot © Intuitive Surgery Inc. TU/e /department of mechanical engineering 18 TU/e Automotive Safety Restraint Systems /department of mechanical engineering 19 TU/e Zero-Inertia /department of mechanical engineering 20 TU/e Continously Variable Transmission /department of mechanical engineering 21 TU/e 1/1,000 mm /department of mechanical engineering Source: intel, ICE 22 TU/e Design Reticle Stepper Exposure Method Lens Reticle Wafer /department of mechanical engineering Source: ASML 23 TU/e Aberrations Scatter Illumination Dose optimization Mask optimization software /department of mechanical engineering Source optimization 24 TU/e /department of mechanical engineering 25 TU/e /department of mechanical engineering 26 TU/e Mechanical Electronic / Electrical Thermal Pneumatic Optical Hydraulic Acoustical Chemical Software /department of mechanical engineering 27 TU/e Motion Control for /department of mechanical engineering 28 TU/e Motion Systems m F x /department of mechanical engineering 29 TU/e x Disturbance F Servo force ? F s d Mass M /department of mechanical engineering 30 TU/e Mechanical solution: x k F d Mass M Force spring damper F = −k ⋅ x − d ⋅ x Eigenfrequency 1 k f= 2π M Disturbance Fd /department of mechanical engineering 31 TU/e Servo analogon: x F servo Servo force Fs = −k p ⋅ x − kv ⋅ x Eigenfrequency 1 f = 2π kp M Mass M k p : servo stiffness kv : servo damping /department of mechanical engineering 32 TU/e x Disturbance F Example: d F s Mass M Slide: mass = 5 kg Required accuracy 10 µm at all times Disturbance (f.e. friction) = 3 N 1. Required servo stiffness? 2. Eigenfrequency? /department of mechanical engineering 33 TU/e How to move to / follow a setpoint: x h or x s Spring- damper: F = k(h − x) + d (h − x) Controller: Fs = k p (xs − x) + kv (xs − x) /department of mechanical engineering 34 TU/e x xs Fd Fdisturbance controller xs + e - d k p + kv dt process + F Mass x + Fservo Kp/kv-controller or PD-controller /department of mechanical engineering 35 TU/e xs + controller e - kp kv kp = ? process kv = ? ⇒ x Fservo error ⇔ stability Trade off /department of mechanical engineering 36 TU/e Setpoints: xs x What should xs look like as a function of time, when moving the mass? (first order, second order, third order,….?) /department of mechanical engineering 37 TU/e x Apply a force F (step profile): F (t ) = Mx(t ) F M ⇓ x(t) is second order, when F constant Second order profile requires following information: - maximum acceleration - maximum velocity - travel distance /department of mechanical engineering 38 TU/e Example Pos = 2π ≈ 6.3rad Velmax Acc max = = 20π ≈ 63rad / sec 500π ≈ 1.6e3rad / sec 2 /department of mechanical engineering 39 TU/e Concluding remarks time domain tuning A control system, consisting of only a single mass m and a kp/kv controller (as depicted below), is always stable. kp will act as a spring; kv will act as a damper As a result of this: when a control system is unstable, it cannot be a pure single mass + kp/kv controller (With positive parameters m, kp and kv) x xs kp M kv /department of mechanical engineering 40 TU/e Frequency domain Time domain: Monday and Thursday at 22:10 Frequency domain: twice a week /department of mechanical engineering 41 TU/e x F M weak spring (f = 2.5 Hz) excitation force in N and displacement in m M = 5 kg 0.2 excitation force (offset 0.1 &scaling 1e-4) 0.15 F (t ) = 400 sin(2π 7t ) 0.1 0.05 H (7 Hz ) ≈ 0.045 / 400 = 1e − 4 m / N ∠H ( 7 Hz ) ≈ −180 0 0 -0.05 response -0.1 -0.15 0 /department of mechanical engineering 0.5 1 1.5 time in sec 2 2.5 42 3 measurement mechanics stage TU/e amplitude in dB -20 -40 -60 -80 2 10 frequency in Hz 3 10 phase in deg 200 0 -200 2 10 /department of mechanical engineering 10 3 43 TU/e Transfer function: x( s ) 1 H ( s) = = F ( s ) Ms 2 + ds + k F 1 Ms 2 + ds + k x /department of mechanical engineering 44 TU/e Bode plot of the PD-controller: kp = 1500 N/m; kv = 20 Ns/m amplitude in dB 100 80 +1 +0 60 0 10 phase in deg 100 1 10 frequency in Hz 2 10 1 10 2 10 50 0 0 10 /department of mechanical engineering 45 TU/e Fd xs + e - C(s) + Fs+ x H(s) Four important transfer functions 1. Open loop 2. Closed loop 3. Sensitivity L(s) = C (s) H (s) x C (s) H (s) T (s) = (s) = xs 1 + C (s) H (s) 1 e S(s) = (s) = 1+C(s)H(s) xs H ( s) x 4. Proces Sensitivity H ps ( s) = ( s) = Fd 1 + C ( s) H ( s) /department of mechanical engineering 46 TU/e Filters Mimo PeeDee PeeEye •Integral action •Differential action •Low-pass •High-pass •Band-pass •Notch filter /department of mechanical engineering 47 TU/e Integral action : X(t) 1 τis Y(t) τI integral time constant τI =1/ki -1 0° ω=2πf -90° /department of mechanical engineering 48 TU/e Differential action +1 u u ε ε H = ks = ; s = jω; ε ks “tamme” differentiator : = kω ω +90° 0° u ks = ε τ d s +1 1 u /department of mechanical engineering τd = ωd = 2πfd ω +90° 0° 49 TU/e H= u ε = “lead” filter 1 + τ 1s 1 + τ d s = 1+ τ 2s 1+ τ d s γ τ1 ≈ 2−5 τ2 γ γ>1 ω c = ω1ω 2 = 1 1 τ 1τ 2 ω +90° 0° /department of mechanical engineering ω1 = 1 τ1 ω2 = 1 τ2 50 TU/e ⎛ ⎞ ⎜ ⎟ ⎞ ⎛ u 1 ⎜ 1+τ d s ⎟ ⎟⎟ ⎜ H = = k ⎜1 + ε ⎝ τ i s ⎠⎜ 1 + τ d s ⎟ ⎜ ⎟ γ ⎝ ⎠ P+I+D -1 ωi = +1 1 τi ωd = 1 τd ω +90° 0° -90° /department of mechanical engineering 51 TU/e ε(t) - 2nd order filter ω1 ω1 s s H= u ε = k s2 ω u(t) 1 2β 2β 2 1 + 2β Top: s ω1 +1 ωo = ω1 1 − β 2 . 1 -2 0° -90 ° /department of mechanical engineering -180° ω = ω1 52 ε TU/e General 2nd order filters General: ω1≠ω2 s2 H= u ε = ω s ω 2 1 2 2 2 + 2 β1 + 2β 2 s ω1 s ω2 ⎛ ω2 ⎞ ⎜⎜ ⎟⎟ ⎝ ω1 ⎠ +1 2 +2 1 +1 +180° 0° /department of mechanical engineering 53 TU/e ω1 ≥ ω 2 +2 1 ⎛ ω22 ⎞ ⎜ 2⎟ ⎜ω ⎟ ⎝ 1 ⎠ -2 ω 0° -180° ω2 ω1 /department of mechanical engineering 54 TU/e “Notch”-filter :ω1= ω2 ampl. fase β1 β2 0° -180° /department of mechanical engineering 55 TU/e Loop shaping procedure for motion systems 1. stabilize the plant: add lead/lag with zero = bandwidth/3 and pole = bandwidth*3, adjust gain to get stability; or add a pure PD with break point at the bandwidth 2. add low-pass filter: choose poles = bandwidth*6 3. add notch if necessary, or apply any other kind of first or second order filter and shape the loop 4. add integral action: choose zero = bandwidth/5 5. increase bandwidth: increase gain and zero/poles of integral action, lead/lag and other filters during steps 2-5: check all relevant transfer functions, and relate to disturbance spectrum /department of mechanical engineering 56 TU/e /department of mechanical engineering 57 TU/e Implementation issues 1. sampling = delay: linear phase lag for example: sampling at 4 kHz gives phase lag due to Zero-Order-Hold of: 180º @ 4 kHz 18º @ 400 Hz 9º @ 200 Hz 2. Delay due to calculations 3. Quantization (sensors, digital representation) /department of mechanical engineering 79 TU/e Feedforward design /department of mechanical engineering 80 TU/e Feedforward based on inverse model ms 2 xs K p + Kv s 1 ms 2 x /department of mechanical engineering 81 TU/e Example: m=5 [kg], b=1 [Ns/m], 2nd degree setpoint xs [m] 1 0.5 vs [ms-1] 0 1.5 1 0.5 as [ms-2] 0 4 2 0 -2 -4 0 0.2 0.4 0.6 /department of mechanical engineering 0.8 1 1.2 1.4 1.6 t [s] 82 TU/e Example: tracking error, no feedforward -3 2 x 10 1.5 viscous damping effect error [m] 1 0.5 0 -0.5 -1 -1.5 -2 0 0.2 0.4 0.6 /department of mechanical engineering 0.8 1 1.2 1.4 1.6 1.8 t [s] 83 TU/e Example: tracking error, with feedforward -3 2 x 10 K fv= 0.9, K fa= 0 1.5 error [m] 1 K fv= 0.9, K fa= 4.5 0.5 0 -0.5 -1 -1.5 -2 0 0.2 0.4 0.6 /department of mechanical engineering 0.8 1 1.2 1.4 1.6 1.8 t [s] 84 TU/e sign( x s ) xs xs xs feedforward structure K fc K fa K fv C(s) H(s) x /department of mechanical engineering 85 TU/e 3rd degree setpoint trajectory xs [m] 1.5 1 0.5 vs [ms-1] 0 1 0.5 as [ms-2] 0 4 2 0 -2 -4 0 0.2 0.4 0.6 /department of mechanical engineering 0.8 1 1.2 1.4 1.6 1.8 t [s] 86 TU/e Parasitic Dynamics /department of mechanical engineering 87 TU/e /department of mechanical engineering 88 TU/e Three Types of Dynamic Effects - Actuator flexibility - Guidance flexibility - Limited mass and stiffness of frame /department of mechanical engineering 89 TU/e 1. Actuator flexibility x k F s Sensor Motor d /department of mechanical engineering 90 TU/e /department of mechanical engineering 91 x1 c F amplitude in dB -50 x1 F -100 -150 0 10 d -2 -2 1 10 frequency in Hz 2 10 phase in deg 200 0 -200 0 10 M2 M1 1 10 2 10 x2 c F amplitude in dB -50 x H= 2 F -100 M1 d x2 F x1 F -150 0 10 phase in deg 200 1 10 frequency in Hz 2 10 0 -200 0 10 M2 1 10 2 10 TU/e /department of mechanical engineering 94 TU/e /department of mechanical engineering 95 TU/e 2. Guidance flexibility x F s M, J k /department of mechanical engineering 96 TU/e 3. Limited mass and stiffness of frame x F s Motor Frame /department of mechanical engineering 97 TU/e Motion Control Properties • experimentation is ‘cheap’ Disturbance Design Cycle: 7 min FRF measurement, model, loopshape, implementation • • • • plant decoupling, i.e. SISO feedforward: low-order model-based feedback: loopshaping key limitation: bode gain/phase - sensitivity integral /department of mechanical engineering 98 TU/e /department of mechanical engineering 99 TU/e Gunter Stein’s Bode Lecture, CDC 1989 IEEE Control Systems Magazine, 23 (2003), pp 12- 25 /department of mechanical engineering 100 TU/e /department of mechanical engineering 101 TU/e Motion Control Challenge: how to cope with Bode sensitivity limitation? ∞ ∫ log S ( jω ) dω = 0 0 /department of mechanical engineering 102 TU/e directions of motion control research • • • • MIMO loopshaping nonlinear control of linear systems (reset…) disturbance-based modelling and control data-driven control /department of mechanical engineering 103 TU/e directions of motion control research • • • • MIMO loopshaping nonlinear control of linear systems (reset…) disturbance-based modelling and control data-driven control /department of mechanical engineering 104 TU/e MIMO integral constraints… ‘Loop’ 1 ‘Loop’ 2 … ‘Loop’ n Sensitivity dirt /department of mechanical engineering 105 TU/e directions of motion control research • • • • MIMO loopshaping nonlinear control of linear systems (reset…) disturbance-based modelling and control data-driven control /department of mechanical engineering 106 TU/e Problem formulation • Do there exist nonlinear feedback controllers that give better ‘performance’ for linear motion systems than linear solutions? /department of mechanical engineering 107 TU/e Approach • • • • • Performance measures? Plant is linear, but disturbances and specifications ‘change’ Use LPV for synthesis? How about non-smooth (reset) filters /department of mechanical engineering 108 TU/e Bode Gain/Phase relation Slope = n means phase = n*90 degrees /department of mechanical engineering 109 TU/e SPAN- filter rectifier low-pass X sign lead be creative with control! /department of mechanical engineering 110 TU/e /department of mechanical engineering 111 TU/e /department of mechanical engineering 112 TU/e /department of mechanical engineering 113 TU/e directions of motion control research • • • • MIMO loopshaping nonlinear control of linear systems (reset…) disturbance-based modelling and control data-driven control /department of mechanical engineering 114 TU/e disturbance-based modelling and control • disc errors vs shocks optical storage • stochastic vs deterministic disturbances • repetitive vs a-periodic setpoints or disturbances Internal model principle…. /department of mechanical engineering 115 TU/e /department of mechanical engineering 116 TU/e /department of mechanical engineering 117 Iterative Learning Control (ILC) ek +1 < ek Q(1 − L PS ) < 1 TU/e /department of mechanical engineering 119 TU/e /department of mechanical engineering 120 TU/e directions of motion control research • • • • MIMO loopshaping nonlinear control of linear systems (reset…) disturbance-based modelling and control data-driven control /department of mechanical engineering 121 TU/e Machine-in-the-loop design /department of mechanical engineering 122 TU/e Data-driven control • Examples: – data-based LQG control – iterative feedback tuning – virtual reference feedback tuning – unfalsified control /department of mechanical engineering 123 TU/e Problem statement • Design a SISO LTI controller C for LTI plant P r + - e C u P y • Control objective: realize the desired So and To • Ideal controller Co: PCo 1 . , To = So = 1+ PCo 1+ PCo /department of mechanical engineering 124 TU/e Data-based controller design • The controller class: {C( z, θ)} = {Cp ( z)βT ( z)θ}. • Cp(z) is directly prescribed by the designer: notches, integrators, etc. • Basis functions: β( z) = [ β0 ( z) β1( z) … βn ( z)]T . • Tuning parameters: θ = [θ0 θ1 … θn ]T . /department of mechanical engineering 125 TU/e • Constraint on Co: To ( z ) = Co ( z ) So ( z ) P( z ) • Model-based cost function: J MB(θ) = (To ( z) − C( z, θ)So ( z)P( z))W ( z) 2 2 • Processing the measurements: To ( z)u(t ) = C( z, θ)So ( z)P( z)u(t ) ⇒ To ( z)u(t ) = C( z, θ)So ( z) y(t ) • Data-based cost function: 1 N N J DB (θ) = ∑[ L( z)(To ( z)u(t ) − C( z, θ)So ( z) y(t ))]2 N t =1 /department of mechanical engineering 126 TU/e /department of mechanical engineering 128 TU/e /department of mechanical engineering 129 TU/e /department of mechanical engineering N ˆ C1 ( z , θ DB ) 130 TU/e /department of mechanical engineering 131 TU/e Unfalsified control Given a set of controllers, implement one, use the I/O data, and check which part of the set is not feasible, then change the set and iterate Safanov, Tsao 1997 /department of mechanical engineering 132 TU/e /department of mechanical engineering 134 TU/e /department of mechanical engineering 135 TU/e Explore Motion Control Properties • experimentation is ‘cheap’ Disturbance Design Cycle: 7 min FRF measurement, model, loopshape, implementation Data based • plant decoupling, i.e. SISO MIMO disturbances • feedforward: low-order model-based Learning control • feedback: loopshaping nonlinear control • key limitation: bode gain/phase - sensitivity integral /department of mechanical engineering 138 TU/e The End /department of mechanical engineering 139