CALIBRATION SYSTEM

20180304466 ยท 2018-10-25

Assignee

Inventors

Cpc classification

International classification

Abstract

A calibration system that calibrates robots installed in a process includes: a reference measuring element; a flange measuring element attached to a flange provided at an arm tip of each robot; a fixed measuring device configured to measure the flange measuring element of each robot and the reference measuring element; and a controller configured to control the robots, calculate a position and attitude relation between the flange measuring element of each robot and the reference measuring element based on a measured result measured by the fixed measuring device, and calculate an error between a design installation position and attitude of each robot and an actual installation position and attitude of the robot by using the measured position and attitude relation and position and attitude data of the flange measuring element in a robot coordinate system at the time when the robot has been measured by the fixed measuring device.

Claims

1. A calibration system that calibrates a plurality of robots installed in a process, the calibration system comprising: a reference measuring element installed in the process, the reference measuring element having three or more first measuring points that are not aligned in a straight line, a distance between any two of the three or more first measuring points being predetermined; a flange measuring element attached to a flange provided at an arm tip of each of the robots, the flange measuring element having three or more second measuring points that are not aligned in a straight line, a distance between any two of the three or more second measuring points being predetermined; a fixed measuring device installed in the process, the fixed measuring device being configured to measure the flange measuring element of each of the robots and the reference measuring element; and a controller configured to control the robots, calculate a position and attitude relation between the flange measuring element of each robot and the reference measuring element based on a measured result measured by the fixed measuring device, and calculate an error between a design installation position and attitude of each robot and an actual installation position and attitude of the robot by using a calculation result of the position and attitude relation between the flange measuring element of the robot and the reference measuring element and position and attitude data of the corresponding flange measuring element in a robot coordinate system at a time when the robot has been measured by the fixed measuring device.

2. The calibration system according to claim 1, wherein the controller is configured to calculate the actual installation position and attitude of each robot by using the error between the design installation position and attitude of the robot and the actual installation position and attitude of the robot as a correction amount.

3. The calibration system according to claim 1, further comprising a robot hand measuring device attached to the flange of a specified one of the robots, the robot hand measuring device of the specified one of the robots being configured to measure the reference measuring element, wherein: the controller is configured to calculate a position and attitude relation between a measuring tool point of the robot hand measuring device and the reference measuring element based on a measured result measured by the robot hand measuring device of the specified one of the robots; and the controller is configured to calculate an error between a design installation position and attitude of the measuring tool point of the robot hand measuring device of the specified one of the robots and an actual installation position and attitude of the measuring tool point by using a calculation result of the position and attitude relation between the measuring tool point of the robot hand measuring device and the reference measuring element, position and attitude data of the measuring tool point of the robot hand measuring device in the robot coordinate system at a time when measurement has been performed by the robot hand measuring device, and the error between the design installation position and attitude of the specified one of the robots and the actual installation position and attitude of the specified one of the robots.

4. The calibration system according to claim 3, wherein the controller is configured to calculate the actual installation position and attitude of the measuring tool point of the robot hand measuring device by using the error between the design installation position and attitude of the measuring tool point of the robot hand measuring device of the specified one of the robots and the actual installation position and attitude of the measuring tool point as a correction amount.

5. The calibration system according to claim 1, further comprising a working tool attached to the flange of a specified one of the robots, wherein: the fixed measuring device is configured to measure the working tool of the specified one of the robots and the reference measuring element; the controller is configured to calculate a position and attitude relation between a working tool point of the working tool of the specified one of the robots and the reference measuring element based on a measured result measured by the fixed measuring device; and the controller is configured to calculate an error between a design installation position and attitude of the working tool point of the working tool of the specified one of the robots and an actual installation position and attitude of the working tool point by using a calculation result of the position and attitude relation between the working tool point of the working tool of the specified one of the robots and the reference measuring element, position and attitude data of the design working tool point of the working tool in the robot coordinate system at a time when measurement has been performed by the fixed measuring device, and the error between the design installation position and attitude of the specified one of the robots and the actual installation position and attitude of the specified one of the robots.

6. The calibration system according to claim 5, wherein the controller is configured to calculate the actual installation position and attitude of the working tool point of the working tool of the specified one of the robots by using the error between the design installation position and attitude of the working tool point of the working tool of the specified one of the robots and the actual installation position and attitude of the working tool point as a correction amount.

7. The calibration system according to claim 1, further comprising: a robot hand measuring device attached to the flange of a specified one of the robots; and a working tool attached to the flange of another one of the robots, other than the specified one of the robots, wherein: the robot hand measuring device of the specified one of the robots is configured to measure the working tool of the another one of the robots; the controller is configured to calculate a position and attitude relation between a measuring tool point of the robot hand measuring device and a working tool point of the working tool of the another one of the robots based on a measured result measured by the robot hand measuring device of the specified one of the robots; and the controller is configured to calculate an error between a design installation position and attitude of the working tool point of the working tool of the another one of the robots and an actual installation position and attitude of the working tool point by using a calculation result of the position and attitude relation between the measuring tool point of the robot hand measuring device and the working tool point of the working tool of the another one of the robots, position and attitude data of the measuring tool point of the robot hand measuring device in the robot coordinate system at a time when measurement has been performed by the robot hand measuring device, the error between the design installation position and attitude of the specified one of the robots and the actual installation position and attitude of the specified one of the robots, and the error between the design installation position and attitude of the another one of the robots and the actual installation position and attitude of the another one of the robots.

8. The calibration system according to claim 7, further comprising a working tool measuring element attached to the working tool of the another one of the robots, the working tool measuring element having three or more third measuring points that are not aligned in a straight line, a distance between any two of the three or more third measuring points being predetermined, a position and attitude relation between the working tool measuring element and the working tool point of the working tool of the another one of the robots being predetermined, wherein: the robot hand measuring device of the specified one of the robots is configured to measure the working tool measuring element attached to the working tool of the another one of the robots; and the controller is configured to calculate a position and attitude relation between a measuring tool point of the robot hand measuring device and a working tool point of the working tool of the another one of the robots based on a measured result measured by the robot hand measuring device of the specified one of the robots.

9. The calibration system according to claim 7, wherein the controller is configured to calculate the actual installation position and attitude of the working tool point of the working tool of the another one of the robots by using the error between the design installation position and attitude of the working tool point of the working tool of the another one of the robots and the actual installation position and attitude of the working tool point as a correction amount.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0026] Features, advantages, and technical and industrial significance of exemplary embodiments will be described below with reference to the accompanying drawings, in which like numerals denote like elements, and wherein:

