Robot motion compensation system

Abstract
Motion of a substrate-transporting robot arm is controlled in order to compensate for inaccuracies and deflections encountered during operation. The compensation is effected by synchronizing elevational and planar motions of the robot arm such that the trajectory of the substrate is made coincident with the object axis of the substrate. The substrate may be a semiconductor wafer, an LCD panel or an end effector of the robot arm. The synchronized motion is achieved using a controller issuing control signals to arm actuating means based on synchronization algorithms developed during analytical or experimental robot learning sessions.
Description




BACKGROUND OF THE INVENTION




1. Field of the Invention




The invention relates to substrate handling robots.




2. Description of Related Art




In the semiconductor and other industries, robots are called upon to perform a variety of tasks requiring high repeatability and precision. For example, in semiconductor wafer processing, cassettes containing a plurality of semiconductor wafers are loaded and unloaded into a micro-environment in which the wafers are to undergo processing. The loading and unloading functions involve automated motions performed by a robot, also serving to variously transport the wafers between different processing stations in the micro-environment. Such a robot is disclosed in co-pending U.S. patent application Ser. No. 09/079,850, entitled “Robot Having Multiple Degrees of Freedom”, incorporated herein by reference in its entirety.




The robot in the aforementioned patent application is of the type known as a Global Positioning Robot (GPR) and, as seen in

FIG. 1

, comprises a base unit


12


having one or more telescoping platforms


14


atop of which is mounted a robot arm


16


with an end effector


18


for handling the substrates. The telescoping motion constitutes motion in the Z axis, with the robot further adapted to tilt about the Z axis. Tilting is effected by independently actuating Z motion along means such as motors (not shown). Other tilting mechanisms are also known and may be used to effect the tilting along the Z axis.




The robot arm


16


is additionally capable of motion in a plane defined by R and θ coordinates in a conventional cylindrical coordinate system such that the end effector


18


can move anywhere about a predetermined region in the plane, taking a variety of possible paths including both linear and non-linear paths. This motion is effected using appropriate actuation means such as motors and associated belt-pulley linkages (not shown) as described in the aforementioned patent application. Other motions include yaw and roll motion of the end effector


18


, permitting the robot to achieve six or more degrees of freedom and possibly kinematic redundancy. The actuation means are controlled using a suitable control means such as a microprocessor adapted to issue the appropriate commands to achieve the desired motion trajectories.




The amount of precision which can be realized in robotic applications is dependent upon various factors and is limited by for example the geometry and stiffness of the moving components such as the robot arm. The weight of the substrate being manipulated by the robot also imparts certain deflections on the system, and with the advance of the semiconductor and LCD technology fields requiring the handling of larger and larger substrates, this factor becomes increasingly significant. As the substrate is transported between different positions by the robot, deviations from the intended path inevitably occur, compromising the accuracy of the system and imposing undesirable constraints, such as for example the need to increase spacing between the wafers in a cassette in order to accommodate expected deviations. Problems can thus arise due to inaccuracies or deflection of the robot arm, deflection of the end effector of the robot arm or of the manipulated substrate, or to misalignment of the substrate and/or cassette.




To better explain the problems encountered, an ideal situation will first be discussed.

FIG. 2A

shows the ideal case in which the substrate, in this case a semiconductor wafer


24


having a substantially planar shape and an object axis P lying in its primary plane, is centered within its designated slot


28


in cassette


22


. The orientation of the wafer


24


and the orientation of the slot


28


are identical. The robot arm (not shown) is assumed to be perfectly manufactured and therefore the wafer


24


remains in the same plane during its transport to and from slot


28


. Since the plane of motion of wafer


24


, depicted in

FIG. 2B

, is coincident with the plane of the wafer itself (and more particularly with the object axis P) and the plane of the slot


28


, no obstructions in the travel path are encountered and motion of the wafer


24


between the approach position and the pickup position is unhampered. For clarity, the approach position is defined with respect to the cassette and is to be understood as the position at which the end effector and/or end effector-wafer combination approach or retract from the cassette, while the pickup position is defined with respect to the wafer itself and is the position at which the end effector is just about to engage or disengage from the wafer.




In a first non-ideal situation encountered in practice and depicted in

FIG. 3A

, the orientation of the wafer


24


is different from that of slot


28


which it occupies, with object axis P being transverse to the axis of the slot


28


. Since the wafer


24


cannot be withdrawn from the cassette


