Industrial robot control method and apparatus

Abstract: There are disclosed an industrial robot control method and an apparatus which determine the values Θi of each axis when the predetermined position of a work mounted to the end of a hand (4) comes to the position of the distal end of a tool (6) fixed, determine the position/posture X i of the end of the hand (4) with respect to the coordinate system of the end of the hand (4) for each of the values Θi for each axis using the forward transformation operation, determine the position/posture Ti of the distal end of the tool (6) with respect to the coordinate system of the end of the hand (4) based on the position/posture P of the distal end of the tool (6) with respect to the coordinate system of the robot base (2), and the position/posture X i of the robot base (2) with respect to the coordinate system of the end of the hand (4), determine positions/postures Tj intermediate between each position/posture Ti of the distal end of the tool (6), using an interpolation function h, determine the position/posture X j of the robot base (2) with respect to the coordinate system of the end of the hand (4) based on the position/posture P of the distal end of the tool (6) with respect to the coordinate system of the robot base (2) and intermediate positions/postures Tj, determine command values Θj for each of the axes of the robot representing the position/posture X j of the robot base (2) with respect to the coordinate system of the end of the hand (4) using the reverse transformation operation f⁻¹, and drive the robot using the values Θ for each axis of the robot as command values. Using the similarity of coordinate system based on the end of hand (4) and that based on the robot base (2), operations for conventional control based on the robot base (2) can be applied for the control of the robot system where the tool (6) is in fixed position.

