System and method for on-the-fly eccentricity recognition

A method of substrate eccentricity detection includes includes determining at least three positions on a perimeter of a first substrate, grouping the at least three perimeter positions to define one or more circles, estimating a location of a center of the first substrate as the location of a center of a predetermined circle approximated from the at least three perimeter positions, and determining an eccentricity vector as a difference between the estimated location and a reference position on a substrate transport mechanism on which the first substrate rests.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a system and method for substrate detection and, more particularly, to substrate eccentricity detection.

2. Brief Description of Related Developments

Typical manufacturing processes for semiconductor integrated circuits may utilize robotic manipulators to cycle substrates, for example, circular silicon wafers, through pre-determined sequences of operations in fully automated processing equipment. Substrates may be delivered to the substrate processing equipment, also referred to as a tool, in standard transportation cassettes which house a batch of substrates stored in horizontal slots. Individual substrates may then be transferred from the cassettes by a specialized pick-place robot which may be integrated into the tool. Typically, the robot holds a substrate by means of frictional force between the backside of the substrate and an end-effector. In some applications, the force may be supplemented by a controlled suction-cup gripper.

As a result of limited, but not negligible, motion of the substrates in the cassettes during transportation, the robot may pick the substrate with undesirable eccentricity or misalignment. The difference between the actual location of the center of the substrate and the specified position on the robot end-effector needs to be corrected before the substrate can be processed in the tool. Existing methods and devices for determination and correction of eccentricity or misalignment of circular substrates may include stationary aligners, aligners built into the robot end effector, and external sensors.

When utilizing a stationary aligner, a robot places the substrate on a chuck of a stationary rotating device which rotates the substrate while scanning its edge for a fiducial location and substrate eccentricity. The aligner then moves the substrate to a centered position or transmits the resulting eccentricity vector to the robot which utilizes this information to pick the substrate in a centered manner. This approach introduces undesirable delays associated with the additional pick-place operations and with the edge-scanning process, all of which are executed sequentially rather than in an on-the-fly manner. It also undesirably increases the overall complexity and cost of the system.

An aligner may be integrated into the robot end-effector that mechanically centers the substrate and then scans its edge for fiducial location. The aligning process may take place on the fly during a regular substrate transfer operation, which can improve throughput performance. However, the mass and complexity of the moving components of the robot arm increases undesirably, which results in limited speed, compromised reliability and a higher cost.

Determination of substrate eccentricity using external sensors generally includes moving the substrate through a set of sensors which detect the leading and trailing edges of the substrate. The resulting information is processed to determine the actual location of the center of the substrate. The alignment process takes place on the fly during regular substrate transfer operations without increasing the mass or complexity of the robot arm. One example of the use of sensors for determining substrate eccentricity is disclosed by U.S. Pat. No. 5,706,201, issued on Jan. 6, 1998 to J. Randolph Andrews, entitled Software to Determine the Position of the Center of a Wafer. However, one disadvantage of this method is that it requires an array of multiple sensors.

It would be advantageous to provide a system for determining eccentricity or misalignment that includes a limited number of sensors to reduce cost and also overcomes the above mentioned disadvantages and other shortcomings of presently available systems.

SUMMARY OF THE INVENTION

In one embodiment, a method of substrate eccentricity detection is provided. The method includes determining at least three positions on a perimeter of a first substrate, grouping the at least three perimeter positions to define one or more circles, estimating a location of a center of the first substrate as the location of a center of a predetermined circle approximated from the at least three perimeter positions, and determining an eccentricity vector as a difference between the estimated location and a reference position on a substrate transport mechanism on which the first substrate rests.

In another embodiment, a method for determining the eccentricity of a first substrate is provided, including capturing a position of a mechanism transporting the first substrate upon detection of each of at least three points on a perimeter of the first substrate, compensating the captured positions for detection delays, and converting the transport mechanism positions to positions on the perimeter of the first substrate. The method also includes grouping the perimeter positions into trios, each trio defining a circle, estimating a location of a center of the substrate as the location of a center of a predetermined circle approximated from the perimeter positions, and determining an eccentricity vector as a difference between the estimated location and a reference position on the substrate transport mechanism.

In still another embodiment, a method for determining the eccentricity of a substrate includes displacing the substrate through a field of view of one or more sensors to detect at least three points on a perimeter of the substrate, capturing a position of a mechanism displacing the substrate upon detection of each of the at least three points, compensating the captured positions for detection delays, converting the transport mechanism positions to positions on the perimeter of the substrate, grouping the perimeter positions into trios, each trio defining a circle, estimating a location of a center of the substrate as the location of a center of a predetermined circle approximated from the perimeter positions, and determining an eccentricity vector as a difference between the estimated location and a reference position on the substrate transport mechanism.

In a further embodiment, a system for substrate eccentricity detection is provided. The system includes a substrate transport mechanism for transporting a first substrate along a path, at least one sensor for sensing points on a perimeter of the first substrate, and a controller connected to the substrate transport mechanism and to the at least one sensor. The controller is operable to determine at least three positions on the perimeter of the first substrate determined when the at least one sensor detects a perimeter of the first substrate, estimate a location of a center of the first substrate as the location of a center of a theoretical circle with a radius equal to a nominal radius which is approximated by a set of the at least three perimeter positions, and determine an eccentricity vector as a difference between the estimated location and a reference position on the substrate transport mechanism.

