SYSTEM FOR CORRECTING POSITION OF TOOL

Abstract: A system for correcting the position of a new tool (16), which is set on a hand (15) of a robot after the tool used in a preceding process has been replaced thereby, is con­ structed so that the information on each axis of the robot at a point in time which is after the completion of a tool-replac­ ing operation, can be obtained on the basis of the informa­ tion, which is given before the starting of such a tool-replac­ ing operation, the information (TCP1) on the position of the tool at this time and the information (TCP2) on the position of the tool at a point in time which is after the completion of the tool-replacing operation.

Description: The present invention relates to a tool position compensation method, and more particularly to a tool position compensation method which, when a tool on a hand of an industrial robot is replaced, is capable of easily converting the position of a new tool based on the point data taught by the replaced tool. Industrial robots have found widespread use and are being used in many fields in recent years. As the numerical control technology is advanced, more industrial robots are numerically controlled for improved operation. Multi-articulation robots have many axes, and are widely used in the welding process as they can perform a highly sophisticated operation. Fig. 7 of the accompanying drawings is a perspective view of a general industrial robot which is an articulated robot having six axes. The articulated robot has a T-axis about which an arm assembly rotates, a W-axis about which a lower arm is tilted back and forth, a U-axis about which an upper arm is tilted vertically, an A-axis about which a wrist rotates in a horizontal plane, a B-axis about which the wrist moves in a vertical plane, and a C(γ)-axis about which the wrist rolls, these axes being independently controlled. Designated at 1 in Fig. 7 is a base on which the articulated robot is supported. A T(ϑ)-axis servo motor 2 is mounted on the base 1 for turning the axes about the vertical axis (Z-axis). On the T(ϑ)-axis servo motor 2, there is mounted a T(ϑ)-axis unit 3 rotated by the servo motor 2. A W-axis unit 4 is fixedly mounted on the T(ϑ)-axis unit 3, and a W-axis arm 5 is rotatably supported by a pivot shaft 5a on the W-axis unit 4, the W-axis arm 5 being operated by a W-axis drive mechanism 6. A U-axis arm 7 is rotatably supported by a pivot shaft 7a on the distal end of the W-axis arm 5, the U-axis arm 7 being operated by a U-axis drive mechanism 8. A wrist mechanism 9 is mounted on the distal end of the U-axis arm 7. The wrist mechanism 9 is rotated by an A-axis servo motor 10, vertically swung by a B-axis servo motor 11, and rolled by a C-axis servo motor 12. Desired operation is performed by a tool attached to the wrist mechanism 9. The articulated robot of the type described above is disclosed in Japanese Laid-Open Patent Publication No. 59-59371, for example. A teach and playback robot control process has widely been used in which a tool is mounted on the hand of a robot, and is manually trained by being moved through steps or points to store such points in a data memory in a control unit, the points later being traced by the tool automatically. However, the training process is considerably difficult to effect. There are many types of tools available and points to be taught are different from tool to tool. Therefore, when a tool is replaced, the new tool has to be trained entirely, which is quite tedious and low in efficiency. EP-A-0 062 683 discloses a numerical control system having the features of the preamble of accompanying claim 1. According to the present invention, there is provided a tool position compensation method for correcting the position of a new tool when a tool mounted on a hand of a robot is replaced, wherein: the robot is capable of movements about a plurality of axes and of positioning in accordance with robot axis data, the robot hand has a hand grip position and an orientation expressed by a set of hand posture vectors, and the tool has a tool position, tool coordinates, and an orientation expressed by a set of tool posture vectors, all relative to a reference coordinate system; characterised in that the method comprises steps of: (i) calculating the hand grip position and hand posture vectors for a reference condition of the hand and tool, using the robot axis data and the tool position in the reference condition; (ii) calculating the tool posture vectors for the reference condition using the hand grip position and hand posture vectors calculated in step (i) and using the tool coordinates in the reference condition; (iii) calculating new hand posture vectors after the tool is replaced by a new tool, using the hand grip position calculated in step (i), the tool posture vectors calculated in step (ii), and the tool coordinates of the new tool; and (iv) calculating new robot axis data using the hand grip position calculated in step (i), the new hand posture vectors calculated in step (iii), and the tool position of the new tool. An embodiment of the present invention can provide a tool position compensation method which, when a tool mounted on a hand of a robot is replaced, is capable of easily and accurately correcting the tool position of a new tool by obtaining information on the axes of the robot after the tool has been replaced, on the basis of tool position information prior to the tool change. Therefore, the taught information prior to the tool change can effectively utilized, and the tool position compensation due to the tool change can easily and accurately be carried out. Reference is made, by way of example, to the accompanying drawings in which:- Fig. 1 is a set of views explaining the manner in which a tool is attached to a hand; Fig. 2 is a view explaining tool position conversion in a pattern 1; Fig. 3 is a view explaining tool position conversion in a pattern 2; Fig. 4 is a diagram explaining the flow of a tool compensation process in the pattern 1; Fig. 5 is a diagram explaining the flow of a tool compensation process in the pattern 2; Fig. 6 is a diagram explaining coordinate systems for a robot, a hand thereof, and a tool; and Fig. 7 is a perspective view of a general six-axis-controlled multi-articulation robot. An embodiment of the present invention will hereinafter be described in detail with reference to the drawings. Fig. 6 is a diagram explanatory of coordinate systems for a robot, its hand, and a tool. Designated at X, Y, Z is a reference coordinate system for the robot, having an origin O. Denoted at , , are hand posture vectors in the robot hand coordinate system, , , are tool posture vectors in the tool coordinate system, and TCP a tool center point (also referred to as a tool grip point). Fig. 1 is explanatory of the manner in which a tool 16 is mounted on the distal end of a robot hand 15. Fig. 1(a) (hereinafter referred to as a reference condition) and Fig. 1(b) (hereinafter referred to as a second condition) differ from each other only as to the length of the tool shank, and are defined in the same tool coordinate system (hereinafter referred to as tool coordinate system 1). The relationship between the reference condition and the second condition is defined as a pattern 1. Where a tool 16-3 is mounted on the distal end of the robot hand 15 as shown in Fig. 1(c) (hereinafter referred to as a third condition), the tool center point TCP and the coordinate system are different from those in the reference condition. The relationship between the reference condition and the third condition is defined as a pattern 3. Processes of tool position compensation in the patterns 1 and 2 will be described below. (1) Pattern 1: Fig. 4 is illustrative of the flow of a tool position compensation process in the pattern 1. Data items (T₁ , W₁, U₁, C₁, B₁, A₁) on the axes of the robot which are taught in the reference condition and stored in a data memory in a control device are converted into robot axis data items (T₂, W₂, U₂, C₂, B₂, A₂) usable in the second condition in the following manner: The control device first computes the position (x₁, y₁, z₁) of the hand grip position in the robot reference coordinates and the hand posture vectors , , based on the robot axis data items (T₁, W₁, U₁, C₁, B₁, A₁) in the reference condition which are stored in the data memory and also on the tool center point TCP1 obtained in the reference condition. The above computation can easily be carried out since it is a direct conversion. Then, the control device computes the robot axis data items (T₂, W₂, U₂, C₂, B₂, A₂) based on the above computed data items (x₁, y₁, z₁, , , ) and the tool center point TCP2 selected in the second condition. This computation is an inverse conversion and can easily be carried out. Therefore, the tool position compensation can easily and accurately be effected in the pattern 1 based on the data items taught before the tool is replaced. (2) Pattern 2: Fig. 5 is illustrative of the flow of a tool position compensation process in the pattern 2. Data items (T₁, W₁, U₁, C₁, B₁, A₁) on the axes of the robot which are taught in the reference condition are converted into robot axis data items (T₃, W₃, U₃, C₃, B₃, A₃) usable in the third condition in the following manner: The control device first computes the position (x₁, y₁, z₁) of the hand grip position in the robot reference coordinates and the hand posture vectors , , based on the robot axis data items (T₁, W₁, U₁, C₁, B₁, A₁) taught in the reference condition which are stored in the data memory and also on the tool center point TCP1 obtained in the reference condition. The above computation can easily be carried out since it is a direct conversion. Then, the control device computes the tool posture vector , , , based on the hand posture vectors , , and the tool coordinates 1 selected in the second condition. Then, the control device computes hand posture vector , , in the third condition based on the tool posture vectors , , and the tool coordinates 3 selected in the third condition. It is apparent that direct and inverse conversions can always be effected between the hand posture vectors , , and the tool posture vectors , , in the tool coordinate system. This is because the following equations can be established through the intermediary of one 3 x 3 fixed matrix since the relative positions of the hand coordinate system and the tool coordinate system are fixed in space: To determine (M), the values of the axes of the robot are used as setting data, and the hand posture vectors , at that time can be derived from the setting data. By setting, the conversion between the hand posture vectors ℓ, m, n and the tool posture vectors , , in the tool coordinate system can easily be performed. Finally, the control device computes the values of the robot axes based on the obtained data items (x₁, y₁, z₁, , , ) and the tool center point TCP3 selected in the third condition. The tool position compensation after the tool has been replaced can be effected in the pattern 2, using the information prior to tool change. Fig.2 shows the conversion in the pattern 1, in which the tool position is corrected in the longitudinal direction of the shank thereof. Fig. 3 is illustrative of the conversion in the pattern 2, in which the tool position is corrected in the grip point and the grip direction. Although a certain preferred embodiment has been shown and described, it should be understood that many changes and modifications may be made therein without departing from the scope of the invention. According to a tool position compensation method of the invention, as described above, when a tool mounted on a hand of a robot is replaced, information on the axes of the robot after the tool is replaced is obtained by employing information of the robot axes which is taught before the tool is replaced and tool position information at that time. Since the tool position compensation arising from a tool change can easily and accurately be carried out, the tool position compensation method of the invention can be preferably used in numerically controlled machine tools, welding machines, and the like which effect various operations.

