ROBOT CONTROL METHOD

Abstract: In order to operate the relative posture between a work (4) gripped by a robot (1) and an arbitrary work point (A) without changing the position of a certain point (P), the work point (A) is defined on the reference coordinates of the robot (1) and when the work (4) gripped by the robot (1) is subjected to a teaching operation with respect to the work point (A), the work point (A) is temporarily controlled as if it were the end effector of a robot control point (R). As the work (4) is rotated around the work point (A), the posture of the work (4) is changed to a desired relative posture with respect to the work point (A). In this manner, the posture of the work (4) gripped by the robot can be changed to a desired relative posture within a short period with respect to the work point (A) and the teaching time can be reduced.

Description: The present invention relates to a teaching method in case that a position of a tool such as a welding torch is fixed, a workpiece is held by a robot wrist, and a position and an orientation of the workpiece are controlled. It is known that when an industrial robot is used in an automatic welding apparatus or the like, it can be better for an efficient operation to fix a tool such as a welding torch and move the workpiece to be welded rather than fix a workpiece to be welded and move a tool such as a welding torch by a robot. For example, if a workpiece laid at a certain position is held by a robot wrist and is moved to a neighbourhood of a tool with the workpiece being held by the robot wrist; a position and an orientation of the tool are controlled so as to move along a welding line; and after welding, the work is brought to another position, then more than one robot is no longer necessary. On the contrary, in case a welding torch is moved by a robot, an additional robot is necessary to carry in and out a workpiece. In such a case, i.e. when a robot conducts operations holding a workpiece, a welding operation is explained hereinafter referring to Fig. 1. Fig. 1 (a) shows a welding operation that welding along line "a" of workpiece 4 has been finished by tool 3 at P point on workpiece 4 and welding along line "b" is going to start from P point. This welding operation is carried out in the condition that an attitude of workpiece 4 is changed as shown in Fig. 1 (c) in order to be equal to the welding condition as line "a". When a teaching operation of such welding operation by a six-axis articulated robot is carried out, one of following method has been conventionally used. (1) Each axis of a robot is controlled independently from the others, whereby a desired workpiece orientation is determined. (2) A desired workpiece orientation is determined by rotation around a reference coordinate axis on the main body of a robot and displacement parallel to the reference coordinate axis. (Fig. 1 (b) and 1 (c)). (3) A desired workpiece orientation is determined by rotation around the tool coordinate axis on the main body of a robot and displacement parallel to the tool coordinate axis. (Fig. 1 (b) and 1 (c)). The rotations described in (2) and (3) achieves motion control by rotating around a control point P of a robot. The control point P is a point on the axis line of a top wrist of the robot 1 and is a reference point when workpiece 4 is rotated. In the case of method (2), the reference coordinate axes are defined by the reference coordinate axes (X R , Y R and Z R ) which, in turn, define the coordinate system of a robot. In the case of method (3), the tool coordinate axes refer to coordinates of a tool attached to the wrist flange of the robot. However, according to the above-described methods, the workpiece 4 clamped by the robot assumes the desired orientation with respect to an arbitrary working point A by a method involving the control of each axis of the robot independently and the rotation of the workpiece around a coordinate axis with the control point R of the robot as the center of rotation with this method. The orientation of the workpiece 4 alone cannot be changed without changing the position of the point P on the workpiece 4, meaning that the rotation and the parallel displacement must be repeatedly carried out, as shown in Fig. 1, resulting in a longer teaching operation time. According to JP-A-62 044 809 there is known a method for controlling a robot clamping a tool at a fixed offset position of a wrist, wherein the position of the wrist can be changed by operating a teaching box of the robot. Consequently a position of a point of the tool is changed in accordance with the movement of the robot. Since the relative position between the point of the tool and the wrist of the robot is fixed, a constant offset information can be calculated by comparision of the point of the tool with a reference point of the wrist. According to this known method the positional data of the robot are corrected on the basis of the constant offset information and stored. In view of the above, the primary object of the present invention is to attain the relative orientation between the workpiece (4) clamped by the robot and an arbitrary working point (A) of a tool for teaching operation without displacing the position of the point (P) on the workpiece, in particular as shown in Fig. 2. This object is solved according to the invention by a robot motion control method according to claim 1. Preferred embodiments of the invention are subject of the dependent claims. According to the present invention, the orientation of the workpiece clamped by the robot with respect to an arbitrary working point can be quickly changed to a desired orientation, thereby greatly shortening the teaching operation time. Preferably, the robot control method in accordance with a preferred embodiment of the present invention is characterized by defining, through a reference coordinate system of a robot, an arbitrary working point A, and subsequently accomplishing the teaching operation of the workpiece 4 clamped or otherwise held by the robot with respect to the said arbitrary working point, by controlling said arbitrary point A as viewed temporarily an end effector from a robot control point, and rotating the workpiece 4 about the working point, whereby the orientation of the workpiece relative to the working point A can be arbitrarily changed. Fig. 1 is a view used to explain some conventional teaching operations; Fig. 2 is a view used to explain a teaching operation in accordance with the present invention; Fig. 3 and 4 are views used to explain the definition of an arbitrary working point; Fig. 5 is a vector diagram illustrating the relationship between a robot control point and an arbitrary working point; Fig. 6 is a view illustrating the outside appearance of a six-axis articulated robot; Fig. 7 is a view illustrating the projection over the Xo-Yo plane of the fixed coordinate system of a robot; Fig. 8 is a view illustrating the projection over the Mo-Zo plane of a robot; Fig. 9 is a block view illustrating the construction of a robot controller adapted for carrying out a robot control method in accordance with the present invention; and Fig. 10 shows a flowchart for carrying out the robot control method in accordance with the present invention. A preferred embodiment of the present invention will be described in detail hereinafter. First, as is best shown in Fig. 3, a tool 2 whose dimension is measured with a high degree of accuracy is attached to the wrist flange of a robot 1, thereby distinctly indicating the coordinates of an arbitrary working point A with a teaching operation tool 3. Next, as shown in Fig. 4, the tool 2 is displaced to a point B and a point C. In this case, the relationships between the pints A-C are as follows: Point A a working point (the origin of the coordinate system); Point B the direction of the Xu axis; and Point C the direction of the Yu axis. Furthermore, the exterior products AB and AC are in the direction of the Zu axis. As shown in Fig. 5, the coordinate system at an arbitrary working point A, viewed from the coordinates of the points A, B and C on the reference coordinate system Z of the robot, is defined as S (4 × 4 matrix). S = Z · S where, Furthermore, A = (P xs P ys P zs ) X u = (n xs N ys N zs ) Y u = (0 xs 0 ys 0 zs ) Z u = (a xs a ys a zs ) and X u , Y u and Z u represent a unit vector. Next, in the case of the teaching operation, an arbitrary working point A is calculated as end effector, viewed from the control point R on the workpiece 4 clamped by the robot 1 (Fig. 5). S = Z · T · E E = T -1 · S Where T is a matrix representing the control point R of the robot; and E is a matrix representing an end effector from the control point R of the robot to the working point A. For example, the rotation around Zu axis defined by the working point A will be explained. When the angle of the rotation is represented by 0, the rotation matrix M is given by Since the apparent coordinate system S of an arbitrary working point A is represented by S' = S · M the robot orientation is obtained by calculating six-axis link angles from T' obtained from T' · E = S' and T' = S'E -1 In this case, for example, the arithmetic operation disclosed in Laid-Open Japanese Patent Application No. 62-198786 may be also used. This operation or calculation will be described below. Fig. 6 illustrates the outside appearance of the six-axis articulated robot to be controlled; Fig. 7 illustrates a projection of the fixed coordinates (X o , Y o , Z o ) of the robot over the X o -Y o plane; and Fig. 8 illustrates a projection of the robot over the M o -Z o plane. STEP 1: First, the position data P x , P y and P z of the robot are given. STEP 2: Under the condition that the wrists 15, 16 and 17 are not movable, the calculations of the link angles  1 ,  2 and  3 of the fundamental three axes (body 12, lower arm 13 and upper arm 14) are calculated. The operation is carried out by the following steps. As shown in Fig. 7, the robot is projected on the plane X o -Y o of the fixed coordinate system, thereby obtaining P x , P x ', P y and Py'. Then the link angle  1 is given by  1 = tan -1 (P y '/P x ') Next, it is assumed that the vector to the control point is M o and the plane M o -Z o be defined. As shown in Fig. 8, the robot is projected over the plane M o -Z o , whereby Pz', P z ", M', M". Then, the link angles  2 and  3 are obtained from the following equations.  2 = tan -1 (P'/M")  3 = tan -1 (P z '/M") Thus, the link angles  1 ,  2 and  3 are obtained, but it is noted here that these angles result under the assumption that the wrists remain stationary. In other words, these are temporary or provisional results. STEP 3: Next the orientation data n x , n y , n z , O x , O y , O z , a x , a y , and a z are inputted and calculated with the previously obtained  1 ,  2 and  3 (temporary or provisional results), whereby the link angles  1 ,  2 and  3 of a link flange are obtained. In this case, the arithmetic operations used in the conventional orientation control method are used to obtain the data for the wrist flange. The position data are not taken into consideration in this case. When, from the first to the sixth link coordinates, a matrix A n representing the orientation of the six-axis articulation as the product of the four simultaneous conversions by which the n-th link coordinates are associated with the (n-1)-th link coordinates is introduced, the coordinates T 6 of the wrist flange are represented by T 6 = A 1 A 2 A 3 A 4 A 5 A 6 Rewriting the above formula, A 3 -1 A 2 -1 A 1 -1 T 6 = A 4 A 5 A 6 is obtained. where, S, L, U, R, B and T represent Z 1 , Z 2 ...., and Z 6 -axes, respectively. SS = sin 1 , S LU = sin( 2 + 3 ), S U = sin 3 CS = cos 1 , C LU = cos( 2 + 3 ), C U = cos 3 SR = sin 4 , SB= sin 5 , ST = sin 6 CR = cos 4 , CB = cos 5 , CT = cos 6 and a 2 = length of the arm of the L axis; d 2 = the distance between the center of rotation of the S axis and the center of rotation of the R axis; d 4 = the length of the arm of the U axis; and d 5 = the distance between the center of rotation of the R axis and the center of rotation of the T axis. Rewriting Eq. (1), we have -CR · SB = a x CS · S LU +a y SS · S LU -a z C LU -SR · SB = a x SS+a y CS Further modifying Eqs. (2) and (3), we have And A 4 -1 A 3 -1 A 2 -1 - T 6 = A 5 A 6 From Eq. (4), we have -SB=a x (CS·S LU ·CR-SS-SR)+a y (SS·S LU ·CR+CS·SR)-a z C LU ·CR CB=a x CS·C LU +a y SS·C LU +S LU a z From Eqs. (5) and (6), we have From Eq. (4), we have ST=n x (CS·S LU ·SR-SS·CR) +n y (SS·S LU ·SR-CS·CR)-n z C LU ·SR CT=O x (CS·S LU ·SR-SS·CR) +Oy(SS·S LU ·SR-CS·CR)-O z C LU ·SR Assuming K=CS·S LU ·SR-SS·CR, L=SS·S LU ·SR-CS·CR, M=C LU ·SR then we have  6 = tan -1 ( n x K+n y L-n z M O x K+O y L-O z M ) STEP 6: Furthermore, based on the link angles  4 ,  5 and  6 and the position data P x , P y , P z , the position is corrected. Similar arithmetic operations are carried out so that the link angle  1 .....  6 of the three fundamental axes are obtained in the manner described above. STEP 7: After completion of the arithmetic operations, the link angles  1 .....  6 are outputted. These link angles approximately satisfy the position data and the orientation data specified by T6. Furthermore, in response to a degree of accuracy defined by the mechanical factors of the robot and a degree of accuracy in the case of the robot operation, the above-described arithmetic operations (STEPS 1-6) may be repeated until a desired degree of accuracy is obtained. In response to the link angles thus obtained, the operation command is delivered to the axis so that the orientation of the workpiece 4 clamped by the robot can be handled as shown in Fig. 2. The same is true for the rotations about X u and Y u axes. Fig. 9 is a block diagram illustrating the construction of a robot controller adapted to carry out the above described control method. As shown in Fig. 9, the robot controller consists of a memory 10 and a CPU 20. The operation of the robot controller will be described with reference to the flowchart illustrated in Fig. 10. First, at step 100, the robot teaches the coordinates of an arbitrary working point A. Next as shown in step 110, the coordinates S of the working point are calculated based on the teaching points and then stored in the memory areas of the memory 10. Third, at step 120, in response to the signal from a teach box, an operation command is delivered to the CPU 20 so that the end effector E from the control point R of the robot to the working point A is calculated. At step 130, in response to the rotating coordinate system S' of the working point A and the former end effector E, the coordinates T' of the control point of the robot are calculated. At the step 140, in response to the coordinates T' of the control point of the robot, the link angle of each axis is calculated and the operation command is outputted. In the case of the holding or clamping operation on a work, which is one of the operation modes of the industrial robot, the teaching operation is remarkably enhanced according to the present invention.

Claims: A robot motion control method, wherein a location of a tool (2) is fixed at a certain position and a workpiece (4) is clamped by a robot (1), the robot motion control method comprising the following steps: defining (STEP 1), through the reference coordinate system (Px, Py, Pz) of the robot (1), an arbitrary working point (A) corresponding to a top of the tool (2); temporarily determining (STEP 2) first link angles (Θ 1 , Θ 2 , Θ 3 ) of fundamental axes (12, 13, 14) of the robot (1) under the assumption that wrists (15, 16, 17) of the robot (1) remain stationary; obtaining (STEP 3-5) second link angles (Θ 4 , Θ 5 , Θ 6 ) of the fundamental axes (12, 13, 14) basing on orientation data (n x , n y , n z , O x , O y , O z , a x , a y , a z ) of a teaching operation of the workpiece (4) held or clamped by said robot (1) with respect to said working point (A); correcting (STEP 6) the position of the arbitrary working point (A) based on the second link angles (Θ 4 , Θ 5 , Θ 6 ) and position data (Px, Py, Pz) of the robot (1) in the reference coordinate system; controlling said working point (A) basing on the first and second link angles (Θ 1 , Θ 2 , Θ 3 , Θ 4 , Θ 5 , Θ 6 ), whereby the orientation of said robot (1) can be changed to a desired relative orientation with respect to said working point (A). A robot control method according to claim 1, wherein the first and second link angles (Θ 1 , Θ 2 , Θ 3 , Θ 4 , Θ 5 , Θ 6 ) are outputted (STEP 7) before the controlling of the working point (A). A robot control method according to claim 1 or 2, wherein the arithmetic operations (STEP 1 to STEP 6) are repeated to obtain a desired degree of accuracy for the robot operation.

Inventors: MINAMI YOSHIKATSU, TANAKA MASATO, MINAMI, YOSHIKATSU, TANAKA, MASATO, MINAMI, YOSHIKATSU YAHATA PLANT K.K.YASKAWA DENKIY, TANAKA, MASATO YAHATA PLANT K.K.YASKAWA DENKI
Applicants: YASKAWA DENKI SEISAKUSHO KK, KABUSHIKI KAISHA YASKAWA DENKI SEISAKUSHO
Application year: 1990
Main classification: G05B19
IPC codes: G05B19, B25J9