[0027] FIG. 1 is a perspective view that shows the schematic configuration of first and second robots installed in a process of working equipment;

[0028] FIG. 2 is a block diagram that shows the configuration of a controller;

[0029] FIG. 3 is a perspective view that shows the structure of a measuring element;

[0030] FIG. 4 is a flowchart that shows the process details of calibration of the first robot and the second robot;

[0031] FIG. 5 is a view that schematically shows a state where a measuring element on a flange of the first robot and a reference measuring element are measured by a fixed camera;

[0032] FIG. 6 is a view that schematically shows a state where a measuring element on a flange of the second robot and the reference measuring element are measured by the fixed camera;

[0033] FIG. 7 is a view that schematically shows the relation among coordinate systems of a virtual origin, the first robot, second robot, flange measuring elements, and reference measuring element;

[0034] FIG. 8 is a flowchart that shows the process details of calibration of a robot camera;

[0035] FIG. 9 is a view that schematically shows a state where the reference measuring element is measured by the robot camera of the second robot;

[0036] FIG. 10 is a view that schematically shows the relation among coordinate systems of a virtual origin, the second robot, a camera tool point of the robot camera and the reference measuring element;

[0037] FIG. 11 is a flowchart that shows the process details of calibration of a nut runner;

[0038] FIG. 12 is a view that schematically shows a state where the nut runner of the second robot is measured by the fixed camera;

[0039] FIG. 13 is a view that schematically shows the relation among coordinate systems of a virtual origin, the second robot, nut runner tool point and reference measuring element;

[0040] FIG. 14 is a flowchart that shows the process details of calibration of a material hand;

[0041] FIG. 15 is a view that schematically shows a state where a material hand measuring element of the first robot is measured by the robot camera of the second robot; and

[0042] FIG. 16 is a view that schematically shows the relation among coordinate systems of a virtual origin, the first robot, second robot, camera tool point of the robot camera, and a material hand tool point.

DETAILED DESCRIPTION OF EMBODIMENTS

[0043] Hereinafter, an embodiment of the disclosure will be described with reference to the accompanying drawing.

[0044] In the present embodiment, the case where two six-axis articulated robots are installed in a process are calibrated will be described.

[0045] Initially, in the present embodiment, six variables are a variable in an X axis, a variable in a Y axis, a variable in a Z axis, a variable around the X axis, a variable around the Y axis and a variable around the Z axis. The X axis and the Y axis are orthogonal to each other in a horizontal plane. The Z axis is positive vertically upward. As described above, a position and attitude means positions in the three axes, that is, a position in the X axis, a position in the Y axis and a position in the Z axis, and an attitude around the X axis, an attitude around the Y axis and an attitude around the Z axis.

[0046] In the present embodiment, as shown in FIG. 1, two robots, that is, a first robot 1 and a second robot 2, are installed in a process S of working equipment (hereinafter, also simply referred to as process S). Each of the first robot 1 and the second robot 2 is a six-axis articulated robot. Motions of these first robot 1 and second robot 2 are controlled by a controller 100 (see FIG. 2). The second robot 2 is an example of a specified one of robots according to the aspect of the disclosure. The first robot 1 is an example of another one of robots according to the aspect of the disclosure.

[0047] The first robot 1 includes an articulated robot arm 1b provided on a base 1a. A flange 11 is provided at a tip of the robot arm 1b. A working tool, or the like, is attached to the flange 11. A material hand 12 is attached to the flange 11 of the first robot 1. The material hand 12 is a tool that holds, for example, a door of a vehicle. The material hand 12 is an example of a working tool attached to a flange of another one of robots according to the aspect of the disclosure.

[0048] The second robot 2 includes an articulated robot arm 2b provided on a base 2a. A flange 21 is provided at a tip of the robot arm 2b. A working tool, or the like, is attached to the flange 21. A robot hand measuring device 22 and a nut runner 23 are attached to the flange 21 of the second robot 2. The robot hand measuring device 22 is, for example, a laser displacement gauge. Hereinafter, the robot hand measuring device 22 is referred to as robot camera 22. The nut runner 23 is a tightener that tightens a nut to a workpiece (for example, a door of a vehicle). The nut runner 23 is an example of a working tool attached to a flange of a specified one of robots according to the aspect of the disclosure.

[0049] A support post 5 is installed at a predetermined position in the process S. A support base 51 is provided on a top of the support post 5. A fixed measuring device 3 and a measuring element 4 (40) are installed on the support base 51. The fixed measuring device 3 is, for example, a laser displacement gauge. Hereinafter, the fixed measuring device 3 is referred to as fixed camera 3.

[0050] The measuring element 4 has a regular hexahedral shape (for example, made of a metal) as shown in FIG. 3. Four measuring points 4a are provided on each of a plurality of sides (for example, five sides other than a mounting side to the support base 51, the flange 11 (described later) or the flange 21 (described later)) of the regular hexahedral shape in the measuring element 4. These four measuring points 4a are recesses (concaves) arranged at positions corresponding to the vertices of a square. A distance between any two of the measuring points 4a on each side is known. Hereinafter, the measuring element 4, installed at the predetermined position in the process S, is referred to as reference measuring element 40. The reference measuring element 40 is a position and attitude reference in the process S. The reference measuring element 40 is fixedly disposed such that one side faces the fixed camera 3.

[0051] The measuring element 4 shown in FIG. 3 is attached to the flange 11 of the first robot 1. Hereinafter, the measuring element 4 attached to the flange 11 of the first robot 1 is referred to as flange measuring element 41. The flange measuring element 41 is positioned relatively with respect to the flange 11 of the first robot 1. A position and attitude relation between a representative point (for example, the center of a flange tip surface) of the flange 11 and the four measuring points 4a on each side of the flange measuring element 41 is known.

[0052] The measuring element 4 shown in FIG. 3 is also attached to the flange 21 of the second robot 2. Hereinafter, the measuring element 4 attached to the flange 21 of the second robot 2 is referred to as flange measuring element 42. The flange measuring element 42 is positioned relatively with respect to the flange 21 of the second robot 2. A position and attitude relation between a representative point (for example, the center of a flange tip surface) of the flange 21 of the second robot 2 and the four measuring points 4a on each side of the flange measuring element 42 is known.

Controller

[0053] Next, the controller 100 will be described.

[0054] As shown in FIG. 2, the controller 100 includes a central processing unit (CPU) 110, a read only memory (ROM) 120, a random access memory (RAM) 130, an input/output interface 140, and the like. The ROM 120 stores programs for controlling various units. The RAM 130 temporarily stores data.