In yet another embodiment, a system for substrate eccentricity detection includes a substrate transport mechanism for transporting a substrate along a path, at least one sensor having a centerline positioned eccentric to the path for sensing points on a perimeter of the substrate, and a controller connected to the substrate transport mechanism and to the at least one sensor. The controller is operable to determine at least three positions on a perimeter of the substrate when the at least one sensor detects the perimeter of the first substrate, estimate a location of a center of the substrate as the location of a center of a theoretical circle with a radius equal to a nominal radius which is approximated by a set of the at least three perimeter positions, and determine an eccentricity vector as a difference between the estimated location and a reference position on the substrate transport mechanism.

DETAILED DESCRIPTION OF THE DISCLOSED EMBODIMENT(S)

Referring toFIG. 1, a plan view of a system, shown in this example as a substrate processing apparatus100, incorporating features of the present invention is illustrated. Although the present invention will be described with reference to the embodiment shown in the drawings, it should be understood that the present invention can be embodied in many alternate forms of embodiments. In addition, any suitable size, shape or type of elements or materials could be used.

The present invention includes a substrate transport capability shown inFIG. 1as one or more robot arms120,130and a sensing capability shown inFIG. 1as sensors197,198and controller170. The substrate transport capability120,130and the sensing capability197,198operate to provide for on-the-fly determination of eccentricity or misalignment of a substrate.

For purposes of this invention a substrate may be for example, a semiconductor wafer, any other type of substrate suitable for processing by substrate processing apparatus100, a blank substrate, or an article having characteristics similar to a substrate, such as certain dimensions or a particular mass.

Also for purposes of this invention, eccentricity refers to the difference between the actual location of the center of a substrate and its desired position on an end effector of a robotic manipulator or robot arm. The robot arm may compensate for the difference between the substrate center location and its desired end effector position when performing a place operation, resulting in the substrate being placed in a centered position regardless of the amount and direction of the initial eccentricity.

One aspect of the invention includes a dual-sensor configuration for substrate eccentricity detection. Substrate eccentricity detection may be accomplished using two sensors positioned in optimized locations, advantageously reducing complexity and cost. Another aspect includes compensation for signal delays in the system. This compensation may utilize one or more velocities of the robot arm. Still another aspect of the invention includes substrate deviation detection, that is, detection of deviations from an expected contour of a substrate. This type of detection may be employed to abort or otherwise adjust operation of the one or more robot arms120,130. Yet another aspect of the invention includes feature detection to determine whether a known characteristic on the circumference of the substrate, for example an alignment fiducial, has passed through the sensors. A further aspect of the invention may also include determination of substrate eccentricity. This may be accomplished by using an algorithm based on least-square optimization. The algorithm may be designed specifically to work with the dual-sensor configuration mentioned above. Another aspect of the invention includes a calibration procedure to automatically determine the locations of the sensors, estimate the delays associated with the sensor signals, and set thresholds for deviation and feature detection.

Referring again toFIG. 1, substrate processing apparatus100generally has an atmospheric section105, which is open to the atmosphere, and an adjoining vacuum section110, which is equipped to function as a vacuum chamber.

Atmospheric section105typically has one or more substrate holding cassettes115, and an atmospheric robot arm120. Vacuum section110may have one or more processing modules125, and a vacuum robot arm130. Vacuum section110may also have one or more intermediate chambers, referred to as load locks. The embodiment shown inFIG. 1has two load locks, load lock A135, and load lock B140. Load locks A and B operate as interfaces, allowing substrates to pass between atmospheric section105and vacuum section110without violating the integrity of any vacuum that may be present in vacuum section110. Substrate processing apparatus100generally includes a controller170that controls the operation of substrate processing apparatus100. Controller170has a processor and a memory178. Memory178may include programs including techniques for on-the-fly substrate eccentricity and misalignment detection and correction in accordance with the present invention.

Atmospheric robot arm120, also referred to as an ATM robot, may include a drive section150and one or more arms155. At least one arm155may be mounted onto drive section150. At least one arm155may be coupled to a wrist160which in turn is coupled to an end effector165for holding a substrate215. End effector165may be rotatably coupled to wrist160. ATM robot120may be adapted to transport substrates to any location within atmospheric section105. For example, ATM robot120may transport substrates among substrate holding cassettes115, load lock A135, and load lock B140. Drive section150may receive commands from controller170and, in response, direct radial, circumferential, elevational, compound, and other motions of ATM robot120.

Vacuum robot arm130may be mounted in central chamber175. Controller170may operate to cycle openings180,185and coordinate the operation of vacuum robot arm130for transporting substrates among processing modules125, load lock A135, and load lock B140. Vacuum robot arm130may include a drive section190and one or more end effectors195.

In other embodiments, ATM robot120and vacuum robot arm130may be any suitable type of transport apparatus, for example, a SCARA-type robot, an articulating arm robot, a frog leg type apparatus, or a bi-symmetric transport apparatus.

Dual Sensor Configuration

FIG. 2shows a schematic diagram of an exemplary embodiment of the substrate transport capability and sensing capability. This example shows ATM robot120as providing the substrate transport function, however, it should be understood that this function may be provided by vacuum robot arm130or any other substrate transport mechanism. In this embodiment, ATM robot120is shown as being operable to transfer substrate215along a transfer path225to a station210. Station210may be a load lock135,140, a processing module125, a cassette115, or any other location or device of substrate processing apparatus100capable of supporting substrate215.

