Tool coordinate system setting system

A system for setting a tool coordinate system brings directions ( , , ) of respective basic axes of the tool coordinate system into coincidence with directions (X, Y, Z) of basic axes of a robot reference coordinate system. A tool center point (TCP) serves as an origin, and the system causes a robot to memorize metric values on each motion axis of the robot at the moment of coincidence as setting information for setting the tool coordinate system. The system uses this setting information as information for subsequent robot motion. With the present invention, the setting of tool coordinates, which was a troublesome operation in the prior art, can be performed easily and accurately through a simple method.

BACKGROUND OF THE INVENTION 
This invention relates to a tool coordinate system setting system and, more 
particularly, to a system for setting a tool coordinate system having a 
fixed relationship to a reference coordinate system of a robot. 
The spread of robots has recently become quite conspicuous and robots are 
finding use in many fields. Under these circumstances, robots are required 
to perform both accurately and reliably. 
Highly articulated robots have a large number of axes of motion and are 
extensively used for operations such as welding, due to their ability to 
execute sophisticated tasks. FIG. 5 is a perspective view of an industrial 
robot having five axes. In the Figure, BS denotes a base set on the floor 
of a factory or the like, the upper portion of the base being provided 
with a .theta.-axis drive mechanism 1 for driving a .theta. axis. Numeral 
2 denotes a W-axis drive mechanism, 3 a W-axis arm driven by the W-axis 
drive mechanism 2, and 4 a U-axis arm driven by a U-axis drive mechanism 5 
via a U-axis link 6. Numeral 7 denotes a robot wrist the distal end of 
which is provided with a hand 7a. Fixedly mounted on the hand 7a is a tool 
8 such as a welding torch. Numeral 9 denotes an .alpha.-axis drive 
mechanism, and numeral 10 designates a .beta.-axis drive mechanism. The 
wrist 7, hand 7a and tool 8 are shown in enlarged form in FIG. 6. 
As shown in FIG. 6, hand attitude vectors in the hand coordinate system are 
denoted , , , and the basic axes of the tool coordinate system are 
designated , , . Further, Oh represents the origin of the hand 
coordinate system, and TCP denotes the tool center point. Though the robot 
memorizes its own reference coordinate system as well as the hand 
coordinate system, difficulty is involved in setting the position of the 
tool 8 mounted on the hand 7a. Specifically, it is difficult for the robot 
to ascertain how the hand coordinate system and tool coordinate system are 
related to each other. In particular, since many kinds of tools 8 can be 
mounted on the hand 7a and are set at positions that differ from one 
another, ascertaining the correct position of a tool is a very difficult 
task. 
SUMMARY OF THE INVENTION 
It is an object of the present invention to provide a tool coordinate 
system setting system capable of setting a tool position through a simple 
method and of controlling the tool in a highly accurate manner. 
The present invention provides a tool coordinate system setting system for 
setting a position of a tool mounted on a hand of a robot. The system is 
so arranged as to set and store a tool center point in the tool coordinate 
system, treat the tool center point as an origin, bring the axial 
directions of the respective basic axes of the tool coordinate system into 
coincidence with the axial directions of the basic axes of the robot 
reference coordinate system, and have the robot memorize metric values on 
the motion axes of the robot at the moment of coincidence as setting 
information for setting the tool coordinate system. 
According to the present invention, the setting of tool coordinates, which 
was a troublesome operation in the prior art, can be performed easily and 
accurately through a simple method. The invention therefore has 
significant practical advantages.