[0055] The CPU 110 is configured to execute arithmetic processing based on programs, data, and the like, stored in the ROM 120. Programs, data, and the like, for control are stored in the ROM 120. The RAM 130 temporarily stores processed results, or the like, of the CPU 110. The first robot 1, the second robot 2, the fixed camera 3, the robot camera 22 and an input device 200 are connected to the input/output interface 140.

[0056] The CPU 110 includes a robot control unit 111, a camera control unit 112 and a computation unit 113.

[0057] The robot control unit 111 actuates the first robot 1 and the second robot 2 in accordance with a motion command from the input device 200 or a motion program, and moves the flange 11 of the first robot 1 and the flange 21 of the second robot 2.

[0058] During calibration, the robot control unit 111 actuates the first robot 1 and the second robot 2 in accordance with, for example, a motion command from the input device 200, and moves the flange 11 of the first robot 1 and the flange 21 of the second robot 2. Furthermore, during calibration, the robot control unit 111 transmits, to the computation unit 113, data of the six variables of each of the first robot 1 and the second robot 2 at the time when the first robot 1 and the second robot 2 have been actuated.

[0059] The camera control unit 112 drives the fixed camera 3 and the robot camera 22 in accordance with a motion command from the input device 200. The camera control unit 112 transmits, to the computation unit 113, camera measured data measured by the fixed camera 3 and camera measured data measured by the robot camera 22.

[0060] The computation unit 113 executes robot calibration, robot camera calibration, nut runner calibration, material hand calibration, and the like (described later), based on the data of the six variables from the robot control unit 111 and the camera measured data from the camera control unit 112.

Robot Calibration

[0061] Next, calibration of the two robots, that is, the first robot 1 and the second robot 2, installed in the process S will be described with reference to FIG. 1 and FIG. 4 to FIG. 7.

Definition of Mathematical Expression in Specification

[0062] Initially, in the specification, in order to express the positions and attitudes of six variables, a three-dimensional coordinate system is used, and a relative position and attitude between two coordinate systems is expressed by a homogeneous transformation matrix. In the specification, a homogeneous transformation matrix with four rows and four columns, representing coordinate transformation from a coordinate system A to a coordinate system B, is denoted by .sup.AT.sub.B.

Robot Operation and Measurement During Robot Calibration

First Robot 1

[0063] Initially, by actuating the first robot 1 to move the flange 11 of the first robot 1, the flange 11 of the first robot 1 is placed near the reference measuring element 40 as shown in the schematic view of FIG. 5, and one side of the flange measuring element 41 attached to the flange 11 is faced toward the fixed camera 3 (step ST101 of FIG. 4). In this state, the four measuring points 4a of the reference measuring element 40 and the four measuring points 4a of the flange measuring element 41 are measured by driving the fixed camera 3 (step ST102 of FIG. 4).

[0064] By measuring the four measuring points 4a of the reference measuring element 40 and the four measuring points 4a of the flange measuring element 41 with the fixed camera 3 in this way, a position and attitude relation (a relation in the position in the X axis, the position in the Y axis and the position in the Z axis and a relation in the attitude around the X axis, the attitude around the Y axis and the attitude around the Z axis) between the reference measuring element 40 and the flange measuring element 41 is obtained from the camera measured data. Calculation for obtaining the position and attitude relation between the reference measuring element 40 and the flange measuring element 41 from the camera measured data is executed in the computation unit 113.

[0065] As for the measuring points that the fixed camera 3 (including the robot camera 22) measures, measurement of the above-described six variables is possible as long as three measuring points are obtained, a distance between any two of the three measuring points is known and the three measuring points are not aligned in the same line. In the present embodiment, since the four measuring points 4a are provided on each of the sides of the reference measuring element 40 and each of the sides of the flange measuring element 41, measurement of the six variables is possible, and it is possible to increase the accuracy of measuring the six variables.

[0066] After the first robot 1 has been measured by the fixed camera 3, the flange 11 of the first robot 1 is put at a location at which the first robot 1 does not interfere with the second robot 2.

Second Robot 2

[0067] Next, by actuating the second robot 2 to move the flange 21 of the second robot 2, the flange 21 of the second robot 2 is placed near the reference measuring element 40 as shown in the schematic view of FIG. 6, and one side of the flange measuring element 42 attached to the flange 21 is faced toward the fixed camera 3 (step ST103 of FIG. 4). In this state, the four measuring points 4a of the reference measuring element 40 and the four measuring points 4a of the flange measuring element 42 are measured by driving the fixed camera 3 (step ST104 of FIG. 4).

[0068] By measuring the four measuring points 4a of the reference measuring element 40 and the four measuring points 4a of the flange measuring element 42 with the fixed camera 3 in this way, a position and attitude relation (a relation in the position in the X axis, the position in the Y axis and the position in the Z axis and a relation in the attitude around the X axis, the attitude around the Y axis and the attitude around the Z axis) between the reference measuring element 40 and the flange measuring element 42 is obtained from the camera measured data. Calculation for obtaining the position and attitude relation between the reference measuring element 40 and the flange measuring element 42 from the camera measured data is executed in the computation unit 113.

Calculation of Position and Attribute and Calculation of Error

[0069] Next, a process of calculating a position and attitude and a process of calculating an error, which are executed by the computation unit 113 of the controller 100 in the present embodiment, will be described with reference to FIG. 7.

First Robot 1

[0070] In the following description, a coordinate system of which the origin is a reference point of the base 1a of the first robot 1 is referred to as RB1 coordinate system. A coordinate system of the flange measuring element 41 provided on the first robot 1 is referred to as FC1 coordinate system.

[0071] Initially, in FIG. 7, a design installation position and attitude of the first robot 1 when viewed from a coordinate system of a virtual origin [0] is denoted by .sup.0T.sub.iRB1. An actual installation position and attitude of the first robot 1 when viewed from a design RB1 coordinate system is denoted by .sup.iRB1T.sub.rRB1. The .sup.iRB1T.sub.rRB1 is an error between the design installation position and attitude of the first robot 1 and the actual installation position and attitude of the first robot 1, and is not known. A position and attitude of the flange measuring element 41 when viewed from the actual RB1 coordinate system is denoted by .sup.rRB1T.sub.FC1. A position and attitude of the reference measuring element 40 when viewed from the FC1 coordinate system is denoted by .sup.FC1T.sub.TC.

[0072] On the other hand, a position and attitude of the reference measuring element 40 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.TC.