A pair of sensors197,198are located along the substrate transfer path225such that the distance between sensor197and transfer path225, shown as distance A, and the distance between sensor198and transfer path225, shown as distance B, are unequal. While distance A is shown as greater than distance B, it should be understood that distance A may be less than distance B, and that distances A and B have any value as long as they are unequal. In alternate embodiments additional sensors could be provided and the sensors could be located at any suitable location along transfer path225, as long as they are able to detect substrate215. Sensors197,198may be any type of sensors appropriate for practicing the present invention, for example, through-beam or reflective optical sensors, infrared sensors, laser sensors, capacitive sensors or ultrasonic sensors.

While transfer path225is shown as a linear path, it may be a curved or any other shaped path.

Turning toFIGS. 3A-3F, as ATM robot120moves substrate215along transfer path225, controller170captures the positions and velocities of end effector165as the edges of substrate215are detected by sensors197,198. Four distinct data sets may be obtained as the sensors197,198detect the leading and trailing edges of substrate215. These data sets along with an expected radius of substrate215and the coordinates of sensors197,198may be used to determine the eccentricity of substrate215and/or for deviation and feature detection purposes.

The data sets may be processed using algorithms designed to accommodate substrates of different diameters and substrates with known deviations from a circular shape, such as alignment fiducials found on the circumference of standard silicon wafers. Compensation may be included to account for errors resulting from delays associated with the signals generated by sensors197,198.

The data sets and algorithms may yield an eccentricity vector which may be employed to achieve a centered substrate placement. The eccentricity vector may be used to calculate adjustments of the destination position for a place operation by ATM robot120. The adjustments may be applied in an on-the-fly manner by modifying the existing trajectory of ATM robot120or may be applied through an additional motion to be executed once the existing trajectory has been completed. The automatic calibration aspect of the invention includes a procedure to determine the locations of sensors197,198, estimate the delays associated with the sensor signals, and set detection thresholds for detecting deviations and features of substrate215.

Compensation for Signal Delays

The data sets mentioned above provide end effector position data, captured when the edges of substrate215are detected by sensors197,198. In practice, the position data may include errors. For example, there may be delays associated with the sensors197,198generating signals, and delays in controller170recognizing that the signals have occurred. These errors may be particularly significant in high-speed/high-accuracy applications where end effector165may travel undesirably long distances during the time from the edge of the substrate entering the field of view of sensor197,198and the controller actually recognizing that such an event has occurred, referred to herein as the sensing time.

In order to estimate the direction and length of motion of end effector165during the sensing time, end effector velocity and position data are captured at the time of edge detection. The captured velocity data is used to construct a velocity vector. The direction and magnitude of the velocity vector are used to determine the instantaneous direction and speed of motion of end effector165. Assuming that the direction and speed of motion of end effector165remain substantially constant during the sensing time, and provided that the time elapsed is equal to a known time delay, the motion of end effector165during the sensing time can be reconstructed to obtain an estimate of the actual position of the end-effector when a particular edge of substrate215enters the field of view of sensor197,198.

The motion reconstruction process may be performed for each data set, for example, when the sensor197detects a leading edge310of substrate215(FIG.3B), when sensor198detects the leading edge310of substrate215(FIG.3C), when sensor197detects a trailing edge315of substrate215(FIG.3D), and when sensor198detects the trailing edge315of substrate215(FIG.3E).

The symbols used in the equations related to the present invention are defined in Table 1 below.

TABLE 1Unit ofSymbolDescriptionmeasurerradius of substrate(m)RadjR-coordinate of adjusted destination position of end-(m)effectorRstnR-coordinate of robot station(m)Riactual R-coordinate of end-effector when sensor(m)detects edge of substrate{tilde over (R)}icaptured R-coordinate of end-effector when sensor(m)detects edge of substrate (delayed reading)TadjT-coordinate of adjusted destination position of end-(rad)effectorTstnT-coordinate of robot station(rad)Tiactual T-coordinate of end-effector when sensor(rad)detects edge of substrate{tilde over (T)}icaptured T-coordinate of end-effector when sensor(rad)detects edge of substrate (delayed reading)vRiR-component of end-effector velocity when sensor(m/s)detects edge of substratevTiT-component of end-effector velocity when sensor(rad/s)detects edge of substratevxix-component of end-effector velocity when sensor(m/s)detects edge of substratevyiy-component of end-effector velocity when sensor(m/s)detects edge of substratexAasymmetry of sensors measured in x-direction,(m)xA= (|xSR| − |xSL|)/2xDdistance between sensors measured in x-direction,(m)xD= |xSR| + |xSL|xSdistance of sensor from desired path of end-effector(m)centerxSLx-coordinate of left sensor (|xSL| is distance of left(m)sensor from desired path of end-effector)xSRx-coordinate of right sensor (|xSR| is distance of right(m)sensor from desired path of end-effector)xiactual x-coordinate of end-effector when sensor detects(m)edge of substrate{tilde over (x)}icaptured x-coordinate of end-effector when sensor(m)detects edge of substrate (delayed reading)ySLy-coordinate of left sensor(m)ySRy-coordinate of right sensor(m)yiactual y-coordinate of end-effector when sensor detects(m)edge of substrate{tilde over (y)}icaptured y-coordinate of end-effector when sensor(m)detects edge of substrate (delayed reading)ΔEtotal substrate eccentricity error(m)ΔSsensor resolution(m)Δxreading error (resolution) in x-direction(m)Δyreading error (resolution) in y-direction(m)εaccuracy of gradient method(m)εbreakdeviation (defect, breakage) detection threshold(m)εnotchfeature (fiducial, notch) detection threshold(m)ηoη-component of substrate eccentricity(m)ηiη-coordinate of point on substrate edge detected by(m)sensorξoξ-component of substrate eccentricity(m)ξiξ-coordinate of point on substrate edge detected by(m)sensorτidelay associated with detection of edge of substrate by(s)sensorWhere index i refers to edge detection events: i = 1, leading edge detected by left sensor, i = 2, trailing edge detected by left sensor, i = 3, leading edge detected by right sensor, i = 4, trailing edge detected by right sensor