22


in this transverse position, either the cassette


22


must be rotated while the orientation of the wafer


24


is maintained until parallelism of the two is achieved (FIG.


3


B), or the robot itself must be rotated while supporting wafer


24


(FIG.


3


C). The rotation of the cassette is a disruptive intervention which must be performed manually and detracts from system throughput and efficiency, while rotation of the wafer-end effector combination can only be performed using GPR-type robots.




A worse situation, depicted in

FIGS. 4A and 4B

, occurs when the wafer


24


, initially properly aligned within slot


28


(FIG.


4


A), changes its orientation and vertical position during motion due to for example geometric inaccuracies of the arm. Equally undesirable is for the wafer


24


to approach the slot


28


in the displaced orientation and vertical position during the reverse, insertion process into the cassette


22


. A manifestation of this is the tilt of object axis P with respect to the direction of motion a such that the orientation of wafer


24


is transverse to the direction of motion a.





FIGS. 6A-6C

show the motion of a semiconductor wafer


24


during retraction from a slot


28


of a misaligned cassette


22


. As can be seen from the drawing figure, because the direction of motion of wafer


24


is not coincident with object axis P of wafer


24


, an object shadow


29


is created which the wafer


24


, over the course of the transport duration, necessarily occupies. This object shadow


29


exceeds the slot width shown in

FIGS. 6A and 6B

and imposes the requirement of an expanded width on slot


28


as shown in

FIG. 6C

in order to permit unobstructed retraction or insertion of the wafer


24


into the cassette


22


. Accordingly, wafer pitch and cassette capacity are reduced.




Conventional non-GPR robots cannot obviate this situation because they are unable to change the orientation of the end effector about its longitudinal axis and because they lack adequate algorithmic resources to implement the necessary combination of motions. GPR robots, on the other hand, can compensate for the undesirable deviations because these robots can for example be tilted along the Z axis, as shown in FIG.


5


.





FIG. 5

schematically shows two positions of a wafer-carrying GPR robot: compensated position


30


and uncompensated position


30


′. The compensation in this case is effected in order to maintain a horizontal position of the wafer


24


, although other positions can of course also be achieved. As can be seen, in the uncompensated position


30


′, with the arm


16


′ extended, the position of the end effector


18


′ and the wafer


24


′ deviate from the horizontal, exhibiting a sag due to for example the weight of wafer


24


′, arm


16


′ and end effector


18


′, and to the geometry and stiffness of arm


16


′ and end effector


18


′. In order to compensate for this deviation, platform


14


is tilted a predetermined angle α and lowered an amount dZ while arm


16


is extended by a predetermined amount. The resultant tilt re-aligns wafer


24


to a horizontal orientation.




Because the above situations are encountered in practice, it is desirable to control robot motion such that the robot arm is made to counter-act anticipated deflections and deviations from its intended path. In such a manner greater precision and substrate pitch are achieved and process throughput improved.




SUMMARY OF THE INVENTION




The present invention overcomes the deficiencies of the prior art by actively compensating for deviations in the travel path of the robot arm. In accordance with the invention, the velocity components of robot arm motion are synchronized during extension and retraction of the robot arm to thereby compensate for mechanical and other imperfections, as well as other imperfections of the arm and the manipulated object, which would otherwise cause deviations from an ideal path.




In accordance with the preferred embodiment, motion of the robot arm in the Z direction is synchronized with the planar motion of the robot arm such that the trajectory of the transported object, which may be the end effector of the robot arm itself, is along an object axis of the object. The synchronization may be a linear interpolation between the approach and pickup positions of the robot in terms of the end-effector coordinates. The effects of robot arm position deviation due to for example the weight of the substrate is canceled by applying a predetermined motion algorithm taking into account the position of the robot arm-object combination as well as their weight, along with other factors impacting the accuracy of the object manipulation process.




GPRs (Global Positioning Robots) are particularly well-suited to minimize such deviations because their triple actuated Z axis provides stronger support to the upper mechanical structure and because their kinematic versatility enables adjustment of the orientation of the platform of the GPR and the end effector to the orientation of the cassettes without affecting the characteristic point (center) of the manipulated substrate. In accordance with the invention, the dexterity of GPRs is exploited with synchronous movement of the platform during transition between the approach and pickup positions of the end effector associated with a cassette or another substrate holder.











BRIEF DESCRIPTION OF THE DRAWINGS