[0073] The above .sup.0T.sub.iRB1, .sup.iRB1T.sub.rRB1, .sup.rRB1T.sub.FC1, .sup.FC1T.sub.TC and .sup.0T.sub.TC hold a relation expressed by the following mathematical expression (1).


.sup.0T.sub.iRB1.sup.iRB1T.sub.rRB1.sup.rRB1T.sub.FC1.sup.FC1T.sub.TC=.sup.0T.sub.TC(1)

[0074] From the mathematical expression (1), the unknown .sup.iRB1T.sub.rRB1 is expressed by the following mathematical expression.


.sup.iRB1T.sub.rRB1=.sup.0T.sub.iRB1.sup.1 0T.sub.TC(.sup.rRB1T.sub.FC1.sup.FC1T.sub.TC).sup.1(2)

[0075] From the mathematical expression (2), the error .sup.iRB1T.sub.rRB1 between the design installation position and attitude of the first robot 1 and the actual installation position and attitude of the first robot 1 (hereinafter, also referred to as the error .sup.iRB1T.sub.rRB1 of the first robot 1) is calculated.

[0076] .sup.0T.sub.iRB1 is a design normal size value (for example, normal size data of computer aided design (CAD) data), and is known.

[0077] .sup.rRB1T.sub.FC1 is a position and attitude of the flange measuring element 41 in the robot coordinate system (the robot coordinate system of which the origin is the reference point of the base 1a of the first robot 1) at the time when the flange measuring element 41 provided on the first robot 1 has been measured by the fixed camera 3. .sup.rRB1T.sub.FC1 is calculated from data of the six variables of the robot control unit 111 (data of the six variables of the representative point of the flange 11 of the first robot 1) and the position and attitude relation (known) between the representative point of the flange 11 of the first robot 1 and the flange measuring element 41.

[0078] .sup.FC1T.sub.TC is calculated from a position and attitude relation between the reference measuring element 40 and the flange measuring element 41, which is calculated from the camera measured data. .sup.0T.sub.TC is a design normal size value (for example, normal size data of CAD data) and is known.

[0079] The computation unit 113 calculates the error .sup.iRB1T.sub.rRB1 of the first robot 1 from the mathematical expression (2), and stores the calculated error .sup.iRB1T.sub.rRB1 of the first robot 1 in the RAM 130.

[0080] In addition, the computation unit 113 calculates the actual installation position and attitude of the first robot 1 by using the error .sup.iRB1T.sub.rRB1 of the first robot 1, calculated as described above, as a correction amount (step ST105 of FIG. 4). By executing such calculation, the actual installation position and attitude of the representative point of the flange 11 of the first robot 1 is adjusted to the design installation position and attitude.

Second Robot 2

[0081] In the following description, a coordinate system of which the origin is a reference point of the base 2a of the second robot 2 is referred to as RB2 coordinate system. A coordinate system of the flange measuring element 42 provided on the second robot 2 is referred to as FC2 coordinate system.

[0082] Initially, in FIG. 7, a design installation position and attitude of the second robot 2 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.iRB2. An actual installation position and attitude of the second robot 2 when viewed from the design RB2 coordinate system is denoted by .sup.iRB2T.sub.rRB2. The .sup.iRB2T.sub.rRB2 is an error between the design installation position and attitude of the second robot 2 and the actual installation position and attitude of the second robot 2, and is not known. A position and attitude of the flange measuring element 42 when viewed from the actual RB2 coordinate system is denoted by .sup.rRB2T.sub.FC2. A position and attitude of the reference measuring element 40 when viewed from the FC2 coordinate system is denoted by .sup.FC2T.sub.TC.

[0083] On the other hand, the position and attitude of the reference measuring element 40 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.TC.

[0084] The above .sup.0T.sub.iRB2, .sup.iRB2T.sub.rRB2, .sup.rRB2T.sub.FC2, .sup.FC2T.sub.TC and .sup.0T.sub.TC hold a relation expressed by the following mathematical expression (3).


.sup.0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.FC2.sup.FC2T.sub.TC=.sup.0T.sub.TC(3)

[0085] From the mathematical expression (3), the unknown .sup.iRB2T.sub.rRB2 is expressed by the following mathematical expression.


.sup.iRB2T.sub.rRB2=.sup.0T.sub.iRB2.sup.1 0T.sub.TC(.sup.rRB2T.sub.FC2.sup.FC2T.sub.TC).sup.1(4)

[0086] From the mathematical expression (4), the error .sup.iRB2T.sub.rRB2 between the design installation position and attitude of the second robot 2 and the actual installation position and attitude of the second robot 2 (hereinafter, also referred to as the error .sup.iRB2T.sub.rRB2 of the second robot 2) is calculated.

[0087] .sup.0T.sub.iRB2 is a design normal size value (for example, normal size data of CAD data) and is known.

[0088] .sup.rRB2T.sub.FC2 is a position and attitude of the flange measuring element 42 provided on the second robot 2 in a robot coordinate system (the robot coordinate system of which the origin is the reference point of the base 2a of the second robot 2) at the time when the flange measuring element 42 has been measured by the fixed camera 3. .sup.rRB2T.sub.FC2 is calculated from data of the six variables of the robot control unit 111 (data of the six variables of the representative point of the flange 21 of the second robot 2) and the position and attitude relation (known) between the representative point of the flange 21 of the second robot 2 and the flange measuring element 42.

[0089] .sup.FC2T.sub.TC is calculated from a position and attitude relation between the reference measuring element 40 and the flange measuring element 42, which is calculated from the camera measured data. .sup.0T.sub.TC is a design normal size value (for example, normal size data of CAD data) and is known.

[0090] The computation unit 113 calculates the error .sup.iRB2T.sub.rRB2 of the second robot 2 from the mathematical expression (4), and stores the calculated error .sup.iRB2T.sub.rRB2 of the second robot 2 in the RAM 130.

[0091] In addition, the computation unit 113 calculates the actual installation position and attitude of the flange 21 of the second robot 2 by using the error .sup.iRB2T.sub.rRB2 of the second robot 2, calculated as described above, as a correction amount (step ST105 of FIG. 4). By executing such calculation, the actual installation position and attitude of the representative point of the flange 21 of the second robot 2 is adjusted to the design installation position and attitude.

Cooperative Working

[0092] In the above-described calculation for the first robot 1 and calculation for the second robot 2, each of the robot errors is calculated by measuring the same reference measuring element 40 installed in the process S, so the position and attitude (.sup.0T.sub.TC) of the reference measuring element 40 when viewed from the coordinate system of the virtual origin [0] is the same. Thus, the left-hand side of the mathematical expression (1) is equal to the left-hand side of the mathematical expression (3), so a relation expressed by the following mathematical expression (5) holds.