Assuming that the positions and velocities of end effector165are captured in terms of polar coordinates, as is typically the case in semiconductor manufacturing applications, the Cartesian components of the velocity vectors may be calculated using the following equations:
vxi=vRisin{tilde over (T)}i+{tilde over (R)}ivTicos{tilde over (T)}i(Equ. 1)
vyi=vRicos{tilde over (T)}i−{tilde over (R)}ivTisin{tilde over (T)}i(Equ. 2)
where {tilde over (R)}iand {tilde over (T)}iare the captured polar coordinates of a reference point R′ on end effector165,vRiand vTidenote the corresponding components of the velocity vector in the polar coordinate system,vxiand vyiare the corresponding cartesian components of the velocity vector, andi=1, 2, 3, 4, where index i refers to four edge detection events, namely i=1 identifies coordinates associated with detection of the leading edge310of substrate215by sensor198, i=2 identifies coordinates related to detection of the trailing edge315of substrate215by sensor198, i=3 is used to designate coordinates quantities associated with detection of the leading edge310of substrate215by sensor197and i=4 refers to coordinates recorded when trailing edge315of substrate215is detected by sensor197. Index i is adopted solely to identify the four edge detection events in terms of the edge and sensor involved, and does not necessarily correspond to the order in which the four edge detection events occur.

Turning now toFIG. 4, using the velocity vectors, the Cartesian coordinates of reference point R′ on end-effector165when the edges of substrate215actually enter the field of view of sensors197,198are determined as follows:
xi={tilde over (R)}isin{tilde over (T)}i−vxiτi(Equ. 3)
yi={tilde over (R)}icos{tilde over (T)}i−vyiτi(Equ. 4)
where τiare delays associated with the four edge-detection events, i=1, 2, 3, 4.

The delays τiassociated with the signals generated by sensors197,198and with the end effector position capture process can be identified in an automated manner as a part of the calibration routine described below.

Deviation Detection

Deviations from an expected shape of the contour of substrate215, which may be due to a defect, manufacturing error, or breakage, may be detected provided that such deviations enter the field of view of sensors197,198. The end effector position readings reconstructed using the delay compensation techniques described above may be converted into points on a perimeter of substrate215that coincide with the locations detected by sensors197,198.

The points may then be grouped into trios, each of the trios defining a circle, and the radii of the circles defined by the trios may be calculated. If any of the radii falls outside an interval defined by an expected substrate radius within a predetermined tolerance threshold, it may be determined that the shape of the perimeter of substrate215deviates from an expected value, for example because of a defect or breakage.

While the following example utilizes four end effector position readings, it should be understood that more or less than four readings may be used.

FIG. 5shows an explanatory diagram for determining a point P3on substrate perimeter510. Coordinates of points on substrate perimeter510coinciding with the points detected by sensors197,198at the edge detection events 1, 2, 3 and 4, mentioned above, are calculated based on the four end-effector position readings and the coordinates of sensors197,198using the following equations:
ξ1=xSLcosT1−ySLsinT1(Equ. 7)
η1=xSLsinT1+ySLcosT1−R1(Equ. 8)
for point 1 detected at event 1,
ξ2=xSLcosT2−ySLsinT2(Equ. 9)
η2=xSLsinT2+ySLcosT2−R2(Equ. 10)
for point 2 detected at event 2,
ξ3=xSRcosT3−ySRsinT3(Equ. 11)
η3=xSRsinT3+ySRcosT3−R3(Equ. 12)
for point 3 detected at event 3, and
ξ4=xSRcosT4−ySRsinT4(Equ. 13)
η4=xSRsinT4+ySRcosT4−R4(Equ. 14)
for point 4 detected at event 4.

The origin of the ξ,η-coordinate system coincides with reference point R′ on end effector165which is the desired location of the actual center O of substrate215on end effector165. The η-axis coincides with the longitudinal axis of end-effector165, pointing radially with respect to the origin of the stationary x,y-coordinate system regardless of the ATM robot position. The coordinates of the centers of the lines that connect points 1, 2, 3 and 4 are found as:
ξij=(ξi+ξj)/2  (Equ. 15)
ηij=(ηi+ηj)/2  (Equ. 16)
where (i,j)=(1,2), (2,3), (3,4), (4,1)

