CALIBRATION SYSTEM
20180304466 ยท 2018-10-25
Assignee
- Toyota Jidosha Kabushiki Kaisha (Toyota-shi Aichi-ken, JP)
- Tamadic Co., Ltd. (Shinjuku-ku Tokyo, JP)
- Hirano; Shinya (Nisshin-city Aichi, JP)
Inventors
- Motoyasu Machino (Nisshin-shi Aichi-ken, JP)
- Kazuki Yokouchi (Miyoshi-shi Aichi-ken, JP)
- Masato Inagaki (Toyota-shi Aichi-ken, JP)
- Shinya Hirano (Nisshin-shi Aichi-ken, JP)
Cpc classification
B25J9/1682
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/39051
PHYSICS
Y10S901/47
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y10S901/09
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
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]
[0028]
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
[0040]
[0041]
[0042]
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
[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
[0051] The measuring element 4 shown in
[0052] The measuring element 4 shown in
Controller
[0053] Next, the controller 100 will be described.
[0054] As shown in
[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
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
[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
[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
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
[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
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
[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
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
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
[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
[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
[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
[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
[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
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
[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
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
[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
[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
[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
[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
[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
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
[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
[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
[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
[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
[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.