.sup.0T.sub.iRB1.sup.iRB1T.sub.rRB1.sup.rRB1T.sub.FC1.sup.FC1T.sub.TC=.sup.0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.FC2.sup.FC2T.sub.TC(5)

[0093] From the mathematical expression (5), a relation between .sup.rRB1T.sub.FC1 and .sup.rRB2T.sub.FC2 is expressed by the following mathematical expression (6).


.sup.rRB1T.sub.FC1=(.sup.0T.sub.iRB1.sup.iRB1T.sub.rRB1).sup.1(.sup.0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.FC2.sup.FC2T.sub.TC).sup.FC1T.sub.TC.sup.1(6)

[0094] In this way, since .sup.rRB1T.sub.FC1 and .sup.rRB2T.sub.FC2 each are expressed by using the other one, it is possible to bring the coordinate system of the first robot 1 and the coordinate system of the second robot 2 into coincidence with each other in a virtual space by calibrating an installation position and attitude relation between the first robot 1 and the second robot 2 based on the relation between .sup.rRB1T.sub.FC1 and .sup.rRB2T.sub.FC2. Thus, for example, when working data or measured data for moving the representative point of the flange 21 of the second robot 2 is issued to the controller 100, the first robot 1 is actuated in cooperation with the motion of the second robot 2. Therefore, as for the first robot 1, it is not required to set working data or measured data, so it is possible to improve working efficiency in the process S of working equipment.

Advantageous Effects

[0095] As described above, according to the present embodiment, the flange measuring elements 41, 42 respectively provided on the first and second robots 1, 2 installed in the process S of working equipment and the reference measuring element 40 are measured by the fixed camera 3, and the error .sup.iRB1T.sub.rRB1 of the first robot 1 and the error .sup.iRB2T.sub.rRB2 of the second robot 2 are calculated in the controller 100 by using the camera measured data, so it is possible to calibrate the first robot 1 and the second robot 2 on-line. Thus, in comparison with the case where two robots are individually calibrated, a time that is required for calibration is shortened, so it is possible to shorten the overall calibration time of the process S of working equipment.

[0096] Moreover, in the present embodiment, it is possible to bring the coordinate system of the first robot 1 installed in the process S of working equipment and the coordinate system of the second robot 2 installed in the process S of working equipment into coincidence with each other in a virtual space, so cooperative working between the first robot 1 and the second robot 2 is possible.

Robot Camera Calibration

[0097] In this embodiment, a position and attitude error of a camera tool point of the robot camera 22 attached to the flange 21 of the second robot 2 is calculated. The details will be described with reference to FIG. 1 and FIG. 8 to FIG. 10. The camera tool point of the robot camera 22 is an example of a measuring tool point of a robot hand measuring device of a specified one of the robots according to the aspect of the disclosure.

Robot Operation and Measurement During Calibration

[0098] By actuating the second robot 2 to move the flange 21 of the second robot 2, the flange 21 of the second robot 2 is placed near the reference measuring element 40 as shown in the schematic view of FIG. 9, and the robot camera 22 attached to the flange 21 is faced toward the reference measuring element 40 (step ST201 of FIG. 8). In this state, the four measuring points 4a of the reference measuring element 40 are measured by driving the robot camera 22 (step ST202 of FIG. 8).

[0099] By measuring the four measuring points 4a of the reference measuring element 40 with the robot camera 22 in this way, a position and attitude relation (a relation in the position in the X axis, the position in the Y axis and the position in the Z axis and a relation in the attitude around the X axis, the attitude around the Y axis and the attitude around the Z axis) between the camera tool point of the robot camera 22 and the reference measuring element 40 is obtained from the camera measured data. Calculation for obtaining the position and attitude relation between the camera tool point of the robot camera 22 and the reference measuring element 40 from the camera measured data is executed in the computation unit 113.

Calculation of Position and Attitude and Calculation of Error

[0100] Next, a process of calculating a position and attitude and a process of calculating an error, which are executed by the computation unit 113 of the controller 100 in the present embodiment, will be described with reference to FIG. 10.

[0101] In the following description, a coordinate system of which the origin is the reference point of the base 2a of the second robot 2 is referred to as RB2 coordinate system, and a coordinate system of which the origin is the camera tool point of the robot camera 22 attached to the flange 21 of the second robot 2 is referred to as camera coordinate system. A coordinate system of the reference measuring element 40 is referred to as TC coordinate system.

[0102] In FIG. 10, a design installation position and attitude of the second robot 2 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.iRB2. An actual installation position and attitude of the second robot 2 when viewed from the design RB2 coordinate system is denoted by .sup.iRB2T.sub.rRB2.

[0103] A design installation position and attitude of the camera tool point of the robot camera 22 when viewed from the actual RB2 coordinate system is denoted by .sup.rRB2T.sub.iCam. An actual installation position and attitude of the camera tool point of the robot camera 22 when viewed from the design camera coordinate system is denoted by .sup.iCamT.sub.rCam. The .sup.iCamT.sub.rCam is an error between the design installation position and attitude of the camera tool point of the robot camera 22 and the actual installation position and attitude of the camera tool point, and is not known. A position and attitude of the reference measuring element 40 when viewed from the actual camera coordinate system is .sup.rCamT.sub.TC.

[0104] On the other hand, the position and attitude of the reference measuring element 40 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.TC.

[0105] The above .sup.0T.sub.iRB2, .sup.iRB2T.sub.rRB2, .sup.rRB2T.sub.iCam, .sup.iCamT.sub.rCam, .sup.rCamT.sub.TC and .sup.0T.sub.TC hold a relation expressed by the following mathematical expression (7).


.sup.0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.iCam.sup.iCamT.sub.rCam.sup.rCamT.sub.TC=.sup.0T.sub.TC(7)

[0106] From the mathematical expression (7), the unknown .sup.iCamT.sub.rCam is expressed by the following mathematical expression.


.sup.iCamT.sub.rCam=(.sup.0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.iCam).sup.1 0T.sub.TC.sup.rCamT.sub.TC.sup.1(8)

[0107] From the mathematical expression (8), the error .sup.iCamT.sub.rCam between the design installation position and attitude of the camera tool point of the robot camera 22 attached to the flange 21 of the second robot 2 and the actual installation position and attitude of the camera tool point (hereinafter, also referred to as the error .sup.iCamT.sub.rCam of the robot camera 22) is calculated.