Many advantages of the present invention will be apparent to those skilled in the art with a reading of this specification in conjunction with the attached drawings, wherein like reference numerals are applied to like elements and wherein:





FIG. 1

is a schematic illustration of a GPR robot;





FIGS. 2A and 2B

are schematic illustrations of an ideal substrate retraction situation;





FIGS. 3A-3C

are schematic illustrations of a first non-ideal situation encountered in practice;





FIGS. 4A and 4B

are schematic illustrations of a second non-ideal situation encountered in practice;





FIG. 5

is a schematic illustration a compensated and an uncompensated configuration of a GPR robot;





FIGS. 6A-6C

are schematic illustrations describing the non-ideal situations in which object shadows are created;





FIG. 7

is a schematic illustration of a GPR robot in the approach and pickup positions;





FIG. 8

is a schematic illustration showing internal details of a GPR robot; and





FIG. 9

is a schematic diagram illustrating the various computational principles involved in accordance with the invention.











DESCRIPTION OF THE PREFERRED EMBODIMENTS





FIG. 7

schematically shows two positions of a substrate-carrying GPR: approach position


31


and pick up position


31


′. In operation, arm


34


reciprocates between these two positions during operation of the robot, such as for example to approach a substrate-carrying cassette (not shown) and pickup the substrate


32


therefrom, or to deliver the substrate


32


from another region in the system back to the cassette. It is to be understood that the term substrate includes for example semiconductor wafers and LCD panels. Additionally, the method of the invention as described below can be applied to the motion of any object, including the end effector itself regardless of whether it is transporting a substrate, such that difficulties associated with the accurate motion of the object can be obviated.




As can be seen, in order to maintain substrate


32


in a horizontal orientation, arm


34


is necessarily angled at a predetermined compensation angle β compensating for the sag imposed by for example the weight of substrate


32


and the geometry and stiffness of the arm


34


. Such a compensation angle is readily achieved in a GPR of the type in which platform


36


, supported on three supports (only two of which—


37


and


39


—are shown), can be tilted by moving the supports in the Z direction at different rates. As illustrated in

FIG. 8

, such motion is effected using actuation means such as motors


41


and


43


and is controlled by a controller


45


such as for example a suitably programmed microprocessor. Controller


45


also controls planar extension/retraction motion of arm


34


and any other motions contemplated, including yaw, pitch and roll motions. Controller


45


operates by issuing control signals to actuation means


40


, such as a motor, which operates via an appropriate mechanical linkage system


42


,


44


to effect the desired planar extension/retraction motion. Signals to one or more motors (not shown) for independently moving the end effector


47


are also issued by the controller


45


. For purposes of explanation, the motion of robot arm


34


will be discussed in terms of elevational (Z) motion and planar extension/retraction motion. However, it will be understood that the planar extension/retraction motion may itself engender the various other motions of which the robot arm


34


and end effector


47


are capable as discussed above.




With reference again to

FIG. 7

, it can be seen that the different positions of substrate


32


in the approach position (


31


) and the pickup position (


31


′) are due to the different amount of planar extension/retraction motion of robot arm


34


and the different elevational (Z) positions of platform


36


, regardless of the tilt angle β, which tilt angle does not necessarily change between the two positions. Hence, during travel of arm


34


between the approach position


31


and the pickup position


31


′, synchronization of the planar extension/retraction motion of the arm


34


with the elevational motion of platform


36


on which arm


34


is mounted serves to preserve both the orientation of the substrate


32


and its planar position. In other words, in moving between the pickup and approach positions, substrate


32


is made to travel along a trajectory which is at least partially coincident with its object axis P by imparting to arm


34


both planar motion and elevational motion and by synchronizing these two imparted motions. The synchronization can be in the form of a linear interpolation between the approach and pickup positions of the robot using the coordinates of the end effector


47


at and between these positions along the travel trajectory. In the particular example of

FIG. 7

, both the travel trajectory and the object axis P are horizontal, although this will not necessarily always be the case. The synchronization can be effected by control means


45


issuing appropriate signals to actuation means


40


,


41


and


43


and other means associated with the arm motion, including the end effector


47


and its associated motor or motors (not shown).




In GPR robots such as that illustrated in

FIG. 6-8

, platform


36


is supported on a compound Z axis support having three support members (only two,


37


and


39


, are shown). As discussed, platform


36