The unit vectors associated with the four lines that connect points 1, 2, 3 and 4 can be expressed as:
uξij=(ξj−ξi)/√{square root over ((ξj−ξi)2+(ηj−ηi)2+(ηj−ηi)2)}{square root over ((ξj−ξi)2+(ηj−ηi)2+(ηj−ηi)2)}{square root over ((ξj−ξi)2+(ηj−ηi)2+(ηj−ηi)2)}  (Equ. 17)
uηij=(ηj−ηi)/√{square root over ((ξj−ξi)2+(ηj−ηi)2)}{square root over ((ξj−ξi)2+(ηj−ηi)2)}  (Equ. 18)
where (i,j)=(1,2), (2,3), (3,4), (4,1).

The normal vectors associated with the four lines that connect points 1, 2, 3 and 4 are then found as:
nξij=−uξij, nηij=uηij(Equ. 19)
where (i,j)=(1,2), (2,3), (3,4), (4,1)

The coefficients of the linear equations that describe the normal lines going through the centers (1,2), (2,3), (3,4), and (4,1) of the four lines are obtained as:
aij=nηij/nξij, bij=ηij−aijξij(Equ. 20)
where (i,j)=(1,2), (2,3), (3,4), (4,1).

The coordinates of the centers and the radii of the circles based on the four trios of points 123, 234, 341 and 412 can be calculated as:
ξijk=(bjk−bij)/(aij−ajk)  (Equ. 21)
ηijk=(aijbjk−ajkbij)/(aij−ajk)  (Equ. 22)
rijk=√{square root over ((ξi−ξijk)2+(ηi−ηijk)2)}{square root over ((ξi−ξijk)2+(ηi−ηijk)2)}  (Equ. 23)
where (i,j,k)=(1,2,3), (2,3,4), (3,4,1), (4,1,2).

The differences between the radii of the four circles and the expected substrate radius are found as:
Δijk=|rijk−r|(Equ. 24)
where (i,j,k)=(1,2,3), (2,3,4), (3,4,1), (4,1,2)

A deviation is detected if any of the differences is greater than a specified threshold εbreak, i.e., if the following condition is true:
(Δ123>εbreak)(Δ234>εbreak)(Δ341>εbreak)(Δ412>Δbreak)  (Equ. 25)
whererepresents a logical OR operation.

In order to prevent false deviation detection for substrates which exhibit known and expected deviations from a particular shape, such as alignment features, the deviation detection threshold εbreakneeds to be set to a value greater than the maximum possible Δijkwhich can result from the presence of such a known feature at the perimeter510of substrate215. If substrate215is expected to be of a particular shape, the deviation detection threshold εbreakneeds to be set above the maximum Δijkassociated with a tolerance range of the shape and with tolerances of the edge detection and position capture process.

When a deviation is detected, controller170can report an error condition which can be used to abort or otherwise adjust operation of ATM robot120.

Feature Detection

Features present on perimeter510of substrate215may also be detected. For purposes of the present invention, a feature may be a known deviation from a substrate perimeter shape, such as an alignment fiducial. It is assumed that the size of such a feature is limited so that no more than one of the four points detected by sensors197,198at perimeter510may be affected by the presence of the feature. If the feature, or known deviation, enters the field of view of one of sensors197,198, the corresponding end effector position reading needs to be identified and rejected as an invalid point for a subsequent eccentricity calculation described below.

Feature detection may be based on reasoning similar to that employed in the deviation detection technique described above. Using the exemplary points determined above, if all of the radii of the four circles constructed previously for deviation detection purposes fall into the interval defined by an expected substrate shape plus or minus a specified feature detection threshold value, all four position readings are deemed to be valid and may be used for a subsequent substrate eccentricity calculation described below. If this condition is not satisfied, the subsequent eccentricity calculation described below may use three readings only. For example, using four readings, where substrate215is circular, the three readings that yield a circle having a radius closest to the nominal radius of substrate215are utilized in the eccentricity calculation. The remaining reading will be rejected as an invalid point. These steps may be conveniently implemented using the four Δijkvalues calculated earlier according to Equation 24. All of the four readings can be used if the following condition is satisfied:
(Δ123<εnotch)(Δ234<εnotch)(Δ341<εnotch)(Δ412<εnotch)  (Equ. 26)
whererepresents logical AND and εnotchrepresents a specified feature detection threshold value.

If the above condition is not satisfied, the three readings that yield a minimum Δijkwill be taken as valid data points for the subsequent eccentricity calculation. In order to distinguish valid and invalid data, four multipliers k1to k4are introduced and set to 1 for the valid readings and to 0 for the invalid reading as shown below:
k1=0 if Δ234=min(Δ123, Δ234, Δ341, Δ412), otherwise k1=1  (Equ. 27)
k2=0 if Δ341=min(Δ123, Δ234, Δ341, Δ412), otherwise k2=1  (Equ. 28)
k3=0 if Δ421=min(Δ123, Δ234, Δ341, Δ412), otherwise k3=1  (Equ. 29)
k4=0 if Δ123=min(Δ123, Δ234, Δ341, Δ412) otherwise k4=1  (Equ. 30)

The value of the feature detection threshold εnotchcan be determined automatically based on levels of measurement errors and noise as a part of the calibration routine described below. If the feature detection threshold εnotchis too small, the three-reading mode of operation will be used more frequently than necessary. If the threshold εnotchis too large, the feature detection techniques will not reject readings that are partially affected by deviations from the ideal shape of substrate215and thus should be rejected.

Recognition of Substrate Eccentricity