[0108] .sup.0T.sub.iRB2 is a design normal size value (for example, normal size data of CAD data) and is known.

[0109] .sup.rRB2T.sub.iCam is a position and attitude of the design camera tool point of the robot camera 22 in the robot coordinate system (the robot coordinate system of which the origin is the reference point of the base 2a of the second robot 2) at the time when the reference measuring element 40 has been measured by the robot camera 22. .sup.rRB2T.sub.iCam is calculated from data of the six variables of the robot control unit 111 (data of the six variables of the representative point of the flange 21 of the second robot 2) and the position and attitude relation (known) between the representative point of the flange 21 of the second robot 2 and the design camera tool point of the robot camera 22.

[0110] .sup.rCamT.sub.TC is calculated from the position and attitude relation between the camera tool point of the robot camera 22 and the reference measuring element 40, which is calculated from the camera measured data. .sup.0T.sub.TC is a design normal size value (for example, normal size data of CAD data) and is known. As for .sup.iRB2T.sub.rRB2, the calculated value calculated from the mathematical expression (4) in the robot calibration may be used.

[0111] The computation unit 113 calculates the error .sup.iCamT.sub.rCam of the robot camera 22 from the mathematical expression (8) (step ST203 of FIG. 8). The calculated error .sup.iCamT.sub.rCam of the robot camera 22 is stored in the RAM 130.

[0112] In addition, the computation unit 113 calculates the actual installation position and attitude of the camera tool point of the robot camera 22 by using the error .sup.iCamT.sub.rCam of the robot camera 22, calculated as described above, as a correction amount (step ST204 of FIG. 8). By executing such calculation, the actual installation position and attitude of the camera tool point of the robot camera 22 is adjusted to the design installation position and attitude.

[0113] According to the embodiment, the error .sup.iCamT.sub.rCam of the robot camera 22 is calculated by using the camera measured data of the reference measuring element 40, measured by the robot camera 22 attached to the flange 21 of the second robot 2, the data of the six variables of the robot control unit 111 and the error .sup.iRB2T.sub.rRB2 of the second robot 2, calculated in the robot calibration, so it is possible to easily calibrate the installation position and attitude of the robot camera 22 of the second robot 2 in a short time.

Nut Runner Calibration

[0114] In this embodiment, a position and attitude error of a nut runner tool point of the nut runner 23 attached to the flange 21 of the second robot 2 is calculated. The details will be described with reference to FIG. 1 and FIG. 11 to FIG. 13. The nut runner tool point of the nut runner 23 is an example of a working tool point of a working tool of a specified one of robots according to the aspect of the disclosure.

Robot Operation and Measurement During Nut Runner Calibration

[0115] By actuating the second robot 2 to move the flange 21 of the second robot 2, the flange 21 of the second robot 2 is placed near the reference measuring element 40 as shown in the schematic view of FIG. 12, and the nut runner 23 attached to the flange 21 is faced toward the fixed camera 3 (step ST301 of FIG. 11). In this state, the tip of the nut runner 23 and the reference measuring element 40 are measured by driving the fixed camera 3. Specifically, three points of which the position and attitude with respect to the nut runner tool point of the nut runner 23 (the central point of the tip of the nut runner 23) is known are measured by the fixed camera 3 (for example, three points that are not aligned in the same straight line from a ridge line of an edge of the tip of the nut runner 23 are measured), and the four measuring points 4a of the reference measuring element 40 are measured (step ST302 of FIG. 11).

[0116] By measuring the tip of the nut runner 23 and the four measuring points 4a of the reference measuring element 40 with the fixed camera 3 in this way, a position and attitude relation (a relation in the position in the X axis, the position in the Y axis and the position in the Z axis and a relation in the attitude around the X axis, the attitude around the Y axis and the attitude around the Z axis) between the tip of the nut runner 23 and the reference measuring element 40 is obtained from the camera measured data. Calculation for obtaining the position and attitude relation between the tip of the nut runner 23 and the reference measuring element 40 from the camera measured data is executed in the computation unit 113.

[0117] Alternatively, the measuring element 4 shown in FIG. 3 may be attached to the nut runner 23 in advance, and camera measured data (measured data of the six variables) may be obtained by measuring the four measuring points 4a of the measuring element 4 provided on the nut runner 23 and the four measuring points 4a of the reference measuring element 40 with the fixed camera 3.

Calculation of Position and Attitude and Calculation of Error

[0118] Next, a process of calculating a position and attitude and a process of calculating an error, which are executed by the computation unit 113 of the controller 100 in the present embodiment, will be described with reference to FIG. 13.

[0119] In the following description, a coordinate system of which the origin is the reference point of the base 2a of the second robot 2 is referred to as RB2 coordinate system, and a coordinate system of which the origin is the nut runner tool point of the nut runner 23 attached to the flange 21 of the second robot 2 is referred to as nut runner coordinate system. The coordinate system of the reference measuring element 40 is referred to as TC coordinate system.

[0120] In FIG. 13, a design installation position and attitude of the second robot 2 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.iRB2. An actual installation position and attitude of the second robot 2 when viewed from the design RB2 coordinate system is denoted by .sup.iRB2T.sub.rRB2. A design installation position and attitude of the nut runner tool point when viewed from the actual RB2 coordinate system is denoted by .sup.rRB2T.sub.iNut. An actual installation position and attitude of the nut runner tool point when viewed from the design nut runner coordinate system is denoted by .sup.iNutT.sub.rNut. The .sup.iNutT.sub.rNut is an error between the design installation position and attitude of the nut runner tool point of the nut runner 23 and the actual installation position and attitude of the nut runner tool point, and is not known.

[0121] On the other hand, the position and attitude of the reference measuring element 40 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.TC. An actual installation position and attitude of the nut runner tool point of the nut runner 23 when viewed from the TC coordinate system is denoted by .sup.TCT.sub.rNut.

[0122] The above .sup.0T.sub.iRB2, .sup.iRB2T.sub.rRB2, .sup.rRB2T.sub.iNut, .sup.iNutT.sub.rNut, .sup.0T.sub.TC and .sup.TCT.sub.rNut hold a relation expressed by the following mathematical expression.


.sup.0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.iNut.sup.iNutT.sub.rNut=.sup.0T.sub.TC.sup.TCT.sub.rNut(9)

[0123] From the mathematical expression (9), the unknown .sup.iNutT.sub.rNut is expressed by the following mathematical expression.


.sup.iNutT.sub.rNut=(.sup.0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.iNut).sup.1 0T.sub.TC.sup.TCT.sub.rNut(10)