is independently actuatable along these Z-axis supports to achieve any desired tilt within a prescribed range of tilt angles. The particular Z position of the platform is defined by the three Z-axis coordinates (Z


1


,Z


2


,Z


3


). At pickup, the elevational position of platform


36


is defined by Z coordinates (Z


1




pu


,Z


2




pu


,Z


3




pu


), while at approach, the position is defined by Z coordinates (Z


1




appr


,Z


2




appr


,Z


3




appr


). The pickup position differs from the approach position along the Z axes by the amount dZ=(dZ


1


,dZ


2


,dZ


3


), wherin dZ


1


=Z


1




pu


−Z


1




appr


, dZ


2


=Z


2




pu


−Z


2




appr


and dZ


3


=Z


3




pu


−Z


3




appr


. In the arrangement of

FIG. 7

, dZ


1


, dZ


2


and dZ


3


are equal (dZ


1


=dZ


2


=dZ


3


) such that the angle of platform


36


is the same in both positions. However, as discussed below, this will not necessarily always be the case.




The synchronization of the Z motion with the arm


34


planar extension/retraction motion can be achieved using algorithms developed by controller


45


analytically or experimentally. In the analytical approach, the mechanical properties—that is, the geometry, stiffness and weight, for example—of arm


34


and substrate


32


are all taken into account to calculate the relative Z-axis and planar extension/retraction motions necessary to maintain the proper orientations and movement directions in a relatively straight-forward manner. From this data motion control algorithms are developed which guide the trajectory of robot arm


34


using controller


45


to issue the necessary control signals to the different arm actuation mechanisms.




In the experimental approach, the pickup and approach positions are individually taught, during an initial learning mode, for example for each cassette and/or processing station. As an example, teaching of the robot may be implemented to guarantee that the substrate


32


is in the middle of the slot at the pickup position and its front edges are in the middle of the slot entrance at the approach position. This procedure automatically accounts for the compound deflection of the arm


34


, the end effector


47


, and the substrate


32


, as well as for the inaccuracies of the arm


34


. Again, from this data appropriate motion control algorithms are developed for implementing the necessary motions of the robot arm


34


using controller


45


to issue the appropriate commands to the actuation mechanisms. Of course those skilled in the art will appreciate that movement in a single straight line, along radial trajectories, non-radial multi-segment trajectories and non-radial trajectories with compound velocity profiles all fall within the purview of the invention.




From the above, it can be seen that compensation in accordance with the invention consists of correction for the orientation of the object at two characteristic positions—approach and pick up—and synchronous motion of all robot axes between these two positions. Tilt motion is such a motion, and provided that the robot is at the pickup position of a particular station, the robot needs to rotate the object/end-effector around the object's characteristic point (i.e., “center”) in order to compensate for imperfection in the station orientation. To accomplish this, this task requires at least six degrees of freedom. A GPR robot is particularly well-suited for providing these six degrees of freedom in the semiconductor processing context because of the light weight manner in which end effector manipulation can be achieved and because of the high accuracy and increased payload of which it is capable due to its characteristic hybrid nature. This hybrid nature of the GPR derives from the fact that the GPR is considered to be a series-parallel device, with the parallel component being the three Z-axis robot elevators and with the serial component being the extensible arm having the planar motion prescribed by radial and angular motions. Each of these components imparts certain operational advantages, and together, a handling device optimized for the semiconductor processing environment is realized. Specifically, GPR robots combine the advantages of parallel and serial manipulators by providing fast global (over a large working area) motion using a simple planar (T,R,Y) serial-arm and accurate tilting motion through the parallel mechanical structure that supports the robotic arm.




The hybrid nature of GPR robots, however, imposes unique kinematics requirements which are specific to the mechanical characteristics of the device. Accordingly, deflection compensation for tilt motion, which comprises rotation of the end-effector around one or more axes in order to compensate for imperfection in station orientation for example, includes calculation of the position and the orientation of the end-effector based on the current position of the motors of the GPR (generalized coordinates), using encoders whose outputs are related to the motor positions. The calculations are referred to as the direct kinematics and their solution is necessary in order to determine the position of the coordinate frame firmly affixed to the object. Then, after determining the position of the coordinate frame by solving the direct kinematics, the robot implements rotation of the object/end-effector around a selected axis of this coordinate frame to arrive at a desired orientation. This desired orientation is associated with general robot position coordinates which are then determined by solving inverse kinematics equations. In effect, the inverse kinematic equations relate back to the general robot position.