DESCRIPTION OF THE PREFERRED EMBODIMENT 
An embodiment of the present invention will now be described in detail with 
reference to the drawings. 
FIG. 1 is a diagram for describing the setting of a tool coordinate system 
according to the present invention; FIG. 2 is a perspective view of a jig 
used in setting a tool center point in a tool coordinate system; and FIG. 
3 is a diagram for describing the setting of a tool center point in a tool 
coordinate system. The setting of a tool coordinate system will now be 
described in detail on the basis of these drawings. 
In FIG. 1, X, Y, Z represent a basic coordinate system of a robot, and O 
indicates the origin of the coordinate system. This basic coordinate 
system is a coordinate system similar to X, Y, Z shown in FIG. 5. Further, 
, , denote hand attitude vectors in a robot hand coordinate system. 
These vectors are memorized by a robot. Next, , , denote the basic 
axes of a tool coordinate system. In the present invention, these are the 
axes that are to be set. This will now be described sequentially with 
reference to the flowchart shown in FIG. 4. 
(1) Storage of robot reference coordinate system 
The robot memorizes its own coordinate system in advance. This coordinate 
system shall serve as the basis for the motions of the various portions of 
the robot. 
(2) Storage of robot hand coordinate system 
A coordinate transformation from values on each articulation axis of the 
robot is performed and the hand coordinate system is stored in advance. 
(3) Setting and storage of tool center point in tool coordinate system. 
FIG. 2 illustrates a jig for setting a tool center point. A jig 11 
specifies three colinear holes 11-1, 11-2, 11-3 equally spaced apart at a 
distance l on the jig 11. The tool center point in FIG. 3, any one of the 
holes in the jig 11 is brought into agreement with the tool center point 
TCP. In the illustrated embodiment, the center hole 11-2 is made to 
coincide with the tool center point. Further, xh, yh, zh represent the 
hand coordinate system, and hx, hy, hz indicate the position of the tool 
center point (TCP) in the hand coordinate system. 
Since the distances between the adjacent holes in the jig are the same and 
equal to l (already known), we have 
EQU .sub.1 - .sub.2 = .sub.2 - .sub.3 (1) 
(wherein .sub.1, .sub.2 and .sub.3 represent vectors obtained by 
connecting the origin O of the basic coordinate system of the robot with 
the holes 11-1, 11-2 and 11-3 of the jig 11) on the basis of which the 
robot memorizes vectors .sub.1, .sub.2, .sub.3 as known quantities. 
Next, the robot is taught the points 11-1, 11-2 (TCP), 11-3, solely on the 
basis of which the position (hx, hy, hz) of the tool center point TCP in 
the hand coordinate system can be set through calculations performed by a 
processing unit built in the robot. Specifically, the following equations 
will hold: 
EQU .sub.1 = .sub.1 +hx .sub.1 +hy .sub.1 +hz .sub.1 (2) 
EQU .sub.2 = .sub.2 +hx .sub.2 +hy .sub.2 +hz .sub.2 (3) 
EQU .sub.3 = .sub.3 +hx .sub.3 +hy .sub.3 +hz .sub.3 (4) 
In the above equations, the robot memorizes the vectors .sub.1, .sub.2, 
.sub.3, .sub.1, .sub.2, .sub.3, .sub.1, .sub.2, .sub.3, .sub.1, 
.sub.2, .sub.3 in advance as position setting information, these vectors 
being known. In addition, .sub.1, .sub.2, .sub.3 also are known. The 
above equations (2) through (4) are three-dimensional linear equations in 
which hx, hy, hz are unknown. The processing unit of the robot solves the 
three of the equations instantaneously and obtains the unknowns hx, hy, 
hz, namely the tool center point TCP. 
(4) Bringing basic axial directions of tool coordinate system into 
coincidence with robot reference coordinate system 
The robot is moved in a jog-feed mode by pressing jog buttons on a teach 
pendant in such a manner that the basic axes , , of the tool 
coordinate system to be set are made parallel to the X, Y, Z axes of the 
robot reference coordinate system already defined, as shown in FIG. 1. 
(5) Setting of data used for setting tool coordinates 
Metric values on each of the motion axes (.theta., W, U, .alpha., .beta. 
axes) of the robot at the moment all of the basic axes , , of the 
above-mentioned tool coordinate system become parallel to the X, Y, Z axes 
of the robot coordinate system are entered as setting data for setting 
tool coordinates. 
By adopting such an arrangement, the tool coordinate system, namely basic 
Cartesian coordinate values of the tool center point TCP and the hand 
attitude vectors , , , can be obtained from the values on each of the 
motion axes (.theta., W, U, .alpha., .beta. axes) of the robot. 
Conversely, it is obvious that each of the motion axes of the robot can be 
calculated from the basic Cartesian coordinate values of the tool center 
point TCP and hand attitude vectors , , . However, in the present 
embodiment, the basic axes , , of the tool coordinate system are used 
instead of the hand attitude vectors , , , so that the robot can be 
commanded in the tool coordinate system. In other words, teaching can be 
executed in the reference coordinate system of the robot on the basis of 
the tool coordinate system. 
It is obvious that both a transformation and inverse transformation can be 
performed between the hand attitude vectors , , and the basic axes , 
, of the tool coordinate system at all times. The reason for this is 
that since the hand coordinate system and the tool coordinate system are 
always fixed in terms of their relative positions in space, the following 
equations will hold with the aid of a single 3.times.3 fixed matrix (M): 
##EQU1## 
To obtain (M), the metric values on each of the motion axes of the robot 
are treated as setting data, and hand attitude vectors .sub.o, .sub.o, 
.sub.o prevailing at this time are found from these values. Therefore, if 
this value is made .sup.T (M), i.e., if we let 
EQU ( .sub.o, .sub.o, .sub.o)=.sup.T (M) 
hold, then a transformation between the hand attitude vectors , , and 
the basic axes , , of the tool coordinates can be made with facility. 
Though the present invention has been described based on an embodiment 
thereof, the invention is not limited to this embodiment but can also be 
applied to an industrial robot having six axes. Various modifications can 
be made in accordance with the gist of the present invention without 
departing from the scope of the invention.