Referring again to the example shown inFIG. 5, once a number of valid readings are determined, the location of the actual center O of substrate215with respect to its desired position at reference point R′ on end-effector165may be estimated. The location of the center of a circle with a radius equal to the nominal radius of substrate215which best fits the three or four valid points detected by sensors197,198is determined. A least-square fit approach may be selected for this purpose. Mathematically, the objective generally includes finding estimated coordinates, ξ0and η0, of actual center O of substrate215so that the following cost function J may be minimized:J=∑i=14⁢ki⁡[(ξi-ξ0)2+(ηi-η0)2](Equ.⁢31)

This minimization problem can be solved numerically using a gradient-based iterative process. Since actual center O of substrate215is expected to be close to its desired position at reference point R′ on end effector165, the iterative process may start at this point:
ξ0(0)=0  (Equ. 32)
η0(0)=0  (Equ. 33)

The following steps may be executed repeatedly until the desired accuracy of the location of actual center O of substrate215is reached:

The value of the cost function J calculated in Equation 39 can be used to monitor this process. The calculations may take place repeatedly up to the point when further iterations would not significantly improve the result, i.e., until the following condition is satisfied:
√{square root over ((ξ0(j)−ξ0(j−1))2+(η0(j)−η0(j−1))2)}{square root over ((ξ0(j)−ξ0(j−1))2+(η0(j)−η0(j−1))2)}{square root over ((ξ0(j)−ξ0(j−1))2+(η0(j)−η0(j−1))2)}{square root over ((ξ0(j)−ξ0(j−1))2+(η0(j)−η0(j−1))2)}<ε, i=1, 2, 3, 4  (Equ. 40)
where ε is the desired resolution of the result.

Since the origin of the ξ,η-coordinate system coincides with reference point R′ on end effector165, the estimated coordinates of actual center O of substrate215, ξ0and η0, define directly the ξ,η-components of the substrate eccentricity vector.

Compensation for Substrate Eccentricity

Typically, the eccentricity recognition process takes place on the fly while ATM robot120extends end effector165to place substrate215onto station210, as shown inFIGS. 3A-3F. As mentioned above, adjustments to the ATM robot trajectory, based on the eccentricity vector, may be applied in an on-the-fly manner or may be applied through an additional motion to be executed once the existing trajectory has been completed.

FIG. 6illustrates how the eccentricity vector may be used to calculate the adjustments to the destination position of end-effector165. The adjusted coordinates of the destination position may be determined from the following equations:
Radj=√{square root over (Rstn2−ξ02)}−η0(Equ. 41)
Tadj=Tstn−asin (ξ0/Rstn)  (Equ. 42)
where Rstnand Tstnare polar coordinates of station210, and Radjand Tadjare polar coordinates of the adjusted destination position of end-effector165.
Optimization of Sensor Locations

Turning again toFIGS. 3A-3F, the on-the-fly substrate eccentricity recognition techniques of the present invention employ a number of sensors197,198located along transfer path225to sense leading edge310and trailing edge315of substrate215. As discussed above, when one of leading edge310or trailing edge310enters the field of view of a sensor197,198, the corresponding coordinates of reference point R′ of end effector165are recorded. In the examples above, four sets of readings are then used to determine the eccentricity of substrate215with respect to reference point R′ on end effector165. The possibility of a reading being affected by the presence of a known feature is also taken into account.

If sensors197,198are located on opposite sides of transfer path225, and distances A and B (FIG. 2) are equal, different locations of a known feature on perimeter510(FIG. 5) may result in identical readings, as illustrated inFIGS. 7A-7C. In these Figures, sensor197is located at a distance A from transfer path225, sensor198is located at a distance B from transfer path225, and distances A and B are equal. The known feature on perimeter510may be a notch710.

As shown inFIG. 7A, the same readings may be obtained when notch710is located at the right leading edge715and when notch710is located at the left trailing edge720of substrate215. As a result, it may be impossible to determine the location of actual center o of substrate215. It should be understood that this situation may occur regardless of the size of notch710or the size of distances A and B. For example, as shown inFIG. 7B, the same problem may exist when distances A and B are smaller than inFIG. 7A, and as shown inFIG. 7C, the same problem may exist when distances A and B are greater than in FIG.7A.

A similar problem may arise even when distances A and B are unequal as is depicted in FIG.8.FIG. 8shows that identical readings for two different locations810,815of notch710may be obtained if substrate eccentricities, x1and x2, correspond approximately with the asymmetry of sensors197,198, shown as xa. In order to avoid this, the minimum asymmetry of distances A and B should be larger than the maximum expected substrate eccentricity. Alternately, sensors197,198may be mounted on the same side of transfer path225as shown in FIG.9. In this configuration, distances A and B remain unequal.

It is important to note that a larger amount of asymmetry between distances A and B may be required to compensate for deviations of reference point R′ of end-effector165from transfer path225. Such deviations may be induced for example by imperfect tracking of motors in ATM robot120, and may contribute to aliased readings if the locations of sensors197,198do not provide the required amount of asymmetry between distances A and B.

In practice, a substantially large amount of asymmetry between distances A and B may also be required to guard against measurement errors. For the purposes of the present invention, the robustness, or resistance to measurement noise, of the eccentricity determination may be measured through the radii of the four circles that can be constructed using the four readings, each circle being determined by a unique combination of three points out of the four readings, as described above. Three of these radii may be affected by the presence of notch710. The minimum difference between each of these three radii and the radius of the unaffected circle indicates how well the location of notch710may be identified. A larger value of this difference corresponds to better notch identification capability and therefore, better robustness against measurement noise.

