ROBOT MOTION COMPENSATION SYSTEM

Abstract: Motion of a substrate-transporting robot arm (34) 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 (34) such that the trajectory of the substrate (32) is made coincident with the object axis of the substrate (32). The substrate (32) may be a semiconductor wafer, an LCD panel or an end effector (47) of the robot arm (34). The synchronized motion is achieved using a controller (45) issuing control signals to arm actuating means (40, 41, and 43) based on synchronization algorithms developed during analytical or experimental robot learning sessions.

Description: ROBOT MOTION COMPENSATION SYSTEM BACKGROUND OF THE INVENTION FIELD OF THE INVENTION The invention relates to substrate handling robots. 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 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 the three supports 15, 17 and 19 using independently controllable actuation 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 die 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 die 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. 2 A 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. 3 A, 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. 3B), or the robot itself must be rotated while supporting wafer 24 (FIG. 3C). 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. 4 A and 4B, occurs when the wafer 24, initially properly aligned within slot 28 (FIG. 4A), 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 mamier 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 mampulated 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. 2 A 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 (Z1,Z2,Z3). At pickup, the elevational position of platform 36 is defined by Z coordinates (Zl pu ,Z2 pu ,Z3 pu ), while at approach, the position is defined by Z coordinates (Zl appr ,Z2 appr ,Z3 appr ). The pickup position differs from the approach position along the Z axes by the amount dZ=(dZl,dZ2,dZ3), wherin dZl =Zl pu -Zl appr , dZ2=Z2 pu -Z2 appr and dZ3 =Z3 pu -Z3 appr . In the arrangement of FIG. 7, dZl, dZ2 and dZ3 are equal (dZl =dZ2=dZ3) 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 } and its orientation R' b The position of the poles of the spherical bearings at the platform can be calculated as follows: Then the radius-vector of the center point of the platform can be represented as r b = - (i-i + r 2 + r 3 ). The unit vectors of the coordinate frame firmly attached to the platform a given by r ι ~ r b e„ 1 = -r 2 = e p3 X e pl where rι 2 = r 2 - r 1 and r 13 = r 3 -r 1 The position of the characteristic point of the end-effector r with respect to the absolute (base) coordinate frame O b e bl e b2 e b2 can be calculated according to the formula r .( J*) = _ r „(« + w ~Pt > where r Pt ~ i r Pt j r Pt 2 "] > rjj = 2α[cos(Θ 1 ) + 008(0 ! + Θ 2 )] + /cos(Θ 1 + Θ 2 + Θ 3 ) r = 2α[sin(Θ 1 ) + sin^ + (Θ 2 )] + /sin(Θ 1 + (Θ 2 + Θ 3 ) and a and / stand for the lengtli 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 & t f = [cos(Θ l +@ 2 + Θ 3 ) sin(Θ 1 +Θ 2 + Θ 3 ) 0] r e t2 -Λ e β e φ) - e (δ) e tl ~ ( e β X e β) 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 /ή = [e rl e a e r3 ] Find: The generalized coordinates of the robot z v z 2 ,z 3 , © v Θ 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 bl e b2 e b2 we calculate the intersection point of the axis O ft Pe 65 and the end-effector plane represented by the equation β β ( r " r ,) = 0. Direct substitution of the coordinates of the point P into the above equation gives: and O b P - e Λ e *3 e β Consider that , where h = O p Q is the height of the robot-arm, the distance between die characteristic poles of the base and the platform can be calculated as e,,r,-Λ e 63 e β The generalized coordinates z v z 2 ,z 3 , which represent the length of the rods connecting the base and die platform, are given by = O bi O pi =z - e t3 r bi pι e e where r w = Oβ t 2iΔ i = 1,2,3 The unit- vectors of the coordinate frame of the platform can be calculated according to the formulae: e p3 = e > c />2 p3 >ι, where r = O p P 1 =(z 1 -z)e b3 + r ι bl The generalized coordinates (joint-angles) of the robot-arm can be calculated according to the following expressions: : Q e =r r le a -ze ιa ~he • l β After the above have been performed, synchronous motion between d e 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: WHAT IS CLAIMED IS: 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 and orientation of the motors corresponding to die initial approach position; determining the generalized coordinates of the robot corresponding to the initial approach position based on the determined position and orientation of the motors; supporting the object at a desired approach position using the robot arm; determining the generalized coordinates of the robot corresponding to the desired approach position based; and moving the object from the desired approach position to the pickup position. WarehouseDocument;L : \forms\warehouse . dat 2. The method of Claim 1, wherein the step of determining the generalized coordinates corresponding to die initial approach position comprises performing direct kinematics computations in which the position and orientation of the object are calculated based on the position and orientation of the motors. 3. The method of Claim 2, wherein the step of determining the generalized coordinates of the robot corresponding to the desired approach position comprises performing inverse kinematics computations to calculate the position and orientation of the motors. 4. The method of Claim 1, wherein 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. 5. The method of Claim 4, 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; and using the one or more control algorithms to guide the motion of the robot arm between the desired approach and pickup positions. 6. The method of Claim 5, wherein the trajectories comprise one or more radial trajectories, non-radial multi-segment trajectories, and non-radial trajectories with compound velocity profiles. 7. The method of Claim 6, wherein the step of developing comprises analytically calculating planar and elevational velocity profiles for predetermined object and robot geometry, stiffness and weight. 8. The method of Claim 6, wherein the step of developing comprises analytically calculating planar and elevational velocity profiles for predetermined object and robot geometry, stiffness and weight. 9. The method of Claim 1 , wherein the robot comprises a GPR robot capable of at least six degrees of freedom. 10. The method of Claim 1, wherein the object is a semiconductor wafer. 11. The method of Claim 1 , wherein die object is an end effector of the robot. -21- AMENDED CLAIMS [received by the International Bureau on 05 January 2002 (05.01.02); original claims 1-11 replaced by amended claims 1-19 (8 pages)] Claims 1 and 2 (formally Claim 7) are amended to read as follows: 1 , 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 die position of the molύrs corresponding to the initial approach position to the posilion of the object at die approach position; supporting the object at die pickup position using the robot arm; determining the position of the motors corresponding to the pickup position; performing a set or 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; and performing a set of one or more inverse kinematics calculations associated with a trajectory of the object beLween the pickup position and the initial approach position. 2. 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 posilion using die robot arm; dctcrminiπg the position of the motors corresponding to the initial approach position; determining die generalized coordinates of Hie 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 comprismg analytically calculating planar and elevational velocity profiles for predetermined object and robot geometry, stiffness and weight; and using die one or more control algorithms to guide the motion of the robot arm between the desired approach and pickup positions. New Qmι ι3 l s..fΩl mι 3. (New) The method of Claim 1, further comprising moving the object between the approach and pickup positions, 4. (New) The ediod of Claim 1 , wherein each set of one or more inverse kinematics calculations corresponds to a desired set of motor positions, die method further comprising 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. 5. (New) The method of Claim 4, further comprising: 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. 6. (New) The method of Claim 1, wherein the robot is a global positioning robot (GPR). 7. (New) The method of Claim , wherein the object is an end effector of the robot, S, (New) A computer-readable medium for use in controlling a robot having two or more degrees of freedom and & robot arm actuated by one or more motors and adapted to transport an object between an approach and a pickup position tiirough 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. 9. (New) The medium of Claim 8, wherein each set of one or more inverse kinematics calculations corresponds to a desired set of motor positions, tile 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. 10. (New) The medium of Claim 8, wherein the robot is a global positioning robot (GPR). 11. (New) The medium of Claim 8, wherein the object is an end effector of the robot, 12. (New) 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 objccr 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 tho posilion of the object; supporting the object at ihe pickup position using the robot arm; determining die position of the motors coi responding to the pickup position of the object; performing direct kinematics calculations relating the position of the motors corresponding to die 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 approacli and pickup positions in accordance with the intermediate motor positions. 13 , (New) The method of Claim I , 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 die trajectory of the object between the approach and pickup positions. 14, (New) The method of Claim 12, wherein the robot is a global positioning robot, 15 , (New) The method of Claim 12, wherein the object is an end effector of the robot, 16. (New) 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 die position of the motors corresponding to the approach position of the object; performing direct kinematics calculations relating die position of the motors corresponding to the approach position of the object to the position of the object; determining the position of die motors corresponding to d e 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 17. (New) The medium of Claim 16, 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. 18. (New) The medium of Claim 16, wherein the robot is a global positioning robot. 19. (New) The medium of Claim 16, wherein the object is an end effector of the robot.

Inventors: BONEV EUGENE G, SOTIROV ZLATKO M, BONEV, EUGENE, G., SOTIROV, ZLATKO, M.
Applicants: GENMARK AUTOMATION INC, GENMARK AUTOMATION, INC.
Application year: 2001
Main classification: G05B19
IPC codes: B25J9, H01L21