Description: The present invention relates to a control method and an apparatus for an industrial robot used to perform welding, sealing or other work. When work using conventional industrial robots has been performed, the work piece (work) is fixed, and then an arc welding torch attached to the hand of the robot is moved along the line of work. However, the posture of the welding torch when this is done changes with the progress of the work so as to be undesirable with respect to the work quality. And since the tool is fitted to the hand of the robot, the cables connecting the tool have to be suitably processed so as not to become an obstruction. Also, with this technology, each of a plural number of works are conveyed in sequence and the conveyed work has to be stopped accurately at a predetermined position so that there is also the problem that the apparatus for doing this has a complex structure. US-A-4 893 254 discloses a control method and an apparatus for controlling an industrial robot in which a tool is fixed at the end of the hand of the robot, wherein the distal end of the tool is positioned near a point of the workpiece and the positions/postures of the axes are transformed on the basis of the relationship between the coordinates of the fixed workpiece and the robot base. These steps are carried out for a plurality of points at which the distal end of the tool is positioned adjacent due fixed workpiece. Then, a plurality of intermediate values is obtained by means of an interpolating function. Then, all points are retransformed into position/posture values of the axes of the robot so as to obtain command values which are used during the actual operation of the robot. An object of the present invention is to provide a control method and an apparatus for controlling an industrial robot that can improve the quality of work such as sealing and welding and the like, simplify the processing for flexible tubes for conveying fluid and cables that are connected to the tool, and simplify the configuration for the conveying and the positioning of the workpiece. To achieve this object, the present invention provides for the control method including the features of claim 1 and provides for an apparatus having the features of claim 2. According to the present invention, the tool of an arc welding torch or the like is fixed at a suitable relative position with respect to the industrial robot and in a status where the work is held in the hand of the robot, the work and the tool are held in position and posture relationships suitable for the work to be performed and the industrial robot is operated and the work performed. Accordingly, for example, if the arc welding torch is in a predetermined downward posture in vertical direction, it is possible to perform high-quality arc welding work while the work is being moved by the industrial robot. In addition, the tool is provided at a fixed position and so it is possible for the tubes for conveying fluids and the cable for the power supply to be attached at fixed positions to the tool and therefore simplify the processing for such. Furthermore, the work is held in the hand of the robot and is moved and so it is not necessary to have a configuration for the conveying of the work and its accurate positioning as was the case for the previously described conventional technology, thus simplifying the configuration. BRIEF DESCRIPTION OF THE DRAWINGS In the accompanying drawings: FIG. 1 is a diagram of the overall system of one embodiment according to the present invention, FIG. 2 is a diagram indicating the coordinate system of the embodiment shown in FIG. 1, FIG. 3 is a system diagram showing the configuration which is a premise of the present invention, FIG. 4 is a block diagram indicating the electrical configuration of one embodiment of the present invention, FIG. 5 is a flow chart for describing the operation of the configuration shown in FIG. 3, FIG. 6 is a flow chart for describing the principle of the present invention, and FIG. 7 is a flow chart for describing the operation of one embodiment of the present invention. DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 is a diagram of the overall system of one embodiment according to the present invention. A robot base 2 of an industrial robot 1 is provided at a fixed position 3 such as a floor of a factory and the hand 4 of the industrial robot 1 holds a work 5 which is work object with respect to which arc welding work or the like is to be performed. This work 5 is moved by the industrial robot 1 and arc welding work is performed by an arc welding torch 6 which is the tool which is attached at the fixed position. This arc welding torch 6 has a vertical axial line and is facing downwards so that high-quality welding is performed for the work by the distal end 6a of the torch 6. The industrial robot 1 has a total of six axes 7 through 12 that are provided successively to the base 2. Of these axes 7 through 12 axes 7, 10 and 12 are angularly movable around the axial line of the arm to which they are mounted and axes 8, 9 and 11 are angularly movable around the axial line which is vertical with respect to the arm to which they are mounted. FIG. 2 shows the coordinate systems Σ0 through Σ6 for each of the axes 7 through 12 and the robot base 2, and the angles 61 through 6. The position of the hand 4 can be expressed as three-dimensional coordinates and an origin of the robot base 2 and the posture can be expressed as three angles by the Euler angle with the robot base 2 as the origin. FIG. 3 is a system diagram showing the configuration which is a comparative object of the present invention, and this industrial robot 1' has the same configuration as was previously described with respect to FIG. 1 and FIG. 2 except that in this FIG. 3, the work 5 is mounted to a fixed position and the hand 4 has an arc welding torch 6 mounted to it, with this arc welding torch 6 being moved by the industrial robot 1 to perform the welding. FIG. 4 is a block diagram indicating the electrical configuration of one embodiment of the present invention. The angles of each of the axes 7 through 12 are detected by detection means A1 through A6 such as encoders or the like and the signals that express those detected values are applied to a processing control circuit 13 that is realized by a microcomputer or the like, so that each of the axes 7 through 12 are driven by each drive means B1 through B6. As is shown in FIG. 3, the arc welding torch 6 is mounted to the hand 4 of the industrial robot 1' and FIG. 5 describes the operation of the control circuit 13 for the operation performed to weld the work 5 when it is in the status where the work 5 is provided to a fixed position. First, in step a1, the distal end 6a of the torch 6 of the arc welding torch 6 is positioned to a predetermined position on the work 5 and when this is done, the value 1 through 6 of each of the axes 7 through 12 of the robot (generally expressed by Θ, with i corresponding to each of the predetermined positions) is detected and determined by the detection means A1 through A6. Then, in the following step a2, the forward transformation operation f is used to determine the position/posture Xi of the hand 4 of the industrial robot 1 with respect to the robot base 2. Xi = f (Θi) In step a3, the position/posture T of the distal end 6a of the torch 6 with respect to the coordinate system of the hand 4 of the industrial robot 1, and the position Pi of the distal end 6a of the torch 6 with respect to the robot base 2 is determined using the position/posture Xi of the hand 4 of the industrial robot 1. Pi = Xi·T In step a4, the function h so as to interpolate the position/posture Pj between P1 and P2 which are two points of the positions Pi of the distal end 6a of the torch 6 and which were determined in the previous step a3, is then determined. Pj = h (P1, P2) This function h for interpolation can be any function that performs arc interpolation or linear interpolation. The position/posture T of the distal end 6a of the torch 6 with respect to the coordinate system of the hand 4 of the industrial robot 1 previously described is defined as the tool transformation value. This tool transformation value T is always constant, and therefore its inverse matrix T -1 is also constant. In step a5, the position/posture Pj of the distal end of the arc welding torch 6 and determined in step a4 is used as the basis for determining the position/posture Xj of the hand 4 of the industrial robot 1. Xj = Pj·T -1 Finally, in step a6, the values Θj of each of the axes of the robot are determined in order to realize the position/posture Xj of the hand 4 of the industrial robot 1. This is the operation f -1 which is known as the inverse transformation of the forward transformation operation f which was described earlier. Θj = f -1 (Xj) In the present invention, as has been described with respect to FIG. 1, the arc welding torch 6 is fixed in a position relative to the industrial robot 1 and drive means B1 through B6 of each of the axes 7 through 12 of the industrial robot 1 are driven so that the arc welding torch 6 moves along the work line of the work 5 held in the hand 4 of the industrial robot 1. Accordingly, there is a constant relationship between the distal end 6a of the torch 6 and the hand 4 of the industrial robot 1 in that there is a constant relationship between the distal end 6a of the torch 6 and the hand 4 of the industrial robot 1. Accordingly, in the configuration described with respect to FIG. 3 and FIG. 5, the control method can be thought of as having the robot base 2 as the reference but in the present invention, the hand 4 of the industrial robot 1 and the work can be thought of as being the reference so that it is possible to establish a similarity with the method of the present invention and the control method that was described with respect to FIG. 3 and FIG. 5. More specifically, the robot base 2 in the configuration shown in FIG. 3 and FIG. 5, can be thought of in the present invention as being the hand 4 of the industrial robot 1 and the hand 4 of the industrial robot 1' shown in FIG. 3 and FIG. 5 can be thought of as being the robot base 2, with the position/posture Pi of the distal end 6a of the torch 6 with respect to the coordinate system of the robot base 2 in FIG. 3 and FIG. 5 being able to be expressed as the position/posture of the distal end 6a of the torch 6 with respect to the coordinate system of the hand 4 of the industrial robot 1 of the present invention, or rather, as the tool transformation value Ti. In addition, the position/posture T of the distal end 6a of the torch 6 with respect to the coordinate system of the hand 4 of the industrial robot 1' in FIG. 3 and FIG. 5 can be seen as the position/posture P of the distal end 6a of the torch 6 with respect to the coordinate system of the robot base 2 in the present invention. Accordingly, in the embodiment according to the present invention, the torch 6 replaces the work 5 in the processing control circuit 13 shown in FIG. 4 and performs the operations shown in FIG. 6. More specifically, in step b1, the predetermined position of the work 5 is determined so as to be a position that comes to the position of the distal end 6a of the torch 6 and when this occurs, the values Θ for each of the axis of the industrial robot 1 are detected and determined by the detection means A1 through A6. Following this, in step b2, a new forward transformation function fn in accordance with the present invention is used in order to convert into position/posture of the robot base 2 with respect to the coordinate system of the hand 4, and determined the position/posture X i of the robot base 2 with respect to the coordinate system of the hand 4 from the values Θ for each of the axes determined in the previous step b1. Xi = fn (Θi) In step b3, the relationship P for the position/posture of the distal end 6a of the torch 6 with respect to the coordinate system of the robot base 2 and the position/posture X i for of the robot base 2 and which was determined in the previous step b2 are both used as the basis for determining the position/posture Ti of the distal end 6a of the torch 6 with respect to the coordinate system of the hand 4 for each of the positions/postures that have been previously determined. Ti = X i·P In step b4, two of the positions/postures of the distal end 6a of the arc welding torch 6 determined in step b3, such as the intermediate positions Tj between T1 and T2 for example, are determined by the arc or linear interpolation function h. Tj = h (T1, T2) In step b5, the relationship P of the position/posture of the distal end 6a of the arc welding torch 6 with respect to the coordinate system of the robot base 2 is always constant and so the reverse matrix P -1 is also constant. Here, in this step B5, this relationship P and the position/posture Tj determined in step b5 are used as the basis for determining the position/posture X j of the robot base with respect to the coordinate system of the hand 4 of the robot. X j = Tj·P -1 Finally, in step b6, the reverse transformation function fn -1 that converts the relationship of the position/posture of the robot base 2 with respect to the coordinate system of the hand 4 of the robot into the values Θj for each of the axes in order to express the relationship X j for the position/posture of the robot base 2 with respect to the coordinate system of the hand 4 of the robot. Θj = fn -1 ( X j) A control means 13 drives the drive means B1 through B6 by the values Θj for each of the axes, as determined by equation 10. The following considers the newly introduced forward transformation operation fn and the reverse transformation operation fn -1 . First, the forward transformation operation fn is a function to convert the values Θi for each of the axes of the robot into the relationship Xi of the robot base with respect to the robot hand, and on the other hand, the conventional forward transformation operation f is a function to convert the values Θi for each of the axes of the robot into the relationship Xi of the distal end 4a of the robot hand 4 with respect to the robot base 2. Xi = f (Θi) Xi -1 = fn (Θi) Accordingly, fn (Θi) = {f (Θi)} -1 Then, the reverse transformation function fn -1 is a function to convert the position/posture Xi -1 of the robot base 2 with respect to the coordinate system of the distal end 4a of the robot hand 4 into the values Θi for each of the axes of the robot, and on the other hand, the conventional reverse transformation operation f -1 is a function to convert the relationship Xi for the distal end 4a of the robot hand 4 with respect to the coordinate system of the robot base 2 into the values Θi for each of the axes of the robot. Θi = f -1 (Xi) Θi = fn -1 (Xi -1 ) Accordingly, fn -1 (Xi) = f -1 (Xi -1 ) Accordingly, with the present invention, the forward transformation operation f and the reverse transformation operation f -1 are used for the control circuit 13 to perform the operation shown in FIG. 7. In this manner, the forward transformation operation f and that reverse transformation operation f -1 described beforehand with respect to FIG. 3 and FIG. 5 are used to determine the value Θj for each axis in the following manner and with respect to the previously described in FIG. 6. First, in step c1, the predetermined position of the work 5 is positioned so as to come to the position of the distal end 6a of the arc welding torch 6 and determine the values Θi for each of the axes of the robot at this time. Then, in step c2, the forward transformation operation f is used to determine the relationship X i of the position/posture of the robot base 2 with respect to the coordinate system of the hand 4 of the robot for the values Θi for each axis. X i = {f (Θi)} -1 In step c3, the relationship P for the position/posture of the distal end 6a of the arc welding torch 6 with respect to the coordinate system of the robot base 2 and the position/posture X i of the robot base 2 determined in the previous step c2 are used as the basis to determine the position/posture Ti of the distal end 6a of the arc welding torch 6 with respect to the coordinate system of the robot hand 4 for each of the positions/postures that have been determined as described above. Ti = X i·P In step c4, the positions/postures Tj between two points T1 and T2 of the positions/postures Ti of the distal end 6a of the arc welding torch 6 and which were determined in step c3, are then determined by the function h for linear or arc compensation. Tj = h (T1, T2) In step c5, the relationship P between the positions/postures of the distal end 6a of the arc welding torch 6 with respect to the coordinate system of the robot base 2 are always constant and so the reverse matrix P -1 is also constant. In this step c5, this relationship P and the position/posture Tj determined in step c4 are used as the basis to determine the position/posture X j for the robot base with respect to the hand of the robot 4. X j = Tj·P -1 Finally, in step c6, the reverse transformation operation f -1 is used to determine the values Θj for each axis of the robot in order to express the relationship X j of the positions/postures of the robot base 2 with respect to the coordinate system of the hand 4 of the robot. Θj = f -1 ( X j -1 ) Each of the values Θj determined in this step c6 are used as command values for the drive means B1 through B6 to drive each of the axes 7 through 12. Here, the relationship P of the distal end 6a of the arc welding torch 6 with respect to the robot base becomes as follows when the robot base 2 is provided on the ground and the arc welding torch 6 is fixed in the downwards direction or Where (x, y, z) T is the position of the distal end of the arc welding torch with respect to the robot base. Thus, when compared to the conventional method described with respect to FIG. 3 and FIG. 5, the present invention involves one calculation of the reverse matrix using equation 17 in order to extract each point so as to calculate the two points T1 and T2 in order to perform linear interpolation, and furthermore requires one calculation of the reverse matrix using equation 21 in order to extract the values Θj for each of the axes of the robot for each of the points of interpolation. However, the matrix used in robot control is a matrix known as a homogeneous matrix and so the calculation of the reverse matrix is simple, and the amount of calculation increases only marginally. More specifically, the matrix used in robot control is a 4 × 4 homogeneous matrix that expresses the rotation of the coordinate system and the parallel movement. Here, expresses the rotation of the coordinate system and expresses the amount of parallel movement of the coordinate origin. Accordingly, the vectors (a11 a21 a31) T , (a12 a22 a32) T , (a13 a23 a33) T are perpendicular, and the norm is 1. Because of this nature, the reverse matrix M -1 of the matrix M is easily determined as follows. Moreover, the previously described forward transformation operation f to convert the values Θi for each of the axes of the robot into the robot hand positions x = (aij) is as follows. a11 = C1(C4C6-S4C5S6) - S1(C3S5S6+S3S4C6+S3C4C5C6) a12 = -C1S4S5 + S1(C3C5-S3C4S5) a13 = -C1(C4S6+S4C5C6) - S1(C3S5C6-S3S4S6+S3C4C5C6) a14 = ℓ7{-C1S4S5+S1(C3C5-S3C4S5)} +S1(ℓ6C3-ℓ5S3-ℓ4S2+ℓ2) a21 = -S1(C4C6-S4C5S6) - C1(C3S5S6+S3S4C6+S3C4C5S6) a22 = S1S4S5 + C1(C3C5-S3C4S5) a23 = S1(C4S6+S4C5C6) - C1(C3S5C6-S3S4S6+S3C4C5C6) a24 = ℓ7{S1S4S5+C1(C3C5-S3C4S5)} + C1(ℓ6C3-ℓ5S3-ℓ4S2+ℓ2) a31 = -S3S5S6 + C3S4C6 + C3C4C5S6 a32 = S3C5 + C3C4S5 a33 = -S3S5C6 - C3S4S6 + C3C4C5C6 a34 = ℓ7(S3C5+C3C4S5) + ℓ6S3 + ℓ5C3 + ℓ4C2 + ℓ3 + ℓ1 a41 = 0 a42 = 0 a43 = 0 a44 = 1 Here, Ci = cos i Si = sin i Here, ℓ1 through ℓ7 are constants expressing lengths of arms. A robot control method where the arc welding torch is fixed and the robot holds a work and performs handling arc welding while moving the torch in a line through the coordinate system of the work, resembles a conventional control method but the framework of thinking is such that the reference is changed from the conventional base to the hand of the robot, and transformed to the position P of the arc welding torch with respect to the robot base and the position T of the arc welding torch with respect to the robot hand. Accordingly, the development of the program for the realization of this control method can use much of conventional control programs. With the present invention, the arc welding torch 6 is fixed and so there is no necessity to move lead lines, and their fixing also becomes simple. Moreover, the description above was given in terms of linear interpolation but arc interpolation can also be used. In addition, although the description was given in terms of having welding as the object of work, this method can also be applied to sealing and other types of work.