After performing the above calculations and motions, the object/end-effector is moved from the approach to the pick-up positions. This motion involves both tilting and translation, which are also effected by performing the calculations involving the direct kinematics and inverse kinematics in a manner analogous to that previously described. During robot motions, a comparison of the solutions of the inverse kinematics and the direct kinematics can be used to ascertain that proper motion and trajectories have been followed. The motion between the approach and pick-up positions can be coordinated such that the two motions are synchronized in order to realize some of the advantages of the present invention.




Solving the direct kinematics problem is explained with reference to FIG.


9


and involves the following:




Direct Kinematics




Given: The generalized coordinates of the robot z


1


, z


1


, z


1


, Θ


1


, Θ


2


, Θ


3






Find: The position of the characteristic point of the end-effector r


t




(b)


and its orientation R


tb






The position of the poles of the spherical bearings at the platform can be calculated as follows:








r




i




=


{right arrow over (O


b





P


)}


i




=r




bi




−z




i




e




b3




, i=


1,2,3.






Then the radius-vector of the center point of the platform can be represented as








r




b


=⅓(


r




1




+r




2




+r




3


).






The unit vectors of the coordinate frame firmly attached to the platform a given by







e
p1

=



r
1

-

r
b



&LeftDoubleBracketingBar;


r
1

-

r
b


&RightDoubleBracketingBar;







e
p3

=



r
13

-

r
12



&LeftDoubleBracketingBar;


r
13

-

r
12


&RightDoubleBracketingBar;







e
p2

=


e
p3

×

e
p1












where








r




12




=r




2




−r




1


and


r




13




=r




3




−r




1








The position of the characteristic point of the end-effector r


t




(b)


with respect to the absolute (base) coordinate frame O


b


e


b1


e


b2


e


b2


can be calculated according to the formula








r




t




(b)




=r




b




(b)




+R




pb




r




Pt




(b)


,






where








r




Pt




(p)




=[r




Pt






1






(p)




r




Pt






2






(p)




h]




T


,










r




Pt






1






(p)


=2


a


[cos(Θ


1


)+cos(Θ


1





2


)]+


l


cos(Θ


1





2





3


)










r




Pt






2






(p)


=2


a


[sin(Θ


1


)+sin(Θ


1





2


)]+


l


sin(Θ


1





2





3


),






and a and l stand for the length of the first link of the robot-arm and the length of the end-effector respectively. Finally, the orientation of the end effector can be represented by the orthogonal unit vectors








e




t2




(p)


=[cos(Θ


1


Θ


2





3


)sin(Θ


1





2





3


)0]


T












e




t2




(b)




=R




pb




e




t2




(p)












e




t3




(b)




=e




p3




(b)












e




t1




(b)


=(


e




t2




×e




t3


)


(b)








Solving the inverse kinematics problem involves the following:




Inverse Kinematics




Given: The position of the characteristic point of the end-effector r


t


and its orientation represented by the transformation matrix R


tb


=[e


t1


e


t2


e


t3


]




Find: The generalized coordinates of the robot z


1


, z


2


, z


3


, Θ


1


, Θ


2


, Θ


3






In order to calculate the position of the center of the platform with respect to the absolute (base) coordinate frame O


b


e


b1


e


b2


e


b2


we calculate the intersection point of the axis O


b


Pe


b3


and the end-effector plane represented by the equation








e




t3


.(


r−r




t


)=0.






Direct substitution of the coordinates of the point P into the above equation gives:








e




t3


.(


O




b




Pe




b3




−r




t


)=0






and








O




b




P=e




t3




.r




t


/e


b3




.e




t3








Consider that









O
p


P

=

h


e
b3

·

e
t3




,










where h=O


p


Q is the height of the robot-arm, the distance between the characteristic poles of the base and the platform can be calculated as






z
=



O
b



O
p


=





e
t3

·

r
t


-
h



e
b3

·

e
t3



.












The generalized coordinates z


1


, z


2


, z


3


, which represent the length of the rods connecting the base and the platform, are given by








z
1

=



O
bi



O
pi


=

z
-



e
t3

·

r
bi




e
b3

·

e
t3






,










where








r




bi




=


{right arrow over (O


b





B


)}


i


and


i


=1, 2, 3






The unit-vectors of the coordinate fame of the platform can be calculated according to the formulae








e
p1

=


r
p1

/

&LeftDoubleBracketingBar;

r
p1