As an example, and referring toFIGS. 10A-10F, assume that substrate215is a 300-mm wafer with actual center O aligned with reference point R′ on end effector165. Notch710is positioned in such a manner that it affects the right leading edge reading (FIG. 10B) by sensor197by 1 mm. Sensors197,198are located symmetrically at a distance of 110 mm from transfer path225. The readings taken when sensor198detects the left leading edge (FIG.10C), when sensor198detects the left trailing edge (FIG.10E), when sensor197detects the right leading edge (FIG.10B), and when sensor197detects the right trailing edge (FIG. 10D) are referred to as points 1, 2, 3 and 4, respectively. The radii of the four circles that can be constructed from these points are calculated as follows: r123=149.660 mm, r234=149.659 mm, r341=150.001 mm and r412=150.000 mm. As expected, the value of r412, i.e., the radius of the circle which is defined by points 1, 2 and 4, is not affected by the presence of notch710. Note that the difference between r341and r412is extremely small, indicating limited capability of distinguishing a notch at the right leading edge from a notch at the left trailing edge of the wafer.

For comparison, the locations of sensors197,198may be changed such that distance A=40 mm and distance B=120 mm. In this case, the radii of the four circles are found as r123=149.257 mm, r234=149.571 mm, r341=149.688 mm and r412=150.000 mm. It is observed that the smallest difference between the radii affected by notch710and the unaffected radius has increased significantly, thus indicating substantial improvement of robustness over measurement noise. Note that the level of robustness in this example is determined by the configuration of sensors197,198and is independent of the algorithm used to process the data.

It appears that the overall accuracy of eccentricity recognition according to the present invention does not deteriorate due to asymmetry of distances A and B, provided that the distance between sensors197,198is selected properly. In other words, it may be possible to use highly asymmetric sensor locations to achieve desirable feature detection robustness without sacrificing the overall accuracy of eccentricity recognition. The following two observations support this conclusion:

Assume that sensor197is kept fixed while sensor198is located at different distances B from transfer path225. As distance B varies, the angle at which the substrate edge310approaches sensor198changes with respect to the transfer path direction. This affects the resolution of the sensor reading in the direction along transfer path225and in the direction perpendicular to transfer path225. The resolutions along transfer path225and in the direction perpendicular to transfer path225become approximately equal when the angle of substrate edge approach is substantially equal to approximately 45 degrees.

As sensor198departs from this ideal location, and moves away from transfer path225, the resolution of the sensor reading in the direction perpendicular to transfer path225improves, and the resolution in the direction along transfer path225deteriorates. At the same time, however, the eccentricity recognition calculations detailed above become less sensitive to errors in the direction along transfer path225, making the loss of resolution insignificant.

When sensor198moves from the ideal location toward transfer path225, the resolution of the sensor reading in the direction along transfer path225improves, and the resolution in the direction perpendicular to transfer path225deteriorates. However, this loss of resolution is accompanied by reduced sensitivity of the eccentricity recognition calculations to reading errors in the direction perpendicular to transfer path225. Thus, loss of resolution in one direction is accompanied by reduction of sensitivity to sensor reading errors in that direction, making the deteriorated sensor readings less significant.

If both sensors197,198are moved to a position offset perpendicular to transfer path225, while keeping the distance between them constant, the loss of resolution of one sensor in a given direction is accompanied by improved resolution of the other sensor in that direction, and vice versa. As a result, the overall accuracy of eccentricity recognition does not change significantly, provided that the distance between sensors197,198is selected properly.

Referring toFIGS. 11A,11B, and12, the following conventions are adopted: y-coordinates are measured along the direction of transfer path225, and x-coordinates are measured perpendicular to transfer path225.

FIG. 11Ashows reading errors in the y-direction (dashed) and x-direction (solid) as a function of the distance of sensor198from transfer path225in accordance with Observation 1 above. It is observed that sensor198provides equal resolutions in the x- and y-directions when the distance to transfer path225is equal to [sqrt(2)/2]r, where r is a radius of substrate215. This corresponds to approximately 0.7 on the horizontal axis of the graph. In this position of sensor198, the angle of substrate edge310with respect to transfer path225is 45 deg, as indicated above.

InFIG. 11B, the dashed line represents total eccentricity error due to reading error in the y-direction, and the solid curve shows total eccentricity error due to reading error in the x-direction. Note that the two curves approach zero as the corresponding graphs inFIG. 11Agrow, i.e., the sensitivity of eccentricity recognition to reading errors decreases as the reading error in the corresponding direction increases.

FIG. 12shows the total eccentricity error as a function of the asymmetry of the distances of sensors197,198from transfer path225. The results are generated by applying an error to the readings taken for leading edge310of substrate215as it is detected by sensor197. It is observed that the distance between sensors197,198may be set to approximately 1.3r in order to minimize sensitivity of the eccentricity error to the level of asymmetry (bold line). For this distance, the error is kept close to the level of the symmetric configuration.

As explained above, sensors197,198should be located in a highly asymmetric manner for feature detection. As shown inFIG. 12, the optimum distance of 1.3r may limit the maximum asymmetric location of the sensors to approximately +/−0.3r.

Automatic Calibration Routine

