A METHOD FOR THE CONTROL OF THE PATH OF A ROBOT CELL

Abstract: This invention relates to a method for the control of the path of a robot cell, comprising a robot (1) of at least five degrees of freedom, a workpiece manipulator (2) of at least two degrees of freedom, and a control unit (3) controlling synchronously the robot and the workpiece manipulator. To facilitate the teaching of synchronous movements of the robot and the workpiece manipulator and to optimize the orientation of the tool for the work process, the method of the invention comprises the steps of bringing the robot (1) and the manipulator (2) by a manual control (4) to a desired position with respect to each other at points essential for the path; storing data concerning the orientation of the robot (1) and the manipulator (2) with respect to each other at said points in the control unit (3); applying path optimization criteria to the control unit (3); and calculating the optimal path on the basis of the optimization criteria and the data concerning the orientation of the robot and the manipulator with respect to each other by means of the control unit.

Description: A method for the control of the path of a robot cell This invention relates to a method for the control of the path of a robot cell comprising a robot of at least five degrees of freedom, a work- piece manipulator of at least two degrees of freedom and a control unit controlling synchronously the robot and the workpiece manipulator, in which method the robot and the manipulator are brought to a desired position with respect to each other by a manual control at points essential for the path; and data concerning the orientation of the robot and the manipulator with respect to each other at said points is stored in the control unit. There are robot systems in which the movements of the robot and the workpiece manipulator, usually a rotary table, can be controlled synchronously to achieve controlled path movement relative to a work- piece positioned on the rotary table (e.g., a linear movemen ) . The systems enable complicated paths as compared with systems with no synchronization. During welding, for instance, the axes of the rotary table cannot be turned in asynchronous systems because otherwise the path of the tool could not be con- trolled (a straight movement, for instance, is not straight relative to the workpiece positioned on the rotary table). In prior art synchronized systems the robot and the rotary table drive through points they have learned at the teaching step. As a result, when the operator teaches synchronized paths, he first has to turn the workpiece into a position advantageous for the work process and then teach the point by means of the robot. When driving along the taught path, the axes of the rotary table turn linearly from the initial position to the final position, during which time the robot is adopted to the movement of the table to achieve a desired path. One problem is that the orientation of the tool does not necessarily stay optimal for the work process. Even though the initial and final points of the welding path would have been taught in a so-called downhand position, the synchronized movement may cause the welding burner to be displaced away from the downhand posi¬ tion at some points along the path. The object of the present invention is to pro¬ vide a method for the control of the path of a robot cell without the above-mentioned problems associated with, e.g., the control of the orientation of the tool in synchronized movements. The object of the invention is thus to provide a robot cell to which synchronized movements can be taught rapidly and in which the optimal orientation of the tool in view of the work process can be achieved more easily. This is achieved by means of a method of the invention which is characterized in that it further comprises the steps of - applying path optimization criteria to the control unit; and - calculating the optimal path on the basis of the optimization criteria and the data concerning the orientation of the robot and the manipulator with respect to each other by means of the control unit. In the method of the invention the position and orientations of the robot and the workpiece manipul- ator relative to the surroundings can be selected so as to enable easiest possible teaching. Essential is that the orientation of the tool gripper and work- piece manipulator of the robot with respect to each other at the teaching step is the right position for carrying out the work. In addition to the desired points of the path it is this orientation that is stored in the memory. On the basis of this orienta¬ tion and the optimization criterion applied to the control unit, concerning, e.g., the orientation of the welding burner during the welding process, the central unit is then able to calculate the final optimal path to be used during the actual performance of the work. In this way the teaching step can be made more rapid and simpler and nevertheless obtain a path in which the orientation of the tool and the workpiece with respect to each other as well as their orientation with respect to the surroundings are optimal for the performance of the work. The orientation of the robot and the workpiece manipulator with respect to each other is preferably stored as the position of the coordinate system of the tool gripper of the robot with respect to the co¬ ordinate system of the base of the robot and as the angle positions of the joints of the workpiece mani- pulator. The method is even simpler in that the robot and the workpiece manipulator can be brought to a desired orientation with respect to each other merely by controlling the robot while the orientation of the manipulator remains unchanged. In the following the method of the invention will be described in more detail with reference to the attached drawings, in which Figure 1 is a schematic view of a robot cell assembly of the invention; Figure 2 shows the positions of the joints of the robot cell of Figure 1 and the respective co¬ ordinate systems; and Figure 3 shows a control system included in the robot cell of Figure 1 in the form of a block dia- gram. The method of the invention requires that the robot cell is formed by a robot 1 of at least five degrees of freedom, a rotary table 2 of at least two degrees of freedom; and a control unit 3 controlling the robot and the table. The control unit 3 is able to drive both the robot 1 and the rotary table 2 simultaneously. A workpiece (not shown) is attached to the rotary table 2 and a required tool (not shown) to the robot 1. Main robot joints Jl, 32, J3 may be either rotary joints or linear joints. Wrist joints 34, J5, J6 have to be rotary in order that the con¬ trol unit 3 could change the orientation of the tool if required. Joints 31, 38 have to be rotary-type in order that the control unit 3 could change the orien- tation of the workpiece relative to the robot. A rectangular coordinate system T is positioned at the intersection of the axes of the rotary table, a rectangular coordinate system W at the fastening base of the robot, and a rectangular coordinate system P at the tip of the tool. The orientation of the coordinate system T is determined by the joint angles of the axes of the rotary table. When teaching the points of the path the position of the coordinate system relative to the coordinate system W or T at each point P and the joint angles 37 , J8 of the rotary table are stored in the memory of the control unit for each point. When performing synchronized movements, the path calculation is effected relative to the co- ordinate system T in place of the coordinate system W. The control unit 3 performs the necessary trans¬ formations from the coordinate system W to the co¬ ordinate system T and vice versa. To optimize the path, the control unit 3 drives the joints of the rotary table in such a way that the z axis of the tool has a constant predetermined orientation relative to the coordinate system W during the move¬ ment (in welding, for instance, it is preferable that the z axis of the coordinate system of the tool points downward, a so-called down-hand position). During each calculation period, the control unit cal¬ culates a new path point Pi relative to the co¬ ordinate system T; - such values for the joint angles 37 , J8 of the rotary table 2 that the point Pi positioned with¬ in the coordinate system T turns into an optimal po¬ sition (point Pi2); - the position of the point Pi2 relative to the coordinate system W (point Pi3); - the joint angles J1...J6 on the basis of the value of the point Pi3; - positional values for encoders E1...E8 cor¬ responding to the angles J1...J8; and - commands each joint servo NS1...NS8 to drive to the calculated encoder value. Since the optimization is carried out during each calculation period, it is possible to teach the path points in a non-optimal position while retaining the optimal position throughout the path when repeat¬ ing the taught path. Figure 1 shows a system by means of which the path optimization of the invention can be realized. The robot is a joint mechanism of six degrees of freedom in which all the joints are rotary joints. The rotation axes of the joints are indicated 31 , 32. . .36. The rotary table 2 comprises two rotary joints the axes of which are indicated J7 (turning) and J8 (rotation). The axes of the rotary table are perpendicular to each other and intersect at a point A. The axis J8 is parallel with the x axis of the co¬ ordinate system W. Each joint comprises a motor Ml...M8 which can be driven through a respective joint servo NS1...NS8. To read the position of the joint, the motors comprise absolute encoders E1...E8, from which signals are applied to the corresponding joint servos NS1...NS8. The workpiece is fixed to the rotary table 2, and the tool is fixed to the tool flange of the robot. The cell can be used, for instance, for welding workpieces if the robot is pro¬ vided with a welding equipment. Figure 2 shows a reduced model of the system of Figure 1. The direction of the coordinate system W of the robot is selected so that the direction of the z axis is the direction of the joint 31 , the direction of the y axis is the direction of J2 when the joint angle Jl is 0, and the x axis is perpendicular to said axes. The origin of the coordinate system W is at the intersection B of the axes Jl and J2. The z axis of the coordinate system T of the rotary table points in the direction J8 (= the direction Jl) and the x-axis in the direction of the x axis of the co¬ ordinate system W when J7 and J8 are at an angle of 0. The origin of the coordinate system T is posi- tioned at the intersection A of the axes of J7 and J8. The position and orientation of the coordinate system P of the tool relative to the coordinate system W depend on the joint angles J1...J6 of the robot; the origin of the coordinate system of the tool is positioned at the tip of the tool. Figure 3 shows the control system of the cell. The joint servos NS1...NS8 are connected to the cor¬ responding motors M1...M8 of the robot 1 and the rotary table 2 and to the encoders El...E8. Each joint servo is able to control its joint in response to instructions received from the control unit 3. The control unit may, e.g., instruct the joint servo to drive up to a desired encoder reading. When teaching the robot to drive from one point to another, the taught points are stored in the memory 7 of the con¬ trol unit 3. At each point the position of the co¬ ordinate system P relative to the coordinate system W and the joint angles J7 and J8 of the rotary table are stored. The function of a calculation unit 8 in- eluded in the control unit 3 is to calculate the interpolation points of the paths in the coordinate system of the rotary table, to perform the change of orientation to a desired optimal position by means of the rotary table, to transform the optimized point to the coordinate system W, to calculate the joint angles Jl...J6 corresponding to the position of the point (the values of J7, J8 are calculated at the optimization step), and to lead the joint servos to the calculated position. To achieve sufficient path accuracy, the interpolative calculation interval has to be a few milliseconds. During the teaching step the operator may keep the position of the rotary table unchanged. The teaching of the point takes place by driving the robot 1 by means of a manual control 4 to a desired point in a desired orientation with respect to the workpiece. The position and orientation of the point as well as the joint angles of the rotary table are stored in the memory. The position and orientation of the point can be stored with respect to the co¬ ordinate system W, the coordinate system T, or as the robot joint angles. The joint angles J7, J8 of the rotary table at the teaching moment are stored in the memory. In this way all the required points of the path are taught. When repeating the taught path (e.g., a linear path from the point PI to the point P2), the calcula¬ tion unit 8 has to transform the points PI and P2 from the coordinate system W to the coordinate system T. The point stored in the memory can be presented in the form of the transformation matrix P = where vector {px,py,pz} = position of the origin of the point vector {nx,ny,nz} = the x axis of the co¬ ordinate system of the tool at the point Pw vector{o ,oy,oz} = the y axis of the co¬ ordinate system of the tool at the point Pw vector {a ,ay,az) = the z axis of the co¬ ordinate system of the tool at the point Pw The transformation of the point Pw from the co¬ ordinate system W to the coordinate system T takes place by multiplying the point Pw in the coordinate system W by the inverse matrix T' of the transforma¬ tion matrix T describing the position and orientation of the coordinate system T Pt = T'*Pw The matrix T is easy to determine when the po- sition of the origin of the coordinate system T in the coordinate system W and the joint angles J7, J8 of the axes of the rotary table are known (C8 -S8 0 px) (C7*S8 C7*C8 -S7 py) T = (S7*S8 S7*C8 C7 pz) (0 0 0 1) where C7 = cos(J7) C8 = cos(J8) 57 = sin(J7) 58 = sin(J8) vector {px,py,pz} position of the origin of the coordinate system T in the coordinate system W When the points PI and P2 of the path are known in the coordinate system T, the interpolative cal- culation of the path can be performed with respect to the coordinate system T. A corrected value is calcu¬ lated for each interpolation point Pti of the path to realize optimal orientation. The workpiece is brought into optimal orientation in the following way: The vector T*Pti z is calculated (.. C8*ax - S8*ay ... ) T*Pti = (.. C7*S8*ax + C7*C8*ay -S7*az ... ) (... S7*S8*ax + S7*C8*ay + C7*az ... ) ( 0 0 1 ) The vector T*Pti z is marked to be equal to the desired optimal orientation v, thus obtaining a con¬ dition vx = C8*ax - S8*ay vy = C7*S8ax + C7*C8*ay - S7*az vx *- S7*S8*ax + S7*C8*ay + C7*az where the unit vector {vx,vy,vz> = the desired optimal orientation. The optimal values of J7 and J8 can be solved from this equation group when remembering that C7 = cos(J7) and C8 = cos(J8). The interpolation point Pti is transformed from the coordinate system T to the coordinate system W in the following way Pwi = To*Pti Pwi = optimized point of the path in the co¬ ordinate system W To = transformation matrix of the coordinate system T in the optimized orientation Pti = path point with respect to the coordinate system T On the basis of the point Pwi the joint angles J1...J6 of the robot can be calculated at the optimal point. The control unit 3 converts the joint angles into positional data for the encoders E1...E8 and drives the joints into the position in question by means of the joint servos NS1...NS8. The method of the invention has been described above merely by means of one exemplifying embodiment, which relates to a welding application of the inven¬ tion. It is to be understood that the method of the invention can also be applied in other robot cell applications in which either the robot or the work- piece manipulator are to be given either optimization or edge conditions. Such edge conditions may concern the orientation of the robot or the workpiece manipulator, possible obstacles along their paths, restrictions in the range of movement of some joints, etc.

Claims: Claims: 1. A method for the control of the path of a robot cell, comprising a robot (1) of at least five degrees of freedom, a workpiece manipulator (2) of at least two degrees of freedom, and a control unit (3) controlling synchronously the robot and the workpiece manipulator, in which method the robot (1) and the manipulator (2) are brought to a desired position with respect to each other by a manual control (4) at points essential for the path; and data concerning the orientation of the robot (1) and the manipulator (2) with respect to each other at said points is stored in the control unit (3); c h a r a c t e r - i z e d in that the method further comprises the steps of - applying path optimization criteria to the control unit (3); and - calculating the optimal path on the basis of the optimization criteria and the data concerning the orientation of the robot and the manipulator with respect to each other by means of the control unit (3). 2. A method according to claim 1, c h a r a c - t e r i z e d in that the orientation of the robot (1) and the manipulator (2) with respect to each other is stored as the position of a coordinate system P of a tool gripper (5) of the robot (1) with respect to a coordinate system (W) of a base (6) of the robot (1) and as the angle positions of manipulator joints (J7, J8). 3. A method according to claim 1, c h a r a c ¬ t e r i z e d in that the optimization criterion comprises the orientation of the robot (1) or the manipulator (2) with respect to the surroundings. 4. A method according to claim 1, c h a r a c ¬ t e r i z e d in that the robot (1) and the manipulator (2) are brought to a desired orientation with respect to each other by controlling the robot (1) while the position of the manipulator remains unchanged.

Inventors: HAIPUS ILPO, HAIPUS, ILPO
Applicants: AITEC OY
Application year: 1990
Main classification: B25J9
IPC codes: B25J9, G05B19