&RightDoubleBracketingBar;



,






e
p3

=

e
t3


,






e
p2

=


e
p3

×

e
p1



,




where





r
p1

=




O
p



P
1




=



(


z
1

-
z

)



e
b3


+


r
b1

.













The generalized coordinates (joint-angles) of the robot-arm can be calculated according to the following expressions:








r




e




={right arrow over (QO)}




e




=r




t




−le




t2




−ze




b3




−he




t3












R




tb




=[e




t1




(b)




e




t2




(b)




e




t3




(b)


]










r




e




(p)


=(


R




tb


)


T




r




e




(p)




=[r




e1




(p)




r




e2




(p)


0]


T















Θ1
=


a





tan



r
e2

(
p
)



e
e1

(
p
)




+

a





cos






(

r
e1

(
p
)


)

2

+


(

r
e2

(
p
)


)

2




4

a








Θ2
=



3

Π

2

-

a





cos






(

r
e1

(
p
)


)

2

+


(

r
e2

(
p
)


)

2




4

a








Θ3
=


2

Π

-

a





tan



r
e2

(
p
)



r
e1

(
p
)




-

a





cos






(

r
e1

(
p
)


)

2

+


(

r
e2

(
p
)


)

2




4

a



+

a






cos


(


e
p1

.

e
t2


)














After the above have been performed, synchronous motion between the approach and pickup positions is implemented to thereby realize the compensated, synchronized robot arm approach of the invention.




The above are exemplary modes of carrying out the invention and are not intended to be limiting. It will be apparent to those skilled in the art that modifications thereto can be made without departure from the spirit and scope of the invention as set forth in the following claims.



