Technical Field
The exemplary and non-limiting embodiments relate generally to a robot and, more particularly, to controlling movement of a robot.
Brief Description of Prior Developments
Semiconductor processing systems utilize one or more robotic manipulators to accurately deliver silicon wafers, referred to as substrates, to process modules, metrology stations, load locks and other suitable locations. Since the substrates may not be accurately positioned in the locations from which they are picked by the robot (initial misalignment), and because the robot end-effector typically does not provide a means of mechanically centering the substrate on the robot end-effector, external sensors are often utilized to detect the edges of the substrate during motion of the robot. This may be used by a control system to adjust the motion of the robot and subsequently deliver (place) the substrate accurately; regardless of the initial misalignment.
To this end, the control system typically captures the positions of the robot axes (motors, joints) when the edges of the substrate are detected by the sensors, and uses the resulting data along with the expected radius of the substrate and the coordinates of the sensors to either (1) determine the eccentricity of the substrate and use this information to compensate for the eccentricity when completing the place operation or (2) directly adjust the end point of the robot motion to place the substrate accurately regardless of the initial misalignment of the substrate. The above type of adjustment is referred to as an Adaptive Placement System (APS).
The accuracy of the APS may be affected by mechanical imperfections, such as structural flexibilities and positioning errors in belt drives of the robotic manipulator, which may distort the relationship between the captured positions of the robot axes (motors, joints) and the corresponding actual positions of the robot end-effector. Typical structural flexibilities include a flexible frame of the drive section of the robot, flexible drive shafts (torsion and bending), flexible links, flexible joints, and elastic belts and bands, which tend to stretch under tension. Positioning errors in belt drives may result from hysteresis due to meshing errors between belt and pulley teeth.
The accuracy of the APS may be affected by temperature changes in the operating environment of the robot. Temperature changes will cause thermal expansion and contraction of the robot's components, the structural frame that the robot is attached to, and the station where the substrate is delivered to. Temperature changes may be non-uniform so that different components of the system are at different temperatures and have different amounts of relative expansion or contraction. The temperature can also vary over time with different parts of the system changing at different rates. The consequence of this thermal deformation is inaccuracy in the robot's calculation of the position of its end effector. This calculation takes as its input the positions of the motors and uses pre-programmed knowledge of the geometry of the robot to calculate the position of the end effector. If the geometry of the robot is distorted by thermal effects, this calculation will be inaccurate. This affects the system in two ways. Inaccurate geometry will affect the ability of the system to position the end effector in the expected and desired location. Additionally in a system with APS, the positions of the motors are captured when the APS sensor is tripped and these data are used to calculate the position of the wafer on the end effector. These APS position capture data will be affected by an inaccurate model of the robot's geometry, causing further inaccuracy on substrate placement.
The following summary is merely intended to be exemplary. The summary is not intended to limit the scope of the claims.
In accordance with one aspect, an example method comprises, based at least partially upon a command transmission to at least one motor of a robot, estimating deflection for at least one member of the robot during movement of the robot; based at least partially upon the estimated deflection, determining calculated end effector coordinates for an end effector of the robot; and based at least partially upon the calculated end effector coordinates, adjusting movement of the robot for placing a substrate, located on the robot, at a desired location.
In accordance with another aspect, an example embodiment is provided in an apparatus comprising: at least one processor; and at least one non-transitory memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to: based at least partially upon a command transmission to at least one motor of a robot, estimating deflection for at least one member of the robot during movement of the robot; based at least partially upon the estimated deflection, determining calculated end effector coordinates for an end effector of the robot; and based at least partially upon the calculated end effector coordinates, adjusting movement of the robot for placing a substrate, located on the robot, at a desired location.
In accordance with another aspect, an example embodiment is provided in a non-transitory program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for performing operations, the operations comprising: based at least partially upon a command transmission to at least one motor of a robot, estimating deflection for at least one member of the robot during movement of the robot; based at least partially upon the estimated deflection, determining calculated end effector coordinates for an end effector of the robot; and based at least partially upon the calculated end effector coordinates, adjusting movement of the robot for placing a substrate, located on the robot, at a desired location.
The foregoing aspects and other features are explained in the following description, taken in connection with the accompanying drawings, wherein:
Referring to
Typical structural flexibilities may include a flexible frame of the drive section of the robot, flexible drive shafts (torsion and bending), flexible links, flexible joints, and elastic belts and bands, which tend to stretch under tension. Positioning errors in belt drives may result from hysteresis due to meshing errors between belt and pulley teeth. It has been found that these manifest themselves as a memory-like phenomenon dependent on the moves performed by the robot. Features as described herein may use this memory-like phenomenon or otherwise.
During motion of the robot, the structural flexibilities, positioning errors in belt drives and other mechanical imperfections may cause a discrepancy between the actual end-effector position and the end-effector position calculated conventionally based on the captured positions of the robot axes (motors, joints) using a rigid-body kinematic model. This discrepancy causes errors in inputs to various sensor calibration and eccentricity correction routines effecting the performance of the APS.
If the operations performed by the robot are repeatable (i.e., the robot follows the same motion paths and identical velocity profiles), the effects of the structural flexibilities and other mechanical imperfections may be inadvertently, and only partially, reduced by calibration procedures; the primary intention of which is to determine the locations of the sensors and to estimate their latency and hysteresis characteristics. However, if the operations performed by the robot are not repeatable (including the cases where the robot follows substantially the same motion paths, but various motion profiles, such as due to different acceleration and/or speed settings for example), or if the effects of the structural flexibilities and other mechanical imperfections become significant (such as due to a growing size of the robot arms or an increasing size and weight of the substrates for example), the effects of the structural flexibilities need to be properly addressed in order to achieve the desired accuracy of the APS.
The present disclosure describes two key features: (1) a position capture mechanism that takes into account flexible dynamics, positioning errors in belt drives as well as other mechanical imperfections of a robot and reduces their effects, and (2) an adaptive placement system which utilizes the above position capture mechanism. The present disclosure also describes a mechanical modification to the end effector of the robot that is designed to interact with the APS sensors in a way that allows the robot's control software to estimate the amount of thermal deformation present when the robot extends to place a substrate.
An example two-axis robotic arm 100 for a semiconductor processing system is depicted in a simplified diagrammatic form in
The example arm 100 of
The position of the example arm of
X=l1 cos θlnk1+l2 cos θlnk2 +l3 cos [(θlnk1+θlnk2)/2]
Y=l1 sin θlnk1+l2 sin θlnk2 +l3 sin [(θlnk1+θlnk2)/2]
θ3=(θlnk1+θlnk2)/2 (1)
where l1 denotes the joint-to-joint length of the first link, l2 is the joint-to-joint length of the second link and l3 represents the distance between the pivot point of the end-effector and the center of the end-effector.
Assuming that one motor/encoder arrangement (motor 1) is directly coupled to the first link, and assuming also that another motor/encoder arrangement (motor 2) is directly attached to the pulley that drives the second link of the arm, and assuming further that the arm does not exhibit any mechanical imperfections, Equations (1) can be rewritten in the following form to describe the kinematic relationship between the measured axis coordinates (motor coordinates) and the end-effector coordinates (direct or forward kinematics):
X=l1 cos θmtr1+l2 cos θmrt2+l3 cos [(θmtr1+θmtr2)/2]
Y=l1 sin θmtr1+l2 sin θmtr2+l3 sin [(θmtr1+θmtr2)/2]
θ3=(θmtr1+θmtr2 )/2 (2)
where θmtr1 denotes the angular position of motor 1 and θmtr2 is the angular position of motor 2. Typically, positions θmtr1 and θmtr2 are measured in real time to facilitate motion control of the robot arm.
When the robot operates in a semiconductor processing system with an APS, the arm may move the substrate through one or more external sensors that may detect the leading and trailing edges of the substrate. At the same time, the control system may capture the positions of the robot axes (motors) when the edges of the substrate are detected by the sensors and, utilizing Equation (2), may convert the captured positions to the corresponding positions of the center of the end-effector. The resulting data along with the nominal (expected) radius of the substrate and the coordinates of the sensors may then be utilized to either (1) determine the eccentricity of the substrate and use this information to compensate for the eccentricity when completing the place operation or (2) directly adjust the end point of the robot motion to place the substrate accurately regardless of the initial misalignment of the substrate. The adjustment to the end point of the robot motion may be applied either in an on-the-fly manner by modifying the existing trajectory of the robot, or through an additional move executed once the existing trajectory has been completed. A suitable APS system and apparatus is disclosed in U.S. Pat. No. 9,196,518 issued Nov. 24, 2015 and entitled Adaptive Placement System and Method which is hereby incorporated by reference herein in its entirety. Another suitable APS system and apparatus is disclosed in U.S. patent application Ser. No. 13/295,419 filed Jun. 4, 2014 and entitled Robot and Adaptive Placement System and Method which is hereby incorporated by reference herein in its entirety.
The above process is illustrated by the block diagram 160 of
Considering the example robot arm 100 of
In
If the robot exhibits structural flexibilities, positioning errors in belt drives or other mechanical imperfections, the calculated end-effector coordinates,
An example two-axis robotic arm 200 with longitudinally elastic belts 202, 204 is depicted in a simplified diagrammatic form in
When the example robot arm of
X=l1 cos θmtr1+l2 cos(θmtr2+Δ2)+l3 cos [(θmtr1+θmtr2+Δ2)/2+Δ3]
Y=l1 sin θmtr1+l2 sin(θmtr2++Δ2)+l3 sin [(θmtr1+θmtr2+Δ2)/2+Δ3]
θ3=(θmtr1+θmtr2+Δ2)/2+Δ3 (3)
where Δ2 222 is the error in the angular position of the second link and Δ3 224 represents the error in the angular position of the third link. The resulting errors in the robot end-effector coordinates are shown as ΔX 226 and ΔY 228 in
The above errors may impact the performance of the APS, as illustrated in
It is observed that the kinematic errors due to longitudinally elastic belts result in an error between the actual location of the substrate on the robot end-effector (black color) and the location obtained based on the conventional forward kinematic equations (grey color), as indicated by vector ē in
APS with End-Effector Position Estimation
In order to eliminate or reduce the impact of the above errors on the accuracy of the APS, an estimation algorithm may be used to take into account the errors, and the position capture mechanism may be modified as illustrated by the block diagram 300 of
As indicated in the block diagram 300 of
The estimation algorithm 302 in the block diagram of
Estimation of Flexibility Effects Using Dynamic Model
Considering the example robot arm of
If the inertia moment of the rotating components of motor 2, including any rotating components rigidly connected to the rotating components of motor 2, such as the belt drive pulley, can be neglected, the force transmitted through the belt arrangement that actuates the second link of the arm is determined directly by the torque applied by motor 2. The effect of the longitudinal elasticity of the belt on the angular position of the second link may then be determined according to the following expression:
Δ2=−τ2/(k2r) (4)
where τ2 is the torque produced by motor 2, k2 represents the longitudinal stiffness of the belt arrangement that actuates the second link of the example robot arm, and r denotes the pulley radius of the belt arrangement that actuates the second link of the example robot arm.
If the inertia moment of the rotating components of motor 2, including any rotating components rigidly connected to the rotating components of motor 2, is not negligible, or if friction impedes rotary motion of these components, the presence of these phenomena may be easily taken into account by directly subtracting their effects from τ2. If {umlaut over (θ)}cmd2 and {dot over (θ)}cmd2 are the angular acceleration and angular velocity of motor 2 respectively, l2 is the inertia moment of the rotating components of motor 2, and b2 is the coefficient of friction for the motor 2 assembly, then the balance of forces during the motion can be expressed as:
τ2=l2{umlaut over (θ)}cmd2+b2{dot over (θ)}cmd2−k2(r·Δ2) (5)
The effect of the longitudinal elasticity of the belt on the angular position of the second link is then:
Δ2=(l2{umlaut over (θ)}cmd2+b2{dot over (θ)}cmd2−τ2)/(k2r) (6)
Estimation of Flexibility Effects Using State Observer
Considering again the example robot arm of
Estimation of Belt Positioning Error Effects
Positioning errors in belt drives represent another phenomenon that may distort the relationship between motor positions and end-effector coordinates of a robot for semiconductor processing systems. Considering the example robot arm of
Considering a synchronous (toothed) belt drive as an example, the dominant factor that often contributes to positioning errors in such a belt drive system is the bias in meshing between the belt and pulley teeth, which may manifest itself as a memory-like phenomenon dependent on the moves performed by the robot in the past. The primary causes for meshing bias are clearances between the belt and pulley teeth and friction at the belt-pulley contact regions. Clearances result in the belt teeth shifting between the walls of the pulley groove and friction results in residual contact forces and tooth deformation. The resulting belt positioning errors may be estimated.
It should be noted that belt positioning errors may occur in other types of belt arrangements, including flat belts and metal bands, which are often used in robots for semiconductor processing systems. The above example methodology for estimation of positioning errors can be extended to such toothless belt drives. For instance, they can be treated as a limit case of a synchronous (toothed) belt arrangement in order to take into account the continuous nature of the belt-pulley interaction in a toothless belt drive system.
Direct Measurement of Flexibility Effects Using Auxiliary Sensors
The robot arm system may also be augmented with additional sensors attached to the structure that are designed so as to directly measure the flexibility in the structure during a robot move that includes an APS measurement. These sensors could be, for example, strain gauges or accelerometers. The sensors could be attached to the robot at any location that is suitable, for example, the outside of any link, the inside of any link, on a pulley, or on a belt.
The robot arm system may also be augmented with additional sensors that are not attached to the structure and make measurements using a non-contact technology. These non-contact sensors would also be designed so as to directly measure the flexibility in the structure during a robot move that includes an APS measurement. These sensors could be, for example, laser interferometers, laser range sensors, capacitive sensors, temperature sensors, optical light sensors, or cameras (for example 1-D or 2-D CCD arrays). The non-contact sensors could be installed within the robotic system (workspace) so as to take measurements at any suitable point on the robot arm such as the top, bottom, or sides of any link, or any other exposed surface that is suitable.
The auxiliary sensors described in this section may also be used in conjunction with one or more of the estimation algorithms described in previous sections. The estimation algorithms could be implemented in such a way so that they use the data from the auxiliary sensors solely, or use the data from the auxiliary sensors in conjunction with the data available from the robot control system including the measurements of generalized positions and generalized forces.
As an alternative to the method represented by the block diagram of
As an alternative to the method represented by the block diagram of
As an alternative to the method represented by the block diagram of
As another alternative, the end-effector coordinates may be calculated using conventional forward kinematic equations, which do not take into account structural flexibilities, belt positioning errors and other imperfections, and then corrected for the effects of these phenomena before being used in the APS algorithm. In some cases, the correction may be calculated strictly based on the instantaneous values of the appropriate variables obtained from the capture mechanism. In other cases, when the effects of the imperfections depend on historic data, various variables may need to be processed periodically in order to achieve an accurate result.
For example, as illustrated in system 360 in
As an alternative to the example of
As yet another alternative to the example of
As another example of system 410 in
Alternatively to the example of
As yet another alternative to the example of
For instance, considering again the example robot arm of
Δ2(tj)=−τ2(tj)/(k2r) (7)
Tcorrected(tj)=T(tj)+Δ2(tj)/2 (8)
Rcorrected(tj)=2l cos [α(tj)−Δ2(tj)/2]+l3 (9)
where
α(tj)=a cos {[R(tj)−l3]/(2l)} (10)
In the above equations, Δ2(tj) is the error in the angular position of the second link, and τ2(tj) is the torque produced by motor 2, both at the time tj of capture event j, k2 represents the longitudinal stiffness of the belt arrangement that actuates the second link of the example robot arm, and r denotes the pulley radius of the belt arrangement that actuates the second link of the example robot arm. Tcorrected(tj) is the corrected angular coordinate of the robot end-effector, T(tj) is the angular coordinate of the end-effector calculated using conventional kinematic equations, Rcorrected(tj) is the corrected radial coordinate of the robot end-effector and R(tj) is the radial coordinate of the end-effector calculated using conventional kinematic equations, all at the time tj of capture event j. Finally, l denotes the joint-to-joint length of the first and second links of the robot arm (in this particular example, the two links are assumed to be of the same length), and l3 represents the distance between the pivot point of the end-effector and the center of the end-effector.
The estimation algorithm in the block diagram of
The estimation algorithm may be employed to estimate effects of various other mechanical imperfections and physical phenomena that may distort the relationship between the measured robot axis positions and the coordinates of the robot end-effector, which typically cannot be measured directly. This includes, but is not limited to, flexibilities in gearboxes, meshing errors in gearboxes, flexibilities in robot joints, clearances in robot joints, frictional effects and thermal effects (expansion and contraction of components due to differences or changes in temperature).
The estimation algorithm may also be used to estimate the velocity of the robot end-effector (including the magnitude and direction of the translational component and the angular component of the velocity of the end-effector). This information may be utilized in various calibration and compensation algorithms as part of the APS.
The APS algorithm in the block diagram of
In one form of thermal deformation, the radial position of the robot can be stretched due to increased temperature of the end effector. In this case, the APS transitions will occur slightly earlier during the extend motion as shown in
In another form of thermal deformation, the tangential position of the robot can be shifted due to increased temperature of the forearm link as shown in
Combinations of radial and tangential distortion can be estimated by combining the end effector flag APS sensor transition data from the leading and trailing edges. An example illustration of this is shown in
Thermal deformation that results in change to the orientation of the end effector can also be detected using this method; see
In general it will be possible to discern the magnitude of thermal distortions in the radial, tangential, and rotational axes even when those distortions are present concurrently. From this, the distortion of the robot's geometry (e.g. link lengths) can be calculated or estimated by formulae that will be specific to the type of robot in use. The updated geometry can then be used for the kinematics calculations, thus improving the accuracy of substrate placement.
In accordance with one aspect of the disclosed, a method is provided comprising: based at least partially upon a command transmission to at least one motor of a robot, estimating deflection for at least one member of the robot during movement of the robot; based at least partially upon the estimated deflection, determining calculated end effector coordinates for an end effector of the robot; and based at least partially upon the calculated end effector coordinates, adjusting movement of the robot for placing a substrate, located on the robot, at a desired location.
In accordance with another aspect of the disclosed, a method is provided where the command transmission comprises a command torque transmission which is transmitted to the at least one motor to generate a predetermined torque vector.
In accordance with another aspect of the disclosed, a method is provided where the estimated deflection for the at least one member of the robot comprises at least one of: a flexible frame member of a drive section of the robot, a flexible drive shaft of the at least one motor, a flexible link of an arm of the robot, a flexible joint between links of the arm of the robot, and an elastic belt or band of the arm of the robot.
In accordance with another aspect of the disclosed, a method is provided where the estimating comprises at least one of: estimation of flexibility effects using dynamic modeling, estimation of flexibility effects using a state observer, estimation of belt positioning error effects, and direct measurement of flexibility effects using at least one auxiliary sensor.
In accordance with another aspect of the disclosed, a method is provided where the estimating of the deflection is based, at least partially, upon location information from at least one sensor regarding at least one of: a portion of the robot, and a substrate carried by the robot.
In accordance with another aspect of the disclosed, a method is provided where the adjusting of movement of the robot is based upon a combination of the calculated end effector coordinates and the location information from the at least one sensor.
In accordance with another aspect of the disclosed, a method is provided where the adjusting of movement of the robot is further based upon forward kinematics determination of the end effector which subsequently provides modified estimated end effector coordinates to an adaptive placement system (APS) to determine adjusted end effector coordinates to be used to drive the at least one motor of the robot.
In accordance with another aspect of the disclosed, a method is provided where adjusting movement of the robot comprises providing the calculated end effector coordinates to an adaptive placement system (APS) to determine adjusted end effector coordinates to be used to drive the at least one motor of the robot.
In accordance with another aspect of the disclosed, a method is provided where the calculated end effector coordinates are provided to a robot location sensing system and/or to a substrate location sensing system, which subsequently provides modified estimated end effector coordinates to an adaptive placement system (APS) to determine adjusted end effector coordinates to be used to drive the at least one motor of the robot.
In accordance with another aspect of the disclosed, an apparatus is provided comprising: at least one processor; and at least one non-transitory memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to: based at least partially upon a command transmission to at least one motor of a robot, estimating deflection for at least one member of the robot during movement of the robot; based at least partially upon the estimated deflection, determining calculated end effector coordinates for an end effector of the robot; and based at least partially upon the calculated end effector coordinates, adjusting movement of the robot for placing a substrate, located on the robot, at a desired location.
In accordance with another aspect of the disclosed, an apparatus is provided where the command transmission comprises a command torque transmission which is transmitted to the at least one motor to generate a predetermined torque vector.
In accordance with another aspect of the disclosed, an apparatus is provided where the estimated deflection for the at least one member of the robot comprises at least one of: a flexible frame member of a drive section of the robot, a flexible drive shaft of the at least one motor, a flexible link of an arm of the robot, a flexible joint between links of the arm of the robot, and an elastic belt or band of the arm of the robot.
In accordance with another aspect of the disclosed, an apparatus is provided where the estimating comprises at least one of: estimation of flexibility effects using dynamic modeling, estimation of flexibility effects using a state observer, estimation of belt positioning error effects, and direct measurement of flexibility effects using at least one auxiliary sensor.
In accordance with another aspect of the disclosed, an apparatus is provided where the estimating of the deflection is based, at least partially, upon location information from at least one sensor regarding at least one of: a portion of the robot, and a substrate carried by the robot.
In accordance with another aspect of the disclosed, an apparatus is provided where the adjusting of movement of the robot is based upon a combination of the calculated end effector coordinates and the location information from the at least one sensor.
In accordance with another aspect of the disclosed, an apparatus is provided where the adjusting of movement of the robot is further based upon forward kinematics determination of the end effector which subsequently provides modified estimated end effector coordinates to an adaptive placement system (APS) to determine adjusted end effector coordinates to be used to drive the at least one motor of the robot.
In accordance with another aspect of the disclosed, an apparatus is provided where the adjusting of the movement of the robot comprises providing the calculated end effector coordinates to an adaptive placement system (APS) to determine adjusted end effector coordinates to be used to drive the at least one motor of the robot.
In accordance with another aspect of the disclosed, an apparatus is provided where the calculated end effector coordinates are provided to a robot location sensing system and/or to a substrate location sensing system, which subsequently provides modified estimated end effector coordinates to an adaptive placement system (APS) to determine adjusted end effector coordinates to be used to drive the at least one motor of the robot.
In accordance with another aspect of the disclosed, a non-transitory program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine for performing operations is provided, the operations comprising: based at least partially upon a command transmission to at least one motor of a robot, estimating deflection for at least one member of the robot during movement of the robot; based at least partially upon the estimated deflection, determining calculated end effector coordinates for an end effector of the robot; and based at least partially upon the calculated end effector coordinates, adjusting movement of the robot for placing a substrate, located on the robot, at a desired location.
In accordance with another example embodiment, an apparatus may be provided comprising means, based at least partially upon a command transmission to at least one motor of a robot, for estimating deflection for at least one member of the robot during movement of the robot; means, based at least partially upon the estimated deflection, for determining calculated end effector coordinates for an end effector of the robot; and means, based at least partially upon the calculated end effector coordinates, for adjusting movement of the robot for placing a substrate, located on the robot, at a desired location.
Any combination of one or more computer readable medium(s) may be utilized as the memory. The computer readable medium may be a computer readable signal medium or a non-transitory computer readable storage medium. A non-transitory computer readable storage medium does not include propagating signals and may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
It should be understood that the foregoing description is only illustrative. Various alternatives and modifications can be devised by those skilled in the art. For example, features recited in the various dependent claims could be combined with each other in any suitable combination(s). In addition, features from different embodiments described above could be selectively combined into a new embodiment. Accordingly, the description is intended to embrace all such alternatives, modifications and variances which fall within the scope of the appended claims.
This application claims priority on U.S. Provisional patent application No. 62/081,209 filed Nov. 18, 2014 which is hereby incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4449885 | Hertel et al. | May 1984 | A |
4507078 | Tam et al. | Mar 1985 | A |
4523985 | Dimock | Jun 1985 | A |
4770590 | Hugues et al. | Sep 1988 | A |
4819167 | Cheng et al. | Apr 1989 | A |
4884941 | Kazerooni | Dec 1989 | A |
4955780 | Shimane et al. | Sep 1990 | A |
5418441 | Furukawa | May 1995 | A |
5483138 | Shmookler et al. | Jan 1996 | A |
5546179 | Cheng | Aug 1996 | A |
5563798 | Berken et al. | Oct 1996 | A |
5682795 | Solomon | Nov 1997 | A |
5690744 | Landau | Nov 1997 | A |
5704062 | Caroleo | Jan 1998 | A |
5706201 | Andrews | Jan 1998 | A |
5980194 | Freerks et al. | Nov 1999 | A |
6085125 | Genov | Jul 2000 | A |
6198976 | Sundar et al. | Mar 2001 | B1 |
6225012 | Nishi | May 2001 | B1 |
6304051 | Sagues et al. | Oct 2001 | B1 |
6327517 | Sundar | Dec 2001 | B1 |
6405101 | Johanson et al. | Jun 2002 | B1 |
6464448 | Ha | Oct 2002 | B1 |
6489741 | Genov | Dec 2002 | B1 |
6502054 | Mooring et al. | Dec 2002 | B1 |
6571657 | Olgado | Jun 2003 | B1 |
6629053 | Mooring | Sep 2003 | B1 |
6760976 | Martinson et al. | Jul 2004 | B1 |
7008802 | Lu | Mar 2006 | B2 |
7129694 | Brunner | Oct 2006 | B2 |
7433759 | Nangoy | Oct 2008 | B2 |
7456977 | Ramsey | Nov 2008 | B2 |
7792350 | Kiley et al. | Sep 2010 | B2 |
7894657 | Van Der Meulen et al. | Feb 2011 | B2 |
7933665 | Sakiya et al. | Apr 2011 | B2 |
7963736 | Takizawa et al. | Jun 2011 | B2 |
8224607 | Sakhare et al. | Jul 2012 | B2 |
8950998 | Meulen | Feb 2015 | B2 |
9026244 | Mazzocco | May 2015 | B1 |
9108322 | Chisholm | Aug 2015 | B2 |
9196518 | Hofmeister et al. | Nov 2015 | B1 |
20030223057 | Ramsey | Dec 2003 | A1 |
20040167743 | Hosek | Aug 2004 | A1 |
20050224902 | Ramsey | Oct 2005 | A1 |
20050233770 | Ramsey | Oct 2005 | A1 |
20060130750 | Ishikawa | Jun 2006 | A1 |
20070264106 | van der Meulen | Nov 2007 | A1 |
20090038258 | Pivac | Feb 2009 | A1 |
20090232630 | Roberts | Sep 2009 | A1 |
20090243413 | Gilchrist | Oct 2009 | A1 |
20100081095 | Shibazaki | Apr 2010 | A1 |
20100157275 | Shibazaki | Jun 2010 | A1 |
20120249992 | Matsuura | Oct 2012 | A1 |
20130041509 | Saito | Feb 2013 | A1 |
20130071218 | Hosek | Mar 2013 | A1 |
20150179491 | Katsuda | Jun 2015 | A1 |
20150214086 | Hofmeister | Jul 2015 | A1 |
Number | Date | Country | |
---|---|---|---|
20160136812 A1 | May 2016 | US |
Number | Date | Country | |
---|---|---|---|
62081209 | Nov 2014 | US |