Claims: A tool position compensation method for correcting the position of a new tool when a tool mounted on a hand of a robot is replaced, wherein: the robot is capable of movements about a plurality of axes and of positioning in accordance with robot axis data (T,W,U,C,B,A), the robot hand has a hand grip position (x,y,z) and an orientation expressed by a set of hand posture vectors ( l , m , n ), and the tool has a tool position (TCP), tool coordinates, and an orientation expressed by a set of tool posture vectors ( t , u , v ), all relative to a reference coordinate system; characterised in that the method comprises steps of: (i) calculating the first hand grip position (x₁,y₁,z₁) and first hand posture vectors ( l ₁, m ₁, n ₁) for a reference condition of the hand and tool, using the robot axis data (T₁,W₁,U₁,C₁,B₁,A₁) and the tool position (TCP1) in the reference condition; (ii) calculating the tool posture vectors ( t ₁, u ₁, v ₁) for the reference condition using the first hand grip position (x₁,y₁,z₁) and first hand posture vectors ( l ₁, m ₁, n ₁) calculated in step (i) and using the tool coordinates in the reference condition; (iii) calculating new hand posture vectors ( l ₂, m ₂, n ₂) after the tool is replaced by a new tool, using the first hand grip position (x₁,y₁,z₁) calculated in step (i), the tool posture vectors calculated in step (ii), and the tool coordinates of the new tool; and (iv) calculating new robot axis data (T₃,W₃,U₃,C₃,B₃,A₃) using the first hand grip position (x₁,y₁,z₁) calculated in step (i), the new hand posture vectors ( l ₂, m ₂, n ₂) calculated in step (iii), and the tool position (TCP3) of the new tool. A method as claimed in claim 1, wherein in step (ii), the tool posture vectors ( t ₁, u ₁, v ₁) are calculated as tool posture vector matrix = the product of the first hand posture vector matrix and a matrix (M), using the following relationship: where (M) is a 3x3 fixed matrix representing the orientations of the robot axes relative to the reference coordinate system. A method as claimed in claim 2, wherein in step (iii), the new hand posture vectors ( l ₂, m ₂, n ₂) are calculated as new hand posture vector matrix = the product of the tool posture vector matrix and a matrix T (M) , using the following relationship: where T (M) is the inverse matrix of (M).

Inventors: KARAKAMA, TATSUO FANUC UTSUKIRYO 386-1, SAKAKIBARA, SHINSUKE MEZON IZUMI 101
Applicants: FANUC LTD.
Application year: 1985
Main classification: G05B19
IPC codes: G05B19, B25J9