Claims
  • 1. In a robot having two or more degrees of freedom and a robot arm motivated by one or more motors and adapted to transport an object bidirectionally between approach and pickup positions, a method for transporting the object comprising:supporting the object at an initial approach position using the robot arm; determining the position of the motors corresponding to the initial approach position; determining the generalized coordinates of the robot corresponding to the initial approach position based on the determined position of the motors corresponding to the initial approach position; supporting the object at a desired pickup position using the robot arm; determining the position of the motors corresponding to the desired pickup position; determining the generalized coordinates of the robot corresponding to the desired pickup position based on the determined position of the motors corresponding to the desired pickup position; and moving the object between the initial approach position to the pickup position, wherein the object has an object axis and wherein the step of moving comprises synchronizing planar and elevational motions of the object such that the object travels between the desired approach position and the pickup position along a path at least partially coincident with the object axis, wherein the step of synchronizing comprises: developing, during a learning mode, one or more motion control algorithms for guiding the robot arm along associated predetermined trajectories which comprise one or more radial trajectories, non-radial multi-segment trajectories, or non-radial trajectories with compound velocity profiles, said developing comprising analytically calculating planar and elevational velocity profiles for predetermined object and robot geometry, stiffness and weight; and using the one or more control algorithms to guide the motion of the robot arm between the desired approach and pickup positions.
  • 2. In a robot having two or more degrees of freedom and a robot arm actuated by one or more motors and adapted to transport an object between approach and pickup positions, a method for determining the path of the object comprising:supporting the object at the approach position using the robot arm; determining the position of the motors corresponding to the approach position; performing a set of one or more direct kinematics calculations relating the position of the motors corresponding to the initial approach position to the position of the object at the approach position; supporting the object at the pickup position using the robot arm; determining the position of the motors corresponding to the pickup position; performing a set of one or more direct kinematics calculations relating the position of the motors corresponding to the pickup position to the position of the object at the pickup position, wherein each set of one or more inverse kinematics calculations corresponds to a desired set of motor positions; performing, for each desired set of motor positions, a corresponding set of one or more direct kinematics calculations to thereby obtain a desired object position and orientation; performing a set of one or more inverse kinematics calculations associated with a trajectory of the object between the pickup position and the initial approach position; moving the object between the approach and pickup positions through a set of actual object positions and orientations; comparing motor positions corresponding to the actual set of positions and orientations with motor positions corresponding to desired object positions and orientations; and minimizing the difference between the compared motor positions.
  • 3. A computer-readable medium for use in controlling a robot having two or more degrees of freedom and a robot arm actuated by one or more motors and adapted to transport an object between an approach and a pickup position through a set of actual object positions, the medium containing a program which executes the following procedure:determining the position of the motors corresponding to the approach position; performing a set of one or more direct kinematics calculations relating the determined position of the motors corresponding to the initial approach position to the position of the object at the approach position; determining the position of the motors corresponding to the pickup position; performing a set of one or more direct kinematics calculations relating the determined position of the motors corresponding to the pickup position to the position of the object at the pickup position; and performing a set of one or more inverse kinematics calculations associated with a trajectory of the object between the approach position and the pickup position, wherein each set of one or more inverse kinematics calculations corresponds to a desired set of motor positions, the program further executing the steps of: performing, for each desired set of motor positions, a corresponding set of one or more direct kinematics calculations to thereby obtain a desired object position; and comparing motor positions corresponding to sets of actual object positions with motor positions corresponding to desired object positions; and minimizing the differences between the compared motor positions.
  • 4. In a robot having two or more degrees of freedom and a robot arm actuated by one or more motors and adapted to transport an object between approach and pickup positions, a method for moving the object comprising:supporting the object at the approach position using the robot arm; determining the position of the motors corresponding to the approach position of the object; performing direct kinematics calculations relating the position of the motors corresponding to the approach position of the object to the position of the object; supporting the object at the pickup position using the robot arm; determining the position of the motors corresponding to the pickup position of the object; performing direct kinematics calculations relating the position of the motors corresponding to the pickup position of the object to the position of the object; using results of the direct kinematics calculations to generate a set of intermediate points along a trajectory of the object between the approach and pickup positions; generating inverse kinematics calculations which resolve the intermediate points to intermediate motor positions; and moving the object between the approach and pickup positions in accordance with the intermediate motor positions.
  • 5. In a robot having two or more degrees of freedom and a robot arm actuated by one or more motors and adapted to transport an object between approach and pickup positions, a method for determining the path of the object comprising:supporting the object at the approach position using the robot arm; determining the position of the motors corresponding to the approach position; performing a set of one or more direct kinematics calculations relating the position of the motors corresponding to the initial approach position to the position of the object at the approach position; supporting the object at the pickup position using the robot arm; determining the position of the motors corresponding to the pickup position; performing a set of one or more direct kinematics calculations relating the position of the motors corresponding to the pickup position to the position of the object at the pickup position; performing a set of one or more inverse kinematics calculations associated with a trajectory of the object between the pickup position and the initial approach position performing, for one or more intermediate motor positions, direct kinematics calculations to thereby obtain desired object positions; comparing desired object positions with actual object positions along the trajectory of the object between the approach and pickup positions; and minimizing the difference between the desired object positions and the actual object positions along the trajectory of the object between the approach and pickup positions.
  • 6. The method of claim 4, wherein the robot is a global positioning robot.
  • 7. The method of claim 4, wherein the object is an end effector of the robot.
  • 8. A computer-readable medium for use in controlling a robot having two or more degrees of freedom and a robot arm actuated by one or more motors and adapted to transport an object between approach and pickup positions, the medium containing a program which executes the following procedure:determining the position of the motors corresponding to the approach position of the object; performing direct kinematics calculations relating the position of the motors corresponding to the approach position of the object to the position of the object; determining the position of the motors corresponding to the pickup position of the object; performing direct kinematics calculations relating the position of the motors corresponding to the pickup position of the object to the position of the object; using results of the direct kinematics calculations to generate a set of intermediate points along a trajectory of the object between the approach and pickup positions; generating inverse kinematics calculations which resolve the intermediate points to intermediate motor positions; and issue commands to the robot to move the object between the approach and pickup positions in accordance with the intermediate motor positions.
  • 9. The medium of claim 8, wherein said procedure further comprises:performing, for one or more intermediate motor positions, direct kinematics calculations to thereby obtain desired object positions; comparing desired object positions with actual object positions along the trajectory of the object between the approach and pickup positions; and minimizing the difference between the desired object positions and the actual object positions along the trajectory of the object between the approach and pickup positions.
  • 10. The medium of claim 8, wherein the robot is a global positioning robot.
  • 11. The medium of claim 8, wherein the object is an end effector of the robot.
  • 12. The method of claim 4, further comprising:performing, for one or more intermediate motor positions, direct kinematics calculations to thereby obtain desired object positions; comparing desired object positions with actual object positions along the trajectory of the object between the approach and pickup positions; and minimizing the difference between the desired object positions and the actual object positions along the trajectory of the object between the approach and pickup positions.
Parent Case Info