Claims: A control method for an industrial robot having a base, a plurality of arms each having a predetermined length (L1-L7), a plurality of axes, a hand adapted to mount a workpiece and a tool fixedly mounted with respect to the base, the control method comprising the steps of: a) determining angular values  i of each axis corresponding to positions/postures of each axis when each position of a plurality of i predetermined positions of the workpiece mounted to the hand is successively located at the position of the distal end of the tool; b) determining - in a reverse matrix representation - the positions/postures X i of the robot base with respect to a coordinate system of the end of the hand by means of a forward transformation operation using each of the values  i for each axis and the lengths of said arms; c) determining - in a matrix representation - the positions/postures T i of the distal end of the tool with respect to the coordinate system of the end of the hand, on the basis of the positions/postures X i and the relationship P of the position/posture of the distal end of the tool with respect to the coordinate system of the robot base; d) determining intermediate positions/postures T j each between two positions/postures T i , using an interpolation function; e) determining - in a reverse matrix representation - the positions/postures X j of the robot base with respect to the coordinate system of the end of the hand, on the basis of the relationship P and the intermediate positions/postures T j ; f) determining each of the angular values  j for each axis on the basis of the positions/postures X j , using the reverse transformation operation of the forward transformation operation; and g) driving the robot using the values  j as command values. An apparatus for controlling an industrial robot having a base, a plurality of arms each having a predetermined length (L1-L7), a plurality of axes, a hand adapted to mount a workpiece and a tool fixedly mounted with respect to the base, the apparatus comprising: a) detection means for detecting angular values  i of each axis corresponding to positions/postures of each axis when each position of a plurality of i predetermined positions of the workpiece mounted to the hand is successively located at the position of the distal end of the tool; b) drive means for driving the axes; c) control means for controlling the drive means; d) the control means determining in a reverse matrix representation - the positions/postures X i of the robot base with respect to a coordinate system of the end of the hand by means of a forward transformation operation using each of the values  i for each axis and the lengths of said arms; in a matrix representation - the positions/postures T i of the distal end of the tool with respect to the coordinate system of the end of the hand, on the basis of the positions/postures X i and the relationship P of the position/posture of the distal end of the tool with respect to the coordinate system of the robot base; intermediate positions/postures T j each between two positions/postures T i , using an interpolation function; in a reverse matrix representation - the positions/postures X j of the robot base with respect to the coordinate system of the end of the hand, on the basis of the relationship P and the intermediate positions/postures T j ; each of the angular values  j for each axis on the basis of the positions/postures X j , using the reverse transformation operation of the forward transformation operation; and wherein said control means control the drive means using the values  j as command values.

Inventors: NAGAO YOICHI, NAKAMURA HISANORI, OHTA HIDEAKI, ONOUE KAZUHIKO, NAGAO, YOICHI, NAKAMURA, HISANORI, OHTA, HIDEAKI, ONOUE, KAZUHIKO
Applicants: KAWASAKI HEAVY IND LTD, TOYOTA MOTOR CO LTD, KAWASAKI JUKOGYO KABUSHIKI KAISHA, TOYOTA JIDOSHA KABUSHIKI KAISHA
Application year: 1991
Main classification: B25J9
IPC codes: B25J13, B25J9, B23K9, G05B19