Iterative Methods for Precision Motion Control with Application to a Wafer Scanner System Hoday Stearns Advisor: Professor Masayoshi Tomizuka PhD Seminar Presentation 2011-05-04 1/42 Semiconductor manufacturing Photolithography Courtesy of ASML Advances in Photolithography Resolution Wavelength Numerical aperture 2/42 Semiconductor manufacturing Courtesy of IEEE Spectrum 22 nm Half-pitch 0.55 nm Inter-atom spacing in silicon Wafer stage motion control •Ultra-high positioning precision •High velocities •Synchronization 3/42 Advanced control schemes Wafer stage test system 4/42 Overall experimental setup Prototype wafer stage Interferometer Linear motor PCI axis board Motor driver FPGA 7831R RT Target 5/42 Challenges in precision tracking 0.2 1 x 10 0.5 1 -4 1.5 2 Time (s) 2.5 3 3.5 tracking error 0.5 0 measure position -0.5 -1 0 Error while accelerating Reference Command 0 0 Error (m) Decrease tracking error Position (m) 0.4 0.5 disturbances 1 1.5 2 Time (s) 2.5 sensor noise 6/42 3 3.5 vibrations Baseline controller design Feedback control … Feedforward … Feedforward control control … • Uses sensor measurements • Increases robustness • Trajectory independent • Limited to being causal • Uses a-priori information • Improves transient response • Trajectory dependent • a-causal Feedforward Controller reference error + - Feedback Controller 7/42 + + Plant measurement Repetitive processes wafer die 8/42 Repetitive processes wafer Information from past runs is used to improve future runs Iterative learning control (ILC) die Iteratively update a feedforward signal Iterative feedback tuning (IFT) Iteratively update a controller parameters 9/42 Iterative learning control • Improves performance of systems that operate repetitively over a fixed time interval • Updates a feedforward signal iteratively based on the tracking error signal of previous runs. L: learning filter ILC update law •In P-type ILC, L = scalar j 1 j u ILC (k ) Q(q 1 ) u ILC (k ) L(q 1 )e j (k d ) UILC(k) e(k) ++ r(k) + y(k) C P - 10/42 Q: Q filter •Low-pass filter •Zero-phase •Q ≈ 1 : turn learning on •Q ≈ 0: turn learning off Iterative learning control Advantages: Simple to implement Effective Data-driven method Does not change feedback loop ILC is effective at reducing error due to : Repetitive disturbances Trajectory Error while accelerating disturbances sensor noise 11/42 vibrations ILC example -5 Run 1 Run 3 Run 5 Error (m) 2 0 -2 -4 2 RMS error (m) 4 -7 x 10 1.5 1 0.5 0 0 0.5 1 x 10 1.5 Time (s) 12/42 0 5 Iteration 10 ILC considerations ILC design should satisfy the following considerations: -7 Stability 2 Asymptotic performance -7 0 5 Iteration 10 4 x 10 Transient performance 2 -7 4 0 0 5 Iteration 10 RMS error (m) 0 RMS error (m) RMS error (m) 4 x 10 x 10 2 0 0 5 Iteration Robustness 13/42 10 ILC challenges Vibrations ILC design for systems with vibrations #1 Nonrepetitive High frequency ILC can only compensate for repetitive disturbances Difficult to design ILC algorithms with robust performance at high frequencies 14/42 ILC challenges New Trajectories -5 0.1 5 0.05 0 0 -5 0 1000 2000 3000 Trajectory 1 -5 x 10 Apply ILC 5 x 10 0 0 1000 2000 -5 3000 Tracking error 0 1000 2000 3000 ILC signal 0.4 0 ? ? 0.2 0 2000 4000 Trajectory 2 6000 Tracking error ILC signal When trajectory changes, learning must be restarted from scratch Feedforward signal recalculation method Feedforward controller iterative tuning #2 15/42 #3 #1 ILC design for systems with vibrations 16/42 Error sources categorization Repetitive Non-repetitive Low frequency Force ripple (< 20 Table vibration Hz) (18 Hz) High frequency Vibration modes of plant (150 Hz) 17/42 Sensor noise DOB and ILC DOB filtering Special ILC design First try: P-type ILC P-type ILC, Q filter with 250 Hz cutoff -6 2 Q filter function: Tracking error after 20 runs x 10 Learning turned on in frequency bands where Q ≈ 1 Error (m) 1 0 Learning turned off in frequency bands where Q ≈ 0 -1 -2 0 0.2 0.4 0.6 0.8 Time 1 1.2 1.4 Large learning transient 18/42 First try: P-type ILC P-type ILC, Q filter with 250 Hz cutoff P-type ILC, Q filter with 100 Hz cutoff -6 4 x 10 Tracking error after 20 runs 100 Hz cutoff 250 Hz cutoff Tracking error after 20 runs 100 Hz cutoff 250 Hz cutoff 2 Error (m) 2 Error (m) -6 x 10 0 1 0 -2 -1 -4 0 0.2 0.4 0.6 0.8 Time 1 1.2 1.4 0.2 Transient eliminated Worse peak error 19/42 0.22 0.24 Time 0.26 P-type ILC with notch Q filter P-type ILC, Q filter with 250 Hz cutoff P-type ILC, Q filter with 250 Hz cutoff and notch at 150 Hz -6 x 10 Tracking error after 20 runs 250 Hz cutoff 250 Hz cutoff w notch 1 0 -6 x 10 Tracking error after 20 runs -1 250 Hz cutoff w notch 250 Hz cutoff w dynamic notch 2 -2 0.2 0.22 0.24 0.26 Time 0.28 0.3 0.32 1 Error (m) Error (m) 2 0 -1 Transient eliminated -2 0.2 0.22 0.24 Time 0.26 0.28 P-type ILC, Q filter with 250 Hz cutoff and dynamic notch 20/42 Notch L filter P-type ILC, Q filter with 250 Hz cutoff Notch L filter, Q filter with 250 Hz cutoff -6 Tracking error after 20 runs x 10 1.5 250 Hz cutoff notch L filter 0.5 0 -6 Tracking error after 20 runs x 10 2 -0.5 notch L filter dynamic notch L -1 0.2 0.22 0.24 0.26 Time 0.28 0.3 Error (m) Error (m) 1 1 0 -1 0.2 0.21 0.22 0.23 0.24 Time 0.25 Dynamic notch L filter, Q filter with 250 Hz cutoff 21/42 0.26 0.27 Frequency shaped L filter P-type ILC, Q filter with 250 Hz cutoff Frequency-shaped L filter, Q filter with 250 Hz cutoff -6 x 10 Tracking error after 20 runs 250 Hz cutoff frequency shaped L 0.5 0 L filter shape -0.5 -1 0.2 0.22 0.24 Time 0.26 0.28 Magnitude (dB) Bode Diagram 20 Notch L Frequency shaped L 10 0 135 Phase (deg) Error (m) 1 90 45 0 -45 0 10 1 10 Frequency (Hz) 22/42 2 10 3 10 Model-inverse L filter -6 x 10 Tracking error after 20 runs model inverse L Error (m) 5 0 -5 0.56 0.58 0.6 0.62 Time 0.64 0.66 Model-inverse L, Q filter with 250 Hz cutoff 23/42 Overall comparison - experiment -8 RMS tracking error during learning x 10 P-type 100 Hz cutoff P-type 250 Hz cutoff Q notch Q dynamic notch L notch L dynamic notch L frequency shaped L model inverse RMS error (m) 2.5 2 1.5 1 0.5 0 2 4 6 8 10 12 Iteration number 14 16 18 20 Frequency shaped L filter gives 42.2% improvement over P-type 250 Hz cutoff Conclusions Dynamic notch L filter gives 28.3% improvement over P-type 250 Hz cutoff •Time-varying filters (Q and L) can give better performance than fixed filters •For L, choosing a filter can give better performance than choosing a scalar 24/42 Stability of designed ILC P-type 100 Hz cutoff P-type 250 Hz cutoff Frequency shaped L Phase (deg) Magnitude (dB) Bode Diagram 0 -20 -40 The lowest is ILC with frequencyshaped L -60 720 360 0 -360 0 10 1 10 2 10 Frequency (Hz) Stability condition 25/42 3 10 Performance of designed ILC P-type 100 Hz cutoff P-type 250 Hz cutoff Frequency shaped L Bode plot 0 Magnitude 10 -5 10 0 10 1 2 10 10 3 10 Phase (deg) 60 40 20 0 -20 0 10 1 2 10 10 3 10 Frequency (Hz) Asymptotic error equation 26/42 The lowest is ILC with frequencyshaped L #2 Feedforward signal generation for new trajectories via ILC 27/42 ILC for feedforward signal generation • A learned ILC signal is limited to a single trajectory. • If trajectory is changed, ILC signal must be relearned. -5 0.1 5 0.05 0 0 -5 0 1000 2000 3000 Trajectory 1 -5 x 10 Apply ILC 5 x 10 0 0 1000 2000 3000 Tracking error -5 0 1000 2000 3000 ILC signal 0.4 0 ? ? 0.2 0 2000 4000 Trajectory 2 6000 Tracking error ILC signal Develop a method for generalizing ILC results to other scan trajectories 28/42 Construction of a scan trajectory 0.1 Position Position (m) Scanning at constant velocity Constant acceleration t scan t acc 0.06 0.04 0.02 0 0 500 1000 1500 2000 2500 1500 2000 2500 sample index 0.15 Velocity (m/s) Velocity 0.2 0.1 0.05 0 02 500 1000 1.5 1 Acceleration (m/s/s) Acceleration •Specify •scan length, •velocity limit, •acceleration limit •Time-optimal trajectory •Polynomial spline t acc 0.08 0.5 0 -0.5 -1 -1.5 29/42 -2 0 500 1000 1500 2000 2500 Construction of a Scan Trajectory Trajectory 1 Position (m) 0.1 Acceleration (m/s/s) 2 0.08 0.06 0.04 0.02 1 0 0 0 -1 -2 0 500 1000 1500 2000 0.2 2500 Acceleration (m/s/s) Acceleration (m/s ) -1 0 500 1000 1500 2000 2500 1 0 -1 0 500 1000 1500 2000 1 0 -1 -2 0 1 0 -1 -2 + 1 2500 2 Acceleration (m/s/s) 0.8 2 Acceleration (m/s/s) 0 -2 1 2 1 2 0.8 Trajectory 1 Acceleration 2 -2 0.4 0.6 Time (s) 0 500 1000 1500 2000 2500 0.2 0.4 0.6 Time (s) Notice that acceleration is superposition of 4 shifted and scaled step signals 30/42 Feedforward signal analysis ILC feedforward input signal is also a superposition (assume no disturbances) 2 x 10 -5 2.5 x 10 1 2 -5 0 0 2 1 = error (m) 0.5 0 -0.5 -1 -1.5 -2 -2.5 0 0.1 0.2 0.3 0.4 0.5 0.6 time (s) 0.7 0.8 0.9 0 0 4 0 0 1.5 2 + 4 1 2 2 x 10 -5 4 1 2 2 x 10 -5 x 10 -5 1 1 ILC input for Traj 1 Learned signal 0 0 2 4 decomposition uILC (t ) amax uILC ( t t ) u ( t t ) u ( t t ) u ,u 1 ILC ,u 2 ILC ,u 3 ILC ,u (t t4 ) 2 FF signal (m) Base feedforward signal x 10 Base feedforward signal -5 1 0 acausal part -1 -1 31/42 0 1 2 Time (s) 3 4 Feedforward signal synthesis New scan trajectory Synthesize ILC input 0.2 4 0.15 2 uILC (m) Position (m) Trajectory 2 0.1 0.05 0 0 x 10 -5 Synthesized input for traj 2 0 -2 0.5 1 Time (s) 1.5 2 -4 0 0.5 1 Time (s) 1.5 Then, test it in the system: 32/42 2 Experimental Results x 10 -6 Tracking error for Traj 2 Tracking error (m) 4 Before ILC After 5 iters ILC Using the synthesized FF input Using FF controller 2 0 RMS error is 33.5% lower than with FF controller -2 -4 0.2 0.25 Time (s) 0.3 0.35 The proposed method achieves performance that is: •Similar to ILC, but without need to repeat learning iterations •Better than feedforward controller Advantages of proposed method •Doesn’t require model •Doesn’t require redoing learning iterations •Achieves low tracking error 33/42 #3 Iterative tuning of feedforward controllers 34/42 Feedforward signal vs. controller reference error + ILC feedforward signal + + Feedback Controller - Inverse plant structure Disturbance model structure Feedforward Controller reference error + - Feedback Controller Plant measurement + + 35/42 Plant measurement Iterative Controller Tuning Iterative Feedback Tuning -7 x 10 IFT is an iterative method of tuning controller parameters Minimizes a cost function Descent algorithm search Gradient direction estimated from experimental data Objective function 8 6 4 2 0 1 1 0.5 p2 0.5 0 0 No model of the plant is needed for optimization k 1 k R 1 J k ρ= controller parameters to be tuned = scalar to control step size k = iteration # R = positive definite matrix 36/42 p1 Feedforward controller 1 1 The effect of IFT on error profile -4 First trial After 10 cycles Inverse model structure 0.5 Error (m) For reducing error due to trajectory x 10 0 -0.5 -1 0 0.5 1 1.5 2 Time (s) 2.5 Peak error decreased 95% 37/42 3 3.5 Force ripple 1 -4 x 10 Effect of FF tuning on error profile First trial After 10 cycles Force Ripple is a periodic disturbance that arises in linear permanent magnet motors due to imperfections Error (m) 0.5 0 -0.5 x 10 -6 -1 0 0.5 1 Error (m) 0 2 Time (s) 3 -0.5 -1 -1.5 -2 -2.5 -3 0.4 0.6 0.8 1 Time (s) 1.2 1.4 Force Ripple N Fripple( y ) u ( y ) ak sin( k0 y ) bk cos( k0 y ) k 1 38/42 Feedforward controller 2 Force ripple compensator For reducing error due to force ripple disturbance N F fr (t ) v(t ) aˆ k sin( k0 r (t )) bˆk cos( k0 r (t )) -6 k 1 x 10 The effect of tuning on error profile 3 tune Error (m) tune First Trial After 10 Cycles 2 1 0 -1 -2 Feedforward signals -3 0 39/42 0.5 1 Time (s) 1.5 Comparison of ILC and IFT ILC: Time plot of error Position Error (m) x 10 ILC 2 0 -2 0 x 10 Position Error (m) • Most effective • Simpler computation • No assumptions of model structures Time plot of error -6 0.5 1 1.5 2 Time (s) 2.5 3 3.5 IFT: Time plot of error -6 IFT 2 0 -2 0 0.5 1 1.5 2 Time (s) 2.5 3 3.5 40/42 • Applicable for new trajectories • Performance can be improved by increasing controller complexity Conclusion Iterative methods for high precision position control • ILC design for systems with vibration • ILC feedforward computation for scan trajectories • Iterative feedforward controller tuning 41/42 Thank you Professor Tomizuka Precision motion control group 42/22 MSC Lab Repetitive Processes Silicon wafer 300mm diameter Die Changing every year 43/22 Repetitive Processes Silicon wafer 300mm diameter Die Changing every year International Technology Roadmap for Semiconductors •Translates to: •high tracking precision (error <1nm) •high repeatability 44/22 •high scanning speeds Modelling F x m b P( s) k ms 2 bs 45/22 Trajectory Design 46/22 Construction of a scan trajectory 0.1 t acc 0.06 0.04 Constant acceleration 0.02 0 0.2 0 500 1000 1500 2000 2500 1500 2000 2500 sample index Velocit y Velocity (m/s) 0.15 0.1 0.05 0 02 500 1000 1.5 Acceleratio Acceleration (m/s/s) n •Specify •scan length, •velocity limit, •acceleration limit •Time-optimal trajectory is unique •It is polynomial spline •The continuous-time trajectory is determined analytically then sampled t scan Positio Position (m) n Scanning at constant velocity t acc 0.08 1 0.5 0 -0.5 -1 -1.5 -2 0 500 1000 1500 2000 2500 Thesis contributions • Applying ILC for high precision control of systems with vibrations • Making ILC tuning results applicable to multiple trajectories • Compensating for force ripple disturbance through IFT. Experiment • One complication: force ripple • Force ripple is NOT LTI so it cannot be scaled and time-shifted. • Nor is force ripple disturbance always the same : it depends on the reference trajectory 1 x 10 -6 0.5 0 N Frip ( y ) u Ak cos( k 1 2 2 ky) Bk sin( ky) P P -0.5 -1 0 500 1000 1500 2000 DOB Design Solutio Use a disturbance observer n: DOB compensates the force ripple And ILC feedforward signal compensates error due to the trajectory x 10 x 10 -6 -5 1 Error (m) 2 Error (m) no DOB DOB 0 0 500 1000 u ILC -1 -2 -3 -2 r 0 1500 2000 2500 d C P Q P0 1 1000 1200 1400 1600 1800 Gradient estimate N J ( ) (e[n]) 2 (u[n]) 2 Cost function: n 1 N J e[n] u[n] ( ) e [ n ] ( ) u [ n ] ( ) Cost function gradient: n 1 The relation of error to the controller is known, so 1 e[n] 1 1 r[ n ] 1 P (q )C (q ) C ( ) P e[n] ( ) r[ n ] 2 1 PC Assume SISO r[n] e[n] - 1 C ( ) 1 PC r[n] C 1 PC 1 PC 51/22 C P Controller Tuning Algorithm Minimize a cost function: ρ= controller parameters to be tuned N J ( ) (e[n]) 2 (u[n]) 2 e = tracking error n 1 u = control effort Using a gradient-based iterative search k = iteration # k 1 J R k 1 = scalar to control step size k R = positive definite matrix 52/22 Gradient estimate e[n] 1 C ( ) 1 PC r[n] C 1 PC 1 PC Although 1 C ( ) , C are known, 1 PC are unknown/uncertain , 1 PC 1 PC because involves plant Gradient can be obtained by passing reference through system twice 1 PC r[n] 1 PC 1 PC r[n] e[n] - PC r[ n ] 1 PC C P - 53/22 1 C C ( ) C P e[n] Cost function (sum of squared error) Experiment Results F fr (t ) v(t ) aˆ k sin( k0 r (t )) bˆk cos( k0 r (t )) k 1 N tune 3 x 10 -6 tune The effect of tuning on error profile First Trial After 10 Cycles Error (m) 2 6 x 10 -10 Minimization of sum of squared error 5 4 3 2 1 0 2 4 6 Iteration number 8 Convergence of parameters ak, bk over iterations 1 1 a1 b1 a2 b2 a3 b3 a4 b4 0.5 0 0 -1 -0.5 -2 -3 0 10 -1 0.5 1 Time (s) 1.5 54/42 -1.5 2 4 6 Iteration number 8 10 Experiment Results N F fr (t ) v(t ) aˆ k sin( k0 r (t )) bˆk cos( k0 r (t )) k 1 tune 3 x 10 -6 tune The effect of tuning on error profile First Trial After 10 Cycles Error (m) 2 1 0 -1 -2 -3 0 0.5 1 Time (s) 1.5 55/42 2 x 10 -6 Norm ofofsquared error error Minimization Evolution , ρ22 Evolution of of ρ11and Expected value 0.6 1.5 0.5 0.4 1 2 Cost function (sum of squared error) Tuning Results 0.3 0.2 0.5 0.1 0 2 4 6 Iteration number 8 0 10 56/42 0 0.2 1 0.4 0.6 Semiconductor manufacturing Moore’s law Photolithography Transistor dimension vs. year Courtesy of Intel Courtesy of ASML 57/42 Semiconductor manufacturing Advances in Photolithography Resolution Wavelength Numerical aperture 58/42 Photolithography Semiconductor manufacturing Advances in Photolithography Resolution Wavelength Numerical aperture 22 nm Half-pitch 0.55 nm Inter-atom spacing in silicon Wafer stage motion control •Ultra-high positioning precision •High velocities •Synchronization 59/42 Advanced control schemes