This application is a continuation-in-part of U.S. patent application Ser. No. 09/139,882, filed on Aug. 25, 1998, now abandoned and claims priority under 35 U.S.C. §§120 and/or 363 to this application.

US Referenced Citations (73)
Number Name Date Kind
3240513 Turzillo Mar 1966 A
3805629 Martin et al. Apr 1974 A
3920972 Corwin, Jr. et al. Nov 1975 A
3968885 Hassan et al. Jul 1976 A
4166543 Dahlstrom Sep 1979 A
4181465 Ridderström Jan 1980 A
4196049 Burns et al. Apr 1980 A
4260941 Engelberger et al. Apr 1981 A
4299533 Ohnaka Nov 1981 A
4433382 Cunningham et al. Feb 1984 A
4457664 Judell et al. Jul 1984 A
4465424 Inaba et al. Aug 1984 A
4466307 Kouno Aug 1984 A
4488242 Tabata et al. Dec 1984 A
4501527 Jacoby et al. Feb 1985 A
4502830 Inaba et al. Mar 1985 A
4511985 Inaba et al. Apr 1985 A
4566847 Maeda et al. Jan 1986 A
4664587 Case, Jr. et al. May 1987 A
4680802 Nishida et al. Jul 1987 A
4686866 Rosheim Aug 1987 A
4693629 Bruinsma Sep 1987 A
4706000 Kishi et al. Nov 1987 A
4732525 Neumann Mar 1988 A
4735539 Häkkinen et al. Apr 1988 A
4746256 Boyle et al. May 1988 A
4762459 Morita et al. Aug 1988 A
4766322 Hashimoto et al. Aug 1988 A
4770590 Hugues et al. Sep 1988 A
4782713 Torii et al. Nov 1988 A
RE32794 Engelberger et al. Dec 1988 E
4794513 Müller Dec 1988 A
4795957 MacNeal, Jr. et al. Jan 1989 A
4808059 Eddy Feb 1989 A
4808064 Bartholet Feb 1989 A
4846626 Engelbrecht Jul 1989 A
4897015 Abbe et al. Jan 1990 A
4907035 Galburt et al. Mar 1990 A
4921395 Sahlin May 1990 A
4928245 Moy et al. May 1990 A
4951601 Maydan et al. Aug 1990 A
4961267 Herzog Oct 1990 A
5007784 Genov et al. Apr 1991 A
5017075 Block May 1991 A
5053687 Merlet Oct 1991 A
5064160 Brumby Nov 1991 A
5064340 Genov et al. Nov 1991 A
5099707 Tori et al. Mar 1992 A
5102280 Poduje et al. Apr 1992 A
5107716 Torii et al. Apr 1992 A
5109724 Delarue et al. May 1992 A
5116190 Silke May 1992 A
5157315 Miyake et al. Oct 1992 A
5178512 Skrobak Jan 1993 A
5202716 Tateyama et al. Apr 1993 A
5220849 Lande et al. Jun 1993 A
5234303 Koyano Aug 1993 A
5278494 Obigane Jan 1994 A
5438647 Nagamatsu et al. Aug 1995 A
5445491 Nakagawa et al. Aug 1995 A
5571325 Ueyama et al. Nov 1996 A
5604443 Kitamura et al. Feb 1997 A
5604677 Brien Feb 1997 A
5775170 Genov et al. Jul 1998 A
5789890 Genov et al. Aug 1998 A
5852413 Bacchi et al. Dec 1998 A
5907229 Snell May 1999 A
6037733 Genov et al. Mar 2000 A
6092004 Harima Jul 2000 A
6101057 Kartchner et al. Aug 2000 A
6120433 Mizuno et al. Sep 2000 A
6126381 Bacchi et al. Oct 2000 A
6184868 Shahoian et al. Feb 2001 B1
Foreign Referenced Citations (8)
Number Date Country
132 538 May 1984 EP
410 823 May 1990 EP
2 120 202 Apr 1983 GB
61-273441 Dec 1986 JP
62-130938 Jun 1987 JP
64-69487 Mar 1989 JP
1-316184 Dec 1989 JP
1668784 Apr 1989 RU
Non-Patent Literature Citations (1)
Entry
Kensington Laboratories, Inc. advertising brochure dated Jul. 20, 1993 (Semicon West trade show).
Continuation in Parts (1)
Number Date Country
Parent 09/139882 Aug 1998 US
Child 09/635732 US