CALIBRATION DEVICE FOR CALIBRATING MECHANISM ERROR PARAMETER AND DECISION DEVICE FOR DECIDING NECESSITY FOR CALIBRATION OF MECHANISM ERROR PARAMETER
The calibration device and determination device address the challenge of maintaining accurate robot position and posture by calibrating mechanism error parameters, enhancing efficiency and productivity in robot system operations.
Patent Information
- Application Number
- JP2023549306
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2021-09-27
- Publication Date
- 2025-05-20
- Estimated Expiration
- 2041-09-27
AI Technical Summary
Existing robot systems face challenges in maintaining accurate position and posture after component replacements or robot upgrades, due to manufacturing errors, wear, and installation inaccuracies, leading to difficulties in restoring the base coordinate system and requiring time-consuming re-teaching processes.
A calibration device and determination device that adjust and determine the necessity of mechanism error parameter calibration for robots. The calibration device includes a position acquisition unit, a parameter calculation unit, and a matrix calculation unit to calculate and adjust mechanism error parameters, ensuring the robot's position and posture align with the operation program specifications.
The solution enables efficient calibration of mechanism error parameters, reducing the time and effort required for re-teaching processes, and ensuring consistent accuracy and productivity of the robot system even after component replacements or robot upgrades.
Smart Images