In order to achieve maximum eccentricity recognition accuracy, the coordinates of sensors197,198should be determined as precisely as possible. Also, the delays associated with the sensor signals and with the position capture process should be identified. Estimates of these delays are utilized for delay compensation as described above. In addition, the level of noise associated with the position capture process may be evaluated as part of setting thresholds for deviation detection and feature detection as described above. These and other operations may be accomplished through an automated calibration routine.

Referring toFIGS. 3A-3FandFIG. 5, the automated calibration routine may begin with substrate215placed on end effector165such that actual center O (FIG. 5) of substrate215substantially coincides with reference point R′ (FIG. 5) on end effector165.

Any features or other known deviations from the expected shape of perimeter510of substrate215should be oriented to be out of the field of view of sensors197,198.

The calibration procedure determines the approximate locations of sensors197,198by moving substrate215along transfer path225in direction C, through the field of view of sensors197,198at a normal operational speed of ATM robot120. A number of positions, for example four, of reference point R′ on end effector165are captured. The positions may be captured when sensor197detects leading edge310(FIG.3B), when sensor198detects leading edge310(FIG.3C), when sensor197detects trailing edge315(FIG.3D), and when sensor298detects trailing edge315(FIG.3E). The corresponding velocities of ATM robot120are also captured at each of the four exemplary positions.

ATM robot120again moves substrate215through the field of view of sensors197,198along transfer path225in direction C, but at a substantially lower speed. The substantially lower speed is selected so that the distance traveled by ATM robot120in a time interval corresponding to delays associated with the signals generated by sensors197,198is smaller than the required position capture accuracy.

As a result, the errors due to the delays in the system associated with signals generated by sensors197,198become negligible. While moving substrate215at the substantially lower speed, a number of positions, which continuing with the above example may be four, of reference point R′ may be captured when sensors197,198detect the leading and trailing edges310,315of substrate215. The various detected positions and a known radius of substrate215are used to calculate the coordinates of sensors197,198. The captured polar coordinates of the end-effector are transformed to the cartesian coordinate system using the following equations:
xi=Risin Ti(Equ. 43)
yi=Ricos Ti(Equ. 44)
where i=1, 2, 3, 4.

The radius of substrate215is denoted as r in Equation 48. A similar set of equations is used to determine the coordinates of sensor198:

The resulting coordinates of sensors197,198along with the positions and velocities captured at normal operational speed of ATM robot120can be used for estimation of the delays in the system, i.e., the delays associated with signals generated by sensors197,198and with the subsequent position capture process.

For example, considering the case when leading edge310of substrate215is detected by sensor197(FIG.3B), the delay associated with the signal generated by sensor197is approximately equal to the time it takes reference point R′ on end effector165to travel from a location where leading edge310is detected by sensor197to a location where the position of R′ is captured. Assuming that end effector165maintains substantially the same direction and speed of motion between the two locations, this time can be obtained by reconstructing the motion of the end effector backward to the point where leading edge310is detected by sensor197.

The same approach can be applied to the remaining three cases, i.e., when sensor198detects leading edge310(FIG.3C), when sensor197detects trailing edge315(FIG.3D), and when sensor298detects trailing edge315(FIG.3E).

The four sets of positions and velocities of reference point R′ on end effector165, captured when the leading and trailing edges of the substrate are detected by the two sensors, are transformed to the Cartesian coordinate system first using the following equations:
{tilde over (x)}i={tilde over (R)}isin {tilde over (T)}i(Equ. 55)
{tilde over (y)}i={tilde over (R)}icos {tilde over (T)}i(Equ. 56)
vxi=vRisin{tilde over (T)}i+{tilde over (R)}ivTicos{tilde over (T)}i(Equ. 57)
vyi=vRicos{tilde over (T)}i−{tilde over (R)}ivTisin{tilde over (T)}i(Equ. 58)
where i=1, 2, 3, 4.

Once the delays are identified, ATM robot120may perform a series of pick-place operations at normal operational speed with predetermined substrate eccentricities to assess the level of noise associated with the edge-detection and position-capture process. For each place operation, the four Δijkvalues defined by Equation 24 are calculated and stored. The resulting information may then be used for automatic setting of the thresholds for deviation detection and feature detection as described below.

If substrate215is expected to have a strictly controlled circular shape, the threshold for deviation or defect detection may be set automatically as the maximum Δijkencountered during the calibration pick-place sequence multiplied by a specified safety factor. However, if substrate215exhibits known deviations from a strictly controlled circular shape, for example, an alignment fiducial on perimeter510, the deviation or defect detection threshold may be set to a value greater than the maximum possible Δijkwhich may result from the presence of such a known feature to prevent false deviation reports.

The threshold for feature detection may be set automatically as the maximum Δijkencountered during the calibration pick-place sequence multiplied by a specified safety factor.

The present invention advantageously provides a dual-sensor configuration for substrate eccentricity detection, with reduced complexity and cost when compared to presently available systems. The present invention includes compensation for signal delays in the system, and also includes substrate deviation detection, that is, detection of unexpected deviations from an expected contour of a substrate. The present invention also includes feature detection to determine whether a known characteristic on the circumference of a substrate enters the field of view of one of the sensors. The present invention further provides for determination of substrate eccentricity and a calibration procedure to automatically determine the locations of the sensors, estimate the delays associated with the sensor signals, and set thresholds for deviation and feature detection.