Iterative Tuning of Feedforward Controller for Wafer Stage

Download Report

Transcript Iterative Tuning of Feedforward Controller for Wafer Stage

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
u ILC ( k )  Q ( q ) u ILC ( k )  L ( q ) e ( k  d ) 
j 1
1
1
j
j
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
2
2
x 10
-5
4
1
2
2
x 10
-5
x 10
-5
1
1
ILC input for Traj 1
Learned signal

+
4
1


0
0
2
4
decomposition



u ILC ( t )  a max u ILC , u ( t  t1 )  u ILC , u ( t  t 2 )  u ILC , u ( t  t 3 )  u ILC , u ( t  t 4 )
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
   R
k
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 )   a k sin( k  0 y )  b k cos( k  0 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( k  0 r ( t ))  bˆk cos( k  0 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
x
F
m
b
P (s) 
k
ms  bs
2
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
F rip ( y )  u  A k cos(
k 1
2
P
ky )  B k sin(
2
P
ky )
-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
d
C


2000
2500

P


Q

P0
1
1000
1200
1400
1600
1800
Gradient estimate
N
J ( ) 
Cost function:

( e[ n ])   ( u [ n ])
2
n 1
J
Cost function gradient:

N
( ) 

e[ n ]
n 1
2
 e[ n ]

(  )   u[ n ]
The relation of error to the controller is known, so
e[ n ] 
 e[ n ]

1
1
1
1  P ( q )C ( q )
P
( ) 

1  PC 
1 C (  )
C

2

Assume SISO
r[n ]
r[n]
C (  )

u[n ]
e[n]
r[n ]
1
PC
1  PC 1  PC
r[ n ]
51/22
C
P
( )
Controller Tuning Algorithm
Minimize a cost function:
ρ= controller parameters to be tuned
N
J ( ) 

( e[ n ])   ( u [ n ])
2
n 1
2
e = tracking error
u = control effort
Using a gradient-based iterative search
k = iteration #

k 1
   R
k
1
J

= scalar to control step size

k
R = positive definite matrix
52/22
Gradient estimate
 e[ n ]


1 C (  )
C
Although

1
PC
1  PC 1  PC
1 C (  )
,
C

r[n ]
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
1  PC 1  PC
PC
r[n]
e[n]
-
1  PC
C
r[n ]
r[n ]
P
1
C (  )
 e[n ]
C


C
-
53/22
P
Cost function (sum of squared error)
Experiment Results


F fr ( t )  v ( t )   aˆ k sin( k  0 r ( t ))  bˆk cos( k  0 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( k  0 r ( t ))  bˆk cos( k  0 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
, ρ22
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