Figure 0007680553000001 
Figure 0007680553000002 
Figure 0007680553000003
Abstract
Description
[Technical field]
[0001] The present invention relates to a calibration device that calibrates a mechanism error parameter and a determination device that determines the necessity of calibration of the mechanism error parameter. [Background technology]
[0002] Conventionally, robot devices equipped with a work tool and a robot that moves the work tool have been known. The robot can perform various tasks while changing the position and posture of the work tool by being driven. The position and posture of the robot are specified by an operation program. In a robot system equipped with multiple robot devices, control that causes the operation of one robot to follow the operation of the other robots is known (for example, JP-A-10-83208).
[0003] It is preferable that the position and posture of the robot coincide with the position and posture defined in the operation program. However, after replacing the robot, the robot may not reach the desired position and posture due to an error in the position where the robot is installed and individual differences of the robot. After replacing the robot, it is known to measure the position of the origin of the base coordinate system set in the robot and calculate the position deviation of the base coordinate system using a visual sensor. Then, it is known to correct the operation program for driving the robot based on the detection result (for example, Japanese Patent No. 6603289 and Japanese Patent Publication No. 2019-14011). [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Japanese Patent Application Publication No. 10-83208 [Patent Document 2] Patent No. 6603289 [Patent Document 3] JP 2019-14011 A Summary of the Invention [Problem to be solved by the invention]
[0005] When the robot is driven based on the operation program, the position and posture of the robot are affected by manufacturing errors of the components when the robot is manufactured, and by gravity when the robot is driven. As a result, the position and posture of the robot may slightly deviate from the position and posture defined in the operation program. Manufacturing errors of the components include errors in the length of the arms between the joint axes and errors in the gear ratio of the reducer. Items that cause such errors can be set as mechanism error parameters of the robot, and a value can be set for each mechanism error parameter. The control device can precisely control the position and posture of the robot by driving the robot using the mechanism error parameters.
[0006] Immediately after the robot is installed, the mechanism error parameters can be adjusted to control the robot so that it is in the desired position and posture in response to the command values of the operation program. However, when the robot is operated for a long period of time, the accuracy of controlling the robot may deteriorate due to wear of the components of the robot. For this reason, the components of the robot, such as the motor, the reducer, or the arm, may be replaced. In this case, it is difficult to make the position reached by the robot after the replacement of the components coincide with the position reached by the robot before the replacement of the components.
[0007] Furthermore, when replacing the entire robot, an installation error occurs due to a deviation from the installation reference of the robot or an inclination of the installation plane. An error in the installation of the robot may cause a large error in the position and posture of the robot. However, there is a problem in that it is difficult to make the position reached by the robot after the robot replacement coincide with the position reached before the robot replacement. In other words, there is a problem in that it is difficult to restore the base coordinate system before the robot replacement.
[0008] By re-teaching the position and posture after replacing components or the robot, errors in the position and posture of the robot can be corrected. However, the robot teaching process takes time, which reduces the productivity of the robot device. In addition, the robot teaching positions must be corrected for each operation program, which is a problem of the long teaching process. In addition, when correcting the teaching positions of a program, if there are teaching points whose teaching positions have not been corrected, there is a risk that the accuracy of driving the robot will be poor or that the robot will interfere with surrounding devices. [Means for solving the problem]
[0009] A first aspect of the present disclosure is a method for adjusting control of a robot based on an operating program. Contains information about the tolerances of robot components A calibration device that calibrates a mechanism error parameter. The calibration device includes a position acquisition unit that acquires a position of a robot in a three-dimensional reference coordinate system. The calibration device includes a parameter calculation unit that calculates a mechanism error parameter based on the position of the robot in the reference coordinate system. The first state is a state when a robot in which a first mechanism error parameter is set is driven by a command value of an operation program, and the second state is a state after the first state when the robot is driven by a command value that is the same as the command value of the operation program. The parameter calculation unit calculates a second mechanism error parameter different from the first mechanism error parameter so that the position of the robot in the reference coordinate system in the second state coincides with the position of the robot in the reference coordinate system in the first state.
[0010] A second aspect of the present disclosure is a method for adjusting control of a robot based on an operating program. Contains information about the tolerances of robot componentsA determination device that determines whether or not a mechanism error parameter needs to be calibrated. The determination device includes a position acquisition unit that acquires the position of the robot in a three-dimensional reference coordinate system. The determination device includes a maintenance determination unit that evaluates the accuracy of the position of the robot with respect to the command values of an operation program. The first state is a state when a robot in which a first mechanism error parameter is set is driven by the command values of the operation program, and the second state is a state after the first state, when the robot is driven by the same command values as the command values of the operation program. The maintenance determination unit determines whether or not calibration of the mechanism error parameter is necessary based on the position of the robot in the reference coordinate system in the first state and the position of the robot in the reference coordinate system in the second state. A third aspect of the present disclosure is a calibration device that calibrates a mechanism error parameter for adjusting control of a robot based on an operation program. The calibration device includes a position acquisition unit that acquires the position of the robot in a three-dimensional reference coordinate system, a parameter calculation unit that calculates a mechanism error parameter based on the position of the robot in the reference coordinate system, and a matrix calculation unit that calculates a transformation matrix that converts one of the coordinate values of a base coordinate system and the coordinate values of the reference coordinate system set for the robot into the other coordinate value. The first state is a state when the robot in which the first mechanism error parameter is set is driven by a command value of the operation program. The second state is a state after the first state, and is a state when the robot is driven by a command value that is the same as the command value of the operation program. The parameter calculation unit calculates a second mechanism error parameter different from the first mechanism error parameter so that the position of the robot in the reference coordinate system in the second state coincides with the position of the robot in the reference coordinate system in the first state. The operation program includes a command value of the robot specified by the coordinate value of the base coordinate system. The position acquisition unit acquires multiple positions of the robot in the reference coordinate system when the robot is driven based on multiple command values for the robot in a first state. The matrix calculation unit calculates a transformation matrix based on the multiple command values for the robot and multiple positions of the robot in the reference coordinate system in the first state. The position acquisition unit acquires multiple positions of the robot in the reference coordinate system when the robot is driven based on the multiple command values for the robot in a second state. The parameter calculation unit calculates a theoretical position of the robot in the base coordinate system based on the positions of the robot in the reference coordinate system and the transformation matrix when the robot is driven by each command value in the second state, and calculates a second mechanism error parameter so that the command values for the robot match the theoretical positions of the robot in the base coordinate system. Effect of the Invention
[0011] According to one aspect of the present disclosure, it is possible to provide a calibration device that can easily calibrate mechanism error parameters of a robot, and a determination device that determines whether or not the mechanism error parameters need to be calibrated. [Brief description of the drawings]
[0012] [Figure 1] 1 is a perspective view of a robot system according to an embodiment. [Diagram 2] FIG. 2 is a perspective view of a robot device, a three-dimensional measuring device, and an auxiliary member in a first state. [Diagram 3] FIG. 2 is a block diagram of a robot device and a three-dimensional measuring device. [Figure 4] 4 is a flowchart of a first control of the calibration device in the embodiment. [Diagram 5] FIG. 11 is a perspective view of the robot device, the three-dimensional measuring device, and the auxiliary member in a second state. [Figure 6] 11 is a flowchart of a second control of the calibration device. [Figure 7] FIG. 2 is a perspective view of a robot device, a three-dimensional measuring device, and an auxiliary member in a first state. [Figure 8]13 is a flowchart of a third control of the calibration device. [Figure 9] FIG. 11 is a perspective view of the robot device, the three-dimensional measuring device, and the auxiliary member in a second state. [Figure 10] 13 is a flowchart of a fourth control of the calibration device. [Figure 11] 4 is a flowchart of control of a maintenance determination unit of the control device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] A calibration device and a determination device according to the embodiment will be described with reference to Fig. 1 to Fig. 11. The calibration device according to the embodiment calibrates mechanism error parameters for adjusting the operation of a robot based on an operation program. The determination device according to the embodiment determines whether or not there is a need to calibrate the mechanism error parameters.
[0014] 1 is a perspective view of a robot system according to the present embodiment. In the robot system according to the present embodiment, spot welding is performed by three robot devices 5, 6, and 7. Each of the robot devices 5, 6, and 7 includes a welding gun 2 as a work tool and a robot 1 that changes the position and posture of the welding gun 2. A workpiece to be welded is transported to an area surrounded by the robot devices 5, 6, and 7. For example, a car body is transported as the workpiece suspended by a transport machine. Spot welding is performed by the robot devices 5, 6, and 7.
[0015] 2 shows a perspective view of the robot device, a three-dimensional measuring device, and an auxiliary member. Here, of the multiple robot devices 5, 6, and 7, the robot device 5 will be taken as an example for explanation. The robot devices 6 and 7 have the same configuration as the robot device 5. The robot 1 of this embodiment is an articulated robot including multiple joints.
[0016] The robot 1 includes a base unit 14 fixed to an installation surface, and a swivel base 13 rotatably supported by the base unit 14. The robot 1 includes an upper arm 11 and a lower arm 12. The lower arm 12 is supported so as to rotate relative to the swivel base 13. The upper arm 11 is supported so as to rotate relative to the lower arm 12. Furthermore, the upper arm 11 rotates around a rotation axis parallel to the direction in which the upper arm 11 extends. The robot 1 includes a wrist 15 rotatably supported by the upper arm 11. Furthermore, the wrist 15 includes a rotating flange 16. A welding gun 2 is fixed to the flange 16.
[0017] The robot of this embodiment has six drive shafts, but is not limited to this form. A robot whose position and posture can be changed by any mechanism can be adopted. The work tool of this embodiment is a welding gun for spot welding, but is not limited to this form. The worker can select a work tool according to the work to be performed by the robot device. For example, a work tool for transporting a workpiece or a work tool for applying adhesive can be adopted.
[0018] A base coordinate system 71 is set in the robot device 5 of this embodiment. In the example shown in FIG. 2, the origin of the base coordinate system 71 is located on the base unit 14 of the robot 1. The base coordinate system 71 is a coordinate system in which the position of the origin is fixed to the robot and the orientation of the coordinate axes is fixed. Even if the position and posture of the robot 1 change, the position and orientation of the base coordinate system 71 do not change. The base coordinate system 71 has, as its coordinate axes, an X-axis, a Y-axis, and a Z-axis that are orthogonal to each other. In addition, the W-axis is set as the coordinate axis around the X-axis. The P-axis is set as the coordinate axis around the Y-axis. The R-axis is set as the coordinate axis around the Z-axis.
[0019] A tool coordinate system having an origin set at an arbitrary position of the work tool is set in the robot device 5. In this embodiment, the origin of the tool coordinate system is set at the tool tip point, which is the tip of the fixed electrode of the welding gun 2. The tool coordinate system is a coordinate system whose position and posture change together with the work tool. The position of the robot 1 corresponds to the position of the origin of the tool coordinate system in the base coordinate system 71. Furthermore, the posture of the robot 1 corresponds to the orientation of the tool coordinate system with respect to the base coordinate system 71. The position and posture of the robot 1 can be expressed by the coordinate values of the base coordinate system 71.
[0020] A block diagram of the robot device and the three-dimensional measuring device in this embodiment is shown in Figure 3. With reference to Figures 2 and 3, the robot 1 includes a robot drive device that changes the position and posture of the robot 1. The robot drive device includes a robot drive motor 22 that drives components such as the upper arm 11, the lower arm 12, and the wrist 15.
[0021] The welding gun 2 is equipped with a welding gun drive device that drives the welding gun 2. The welding gun drive device includes an electrode drive motor 21 that drives a movable electrode of the welding gun 2. The movable electrode moves relative to the fixed electrode as the electrode drive motor 21 is driven. As the movable electrode moves, spot welding can be performed by sandwiching a workpiece between the fixed electrode and the movable electrode.
[0022] The robot device 5 includes a control device 4 that controls the robot 1 and the welding gun 2, and a teaching operation panel 37 that allows an operator to operate the control device 4. The control device 4 includes an arithmetic processing device (computer) having a CPU (Central Processing Unit) as a processor. The control device 4 has a RAM (Random Access Memory), a ROM (Read Only Memory), and the like connected to the CPU via a bus.
[0023] The teaching operation panel 37 includes an input unit 38 for inputting information related to the robot 1 and the welding gun 2. The input unit 38 is composed of a keyboard, a dial, etc. An operator can input an operation program, variable setting values, variable judgment values, etc. from the input unit 38 to the control device 4. The teaching operation panel 37 includes a display unit 39 for displaying information related to the robot 1 and the welding gun 2.
[0024] A pre-created operation program 46 is input to the control device 4 in order to control the robot 1 and the welding gun 2. Alternatively, a worker can set teaching points for the robot 1 by operating the teaching operation panel 37 to drive the robot 1. The control device 4 can generate the operation program 46 for driving the robot 1 and the welding gun 2 based on the teaching points.
[0025] The control device 4 includes a storage unit 42 that stores information related to the control of the robot 1 and the welding gun 2. The storage unit 42 can be configured with a non-transitory storage medium capable of storing information. For example, the storage unit 42 can be configured with a storage medium such as a volatile memory, a non-volatile memory, a magnetic storage medium, or an optical storage medium. The processor functioning as the operation control unit 43 is formed to be able to read the information stored in the storage unit 42. An operation program 46 is stored in the storage unit 42. The robot device 5 automatically performs an operation based on the operation program 46.
[0026] The control device 4 includes an operation control unit 43 that sends operation commands to the robot 1 and the welding gun 2. The operation control unit 43 sends an operation command for driving the robot 1 to the robot driving unit 45 based on an operation program 46. The robot driving unit 45 includes an electric circuit that drives the robot driving motor 22. The robot driving unit 45 supplies electricity to the robot driving motor 22 based on the operation command. The operation control unit 43 also sends an operation command for driving the welding gun 2 to the welding gun driving unit 44 based on the operation program 46. The welding gun driving unit 44 includes an electric circuit that supplies electricity to the electrode and drives the electrode driving motor 21. The welding gun driving unit 44 supplies electricity to the electrode and the electrode driving motor 21 based on the operation command.
[0027] The robot 1 includes a state detector for detecting the state of the robot 1 including the position and posture of the robot 1. The state detector in this embodiment includes a rotational position detector 19 attached to a robot drive motor 22 corresponding to a drive shaft of an arm or the like. The rotational position detector 19 is composed of an encoder or the like that detects the rotation angle of the robot drive motor 22. In this embodiment, the position and posture of the robot are detected based on the outputs of multiple rotational position detectors 19.
[0028] The operation control unit 43 controls the robot 1 so that the robot is positioned and oriented as specified in the operation program 46. The operation control unit 43 controls the rotation angle of the robot drive motor 22 based on inverse kinematics. For example, by controlling the robot 1 so that the tool coordinate system is positioned and oriented as desired, the work tool can be controlled to be positioned and oriented as desired.
[0029] Incidentally, the actual position and posture of the robot may deviate from the position and posture specified in the operation program 46 due to manufacturing errors in the components of the robot, assembly errors when assembling the robot, the effect of gravity, and the like. In this embodiment, a plurality of mechanism error parameters 49 for adjusting the control of the robot 1 are set in addition to the operation program 46. The plurality of mechanism error parameters 49 are stored in the storage unit 42.
[0030] The mechanism error parameters 49 include any parameters that cause errors in position and posture that occur when driving the robot 1. The mechanism error parameters 49 include parameters such as the length of the link between each drive shaft, the position of each drive shaft, an error in the gear ratio caused by backlash occurring in the reducer of each drive shaft, and variables related to the elastic deformation of the link that deforms due to the effect of gravity.
[0031] For example, the mechanism error parameters include DH parameters and errors of the DH parameters. In the DH (Denavit Hartenberg) method, a coordinate system is set for each drive axis, and the position and posture of the robot can be expressed based on the relationship between the coordinate systems of the drive axes. The DH parameters are parameters in the DH method. For example, the DH parameters include the link length.
[0032] The mechanism error parameters also include a spring constant related to the torque around the drive shaft. The spring constant is a parameter related to the amount of deflection relative to the torque. The mechanism error parameters also include an error in the gear ratio of the reducer. The mechanism error parameters also include an error in the position of the origin of the base coordinate system 71. The error in the position of the origin of the base coordinate system is determined by an error in the rotation angle or pulse value output by the rotational position detector 19, etc. Such mechanism error parameters can be set when the robot 1 is shipped, depending on the location where the robot 1 is to be installed.
[0033] 3, the position and posture of the robot 1 are defined in the operation program 46 by the coordinate values of the base coordinate system 71. The operation control unit 43 calculates the rotation angle of the robot drive motor 22 so that the position and posture of the robot 1 are set to the position and posture set in the operation program 46 based on inverse kinematics. At this time, the operation control unit 43 acquires the mechanism error parameters 49 stored in the storage unit 42. The operation control unit 43 calculates the operation command of the robot drive motor 22 based on each mechanism error parameter. By carrying out this control, the position and posture of the robot can be brought closer to the position and posture specified in the operation program 46.
[0034] 1 to 3, the robot system of this embodiment includes a three-dimensional measuring device 8 for accurately measuring the position and posture of the robot 1. The three-dimensional measuring device 8 in this embodiment is a laser tracker that oscillates a laser beam and receives the laser beam reflected by reflectors 67a and 67b. The three-dimensional measuring device 8 includes a laser head 63 that oscillates a laser beam. The laser head 63 has an oscillator 81 that oscillates a laser beam and a light receiving unit 82 that receives the laser beam reflected by the reflectors 67a and 67b. The light receiving unit 82 is disposed inside the laser head 63.
[0035] The three-dimensional measuring device 8 in this embodiment includes a rotation device 64 that changes the orientation of the laser head 63. The rotation device 64 includes a measuring device drive motor 84 that changes the orientation of the laser head 63. A rotation position detector 85 such as an encoder is attached to the measuring device drive motor 84 to detect the rotation angle of the measuring device drive motor 84. The rotation device 64 in this embodiment rotates the laser head 63 around a rotation axis extending in the horizontal direction and a rotation axis extending in the vertical direction. The rotation device 64 is supported by a tripod 65. In this way, the three-dimensional measuring device 8 can oscillate a laser beam in any direction by driving the rotation device 64.
[0036] The three-dimensional measuring device 8 includes an arithmetic processing device having a CPU as a processor and a RAM, etc. The arithmetic processing device of the three-dimensional measuring device 8 includes a position calculation unit 83 that calculates the positions of the reflectors 67a, 67b. The position calculation unit 83 corresponds to a processor that operates according to a predetermined program. The position calculation unit 83 in this embodiment calculates the distance from the three-dimensional measuring device 8 to the reflectors 67a, 67b based on the phase difference between the oscillated laser light and the received laser light.
[0037] In the three-dimensional measuring device 8 of the present embodiment, a measuring device coordinate system 73 is set. The measuring device coordinate system 73 can be set at any position by an operator. The origin of the measuring device coordinate system 73 can be set at any position inside the three-dimensional measuring device 8. For example, the origin of the measuring device coordinate system 73 can be located at the tip of a laser light source arranged inside the laser head 63.
[0038] The measuring instrument coordinate system 73 includes coordinate axes having an X-axis, a Y-axis, and a Z-axis that are orthogonal to each other. The orientation of the measuring instrument coordinate system 73 can be set to any orientation. The measuring instrument coordinate system 73 is a coordinate system in which the position of the origin is fixed, and further, the orientation of the coordinate axes is fixed. Even if the orientation of the laser head 63 changes, the position and orientation of the measuring instrument coordinate system 73 do not change.
[0039] The reflectors 67a and 67b in this embodiment are formed in a spherical shape. The reflectors 67a and 67b are formed to reflect the laser light in the same direction as the direction of the incident laser light. The reflectors 67a and 67b are fixed in the desired positions by a restraining band, a magnet, or the like.
[0040] The rotation device 64 of the three-dimensional measuring device 8 adjusts the orientation of the laser head 63 so that the laser light returns to the laser head 63 after being reflected by the reflectors 67a and 67b. The operator can manually drive the rotation device 64 to adjust the orientation of the laser head 63. Alternatively, the three-dimensional measuring device 8 may have an automatic search function that scans the emission direction of the laser light so as to draw a circle. In this case, the operator adjusts the approximate orientation of the laser head 63 so that the laser light emitted from the three-dimensional measuring device 8 is directed toward the reflectors 67a and 67b. After this, the three-dimensional measuring device 8 can adjust the orientation of the laser head 63 by the automatic search function so that the laser light reflected by the reflectors 67a and 67b returns to the laser head 63.
[0041] The rotation device 64 can detect the orientation of the laser head 63 in the measurement device coordinate system 73 based on the output of the rotation position detector 85. The position calculation unit 83 receives the light reflected by the reflectors 67a and 67b to calculate the distance from the three-dimensional measuring device 8 to the reflectors 67a and 67b. Then, the position calculation unit 83 can calculate the positions of the reflectors 67a and 67b in the measurement device coordinate system 73 based on the calculated distance and the orientation of the laser head 63.
[0042] 2 and 3, the calibration device in this embodiment calibrates mechanism error parameters that adjust the control of the robot 1. The calibration device in this embodiment includes a control device 4. The control device 4 includes a processing unit 51 that performs control related to the calibration of the mechanism error parameters 49. The processing unit 51 includes a reference coordinate system setting unit 53 that sets a reference coordinate system 72 in an area in which the robot 1 is placed based on the output of the three-dimensional measuring device 8. The reference coordinate system 72 can be determined so as not to depend on the operation of the robot and the installation state of the robot. The installation state of the robot 1 includes the position where the robot 1 is installed and the overall inclination of the robot 1 with respect to the surface on which the robot 1 is installed. The reference coordinate system 72 can be set in a fixed coordinate system.
[0043] The processing unit 51 includes a position acquisition unit 52 that acquires the position of the robot in the reference coordinate system 72. The processing unit 51 includes a parameter calculation unit 54 that calculates mechanism error parameters 49 based on the position of the robot in the reference coordinate system 72. The processing unit 51 also includes a matrix calculation unit 55 that calculates a transformation matrix that transforms one of the coordinate values of the base coordinate system 71 and the coordinate values of the reference coordinate system 72 set for the robot 1 into the other coordinate values. The processing unit 51 includes a maintenance judgment unit 56 that evaluates the accuracy of the position of the robot with respect to the command values of the operation program 46.
[0044] The processing unit 51 performs processing based on a predetermined calibration program 48. The processing unit 51 corresponds to a processor that operates in accordance with the calibration program 48. Moreover, each unit of the position acquisition unit 52, the reference coordinate system setting unit 53, the parameter calculation unit 54, the matrix calculation unit 55, and the maintenance determination unit 56 corresponds to a processor that operates in accordance with the calibration program 48. The processor performs control defined in the calibration program 48, thereby functioning as each unit.
[0045] The calibration device of this embodiment includes an auxiliary member 61 for setting a reference coordinate system 72 and a reflector 67a as a member serving as a reference point. The auxiliary member 61 supports a plurality of reflectors 67a. The auxiliary member 61 is disposed in an area in which a robot system is installed. The auxiliary member 61 can be disposed in the vicinity of a robot 1 to be calibrated. The auxiliary member 61 of this embodiment includes a base 61a serving as a stand and an erect portion 61b erected from the base 61a. The erect portion 61b extends vertically upward.
[0046] The reflector 67a is disposed at a corner on the upper surface of the base 61a. The reflector 67a is also disposed on the upper surfaces of some of the standing portions 61b. In this manner, the auxiliary member 61 is formed to support the reflector 67a at a plurality of positions different from each other. The auxiliary member 61 is not limited to this form, and a member that holds the plurality of reflectors 67a can be used.
[0047] A member that does not move in the area where the robot 1 is installed can be used as the auxiliary member 61 so that the positions of the multiple reflectors 67a do not change. For example, a shelf or a fence installed in the area where the robot system is located may be used as an auxiliary member for attaching the reflectors.
[0048] When setting the reference coordinate system 72, the position calculation unit 83 of the three-dimensional measuring device 8 calculates the positions of the multiple reflectors 67a in the measuring device coordinate system 73. The multiple reflectors 67a to be measured can be determined in advance.
[0049] The reference coordinate system setting unit 53 of the processing unit 51 sets a reference coordinate system 72 based on the position of the reflector 67a. The position of the origin of the reference coordinate system 72 and the attitude of the reference coordinate system 72 can be set at a predetermined relative position and attitude with respect to the measured positions of the multiple reflectors 67a. In this example, the reference coordinate system 72 is set with the origin located at one reflector 67a.
[0050] In this way, based on the position of the reference point measured by the three-dimensional measuring device 8, the reference coordinate system setting unit 53 can set the reference coordinate system 72 in three-dimensional space. The reference coordinate system setting unit 53 can set the reference coordinate system 72 by the coordinate values of the measuring device coordinate system 73. The reference coordinate system 72 is determined based on the positions of the multiple reflectors 67a. Therefore, by maintaining the same position of the reflector 67a, the three-dimensional measuring device 8 can measure the position of the reflector 67a from any direction. Then, the same reference coordinate system 72 can be reproduced based on the relative position and attitude with respect to the multiple reflectors 67a.
[0051] In this embodiment, reflector 67b is disposed at the tip of the fixed electrode, which corresponds to the tool tip point of welding gun 2. Therefore, the position of reflector 67b corresponds to the position of robot 1. Position calculation unit 83 of three-dimensional measuring device 8 can measure the position of reflector 67b in measuring device coordinate system 73. Then, position acquisition unit 52 can calculate the position of robot 1 in reference coordinate system 72, based on the position of reflector 67b in measuring device coordinate system 73.
[0052] 4 shows a flowchart of the first control for calibrating the mechanism error parameters in this embodiment. In the first control, the mechanism error parameters are calibrated after replacing the robot 1. When the robot has been used for a long period of time, the entire robot may need to be replaced.
[0053] In this embodiment, a first state of the robot is defined in relation to the calibration of the mechanism error parameters. In this embodiment, the first state is defined as a reference state of the robot before the calibration of the mechanism error parameters is performed. Also, a second state after the first state is defined. The second state includes a state in which the calibration of the mechanism error parameters is performed, or a state in which it is determined whether or not to calibrate the mechanism error parameters.
[0054] In the first control, the first state is a state before replacing the robot in which the old robot is installed. The second state is a state after the robot is replaced in which a new robot is installed. In this embodiment, the robot before replacement is referred to as the first robot, and the robot after replacement is referred to as the second robot. In the first control, the first state can be a state immediately before replacing the first robot. Or, the first state can be a state immediately after performing calibration of the mechanism error parameters at any time after installing the first robot.
[0055] 2 to 4, in step 101, when the first robot 1 is in a predetermined first state after installation, a reference coordinate system 72 is generated by measurement by the three-dimensional measuring device 8. The first state can be a state when the robot drives with high accuracy according to command values. The three-dimensional measuring device 8 is placed in any area where the robot 1 is placed, and the position of the reflector 67a is measured. The reference coordinate system setting unit 53 generates the reference coordinate system 72 using the coordinate values of the measuring device coordinate system 73.
[0056] In step 102, the processing unit 51 drives the robot 1 with a command value of a predetermined operation program. The command values of the position and posture of the robot in the operation program are specified by coordinate values in the base coordinate system 71. For example, the robot 1 is driven with a command value of an operation program for performing calibration. In the example shown in FIG. 2, the reflector 67b is placed at one measurement point 76 by driving the robot 1 with one command value. When the robot 1 stops, the position calculation unit 83 of the three-dimensional measuring device 8 calculates the position of the reflector 67b in the measuring device coordinate system 73. The position acquisition unit 52 converts the coordinate value of the position of the reflector 67b in the measuring device coordinate system 73 into the coordinate value of the position in the reference coordinate system 72. In this example, the position of the reflector 67b corresponds to the position of the robot. In this way, the position acquisition unit 52 acquires the coordinate value of the position of the robot in the reference coordinate system 72 based on the output of the three-dimensional measuring device 8.
[0057] The processing unit 51 repeats control to acquire the position of the robot with respect to the command value. The processing unit 51 drives the robot 1 with a plurality of command values. When the reflector 67b is placed at each measurement point 76, the position acquisition unit 52 acquires coordinate values of the robot's position in the reference coordinate system 72. The storage unit 42 stores a plurality of command values and a plurality of coordinate values of the robot's positions in the reference coordinate system corresponding to the plurality of command values. Note that, in order to perform accurate measurement of the mechanism error parameters, it is preferable to measure, for example, several tens of measurement points 76.
[0058] Next, in step 103, the first robot 1 is replaced with a second robot 3. In this embodiment, the robot is replaced with a robot made by the same manufacturer and with the same model number. At this time, it is preferable to install the second robot so that the position of the second robot on the installation surface and the inclination of the second robot relative to the installation surface are as similar as possible to the position and inclination of the first robot.
[0059] FIG. 5 shows a perspective view of the robot device, three-dimensional measuring device, and auxiliary members when a new robot is installed. A second robot 3 is installed on the floor in place of the first robot 1. The robot 3 is preferably installed at the same position and with the same inclination as the robot 1. However, due to manufacturing errors and individual differences in the manufacture of the robot, the position reached may deviate from the command value of the operation program. For this reason, the mechanical error parameters of the second robot 3 are calibrated.
[0060] 4 and 5, in step 104, after the second robot 3 is installed, the reference coordinate system setting unit 53 generates a reference coordinate system 72 based on the output of the three-dimensional measuring device 8. In this example, the position of the three-dimensional measuring device 8 is different from the position shown in FIG. 2. However, by measuring the positions of a plurality of predetermined reflectors 67a, it is possible to reproduce a reference coordinate system 72 having the same position and posture for the plurality of reflectors 67a. That is, it is possible to restore a reference coordinate system having the same position and posture as the reference coordinate system used in the first robot 1.
[0061] Next, in step 105, the processing unit 51 drives the second robot 3 with the same command value as the command value of the operation program used in the first robot 1. By driving the robot 3 with a plurality of command values, the reflector 67b moves to the position of the measurement point 77. The position of the measurement point 77 may deviate from the position of the measurement point 76 of the first robot 1 in FIG. 2. When the reflector 67b is placed at each measurement point 77, the position acquisition unit 52 acquires the coordinate value of the measurement point 77 in the reference coordinate system as the position of the robot 3 from the output of the three-dimensional measuring device 8. That is, the position acquisition unit 52 acquires the position of the reflector 67b in the reference coordinate system 72 when the second robot 3 is driven with the same predetermined command value as the first robot 1.
[0062] In step 106, the parameter calculation unit 54 calculates the mechanical error parameters of the second robot 3. The parameter calculation unit 54 calculates the mechanical error parameters of the second robot 3 so that the position of the robot in the reference coordinate system 72 of the second robot 3 (the position of the measurement point 77) coincides with the position of the robot in the reference coordinate system 72 of the first robot 1 (the position of the measurement point 76). In other words, the mechanical error parameters of the second robot 3 are calculated so that when the second robot 3 is driven with the same command value as the first robot 1, the tool tip point reaches the same position.
[0063] The parameter calculation unit 54 can set the mechanism error parameters by the least squares method, for example, so that the error in the position of the second robot 3 relative to the position of the first robot 1 is reduced when the robots are driven by a plurality of command values. The parameter calculation unit 54 can calculate a plurality of constants included in the mechanism error parameters. Alternatively, the parameter calculation unit 54 may randomly change the variables included in the mechanism error parameters and adopt variables that reduce the difference between the position of the second robot 3 and the position of the first robot 1 for the same command value.
[0064] The processing unit 51 can store the new mechanical error parameters calculated by the parameter calculation unit 54 in the storage unit 42. When performing spot welding work with the second robot 3, the new mechanical error parameters can be used to control the robot 3. As a result, the second robot 3 can be controlled to assume approximately the same position and posture as the first robot 1 without the need to perform a teaching operation for the second robot 3 again.
[0065] FIG. 6 shows a flowchart of the second control for calibrating the mechanism error parameters in this embodiment. In the second control, the mechanism error parameters are calibrated when some of the components of the robot are replaced. When the robot is used, some of the components of the robot may break down. For example, the gears of the reducer may wear out due to aging. Or, the strength of the arm may weaken, causing the amount of deflection of the arm to increase. In such cases, the mechanism error parameters are calibrated after some of the components of the robot are replaced.
[0066] In the second control, the first state is a state before some of the components of the robot are replaced. The second state is a state after some of the components of the robot are replaced. In particular, the second state is a state when some of the components of the robot have deteriorated. Here, an example will be described in which an upper arm is replaced among the components of the robot. The components to be replaced are not limited to the upper arm, but may be a wrist, a rotational position detector, a motor, or a reducer.
[0067] In the second control, steps 101 and 102 are the same as in the first control (see FIG. 4). The first robot 1 is driven by a plurality of command values, and the position of the robot in the reference coordinate system 72 is stored. Next, in step 111, the upper arm 11 of the first robot 1 is replaced. Next, in step 112, the reference coordinate system setting unit 53 reproduces the reference coordinate system 72 using the output of the three-dimensional measuring device 8 after the upper arm 11 has been replaced.
[0068] Next, in step 113, the processing unit 51 drives the first robot 1 with the same command values as before replacement of the upper arm 11. The position acquisition unit 52 acquires the position of the reflector 67b in the reference coordinate system 72. That is, the position acquisition unit 52 acquires the position of the first robot 1 equipped with the new upper arm.
[0069] Next, in step 114, the parameter calculation unit 54 calculates the mechanism error parameters of the first robot 1. At this time, similar to the first control, the parameter calculation unit 54 calculates the mechanism error parameters so that the position of the robot in the reference coordinate system 72 after the replacement of the upper arm 11 coincides with the position of the robot in the reference coordinate system 72 before the replacement of the upper arm 11. In other words, the mechanism error parameters are calculated so that the tool tip point of the robot reaches the same position when the robot is driven with the same command value.
[0070] In this way, even when the entire robot is replaced or when some of the components of the robot are replaced, similar calibration control can be performed. The calibration device in this embodiment can easily calibrate the mechanism error parameters so that the change in the position reached by the robot is small even after the robot or a component of the robot is replaced.
[0071] In particular, when replacing the entire robot, an error in the installation position or inclination of the robot occurs due to the inclination of the surface on which the robot is installed, etc. However, by correcting the mechanism error parameters, the position reached after the robot replacement can be easily brought closer to the position reached before the robot replacement.
[0072] By performing the first control and the second control, it is possible to suppress changes in the position where the tool tip point of the robot reaches for one operation program. Therefore, the same operation program can be used even after replacing components or the robot. In other words, there is no need to perform the teaching work of teaching the robot position in the operation program again, and the same operation program can be used after replacing the entire robot or replacing the components of the robot.
[0073] Next, a third control in the calibration device in this embodiment will be described. In the third control, the mechanism error parameters are calibrated after the entire robot is replaced. Before replacing the robot, the relationship between the command value (robot position in the base coordinate system) and the robot position in the reference coordinate system can be calculated. In other words, the relationship between the relative position and posture between the base coordinate system and the reference coordinate system can be calculated. In the third control, the mechanism error parameters are calibrated in the second state using the transformation matrix of the reference coordinate system 72 as viewed from the base coordinate system 71 in the first state.
[0074] 7 shows a perspective view when the coordinate values of the robot's position are measured by a three-dimensional measuring device. In a first state, the processing unit 51 drives the robot 1 based on a predetermined command value. The position acquisition unit 52 acquires the positions of each measurement point 76 corresponding to the position of the robot 1 in the reference coordinate system 72. In order to calculate an accurate transformation matrix, it is preferable to measure, for example, several tens of measurement points 76.
[0075] Here, the position of each measurement point 76 in the reference coordinate system 72 is expressed as coordinate value P 0 The matrix of the reference coordinate system 72 as viewed from the base coordinate system 71 is defined as a transformation matrix Ac. The inverse matrix Ac of the transformation matrix Ac is -1 is a matrix for converting coordinate values in the base coordinate system 71 into coordinate values in the reference coordinate system 72. Also, the measurement point 76 in the base coordinate system 71, i.e., the position of the robot of the command value, is expressed as coordinate value P 1 Then, the following equation (1) holds.
[0076] P 0 =Ac -1 P 1 … (1)
[0077] 3 and 7, the matrix calculation unit 55 of the processing unit 51 calculates the coordinate value P 1 The matrix calculation unit 55 obtains the coordinate values P of each measurement point 76 in the reference coordinate system 72 when the robot 1 is driven based on the command value. 0 from the position acquisition unit 52. The matrix calculation unit 55 calculates the coordinate values P 0 and the coordinate value P of the command value 1 For example, the transformation matrix Ac is used to calculate the coordinate value P 1 When the coordinate value in the reference coordinate system 72 is calculated from the above, this coordinate value and the coordinate value P 0 The transformation matrix Ac can be calculated by the least squares method so that the error (distance) between the coordinate value P 0 The transformation matrix Ac can be calculated by the least squares method so that when the above is transformed into coordinate values in the base coordinate system using the transformation matrix Ac, the error (distance) between these coordinate values and the robot's command values is minimized.
[0078] The transformation matrix Ac may be, for example, a 4-row x 4-column homogeneous transformation matrix. That is, a matrix including rotation and translation of the coordinate system may be adopted. The storage unit 42 stores the calculated transformation matrix Ac. In this way, the processing unit 51 can calculate the transformation matrix Ac in the first state.
[0079] In this embodiment, a transformation matrix for transforming coordinate values in the base coordinate system 71 into coordinate values in the reference coordinate system 72 is calculated, but the present invention is not limited to this. The matrix calculation unit may calculate a transformation matrix for transforming coordinate values in the reference coordinate system into coordinate values in the base coordinate system. Using this matrix, it is also possible to transform coordinate values in the reference coordinate system into coordinate values in the base coordinate system, and to transform coordinate values in the base coordinate system into coordinate values in the reference coordinate system.
[0080] Fig. 8 shows a flowchart of the third control of the calibration of mechanism error parameters in this embodiment. With reference to Figs. 3, 7 and 8, steps 101 and 102 are similar to the first control in this embodiment (see Fig. 4). Before replacing the robot 1, the first robot 1 is driven with a plurality of command values to obtain the coordinate values of the measurement point 76 in the reference coordinate system 72 (the position of the robot 1). The position acquisition unit 52 acquires a plurality of positions of the robot in the reference coordinate system 72 when the robot 1 is driven based on a plurality of command values of the robot 1 in the first state.
[0081] Next, in step 121, the matrix calculation unit 55 calculates a transformation matrix Ac based on a plurality of command values of the first robot 1 in the first state and a plurality of positions of the first robot 1 in the reference coordinate system 72. The storage unit 42 stores the transformation matrix Ac. Next, in step 122, the first robot is replaced with the second robot. The robot device 5 enters the second state.
[0082] Fig. 9 shows a perspective view of the robot, the three-dimensional measuring device, and the auxiliary member after replacing the first robot with the second robot. With reference to Figs. 3, 8, and 9, in step 123, after the second robot 3 is installed, the reference coordinate system setting unit 53 reproduces the reference coordinate system 72 based on the output of the three-dimensional measuring device 8.
[0083] In step 124, the second robot 3 is driven by a plurality of command values. The command values shown in the base coordinate system 71 at this time may be different from the command values when the first robot 1 is driven. The second robot 3 can be driven by any plurality of command values. FIG. 9 shows measurement points 77 that the tool tip point reaches when the second robot 3 is driven by a plurality of command values. In order to accurately calculate the mechanism error parameters, it is preferable to measure, for example, several tens of measurement points 77.
[0084] At each position of the robot 3, the position calculation unit 83 of the three-dimensional measuring device 8 detects the position of each measurement point 77 in the coordinate value of the measuring device coordinate system 73. The position acquisition unit 52 converts the coordinate value of the position of the measurement point 77 calculated in the measuring device coordinate system 73 into the coordinate value P of the measurement point 77 in the reference coordinate system 72. 0 That is, the position acquisition unit 52 acquires a plurality of positions of the robot in the reference coordinate system 72.
[0085] Next, in step 125, the parameter calculation unit 54 uses the transformation matrix Ac to transform the coordinate values of the measurement points 77 in the reference coordinate system 72 into coordinate values in the base coordinate system 71 of the first robot 1. That is, using the above formula (1), the theoretical position of the robot in the base coordinate system 71 of the first robot 1 is calculated from the position of the second robot based on the reference coordinate system 72.
[0086] Next, in step 126, the parameter calculation unit 54 calculates the mechanical error parameters of the second robot 3. The parameter calculation unit 54 acquires a command value for the second robot 3. The parameter calculation unit 54 calculates the mechanical error parameters so that the command value for the second robot 3 coincides with the coordinate value of the theoretical position of the robot in the base coordinate system 71 of the first robot 1. By this control, the parameter calculation unit 54 can calculate the mechanical error parameters so that the position in the reference coordinate system reached by the second robot 3 coincides with the position in the reference coordinate system reached by the first robot 1. For example, the parameter calculation unit 54 calculates the mechanical error parameters by the least squares method so that the error (distance) between the command value for the second robot 3 and the coordinate value of the theoretical position in the base coordinate system of the first robot 1 is minimized.
[0087] In this way, in the third control, the transformation matrix Ac acquired in the first state can be stored. In the second state, the transformation matrix Ac can be used to transform the position of the robot in the reference coordinate system into a theoretical position in the base coordinate system in the first state. Then, the mechanism error parameters can be calculated so that the position reached by the command value of the second robot coincides with the theoretical position. Alternatively, in the second state, the transformation matrix Ac can be used to transform the command value of the second robot into the theoretical position of the robot in the reference coordinate system. Then, the mechanism error parameters may be calculated so that this theoretical position coincides with the position in the reference coordinate system reached by the second robot (the position acquired by the position acquisition unit 52).
[0088] FIG. 10 shows a flowchart of the fourth control for calibrating the mechanical error parameters of the robot. In the fourth control, the mechanical error parameters are calibrated after some components of the robot are replaced. Here, an example in which the upper arm of the robot 1 is replaced will be described. In the fourth control, similar to the third control, the transformation matrix Ac is calculated in advance in the first state. Then, in the second state, the mechanical error parameters are calibrated based on the transformation matrix Ac.
[0089] Steps 101, 102 and step 121 are similar to the third control of this embodiment (see FIG. 8). Next, in step 131, the upper arm 11 of the first robot 1 is replaced.
[0090] In step 132, the reference coordinate system setting unit 53 recreates the reference coordinate system 72 based on the measurement results of the three-dimensional measuring device 8 after replacing the upper arm 11. In step 133, the processing unit 51 drives the first robot 1 with a plurality of arbitrary command values. The position acquisition unit 52 acquires the coordinate values of the measurement point 77 in the reference coordinate system 72 (the position of the robot 1) based on the output of the three-dimensional measuring device 8.
[0091] In step 134, the parameter calculation unit 54 uses the transformation matrix Ac to transform the coordinate values of the measurement point 77 in the reference coordinate system into a theoretical position in the base coordinate system 71 of the first robot 1. In this example, since the upper arm is replaced, the position and orientation of the origin of the base coordinate system 71 set in the base unit 14 do not change.
[0092] In step 135, the parameter calculation unit 54 calculates the mechanism error parameters of the first robot 1. The parameter calculation unit 54 calculates the mechanism error parameters so that the robot command values in the base coordinate system 71 match the coordinate values of the theoretical position of the robot in the base coordinate system 71 of the first robot 1. In this way, in the fourth control, when some components of the robot are replaced, the mechanism error parameters can be calibrated by control similar to the third control.
[0093] However, when a robot device is driven for a long period of time, the components of the robot deteriorate or gradually deform. The position where the tool tip point of the robot reaches may deviate from the command of the operation program. In this case, a control similar to the second control or the fourth control in this embodiment can be implemented. At any time when the robot is driven, the robot can be calibrated by implementing a control similar to the second control or the fourth control without replacing the components. For example, in the fourth control, in FIG. 6, the calibration control from step 112 to step 114 can be implemented without replacing the upper arm in step 111. Such a calibration of the robot can be implemented, for example, at predetermined time intervals.
[0094] In this case, the first state, which is the reference state of the robot, is, for example, the state immediately after the robot is installed. The second state of the robot is the state when at least some of the components of the robot have deteriorated due to use of the robot.
[0095] 3, the control device 4 in this embodiment functions as a determination device that determines whether or not it is necessary to calibrate the mechanism error parameters. The processing unit 51 in this embodiment includes a maintenance determination unit 56 that evaluates the accuracy of the position of the robot 1 relative to the command values of the operation program 46. The maintenance determination unit 56 determines whether or not it is necessary to calibrate the mechanism error parameters based on the position of the robot in the reference coordinate system 72 in the first state and the current position of the robot in the reference coordinate system 72.
[0096] In particular, the maintenance judgment unit 56 of the processing unit 51 functions as a judgment device. The maintenance judgment unit 56 evaluates the accuracy of the position reached by the robot by using the transformation matrix Ac calculated in the third control and the fourth control in this embodiment.
[0097] Fig. 11 shows a flowchart of the fifth control by the maintenance determination unit of this embodiment. With reference to Fig. 8, first, the processing unit 51 executes steps 101, 102, and 121 in the third control of this embodiment to calculate the transformation matrix Ac. The storage unit 42 stores the transformation matrix Ac (see Fig. 8). It is preferable that the control for calculating the transformation matrix Ac is performed, for example, immediately after the robot is installed and the mechanism error parameters are calibrated.
[0098] Next, the control from step 141 to step 143 is the same as the control from step 132 to step 134 in the fourth control. In step 141, the reference coordinate system setting unit 53 generates the reference coordinate system 72 based on the measurement of the three-dimensional measuring device 8 at an arbitrary time. In step 142, the processing unit 51 drives the first robot with an arbitrary plurality of command values. The position acquisition unit 52 acquires coordinate values of the position of the robot in the reference coordinate system 72. In step 143, the parameter calculation unit 54 converts the coordinate values of the position of the robot in the reference coordinate system 72 into coordinate values in the base coordinate system 71 of the robot using a conversion matrix Ac. The parameter calculation unit 54 converts the multiple positions of the robot in the reference coordinate system into theoretical positions.
[0099] In step 144, the maintenance judgment unit 56 calculates the distance between a predetermined robot command value and a theoretical position in the base coordinate system. For example, the maintenance judgment unit 56 calculates the distance between the coordinate value in the robot command value of the operation program and the coordinate value in the theoretical position. The maintenance judgment unit 56 calculates each distance for a plurality of combinations of command values and theoretical positions.
[0100] In step 145, the maintenance judgment unit 56 calculates the average value of the multiple distances. The maintenance judgment unit 56 judges whether the average value of the distances exceeds a predetermined judgment value. If the average value of the distances exceeds the judgment value, the control proceeds to step 146.
[0101] In step 146, the maintenance determination unit 56 determines that calibration of the mechanism error parameters is necessary. In this embodiment, the display unit 39 of the teaching pendant 37 displays that calibration of the mechanism error parameters is necessary.
[0102] In step 145, if the average value of the distance is equal to or less than the judgment value, the control proceeds to step 147. In step 147, the maintenance judgment unit 56 judges that configuration of the mechanism error parameters is not necessary. Then, the display unit 39 displays that calibration of the mechanism error parameters is not necessary.
[0103] In this embodiment, the maintenance judgment unit 56 makes a judgment based on the average value of the distance between the command value of the robot and the theoretical position converted into the base coordinate system, but is not limited to this form. It can be judged by any control whether the command value of the robot and the theoretical position are apart. For example, it may be judged that calibration is necessary when the maximum value of the distances among a plurality of distances corresponding to a plurality of command values is larger than the judgment value.
[0104] The maintenance determination unit 56 can determine whether or not the accuracy of the position of the robot deviates from a predetermined determination range for each predetermined period of time. The maintenance determination unit 56 can determine that calibration of the mechanism error parameters is necessary when the accuracy of the robot deviates from a predetermined determination range. For example, the maintenance determination unit 56 can determine whether or not to calibrate the mechanism error parameters for each predetermined robot drive time or a predetermined length of time after the robot is installed.
[0105] Furthermore, when the maintenance judgment unit 56 detects replacement of a component of the robot, it can determine that calibration of the mechanism error parameters is necessary. For example, when the worker inputs information that some components of the robot have been replaced to the input unit 38 of the teaching pendant 37, the maintenance judgment unit 56 determines that calibration of the mechanism error parameters is necessary. Alternatively, the maintenance judgment unit 56 may determine that calibration of the mechanism error parameters is necessary when detecting replacement of the robot. Then, the display unit 39 can display that calibration of the mechanism error parameters is necessary to inform the worker. When calibrating the mechanism error parameters, the worker can perform one or more of the first control to the fourth control described above.
[0106] In the above embodiment, the control device of the robot functions as the calibration device and the determination device, but the present invention is not limited to this embodiment. The arithmetic processing device functioning as the calibration device or the arithmetic processing device functioning as the determination device may be connected to the control device of the robot via a communication device.
[0107] In this embodiment, the reference coordinate system is set using a laser tracker and an auxiliary member, but this is not limited to the embodiment. The reference coordinate system can be set in a three-dimensional space by any device and control. For example, a three-dimensional visual sensor may be used to detect the position of a fixed characteristic part that serves as a reference point, and the reference coordinate system may be set based on the position of the characteristic part. Also, the three-dimensional visual sensor may detect a characteristic part of the robot and detect the position and posture of the robot. Also, the calibration device may not be equipped with a three-dimensional measuring device. The calibration device may be configured to acquire and process data of a three-dimensional measuring device acquired outside the calibration device.
[0108] In each of the above-described controls, the order of steps can be changed as appropriate within the scope that does not change the functions and actions.
[0109] The above-mentioned embodiments can be combined as appropriate. In each of the above-mentioned drawings, the same or equivalent parts are given the same reference numerals. Note that the above-mentioned embodiments are examples and do not limit the invention. In addition, the embodiments include modifications of the embodiments shown in the claims. [Explanation of symbols]
[0110] 1,3 Robot 4. Control device 8 3D measuring instrument 11 Upper arm 12 Lower Arm 13 Swivel Base 14 Base section 15 List 16 Flange 46 Operation Program 49 Mechanism Error Parameters 51 Processing section 52 Position acquisition part 53 Reference coordinate system setting section 54 Parameter Calculation Section 55 Matrix calculation section 56 Maintenance judgment section 61 Auxiliary parts 63 Laser Head 67a,67b reflector 71 Base Coordinate System 72 Reference Coordinate System 76,77 Measurement points
Claims
1. A calibration device that calibrates mechanism error parameters including information regarding errors of components of a robot for adjusting control of the robot based on an operation program, the calibration device comprising: a position acquisition unit that acquires a position of the robot in a three-dimensional reference coordinate system; a parameter calculation unit that calculates a mechanism error parameter based on a position of the robot in the reference coordinate system, the first state is a state when a robot in which a first mechanism error parameter is set is driven by a command value of the operation program, the second state is a state subsequent to the first state, in which the robot is driven by the same command value as the command value of the operation program; The parameter calculation unit calculates a second mechanism error parameter different from the first mechanism error parameter so that the position of the robot in the reference coordinate system in the second state coincides with the position of the robot in the reference coordinate system in the first state.
2. The calibration device according to claim 1 , wherein the reference coordinate system is a fixed coordinate system that is defined independent of the motion of the robot and the installation state of the robot.
3. a matrix calculation unit that calculates a transformation matrix that transforms one of coordinate values of a base coordinate system set for the robot and coordinate values of the reference coordinate system into the other coordinate value, the operation program includes robot command values specified by coordinate values in a base coordinate system, the position acquisition unit acquires a plurality of positions of the robot in the reference coordinate system when the robot is driven based on a plurality of command values for the robot in the first state; the matrix calculation unit calculates a transformation matrix based on a plurality of command values of the robot and a plurality of positions of the robot in the reference coordinate system in the first state; the position acquisition unit acquires a plurality of positions of the robot in the reference coordinate system when the robot is driven based on a plurality of command values for the robot in the second state; 3. The calibration device according to claim 1, wherein the parameter calculation unit calculates a theoretical position of the robot in a base coordinate system based on a position of the robot in the reference coordinate system and a transformation matrix when the robot is driven with each command value in the second state, and calculates a second mechanism error parameter so that the command value of the robot coincides with the theoretical position of the robot in the base coordinate system.
4. 4. The calibration device according to claim 3, wherein the matrix calculation unit calculates a transformation matrix so that, in the first state, a distance between a command value in a base coordinate system of the robot and a theoretical position of the robot in the base coordinate system calculated from the position of the robot in the reference coordinate system using a transformation matrix is minimized.
5. a maintenance judgment unit that evaluates the accuracy of a position of the robot relative to a command value of the operation program; 5. The calibration device according to claim 1, wherein the maintenance judgment unit judges whether or not calibration of mechanism error parameters is necessary based on a position of the robot in the reference coordinate system in the first state and a position of the robot in the reference coordinate system in the second state when the robot is driven according to command values of a predetermined operation program.
6. the maintenance determination unit determines whether or not the position accuracy of the robot deviates from a predetermined determination range for each predetermined period of time; 6. The calibration device according to claim 5, wherein when the positional accuracy of the robot deviates from a predetermined determination range, it is determined that calibration of the mechanism error parameters is necessary.
7. 7. The calibration device according to claim 5, wherein the maintenance determination unit determines that calibration of the mechanism error parameters is necessary when replacement of a component member constituting the robot is detected.
8. The calibration device according to claim 5 , wherein the maintenance determination unit determines that calibration of the mechanism error parameters is necessary when a replacement of the robot is detected.
9. The calibration device according to claim 1 , wherein the first state is a reference state of the robot before calibration of mechanism error parameters is performed.
10. the first state is a state immediately after the robot is installed, The calibration device according to claim 9 , wherein the second state is a state in which at least some components of the robot have deteriorated due to use of the robot.
11. the first state is a state before the robot is replaced, The calibration device according to claim 9 , wherein the second state is a state in which a new robot is installed after replacing a robot.
12. the first state is a state before a part of a component of the robot is replaced, The calibration device according to claim 9 , wherein the second state is a state after some components of the robot have been replaced.
13. A plurality of reference point members installed in an area in which the robot is installed; A three-dimensional measuring device for measuring the position of the reference point; The calibration device according to claim 1 , further comprising: a reference coordinate system setting unit that sets the reference coordinate system in a three-dimensional space based on the position of the reference point measured by the three-dimensional measuring device.
14. A calibration device as described in any one of claims 1 to 13, wherein the information relating to errors of the component parts includes at least one of the length of the link between the drive shafts of the robot, the position of the drive shaft, an error in the gear ratio of the drive shaft reducer, a variable relating to the elastic deformation of the link, a spring constant relating to the torque around the drive shaft, a DH parameter, and an error in the DH parameter.
15. A determination device for determining whether or not it is necessary to calibrate a mechanism error parameter including information regarding an error of a component of a robot for adjusting control of the robot based on an operation program, comprising: a position acquisition unit that acquires a position of the robot in a three-dimensional reference coordinate system; a maintenance judgment unit that evaluates the accuracy of a position of the robot relative to a command value of the operation program, the first state is a state when a robot in which a first mechanism error parameter is set is driven by a command value of the operation program, the second state is a state subsequent to the first state, in which the robot is driven by the same command value as the command value of the operation program; The maintenance judgment unit judges whether or not calibration of the mechanism error parameters is necessary based on the position of the robot in the reference coordinate system in the first state and the position of the robot in the reference coordinate system in the second state.
16. The determination device described in claim 15, wherein the information regarding errors of the constituent parts includes at least one of the length of the link between the drive shafts of the robot, the position of the drive shaft, an error in the gear ratio of the drive shaft reducer, a variable related to the elastic deformation of the link, a spring constant related to the torque around the drive shaft, a DH parameter, and an error in the DH parameter.
17. A calibration device for calibrating mechanism error parameters for adjusting control of a robot based on an operation program, comprising: a position acquisition unit that acquires a position of the robot in a three-dimensional reference coordinate system; a parameter calculation unit that calculates a mechanism error parameter based on a position of the robot in the reference coordinate system; a matrix calculation unit that calculates a transformation matrix that transforms one of coordinate values of a base coordinate system set for the robot and coordinate values of the reference coordinate system into the other coordinate value, the first state is a state when a robot in which a first mechanism error parameter is set is driven by a command value of the operation program, the second state is a state subsequent to the first state, in which the robot is driven by the same command value as the command value of the operation program; the parameter calculation unit calculates a second mechanism error parameter different from the first mechanism error parameter so that a position of the robot in the reference coordinate system in the second state coincides with a position of the robot in the reference coordinate system in the first state; the operation program includes robot command values specified by coordinate values in a base coordinate system, the position acquisition unit acquires a plurality of positions of the robot in the reference coordinate system when the robot is driven based on a plurality of command values for the robot in the first state; the matrix calculation unit calculates a transformation matrix based on a plurality of command values of the robot and a plurality of positions of the robot in the reference coordinate system in the first state; the position acquisition unit acquires a plurality of positions of the robot in the reference coordinate system when the robot is driven based on a plurality of command values for the robot in the second state; The parameter calculation unit calculates a theoretical position of the robot in a base coordinate system based on the position of the robot in the reference coordinate system and a transformation matrix when the robot is driven with each command value in the second state, and calculates a second mechanism error parameter so that the command value of the robot coincides with the theoretical position of the robot in the base coordinate system.
Citation Information
Patent Citations
Calibration method for self-adaptive error modeling of series robot based on SIR dimension reduction DH model
CN112643658A
Arithmetic mechanism for inter-robot relative position
JP1998083208A
Working robot calibrating method
JP2001038662A
Inline calibration method for industrial robots, calibration system for performing the method, and industrial robot equipped with the calibration system.
JP2015532219A
Method of correcting teaching position of robot
JP2019014011A