[0124] From the mathematical expression (10), the error .sup.iNutT.sub.rNut between the design installation position and attitude of the nut runner tool point of the nut runner 23 attached to the flange 21 of the second robot 2 and the actual installation position and attitude of the nut runner tool point (hereinafter, also referred to as the error .sup.iNutT.sub.rNut of the nut runner 23) is calculated.

[0125] .sup.0T.sub.iRB2 is a design normal size value (for example, normal size data of CAD data) and is known.

[0126] .sup.rRB2T.sub.iNut is a position and attitude of the design nut runner tool point of the nut runner 23 in the robot coordinate system (the robot coordinate system of which the origin is the reference point of the base 2a of the second robot 2) at the time when the nut runner 23 has been measured by the fixed camera 3. .sup.rRB2T.sub.iNut is calculated from data of the six variables of the robot control unit 111 (data of the six variables of the representative point of the flange 21 of the second robot 2) and the position and attitude relation (known) between the representative point of the flange 21 of the second robot 2 and the design nut runner tool point of the nut runner 23.

[0127] .sup.TCT.sub.rNut is calculated from the position and attitude relation between the tip of the nut runner 23 and the reference measuring element 40, which is calculated from the camera measured data. .sup.0T.sub.TC is a design normal size value (for example, normal size data of CAD data) and is known. As for .sup.iRB2T.sub.rRB2, the calculated value calculated from the mathematical expression (4) in the robot calibration may be used.

[0128] The computation unit 113 calculates the error .sup.iNutT.sub.rNut of the nut runner 23 from the mathematical expression (10) (step ST303 of FIG. 11). The calculated error .sup.iNutT.sub.rNut of the nut runner 23 is stored in the RAM 130.

[0129] In addition, the computation unit 113 calculates the actual installation position and attitude of the nut runner tool point of the nut runner 23 by using the error .sup.iNutT.sub.rNut of the nut runner 23, calculated as described above, as a correction amount (step ST304 of FIG. 11). By executing such calculation, the actual installation position and attitude of the nut runner tool point of the nut runner 23 is adjusted to the design installation position and attitude.

[0130] According to the embodiment, the error .sup.iNutT.sub.rNut of the nut runner 23 is calculated by using the camera measured data of the tip of the nut runner 23 attached to the flange 21 of the second robot 2, measured by the fixed camera 3, the data of the six variables of the robot control unit 111 and the error .sup.iRB2T.sub.rRB2 of the second robot 2, calculated in the robot calibration, so it is possible to easily calibrate the installation position and attitude of the nut runner 23 of the second robot 2 in a short time.

Material Hand Calibration

[0131] As shown in FIG. 1 and FIG. 15, the measuring element 4 shown in FIG. 3 is attached to the material hand 12. Hereinafter, the measuring element 4 attached to the material hand 12 is referred to as material hand measuring element 44. The material hand measuring element 44 is positioned relatively with respect to the material hand 12. A position and attitude relation between a material hand tool point of the material hand 12 and the four measuring points 4a on each side of the material hand measuring element 44 is known. The material hand tool point of the material hand 12 is an example of a working tool point of another one of robots according to the aspect of the disclosure.

[0132] In the embodiment, a position and attitude error of the material hand tool point of the material hand 12 attached to the flange 11 of the first robot 1 is calculated. The details will be described with reference to FIG. 1 and FIG. 14 to FIG. 16.

Robot Operation and Measurement During Material Hand Calibration

[0133] By actuating the second robot 2 to move the flange 21 of the second robot 2, the robot camera 22 of the second robot 2 is placed so as to face the material hand 12 of the first robot 1 as shown in the schematic view of FIG. 15 (step ST401 of FIG. 14). In this state, the four measuring points 4a of the material hand measuring element 44 are measured by driving the robot camera 22 (step ST402 of FIG. 14).

[0134] By measuring the four measuring points 4a of the material hand measuring element 44 with the robot camera 22 in this way, a position and attitude relation (a relation in the position in the X axis, the position in the Y axis and the position in the Z axis and a relation in the attitude around the X axis, the attitude around the Y axis and the attitude around the Z axis) between the camera tool point of the robot camera 22 and the material hand measuring element 44 is obtained from the camera measured data. Calculation for obtaining the position and attitude relation between the camera tool point of the robot camera 22 and the material hand measuring element 44 from the camera measured data is executed in the computation unit 113.

[0135] When the material hand measuring element 44 is not provided on the material hand 12, camera measured data (data of six variables) may be obtained by measuring specific points (three or more measuring points of which the position and attitude with respect to the material hand tool point is known) of the material hand 12 with the robot camera 22 of the second robot 2.

Calculation of Position and Attribute and Calculation of Error

[0136] Next, a process of calculating a position and attitude and a process of calculating an error, which are executed by the computation unit 113 of the controller 100 in the present embodiment, will be described with reference to FIG. 16.

[0137] In the following description, a coordinate system of which the origin is the reference point of the base 1a of the first robot 1 is referred to as RB1 coordinate system, and a coordinate system of which the origin is the reference point of the base 2a of the second robot 2 is referred to as RB2 coordinate system. A coordinate system of which the origin is the material hand tool point of the material hand 12 attached to the flange 11 of the first robot 1 is referred to as material hand coordinate system, and a coordinate system of which the origin is the camera tool point of the robot camera 22 attached to the flange 21 of the second robot 2 is referred to as camera coordinate system.

[0138] Initially, in FIG. 16, a design installation position and attitude of the first robot 1 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.iRB1. An actual installation position and attitude of the first robot 1 when viewed from the design RB1 coordinate system is denoted by .sup.iRB1T.sub.rRB1. A design installation position and attitude of the material hand tool point of the material hand 12 when viewed from the actual RB1 coordinate system is denoted by .sup.rRB1T.sub.iMatHand. An actual installation position and attitude of the material hand tool point of the material hand 12 when viewed from the design material hand coordinate system is denoted by .sup.iMatHandT.sub.rMatHand. The .sup.iMatHandT.sub.rMatHand is an error between the design rMatHand is installation position and attitude of the material hand tool point of the material hand 12 and the actual installation position and attitude of the material hand tool point, and is not known.

[0139] On the other hand, a design installation position and attitude of the second robot 2 when viewed from the coordinate system of the virtual origin [0] is denoted by .sup.0T.sub.iRB2. An actual installation position and attitude of the e second robot 2 when viewed from the design RB2 coordinate system is denoted by .sup.iRB2T.sub.rRB2. A design installation position and attitude of the robot camera 22 of the second robot 2 when viewed from the actual RB2 coordinate system is denoted by .sup.rRB2T.sub.iCam. An actual installation position and attitude of the camera tool point of the robot camera 22 when viewed from the design camera coordinate system is denoted by .sup.iCamT.sub.rCam. An actual installation position and attitude of the material hand tool point of the material hand 12 when viewed from the actual camera coordinate system is denoted by .sup.rCamT.sub.rMatHand.

[0140] The above .sup.0T.sub.iRB1, .sup.iRB1T.sub.rRB1, .sup.rRB1T.sub.iMatHand, .sup.iMatHandT.sub.rMatHand, .sup.0T.sub.iRB2, .sup.iRB2T.sub.rRB2, .sup.rRB2T.sub.iCam, .sup.iCamT.sub.rCam and .sup.rCamT.sub.rMatHand hold a relation expressed by the following mathematical expression (11).


.sup.0T.sub.iRB1.sup.iRB1T.sub.rRB1.sup.rRB1T.sub.iMatHand.sup.iMatHandT.sub.rMatHand=.sup.0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.iCam.sup.iCamT.sub.rCam.sup.rCamT.sub.rMatHand(11)

[0141] From the mathematical expression (11), the unknown .sup.iMatHandT.sub.rMatHand is expressed by the following mathematical expression.


.sup.iMatHandT.sub.rMatHand=(.sup.0T.sub.iRB1.sup.iRB1T.sub.rRB1.sup.rRB1T.sub.iMatHand).sup.1 0T.sub.iRB2.sup.iRB2T.sub.rRB2.sup.rRB2T.sub.iCam.sup.iCamT.sub.rCam.sup.rCamT.sub.rMatHand(12)

[0142] From the mathematical expression (12), the error .sup.iMatHandT.sub.rMatHand between the design installation position and attitude of the material hand tool point of the material hand 12 attached to the flange 11 of the first robot 1 and the actual installation position and attitude of the material hand tool (hereinafter, also referred to as the error .sup.iMatHandT.sub.rMatHand of the material hand 12) is calculated.

[0143] .sup.0T.sub.iRB1 and .sup.0T.sub.iRB2 are design normal size values (for example, normal size data of CAD data) and are known.

[0144] .sup.rRB1T.sub.iMatHand is a position and attitude of the material hand measuring element 44 in the robot coordinate system (the robot coordinate system of which the origin is the reference point of the base 1a of the first robot 1). .sup.rRB1T.sub.iMatHand is calculated from data of the six variables of the robot control unit 111 (data of the six variables of the representative point of the flange 11 of the first robot 1) and the position and attitude relation (known) between the representative point of the flange 11 of the first robot 1 and the material hand measuring element 44.

[0145] .sup.rRB2T.sub.iCam is a position and attitude of the design camera tool point of the robot camera 22 in the robot coordinate system (the robot coordinate system of which the origin is the reference point of the base 2a of the second robot 2) at the time when the material hand measuring element 44 has been measured by the robot camera 22. .sup.rRB2T.sub.iCam is calculated from data of the six variables of the robot control unit 111 (data of the six variables of the representative point of the flange 21 of the second robot 2) and the position and attitude relation (known) between the representative point of the flange 21 of the second robot 2 and the design camera tool point of the robot camera 22.

[0146] .sup.rCamT.sub.rMatHand is calculated from the position and attitude relation between the camera tool point of the robot camera 22 and the material hand measuring element 44, which is measured from the camera measured data.

[0147] As for .sup.iRB1T.sub.rRB1, the calculated value calculated from the mathematical expression (2) in the robot calibration may be used. As for .sup.iRB2T.sub.rRB2, the calculated value calculated from the mathematical expression (4) in the robot calibration may be used. As for .sup.iCamT.sub.rCam, the calculated value calculated from the mathematical expression (8) in the robot camera calibration may be used.

[0148] The computation unit 113 calculates the error .sup.iMatHandT.sub.rMatHand of the material hand 12 from the mathematical expression (12) (step ST403 of FIG. 14). The calculated error .sup.iMatHandT.sub.rMatHand of the material hand 12 is stored in the RAM 130.

[0149] In addition, the computation unit 113 calculates the actual installation position and attitude of the material hand tool point of the material hand 12 by using the error .sup.iMatHandT.sub.rMatHand of the material hand 12, calculated as described above, as a correction amount (step ST404 of FIG. 14). By executing such calculation, the actual installation position and attitude of the material hand tool point of the material hand 12 is adjusted to the design installation position and attitude.

[0150] According to the embodiment, the error .sup.iMatHandT.sub.rMatHand of the material hand 12 is calculated by using the camera measured data of the material hand 12 of the first robot 1, measured by the robot camera 22 of the second robot 2, the data of the six variables of the robot control unit 111, the error .sup.iRB1T.sub.rRB1 of the first robot 1, calculated in the robot calibration, and the error .sup.iRB2T.sub.rRB2 of the second robot 2, calculated in the robot calibration, so it is possible to easily calibrate the installation position and attitude of the material hand 12 of the first robot 1 in a short time.

Alternative Embodiments

[0151] The embodiment described above is illustrative and not restrictive in all respects. Therefore, the technical scope of the disclosure should not be interpreted from only the above-described embodiment but be defined based on the appended claims. The technical scope of the disclosure encompasses the appended claims, equivalents thereof and all the modifications within the scope of the disclosure.

[0152] For example, in the above-described embodiment, the nut runner is attached to the flange 21 of the second robot 2; however, the working tool attached to the flange 21 is not limited to the nut runner. For example, another working tool, such as a welding tool and a screw tightening tool, may be attached to the flange 21 of the second robot 2. Another working tool other than the material hand 12 may be attached to the first robot 1.

[0153] In the above-described embodiment, the example in which the disclosure is applied to calibration of two robots installed in a process is described; however, the disclosure is not limited to this embodiment. The disclosure is also applicable to calibration of three or more robots installed in a process.

[0154] In this case, by executing the above-described robot calibration over the three or more robots, it is possible to calibrate three or more robots on-line. Thus, it is possible to shorten a time that is required for calibration. In addition, by executing a similar calculation process to the mathematical expression (6) for the three or more robots, it is possible to bring the coordinate systems of all the robots into coincidence with one another in a virtual space. Thus, it is possible to actuate the other robots in cooperation with the motion of a specified one of the robots.

[0155] The disclosure is effectively usable in a calibration system that calibrates a plurality of robots installed in a process.