Control device, parameter correction method, and program

By monitoring the temperature of robot joints and correcting the mechanical characteristic parameters of the joint axes, the problem of reduced accuracy of robot fingertip position due to temperature changes was solved, achieving high-precision robot position control and improving the quality of the production system.

CN121548486APending Publication Date: 2026-02-17FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202380100694.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-08-01
Publication Date
2026-02-17

AI Technical Summary

Technical Problem

As the robot operates for longer periods, the temperature of each joint rises, causing slight changes in the position of the robot's fingertips and reducing the robot's positional accuracy.

Method used

By monitoring the joint temperature of the robot and obtaining temperature change information using a temperature monitoring unit, the mechanical characteristic parameters of the joint axis are corrected based on this information, including zero-point calibration data and mechanism error parameters. A temperature-dependent deviation data table is generated using a three-dimensional measurement device, and the parameters of the robot control device are corrected in real time to maintain high accuracy.

Benefits of technology

This effectively prevents deviations in the robot's fingertip position caused by temperature changes, maintains high-precision position control of the robot, and improves the quality of the production system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121548486A_ABST
    Figure CN121548486A_ABST
Patent Text Reader

Abstract

This robot control device is characterized by being provided with: a temperature monitoring unit that monitors the temperature of one or more joints of a robot; a parameter storage unit that stores parameters indicating the mechanical characteristics of the joint axes of the one or more joints; an information storage unit that stores information on the parameter indicating a temperature-dependent deviation; and a correction unit that corrects the parameter in accordance with the temperature change of the one or more joints monitored by the temperature monitoring unit, on the basis of the information indicating the deviation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to control devices, parameter calibration methods, and procedures. Background Technology

[0002] The positional accuracy of industrial machinery sometimes decreases over time, and various systems have been proposed to improve the positional accuracy of industrial machinery (e.g., Patent Document 1 and Patent Document 2).

[0003] Existing technical documents

[0004] Patent documents

[0005] Patent Document 1: Japanese Patent Application Publication No. 2019-141983

[0006] Patent Document 2: Japanese Patent Application Publication No. 11-333670 Summary of the Invention

[0007] The problem that the invention aims to solve

[0008] As the robot operates, the temperature of each joint rises, causing slight changes in the position of the robot's fingertips. A technology is desired that can prevent the decrease in the robot's positional accuracy caused by the rising temperature of the joints, and maintain the robot's positional accuracy with high precision.

[0009] Methods for solving problems

[0010] One aspect of this disclosure is a robot control device comprising: a temperature monitoring unit that monitors the temperature of one or more joints of the robot; a parameter storage unit that stores parameters representing the mechanical characteristics of the joint axes of the one or more joints; an information storage unit that stores information regarding temperature-dependent deviations in the representation of the parameters; and a correction unit that corrects the parameters based on the information representing the deviations and according to temperature changes of the one or more joints monitored by the temperature monitoring unit.

[0011] These objects, features, and advantages of the invention will become more apparent from the detailed description of typical embodiments of the invention shown in the accompanying drawings. Attached Figure Description

[0012] Figure 1 This is a diagram showing the device structure of the robot system according to the first embodiment.

[0013] Figure 2 This is a functional block diagram of the robot system according to the first embodiment.

[0014] Figure 3This is a diagram showing an example of a data table representing the temperature-dependent deviation of zero-point calibration data.

[0015] Figure 4 This is a flowchart representing the zero-point calibration data correction process.

[0016] Figure 5 This is a diagram showing the state in which both a data table representing the deviation of zero-point calibration data based on the temperature detected by the motor and a data table representing the deviation of zero-point calibration data based on the temperature detected by the torque sensor are stored in the storage unit.

[0017] Figure 6 This is a diagram showing the structure used to generate a data table by measuring the position of the robot.

[0018] Figure 7 This is a flowchart illustrating the data table generation process of the first embodiment.

[0019] Figure 8 This is a functional block diagram of the robot system according to the second embodiment.

[0020] Figure 9 This is a diagram showing an example of a data table representing temperature-dependent deviations of mechanism error parameters.

[0021] Figure 10 This is a flowchart illustrating the process of correcting mechanism error parameters.

[0022] Figure 11 This is a diagram illustrating the data table generation process in the second embodiment.

[0023] Figure 12 This is a functional block diagram of the robot system according to the third embodiment.

[0024] Figure 13 This is a flowchart of the parameter correction process in the third embodiment. Detailed Implementation

[0025] Next, embodiments of the present disclosure will be described with reference to the accompanying drawings. In the drawings, the same reference numerals are used to denote the same structural or functional parts. The scales of these drawings have been appropriately altered for ease of understanding. Furthermore, the embodiments shown in the drawings are examples for carrying out the invention, and the invention is not limited to the illustrated embodiments.

[0026] First Implementation Method

[0027] Figure 1 This is a diagram showing the device structure of the robot system 100 according to the first embodiment. Furthermore, in Figure 1In the diagram, the structure of robot 1 is represented as a three-dimensional view. Robot system 100 includes robot 1, robot control device 20 for controlling robot 1, teaching pendant 30 connected to robot control device 20, and three-dimensional measuring device 90.

[0028] exist Figure 1 The example shown is a 6-axis vertical articulated robot. Furthermore, depending on the task at hand, various types of robots, such as scalar robots, parallel linkage robots, and dual-arm robots, can be used as robot 1. Robot 1 can perform the desired task using a work tool mounted on its wrist as an end effector. The work tool is an external device that can be changed according to the application, such as a hand, welding torch, or other tools. Figure 1 The image shows an example of using a welding torch 5 as a work tool. The robot 1 is able to set the welding torch 5 to the desired position and posture according to the robot program to perform welding operations.

[0029] As the robot operates, the temperature of each joint rises, resulting in slight changes in the position of the robot's fingertips. The robot system 100, using measurements from the three-dimensional measuring device 90, pre-generates information indicating this deviation and stores it in the storage unit 22. This deviation is a temperature-dependent deviation of parameters representing the mechanical characteristics of each joint axis of the robot 1 (see reference). Figure 2 Furthermore, the robot system 100 is configured such that, during actual operation, it corrects the aforementioned parameters based on the temperature changes of each joint according to this information, and controls the movement of the robot 1 based on the corrected parameters. In addition, when the temperature of a joint is mentioned in this specification, it includes not only the temperature within the joint itself, but also the temperature of the elements of the drive mechanism constituting the joint's shaft (including motors, reducers, encoders, torque sensors, etc.) and the temperature of the arm corresponding to the joint (either of the arms on either side of the joint). According to this structure, the robot system 100 can prevent the position of the robot 1's fingertips from changing due to temperature variations in each joint, and can maintain the robot's positional accuracy with high precision.

[0030] The robot control device 20 controls the actions of the robot 1 according to the robot program or instructions from the teach pendant 30. The robot control device 20 may also have a general computer hardware structure, including a processor 21, memory (ROM, RAM, non-volatile memory, etc.), storage unit 22, operation unit, input / output interface, network interface, etc. (see reference). Figure 2 ).

[0031] The teach pendant 30 is used as an operating terminal for teaching and setting various parameters of the robot 1. The teach pendant 30 can also be a teaching device composed of a tablet terminal or the like. The teach pendant 30 can also have a general computer hardware structure, including a processor, memory (ROM, RAM, non-volatile memory, etc.), storage device, operating unit, display unit 31, input / output interface, network interface, etc. (see reference). Figure 2 ).

[0032] Alternatively, the teach pendant 30 can be positioned as part of the robot control device 20.

[0033] like Figure 1 As shown, robot 1 includes a base 14, a rotating base 13, a lower arm 12, an upper arm 11, a wrist 15, and a flange 16. The lower arm 12 is supported on the rotating base 13. The rotating base 13 is supported on the base 14. The wrist 15 is connected to the end of the upper arm 11. The wrist 15 includes a flange 16 for fixing a welding torch 5. The upper arm 11, lower arm 12, and other components are connected via joints.

[0034] The origin of a world coordinate system 71 is set on the base 14 of robot 1. The world coordinate system 71 remains stationary as the position and posture of robot 1 change, and is also referred to as the reference coordinate system. A tool coordinate system 72 is set within robot 1, and this tool coordinate system 72 has an origin set at any position of the working tool. The position and posture of the tool coordinate system 72 change along with the welding torch 5. In this embodiment, the origin of the tool coordinate system 72 is set as the tool tip point 72a (the tip of the fixed electrode). As an example, in this embodiment, the position of robot 1 corresponds to the position of the tool tip point (the position of the origin of the tool coordinate system 72). Furthermore, the posture of robot 1 corresponds to the posture of the tool coordinate system 72 relative to the world coordinate system 71.

[0035] exist Figure 1 The diagram shows joint axes J1 to J6 in each joint. An angle is defined for each joint axis J1 to J6. For example, the angle of a joint corresponds to the angle between the constituent parts within the joint. Furthermore, the angle of the joint corresponds to the rotational position of the drive motor configured corresponding to each joint.

[0036] Figure 2 This is a functional block diagram of robot system 100. In robot 1, drive mechanisms are provided corresponding to each joint axis J1 to J6. The drive mechanism for each joint axis includes a motor 2, a reducer, an encoder 3, and a torque sensor 4. The torque sensor 4 is a sensor that detects the torque applied to each joint axis. Figure 1In the diagram, the components of the drive mechanism arranged for each joint axis are shown within the dashed quadrilaterals within robot 1. Furthermore, robot 1 includes a motor temperature detector 2a for detecting the temperature of motor 2 and a torque sensor temperature detector 4a for detecting the temperature of torque sensor 4, serving as detectors for detecting the temperature of each joint. Additionally, in... Figure 2 The example shown is that both motor temperature detector 2a and torque sensor temperature detector 4a are used as detectors to detect the temperature of each joint, but it is also possible to use either motor temperature detector 2a or torque sensor temperature detector 4a as the detector to detect the temperature of each joint.

[0037] like Figure 2 As shown, the robot control device 20 includes a motion control unit 121, a temperature monitoring unit 122, a measurement unit 123, and a zero-point calibration data correction unit 124. These functional blocks can also be implemented by software executed by the processor 21 of the robot control device 20. Figure 2 The diagram shows the storage unit 22, which is a hardware component of the robot control device 20.

[0038] The storage unit 22 is a storage device, for example, composed of a non-volatile memory or a hard disk drive. The storage unit 22 stores the robot program 81, the measurement program 82, zero-point calibration data 83, mechanism data (mechanism error parameters) 84, and a data table 85 for zero-point calibration data correction, etc. The storage unit 22 functions as a parameter storage unit for storing parameters (zero-point calibration data and mechanism data (mechanism error parameters)) representing the mechanical characteristics of each joint axis of the robot 1. Additionally, it functions as an information storage unit for storing information representing deviations, which are temperature-dependent deviations related to the parameters representing the mechanical characteristics of each joint axis.

[0039] Zero-point calibration data 83 is the value of encoder 3 that detects the rotation angle of each joint axis of the robot when the robot 1 is positioned at the origin. Storage unit 22 stores, for example, the zero-point calibration data 83 generated by a zero-point calibration operation performed after manufacturing the robot 1. By performing zero-point calibration on each robot, even if the robot's components have dimensional errors due to individual differences, the tip of the working tool can be positioned at the desired location.

[0040] Mechanism data (mechanism error parameters) 84 is data representing the geometric relationship between the robot's joint axes, used for calculations such as determining the angular position of each joint axis based on the position of the robot's fingertips.

[0041] These zero-point calibration data 83 and mechanism data (mechanism error parameters) 84 can be positioned as parameters representing the mechanical characteristics of each joint axis of robot 1. The motion control unit 121 of robot control device 20 performs kinematic calculations according to robot program 81 and instructions based on these zero-point calibration data 83 and mechanism data (mechanism error parameters) 84, thereby controlling the movement of robot 1. Robot control device 20 includes a servo control unit (not shown) that executes servo control of the servo motors for each axis according to the instructions generated by motion control unit 121 for each axis.

[0042] The robot control device 20 of this embodiment pre-generates and stores information representing the temperature-dependent deviation of the zero-point calibration data 83. The measurement unit 123 can use the three-dimensional measurement device 90 to measure and obtain the temperature-dependent deviation of the angles of each joint axis, and save it as information representing the temperature-dependent deviation of the zero-point calibration data 83. The acquisition and storage of the information representing the temperature-dependent deviation of the zero-point calibration data 83 by the measurement unit 123 and the three-dimensional measurement device 90 will be described later.

[0043] Information representing the temperature-dependent deviation of the angles of each joint axis can be obtained using a function or graph representing the temperature-dependent variation of the angles of each joint axis, or a data table representing the temperature-dependent deviation of the angles of each joint axis. Here, an example of using a data table to represent the temperature-dependent deviation of the angles of each joint axis will be described. A data table 85 representing the temperature-dependent deviation of the angles of each joint axis is stored in the storage unit 22.

[0044] The temperature monitoring unit 122 has the function of monitoring the temperature of each joint of the robot 1. The temperature monitoring unit 122 can use either the detection value of the motor temperature detector 2a or the detection value of the torque sensor temperature detector 4a, which is provided corresponding to each joint axis, as the temperature of each joint. Alternatively, the temperature monitoring unit 122 can obtain the temperature of each joint based on both the detection value of the motor temperature detector 2a and the detection value of the torque sensor temperature detector 4a.

[0045] The zero-point calibration data correction unit 124 has the function of correcting the parameters representing the mechanical characteristics of each joint axis based on temperature-dependent deviations. In this embodiment, the zero-point calibration data correction unit 124 can correct the zero-point calibration data 83 based on the data table 85 and the temperature changes monitored by the temperature monitoring unit 122.

[0046] Figure 3This is an example of data table 85. Data table 85 uses 10℃ as the base temperature and the angles of each joint axis at 10℃ as the reference. It shows the deviation (angle) of the joint axis angles when the temperature of each joint increases by 5℃ for each increase: 15℃, 20℃, 25℃, 30℃, ... Specifically, in Figure 3 In data table 85, for example, regarding the first joint axis J1 (first axis), it shows that the deviations at 15℃, 20℃, 25℃, and 30℃ are 0.1 degrees, 0.2 degrees, 0.3 degrees, and 0.4 degrees, respectively, when the deviation at 10℃ is set to 0.

[0047] The zero-point calibration data correction unit 124 refers to the data table 85 and corrects the zero-point calibration data 83 based on the temperature of each joint monitored by the temperature monitoring unit 122. Specifically, the zero-point calibration data correction unit 124 obtains the deviation (angle) corresponding to the temperature change from the reference temperature from the data table 85, converts the obtained deviation into a pulse value of the encoder 3, and uses this pulse value to correct the zero-point calibration data 83. The motion control unit 121 generates commands to each joint axis based on the corrected zero-point calibration data 83 to make the robot 1 move. Therefore, with the above structure, the temperature-dependent variation in the fingertip position of the robot 1 can be eliminated, and the robot 1 can be controlled with high precision.

[0048] Furthermore, the temperature-dependent angle deviation is determined for each joint axis in data table 85. Therefore, even when the temperature rise of each joint axis is different, the angle deviation of each joint axis can be appropriately corrected according to its respective temperature change, and the positional accuracy of robot 1 can be maintained with high precision.

[0049] Figure 4 This is a flowchart illustrating the zero-point calibration data correction process performed under the control of the processor 21 of the robot control device 20. Here, we will use... Figure 3 The process flow is illustrated using the data table 85 shown as an example. When the process is started, the temperature monitoring unit 122 monitors the temperature of each joint (step S101). Furthermore, the temperature monitoring unit 122 preferably monitors the temperature of each joint based on the detection value of the motor temperature detector 2a when generating the data table 85 based on the detection value of the torque sensor temperature detector 4a, and based on the detection value of the torque sensor temperature detector 4a when generating the data table 85 based on the detection value of the torque sensor temperature detector 4a.

[0050] Then, the temperature monitoring unit 122 determines whether a temperature change has occurred in each joint (step S102). In step S102, the temperature monitoring unit 122 may, for example, use the following determination rule:

[0051] When this process is initially initiated, if the temperature of any joint changes by a predetermined temperature (e.g., 5°C) or more from the reference temperature, a temperature change is determined to exist, or...

[0052] In subsequent executions of this process, if the temperature change at any joint since the last measured temperature exceeds a predetermined temperature (e.g., 5°C), it is determined that a temperature change exists.

[0053] If it is determined that there is no temperature change (S102: No), no correction is performed on the zero-point calibration data 83, and the motion control of robot 1 is executed (step S107).

[0054] If it is determined that there is a temperature change with respect to any joint (S102: Yes), the zero-point calibration data correction unit 124 refers to the data table 85 (step S103) and obtains the deviation of the angle of each joint axis corresponding to the temperature change from the data table 85 (step S104). For example, if the temperature of the first joint increases by 5° from the temperature (15°) when the previous zero-point calibration data correction process was performed to 20°, the zero-point calibration data correction unit 124 obtains the deviation (0.2°) of that joint at 20° from the data table 85 (step S104).

[0055] Then, the zero-point calibration data correction unit 124 obtains a correction value by converting the acquired deviation into an encoder pulse value (step S105). The zero-point calibration data correction unit 124 then uses this correction value to correct the zero-point calibration data 83 (step S106). The motion control unit 121 performs motion control of the robot 1 based on the corrected zero-point calibration data 83 (step S107). This process prevents fluctuations in the fingertip position of the robot 1, which depends on temperature changes, and enables high-precision control of the robot 1.

[0056] Furthermore, the series of processes from determining the temperature change in step S102 to correcting the zero-point calibration data 83 in step S106 are performed for each joint axis. Therefore, even if the temperature change conditions are different for each joint, the angle of each joint axis can be appropriately corrected according to the temperature change of each joint.

[0057] Zero-point calibration data correction processing can also be repeatedly performed at certain cycles during the actual operation of robot 1. In this case, the zero-point calibration data 83 can be corrected at any time according to temperature changes during the operation of robot 1, enabling robot 1 to move with high precision.

[0058] Alternatively, the zero-point calibration data correction process can be performed before the robot 1 executes the predetermined task. Alternatively, the zero-point calibration data correction process can be initiated based on instructions from the user via the teach pendant 30. In these cases, the positional accuracy of the robot 1 can also be maintained with high precision.

[0059] The above-described structural example is a case where the robot control device 20 has a data table 85 generated based on either the detection value of the motor temperature detector 2a or the detection value of the torque sensor temperature detector 4a, and uses this data table 85 to correct the zero-point calibration data 83. Next, a structural example will be described where the robot control device 20 has a data table 85A generated based on the detection value of the motor temperature detector 2a and a data table 85B generated based on the detection value of the torque sensor temperature detector 4a, and uses these data tables 85A and 85B to correct the zero-point calibration data 83. In this structural example, the robot control device 20 will... Figure 5 The illustrated data tables 85A and 85B are stored in the storage unit 22.

[0060] Data table 85A is generated by monitoring the temperature changes of each joint using the detection values ​​of motor temperature detector 2a, and measuring the deviation of the fingertip position of robot 1 using three-dimensional measuring device 90. It represents the temperature-dependent deviation of the angle of each joint axis (motor temperature). Data table 85B is generated by monitoring the temperature changes of each joint using the detection values ​​of torque sensor temperature detector 4a, and measuring the deviation of the fingertip position of robot 1 using three-dimensional measuring device 90. It represents the temperature-dependent deviation of the angle of each joint axis (torque sensor temperature).

[0061] According to the above Figure 4 The flowchart illustrates the zero-point calibration data correction process in this structural example. When the zero-point calibration data correction process begins, the temperature monitoring unit 122 acquires temperature detection values ​​from both the motor temperature detector 2a and the torque sensor temperature detector 4a, and monitors the temperature of each joint (step S101). Then, the temperature monitoring unit 122 determines whether there is a temperature change (step S102).

[0062] In step S102, for example, a "yes" determination can be made if a temperature change occurs in either the motor temperature detector 2a or the torque sensor temperature detector 4a. In this case, the data table corresponding to the temperature detector that detected the temperature change can be used to perform the processing in steps S103 to S106. Alternatively, in step S102, a "yes" determination can be made if a temperature change occurs in both the motor temperature detector 2a and the torque sensor temperature detector 4a. The following describes an example of operation when a temperature change occurs in both the motor temperature detector 2a and the torque sensor temperature detector 4a.

[0063] If a temperature change is determined (S102: Yes), the zero-point calibration data correction unit 124 performs zero-point calibration data correction using both data tables 85A and 85B (steps S103 to S106). Specifically, in step S103, the zero-point calibration data correction unit 124 refers to both data tables 85A and 85B (step S103) and obtains the deviation of the angle of each joint axis corresponding to the temperature change of each respective temperature detector from data tables 85A and 85B (step S104). For example, assume that the detection values ​​of the motor temperature detector 2a and the torque sensor temperature detector 4a indicate that the temperature has increased by 5°C from the reference temperature of 10°C, which was the last measured temperature. In this case, the zero-point calibration data correction unit 124 obtains the deviation (0.1°, 0.1°, 0.1°, 0.1°, 0.1°, 0.1°, 0.1°, 0.1°) from the data table 85A and the deviation (0.2°, 0.2°, 0.2°, 0.1°, 0.1°, 0.1°, 0.1°) from the data table 85B.

[0064] Next, the zero-point calibration data correction unit 124 calculates the correction value of the zero-point calibration data 83 using both the deviation values ​​obtained from data table 85A and data table 85B (step S105). As a method of using both the two deviation values ​​obtained from data table 85A and data table 85B for a joint axis, for example, there are (a1) using the larger deviation value, or (a2) using the sum of the two deviation values.

[0065] The approach described in (a1) above can achieve a more appropriate amount of deviation. In addition, it is believed that the deviation of the robot's fingertip position increases with the temperature rise of each joint caused by the operation of the robot, so the approach described in (a2) above can also bring about an appropriate amount of deviation.

[0066] Furthermore, in cases where the temperature rise of the motor temperature detector 2a and the torque sensor temperature detector 4a differs (for example, the motor temperature detector 2a indicates a rise of 5°C, while the torque sensor temperature detector 4a indicates a rise of 10°C), the deviation can also be obtained by following the methods described in (a1) or (a2).

[0067] The zero-point calibration data correction unit 124 calculates the encoder pulse value corresponding to the deviation of each joint axis obtained in this way, and uses it as a correction value (step S105). Then, the zero-point calibration data correction unit 124 uses the correction value to correct the zero-point calibration data (step S106).

[0068] Thus, in this structural example, more comprehensive information can be obtained as the information representing the temperature-dependent angular deviation of a certain joint, based on which the zero-point calibration data can be corrected. Therefore, this structural example can maintain the robot's positional accuracy with higher precision.

[0069] Furthermore, the following example is shown: the system is configured to monitor the temperature of the motor and torque sensor configured for each joint, i.e., the temperature of two locations, and to correct the zero-point calibration data using information indicating the deviation of each joint axis corresponding to the temperature changes of these two locations. It can also be configured to monitor the temperature of three or more locations for each joint, and to correct the zero-point calibration data using information indicating the deviation of each joint axis corresponding to the temperature changes of these three or more locations (e.g., three or more data tables). For example, it can also be configured to monitor the temperature of three or more elements (motor, reducer, encoder, torque sensor, arm) configured corresponding to each joint, and to correct the zero-point calibration data using information indicating the deviation of each joint axis corresponding to the temperature changes of these three or more elements. In this case, the methods described in (a1) and (a2) above can also be used.

[0070] Next, refer to Figure 6 as well as Figure 7 The action of measuring the position of robot 1 by measuring unit 123 and generating data table 85 based on the measurement result is explained. Figure 6 against Figure 2 The functional block diagram shown illustrates the details of the measurement unit 123 and demonstrates the determination of the robot 1's position using the three-dimensional measurement device 90. An example is shown here where a laser tracker is used as the three-dimensional measurement device 90. Figure 6 As shown, the measurement unit 123 includes a position information acquisition unit 125 and a calculation unit 126. The position information acquisition unit 125 has the function of acquiring the position information of the robot 1 as a measurement result from the three-dimensional measurement device 90. The calculation unit 126 has the function of calculating the temperature-dependent deviation of the angles of each joint axis of the robot 1 based on the measured position of the robot 1.

[0071] The three-dimensional measuring device 90 can emit laser light in any direction and can measure the position of the reflector 91 by detecting the laser light reflected from the reflector 91. The reflector 91 is positioned in the tool coordinate system 72 of the robot 1 (see reference). Figure 1 The three-dimensional measuring device 90 is able to measure the position of the robot 1 by using the origin of the coordinate system set in the workspace. The three-dimensional measuring device 90 provides the measured position of the robot 1 as its position relative to this coordinate system.

[0072] Figure 7 This is a flowchart illustrating the data table generation process that uses the measurement unit 123 to determine the position of the robot 1 and generate a data table. Alternatively, this process can also be implemented by the processor 21 executing the measurement program 82. Figure 7 The flowchart illustrates the data table generation process. Here, the temperature monitoring unit 122 first begins monitoring the temperature of each joint while each joint is at its reference temperature.

[0073] First, the measurement unit 123 (position information acquisition unit 125) provides a predetermined movement command to the robot 1 at a reference temperature, and the three-dimensional measurement device 90 measures the fingertip position of the robot 1 as it moves according to the movement command. The calculation unit 126 calculates and records the angular position D0 of each joint axis corresponding to the fingertip position through inverse kinematics calculation. n (Step S501). Furthermore, in the calculation of this inverse kinematics, accurate calculations can be performed by applying mechanism data (mechanism error parameters) 84 determined by pre-implemented measurements.

[0074] Next, the temperature monitoring unit 122 determines whether there is a temperature rise of a certain temperature for each joint (step S502). The process of step S502 is repeated until a temperature rise of a certain temperature (e.g., 5°C) is detected (S502: No). If it is determined that there is a temperature rise of a certain temperature (S502: Yes), the process proceeds to step S503.

[0075] In step S503, the measuring unit 123 (position information acquisition unit 125) provides the robot 1 with the same movement command as in step S501, provided the temperature of each joint has risen to a certain level. The three-dimensional measuring device 90 measures the fingertip position of the robot 1 as it moves according to this movement command. The calculation unit 126 calculates and records the angular position D1 of each joint axis corresponding to the fingertip position using inverse kinematics. n Furthermore, in the calculation of this inverse kinematics, accurate calculations can be performed by applying mechanism data (mechanism error parameters) 84 determined by pre-implemented measurements.

[0076] Next, the calculation unit 126 calculates the angular position D0 of each joint at the reference temperature. n The angular position D1 of each joint when the temperature rises to a certain level n The difference (step S504). The difference calculated here is the data recorded in the data table as the deviation when the temperature rises to a certain level.

[0077] Next, the measuring unit 123 (position information acquisition unit 125) determines whether a deviation has been obtained for each of the predetermined temperature values ​​used to generate the data table (step S505). If no deviation has been obtained for the predetermined temperature values, the processing from step S502 onwards continues. If a deviation has been obtained for each of the predetermined temperature values ​​(S505: Yes), the data table is completed, and this process ends.

[0078] Furthermore, when generating data tables for temperature ranges lower than the reference temperature, in Figure 7 In step S502 of the data table generation process, it is determined whether the temperature has dropped by a certain amount. In steps S503-S504, the measurement under the condition of a certain temperature drop and the calculation of the angle deviation are performed.

[0079] Through the above processing, it is possible to generate Figure 3 Data table 85 is shown as shown. Furthermore, for deviations in temperature data that are not available in data table 85, various data interpolation methods can be used to interpolate the data.

[0080] Furthermore, by performing this process on both the case where the motor temperature detector 2a is used as the detector for detecting the temperature of each joint and the case where the torque sensor temperature detector 4a is used as the detector for detecting the temperature of each joint, it is also possible to generate... Figure 5 The two data tables shown are 85A and 85B.

[0081] Furthermore, in steps S501 and S503, the fingertip position and angular position can be measured and calculated for multiple common movement commands provided to robot 1. This results in the obtaining of multiple deviations of the angles of each joint axis relative to a certain temperature change in step S504. The statistical values ​​(average, etc.) of these multiple deviations are then used as the deviations written into the data table. This reduces the impact of measurement errors in the data table generation process.

[0082] Zero-point calibration data correction unit 124 can use a reference Figure 7 The data table generated by the above steps is used to correct the zero-point calibration data 83 as described above.

[0083] As explained above, according to this embodiment, the robot control device 20 can prevent the position of the robot 1's fingertips from changing due to temperature variations in each joint, and can maintain the positional accuracy of the robot 1 with high precision. Furthermore, this improves the quality of the robot system 100 as a production system.

[0084] Furthermore, in this embodiment, the zero-point calibration data 83 is corrected using a data table (information on the temperature-dependent deviation of the angles of each joint axis) prepared in advance by using the measurement of the three-dimensional measuring device 90. Therefore, the processing required to maintain the positional accuracy of the robot with high precision can be performed instantly.

[0085] Furthermore, in the above embodiments, regarding the zero-point calibration data correction process, an example of operation was described where a data table was used to represent the temperature-dependent deviation of the angles of each joint axis. However, by using information in the form of a function or graph representing the temperature-dependent variation of the angles of each joint axis, correction of the zero-point calibration data corresponding to more detailed temperature changes can be achieved. For example, when the information representing the temperature-dependent deviation of the angles of each joint axis is stored as information in the form of a function or graph, the following method can also be used: Figure 7 The measurements shown are used to obtain temperature-dependent deviations in the angles of each joint axis, and linear or nonlinear regression models are applied to the obtained data.

[0086] Furthermore, as a device structure for zero-point calibration, in addition to the example structure of the three-dimensional measuring device 90 shown in this embodiment, methods for zero-point calibration of all axes of the robot using a calibration fixture or methods for zero-point calibration of all axes using a camera (vision) (full-axis visual zero-point calibration) can also be applied. For example, in the case of using full-axis visual zero-point calibration, the zero-point calibration value obtained by performing full-axis visual zero-point calibration at a reference temperature can be compared with the zero-point calibration value obtained by performing full-axis visual zero-point calibration at a certain temperature change to obtain the deviation.

[0087] Second Implementation Method

[0088] The robot system 100A according to the second embodiment will be described. The device structure of the robot system 100A according to the second embodiment is similar to... Figure 1 The device structure of the robot system 100 of the first embodiment shown is the same, so the description of the device structure is omitted. The robot system 100A of the second embodiment is configured to correct for temperature-induced deviations in the mechanism error parameters included in the mechanism data of the robot 1, thereby maintaining the positional accuracy of the robot 1 with high precision. The mechanism data (mechanism error parameters) 84 can be positioned as parameters representing the mechanical characteristics of each joint axis of the robot 1.

[0089] As mechanism data, the Denavit Hartenberg (DH) parameters for each motion axis can be used. DH parameters are parameters used in the Denavit Hartenberg method (DH method) to determine the relationship between the angular position of each motion axis and the position of the robot's front end. In the DH method, coordinate systems are established for each joint axis, and the robot's position and pose are represented based on the relationship between the coordinate systems of adjacent joint axes. In the DH method, parameters such as θ, d, a, α, and β are used, for example. The meanings of each parameter are shown below.

[0090] θ: from x i-1 axis to x i Rotation angle of the axis (around z) i-1 axis)

[0091] d: from the origin of the (i-1)th coordinate system to z i axis and x i Distance between the intersection points of the axes (link length)

[0092] a: From z i-1 axis and x i The distance from the intersection of the axes to the origin of the i-th coordinate system (the distance between the joint axes).

[0093] α: from z i-1 axis to z i Rotation angle of the axis (around x) i axis)

[0094] β: from z i-1 axis to z i Rotation angle of the axis (around y) i axis)

[0095] Each DH parameter can be expressed in a form that includes the design value (or theoretical value) and the error (e.g., d). i The error parameters can be represented by +Δd). The mechanism error parameters can include the aforementioned DH parameters (θ) defined for each joint axis. i d i a i α i β i Factors that cause changes in the robot's front-end position and posture include: the error of the spring constant (which represents the deflection of the arm caused by gravity or external force) for the torque generated in the three-dimensional directions of each drive axis; the angle transmission error that models the relationship between the encoder output of each axis and the amount of rotation; and other factors that cause changes in the position and posture of the robot's front end.

[0096] Figure 8This is a functional block diagram illustrating the robot system 100A according to the second embodiment. Furthermore, in this functional block diagram, functional elements that are the same as or similar to those in the first embodiment are labeled with the same reference numerals, and their descriptions are simplified or omitted. For example... Figure 8 As shown, the robot control device 20A of this embodiment includes a mechanism error parameter correction unit 127. In this embodiment, the measurement unit 123 has the function of generating a data table 86 representing the temperature-dependent deviation of the mechanism error parameters of each joint axis and storing it in the storage unit 22.

[0097] The mechanism error parameter correction unit 127 has the function of correcting the parameters based on temperature variations of each joint, according to information indicating temperature-dependent deviations in parameters representing the mechanical characteristics of each joint axis. In this embodiment, the mechanism error parameter correction unit 127 can correct the mechanism error parameters based on temperature variations, according to data table 86.

[0098] Figure 9 Example of the structure of data table 86 is shown. Here, an example of a data table related to the DH parameters (θ, d, a, α, β) is shown. Figure 9 In this context, the notations DH_Δp1 to DH_Δp5 represent the temperature-dependent deviation of the DH parameter. Additionally, in... Figure 9 To avoid complexity, only values ​​for a portion of the joint axes are shown. For example... Figure 9 As shown, Data Table 86 uses 10℃ as the reference temperature and the DH parameter value at 10℃ as the reference, representing the deviation of the DH parameter of each joint axis when the temperature increases by 5℃ for each joint axis at 15℃, 20℃, 25℃, 30℃, ...

[0099] In addition, Figure 9 The example shown is a data table generated based on five DH parameters, but it is also possible to generate a data table that only relates to the link length d, and correct for deviations caused by temperature changes only for the link length d.

[0100] The mechanism error parameter correction unit 127 can refer to such a data table 86 to correct the mechanism error parameters based on the temperature changes of each joint monitored by the temperature monitoring unit 122.

[0101] Figure 10 This is a flowchart illustrating the mechanism error parameter correction process performed under the control of the processor 21 of the robot control device 20A. When this process begins, the temperature monitoring unit 122 monitors the temperature of each joint (step S201).

[0102] Then, the temperature monitoring unit 122 determines whether a temperature change has occurred in each joint (step S202). Here, it can also be determined by... Figure 4The same judgment rule is used in step S102 to determine whether a temperature change has occurred.

[0103] If it is determined that there is no temperature change (S202: No), no correction of the mechanism error parameters is performed, and the motion control of robot 1 is executed (step S206).

[0104] If it is determined that there is a temperature change in a certain joint (S202: Yes), the mechanism error parameter correction unit 127 refers to the data table 86 (step S203) and obtains the deviation of the mechanism error parameter of each joint axis corresponding to the temperature change (step S204).

[0105] Then, the mechanism error parameter correction unit 127 corrects the mechanism error parameters based on the deviation of the obtained mechanism error parameters for each joint axis (step S205). As a result, the DH parameters (mechanical data) are corrected. Then, the motion control unit 121 controls the movement of the robot 1 according to the corrected DH parameters (mechanical data) (step S206). Through this process, temperature-dependent changes in the fingertip position of the robot 1 can be prevented, enabling high-precision control of the robot.

[0106] Furthermore, the series of processes from determining the temperature change in step S202 to correcting the mechanism error parameters in step S205 are performed on each joint axis. Therefore, even if the temperature change conditions are different for each joint, the mechanism error parameters of each joint axis can be appropriately corrected according to the temperature change for each joint.

[0107] For example, the mechanism error parameter correction process can be repeatedly executed at certain cycles during the actual operation of robot 1. In this case, the mechanism error parameters can be corrected at any time according to temperature changes during the operation of robot 1, enabling robot 1 to move with high precision.

[0108] Alternatively, the mechanism error parameter correction process can be performed before the robot 1 executes the predetermined task. Alternatively, the mechanism error parameter correction process can also be initiated via user commands through the teach pendant 30. In these cases, the positional accuracy of the robot 1 can also be maintained with high precision.

[0109] Alternatively, in this embodiment, a data table generated by monitoring the detection value of the motor temperature detector 2a as the temperature of each joint and a data table generated by monitoring the detection value of the torque sensor temperature detector 4a as the temperature of each joint can be prepared in advance, and the mechanism error parameters can be corrected using these two data tables. Furthermore, in this case, the practice of using two data tables can adopt the method described in (a1) or (a2) in the first embodiment.

[0110] Alternatively, in this embodiment, the system may be configured to monitor the temperature of three or more locations for each joint, and correct the mechanism error parameters using information (e.g., three or more data tables) indicating the deviation of each joint axis corresponding to the temperature changes of these three or more locations. For example, the system may be configured to monitor the temperature of three or more elements (motor, reducer, encoder, torque sensor, arm) corresponding to each joint, and correct the mechanism error parameters using information indicating the deviation of each joint axis corresponding to the temperature changes of these three or more elements. In this case, the methods described in (a1) and (a2) above can also be used.

[0111] Next, the process of measuring the position of robot 1 using measurement unit 123 and generating data table 86 based on the measurement results will be described. The equipment structure for measuring the position of robot 1 and... Figure 6 The same as shown.

[0112] Figure 11 This is a flowchart illustrating the data table generation process of the second embodiment. Here, the temperature monitoring unit 122 first begins monitoring the temperature of each joint while each joint is at a reference temperature.

[0113] The measuring unit 123 (position information acquisition unit 125) provides predetermined instructions to the robot 1 at a reference temperature, and measures the fingertip position of the robot 1 (see reference) using the three-dimensional measuring device 90. Figure 6 The measurement unit 123 (position information acquisition unit 125) performs such measurements for multiple commands, thereby collecting data on the difference between the command position for robot 1 and the measured fingertip position of robot 1 (step S601).

[0114] The measurement unit 123 (calculation unit 126) performs calculations to determine the mechanism error parameters based on the collected data (step S601). If the vector with the above-mentioned mechanism error parameters as elements is set as q, then the vector p representing the three-dimensional position of the robot's front end can be represented by the function f considering the error model as follows.

[0115] p=f(q)

[0116] The vector Δp ​​representing the deviation between the specified position and the measured position of the robot's front end can be approximated by the sum of linear combinations of small variations in various error parameters, as follows. Furthermore, JA is the Jacobian determinant.

[0117]

[0118] The three-dimensional measuring device 90 obtains the measurement results of the three-dimensional position, and therefore, based on a single posture measurement, three equations hold. By extending them to multiple measurement postures, the vector Δr representing their corresponding deviations and the Jacobian determinant D are obtained, which can be expressed as follows.

[0119]

[0120] The mechanism error parameters are generally determined by solving an iterative estimation problem that minimizes Δr.

[0121] Next, the temperature monitoring unit 122 determines whether there is a temperature rise of a certain temperature for each joint (step S602). The process of step S502 is repeated until a temperature rise of a certain temperature (e.g., 5°C) is detected (S602: No). If it is determined that there is a temperature rise of a certain temperature (S602: Yes), the process proceeds to step S603.

[0122] In step S603, the measuring unit 123 (position information acquisition unit 125), with the temperature of each joint axis having risen from the reference temperature by a certain temperature (e.g., 5°C), similarly to step S601, provides a predetermined position command to the robot 1 and measures the fingertip position of the robot 1 using the three-dimensional measuring device 90. The measuring unit 123 (position information acquisition unit 125) performs such measurements for multiple commands, thereby collecting data on the difference between the commanded position for the robot 1 and the measured fingertip position of the robot 1 (step S603). Then, the measuring unit 123 (calculation unit 126) calculates and determines mechanism error parameters based on the collected data (step S603).

[0123] Next, the measuring unit 123 calculates the deviation between the mechanism error parameter at the reference temperature obtained in step S601 and the mechanism error parameter at a certain temperature rise obtained in step S603, and records it in the data table (step S604). Thus, the deviation between the DH parameter at the reference temperature and the DH parameter at a certain temperature rise is recorded in the data table.

[0124] Next, the measurement unit 123 (position information acquisition unit 125) determines whether a deviation has been obtained for each of the predetermined temperature values ​​used to generate the data table (step S605). If no deviation has been obtained for each of the predetermined temperature values ​​(S605: No), the processing from step S602 continues. If a deviation has been obtained for each of the predetermined temperature values ​​(S605: Yes), the data table is completed, and this process ends.

[0125] Furthermore, when generating data tables for temperature ranges lower than the reference temperature, in Figure 11In step S602 of the data table generation process, it is determined whether the temperature has dropped by a certain amount. In steps S603-S604, the measurement under the condition of a certain temperature drop and the calculation of the mechanism error parameters are performed.

[0126] Through the above processing, it is possible to generate, as follows: Figure 9 The data is shown in Table 86. Furthermore, for deviations in temperature data that are not available in Table 86, various data interpolation methods can be used to interpolate the data.

[0127] Furthermore, by performing this process on both the case where the motor temperature detector 2a is used as the detector for detecting the temperature of each joint and the case where the torque sensor temperature detector 4a is used as the detector for detecting the temperature of each joint, it is possible to obtain both a data table based on the temperature change of the motor and a data table based on the temperature change of the torque sensor.

[0128] The mechanism error parameter correction unit 127 can correct the mechanism error parameters as described above by using the data table thus completed.

[0129] As explained above, according to this embodiment, the robot control device 20A can prevent the position of the robot 1's fingertips from changing due to temperature variations in each joint, and can maintain the robot's positional accuracy with high precision. Furthermore, this improves the quality of the robot system 100A as a production system.

[0130] Furthermore, in this embodiment, a data table (indicating temperature-dependent deviations in mechanism error parameters) prepared in advance by using the measurement of the three-dimensional measuring device 90 is used to correct the structure of the mechanism error parameters, thus enabling instantaneous execution of the processing required to maintain the robot's positional accuracy with high precision.

[0131] Furthermore, in the above embodiments, regarding the mechanism error parameter correction process, an example of operation was described using a data table as information representing the temperature-dependent deviation of the mechanism error parameters of each joint axis. However, by using information in the form of a function or graph representing the temperature-dependent variation of the mechanism error parameters of each joint axis, correction of the mechanism error parameters corresponding to more subtle temperature changes can be achieved. For example, when the information representing the temperature-dependent deviation of the mechanism error parameters of each joint axis is stored as information in the form of a function or graph, the following method can also be used: Figure 11 The temperature-dependent deviations of the mechanism error parameters representing each joint axis are obtained through measurements as shown, and linear or nonlinear regression models are applied to the obtained data.

[0132] Third Implementation Method

[0133] The robot system 100B according to the third embodiment will be described. The device structure of the robot system 100B according to the third embodiment is similar to... Figure 1 The device structure of the robot system 100 of the first embodiment shown is the same, so the description of the device structure is omitted. The robot system 100B of the third embodiment can correct for temperature-induced deviations based on both the zero-point calibration data 83 and the mechanism data (mechanism error parameters) 84, and maintain the positional accuracy of the robot 1 with high precision.

[0134] Figure 12 This is a functional block diagram illustrating the robot system 100B of this embodiment. Furthermore, in this functional block diagram, functional elements that are the same as or similar to those in the first or second embodiment are labeled with the same reference numerals, and their descriptions are simplified or omitted. For example... Figure 12 As shown, the robot control device 20B of this embodiment includes an action control unit 121, a temperature monitoring unit 122, a measurement unit 123, a zero-point calibration data correction unit 124, and a mechanism error parameter correction unit 127.

[0135] In this embodiment, the measuring unit 123 can generate both a data table 85 representing temperature-dependent deviations in zero-point calibration data and a data table 86 representing temperature-dependent deviations in mechanism error parameters through measurement. As steps for generating the data table representing temperature-dependent deviations in zero-point calibration data and the data table representing temperature-dependent deviations in mechanism error parameters, it is possible to use... Figure 7 , Figure 11 The steps are shown separately.

[0136] In this embodiment, both a data table 85 representing the temperature-dependent deviation of zero-point calibration data and a data table 86 representing the temperature-dependent deviation of mechanism error parameters are stored in the storage unit 22.

[0137] In addition, in this embodiment, it will be through the discussion of... Figure 11 The mechanism data (mechanism error parameters) determined by the measurements described (S601 or S603) are applied to the inverse kinematics calculation of each axis angle based on the fingertip position when generating zero-point calibration data 83, resulting in more accurate zero-point calibration data. More specifically, firstly, through... Figure 11 The data table generation process shown yields a data table representing the temperature-dependent deviation of the mechanism error parameters. Next, when calculating the angles of each axis based on the fingertip position during the generation of zero-point calibration data 83, the temperature of each axis at that time is taken into account, and the mechanism data (mechanism error parameters) corrected according to the aforementioned data table is applied. This results in more accurate zero-point calibration data.

[0138] Furthermore, in this embodiment, when passing through Figure 7 In the case of generating data table 85 (the deviation of the angle of each axis) using the data table generation process shown, when calculating the angular position of each axis using inverse kinematics, the method is applied using information about... Figure 11 The mechanism data (mechanism error parameters) determined by the described measurements can generate a more accurate data table 85. More specifically, through... Figure 11 The data table generation process shown yields data table 86, representing temperature-dependent deviations of the mechanism's error parameters. Next, during the execution... Figure 7 In the case of data table generation processing, when calculating the angular position of each axis through inverse kinematics (S501, S503), the temperature of each axis at this time is taken into account, and mechanism data (mechanism error parameters) that have been corrected for temperature are applied. As a result, a more accurate data table (the deviation of each joint) can be obtained.

[0139] Figure 13 This is a flowchart illustrating the parameter correction process in this embodiment. This process is executed under the control of the processor 21. When this process begins, the temperature monitoring unit 122 monitors the temperature of each joint (step S301).

[0140] Then, the temperature monitoring unit 122 determines whether a temperature change has occurred in each joint (step S302). Here, it can also be determined by... Figure 4 The same judgment rule is used in step S102 to determine whether a temperature change has occurred.

[0141] If it is determined that there is no temperature change (S302: No), no correction is performed on the zero-point calibration data and mechanism error parameters, and the motion control of robot 1 is executed (step S308).

[0142] If it is determined that there is a temperature change for any joint (S302: Yes), the zero-point calibration data correction unit 124 and the mechanism error parameter correction unit 127 refer to data tables 85 and 86 respectively (step S303) to obtain the deviation of the angle of each joint axis corresponding to the temperature change and the deviation of the mechanism error parameter of each joint axis corresponding to the temperature change (step S304).

[0143] Then, the zero-point calibration data correction unit 124 converts the obtained deviation of the joint angle into the pulse value of the encoder to obtain a correction value (step S305). The zero-point calibration data correction unit 124 uses the correction value to correct the zero-point calibration data (step S306).

[0144] The mechanism error parameter correction unit 127 corrects the mechanism error parameters using the deviation amount of the mechanism error parameters obtained from the data table 86 (step S307). Then, the motion control unit 121 controls the motion of the robot 1 according to the corrected zero-point calibration data and the mechanism error parameters (step S308). Through this process, the fluctuation of the fingertip position of the robot 1, which depends on temperature changes, can be prevented, and the robot can be controlled with high precision.

[0145] Furthermore, in this embodiment, the correction of the zero-point calibration data can also be configured to monitor the temperature of two or more locations on each joint, and to correct the zero-point calibration data using information (e.g., three or more data tables) indicating the deviation of each joint axis corresponding to the temperature changes at these two or more locations. In this case, the methods described in (a1) and (a2) above can also be used.

[0146] Furthermore, in this embodiment, the correction of the mechanism error parameters can also be configured to monitor the temperature of two or more locations for each joint, and use information (e.g., three or more data tables) representing the deviation of each joint axis corresponding to the temperature changes of these two or more locations to correct the mechanism error parameters. In this case, the methods described in (a1) and (a2) above can also be adopted.

[0147] Furthermore, when the zero-point calibration data correction unit 124 and the mechanism error parameter correction unit 127 correct the zero-point calibration data and the mechanism error parameters, as illustrated below, a method can be adopted that separates the portion corresponding to the zero-point calibration data correction from the portion corresponding to the mechanism error parameter correction, depending on the position of the joint axis. For example, the second joint axis can be addressed by correcting the mechanism error parameters, while the wrist joint axis can be addressed by correcting the zero-point calibration data.

[0148] In addition, in the structure of this embodiment, the robot control device 20B can also operate in a manner that corrects either the zero-point calibration data or the mechanism error parameters.

[0149] As explained above, according to this embodiment, the robot control device 20B can prevent the position of the robot 1's fingertips from changing due to temperature variations in each joint, and can maintain the robot's positional accuracy with high precision. Furthermore, this improves the quality of the robot system 100B as a production system.

[0150] Furthermore, in this embodiment, a data table prepared in advance using the three-dimensional measuring device 90 (information on temperature-dependent deviations of the angles of each joint axis and information on temperature-dependent deviations of the mechanism error parameters) is used to correct at least one of the zero-point calibration data and mechanism error parameters. Therefore, the processing required to maintain the robot's positional accuracy with high precision can be performed instantly.

[0151] Furthermore, in the above embodiments, regarding parameter correction processing, an example of operation was described in which a data table was used as information on the temperature-dependent deviation of parameters representing the mechanical characteristics of each joint axis. However, by using information in the form of a function or graph representing the temperature-dependent variation of parameters representing the mechanical characteristics of each joint axis, more detailed parameter correction corresponding to temperature changes can be achieved.

[0152] The functional block diagrams shown in the various embodiments described above ( Figure 2 , Figure 8 , Figure 12 The functional configuration shown in the example is just one example; there can be various variations of the functional configuration. For example, it could be a structure in which some of the functions configured in the robot control unit are configured in the teach pendant.

[0153] In the above embodiments, an example is shown where a motor temperature detector or a torque sensor temperature detector is used as a sensor for detecting the temperature of a joint. However, as a sensor for detecting the temperature of a joint, sensors that detect the temperature of other parts within the joint or sensors that detect the temperature of other elements related to the drive of the joint shaft can also be used.

[0154] The above-described embodiments involve equipping temperature detectors on multiple joints of the robot 1, enabling temperature monitoring for each joint. However, any structure capable of monitoring the temperature of more than one joint of the robot 1 can achieve the effect of preventing changes in the fingertip position of the robot 1 and maintaining the robot's positional accuracy with high precision. For example, it can also be configured to monitor the temperature of a specific joint of the robot, and based on the temperature of that joint, correct temperature-induced deviations in parameters representing mechanical characteristics of more than one joint of the robot.

[0155] In the structures of the above embodiments, when the data tables (85, 86) are temporarily provided and stored in the storage unit 22, the structures (measurement unit 123 and three-dimensional measurement device 90) used to generate the data tables (85, 86) may not function. Therefore, when the robot system (100, 100A, 100B) has the data tables (85, 86) (i.e., when the robot system is actually operating), the measurement unit 123 and the three-dimensional measurement device 90 may be omitted.

[0156] The above-described embodiments can be applied to various types of robots with more than one joint axis.

[0157] The functional blocks in the functional block diagrams of the robot control devices shown in the above embodiments can be implemented by one or more processors of the robot control device executing various software stored in the storage device, or they can be implemented by a structure based on hardware such as ASIC (Application Specific Integrated Circuit).

[0158] The programs that perform various processes, such as zero-point calibration data correction processing, mechanism error parameter correction processing, parameter correction processing, and data table generation processing, in the above embodiments can be recorded on various computer-readable recording media (e.g., semiconductor memories such as ROM, EEPROM, and flash memory, magnetic recording media, CD-ROM, DVD-ROM, etc.).

[0159] As explained above, according to each embodiment, the position of the robot's fingertips can be prevented from changing due to temperature variations in each joint, and the robot's positional accuracy can be maintained with high precision.

[0160] This disclosure has been described in detail, but it is not limited to the various embodiments described above. Various additions, substitutions, modifications, and partial deletions can be made to these embodiments without departing from the spirit of this disclosure, or from the spirit of this disclosure derived from the content described in the claimed scope and its equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the embodiments described above, the order of each action and the order of each process are shown as an example and are not limited thereto. Similarly, the use of numerical values ​​or mathematical formulas in the description of the embodiments described above also applies.

[0161] The following notes further describe the above-described embodiments and variations.

[0162] (Note 1)

[0163] A robot control device 20, 20A, 20B, comprising:

[0164] Temperature monitoring unit 122 monitors the temperature of one or more joints of the robot;

[0165] The parameter storage unit 22 stores parameters representing the mechanical characteristics of the joint axis of the one or more joints;

[0166] Information storage unit 22 stores information representing temperature-dependent deviations of the parameters; and

[0167] The correction units 124 and 127 correct the parameters based on the information representing the deviation and according to the temperature changes of the one or more joints monitored by the temperature monitoring unit.

[0168] (Note 2)

[0169] According to the control device 20 described in Appendix 1, wherein,

[0170] The parameter storage unit stores zero-point calibration data as the parameters.

[0171] The information storage unit stores first information as information representing the deviation, the first information representing a temperature-dependent deviation of the angle of the joint axis of each of the one or more joints.

[0172] The calibration unit 124 corrects the zero-point calibration data based on the first information and according to the temperature changes of each of the one or more joints monitored by the temperature monitoring unit.

[0173] (Note 3)

[0174] According to the control device 20A described in Appendix 1, wherein,

[0175] The parameter storage unit stores the mechanism error parameters as the parameters.

[0176] The information storage unit stores second information as information representing the deviation, the second information representing the temperature-dependent deviation of the mechanism error parameter of the joint axis of each of the one or more joints.

[0177] The correction unit 127 corrects the mechanism error parameters based on the second information and according to the temperature changes of each of the one or more joints monitored by the temperature monitoring unit.

[0178] (Note 4)

[0179] According to the control device 20B described in Appendix 1, wherein,

[0180] The parameter storage unit stores zero-point calibration data and mechanism error parameters as the parameters.

[0181] The information storage unit stores first information and second information as information representing the deviation. The first information represents the temperature-dependent deviation of the angle of the joint axis of each of the one or more joints, and the second information represents the temperature-dependent deviation of the mechanism error parameter of the joint axis of each of the one or more joints.

[0182] The correction units 124 and 127, based on the first information and the second information, and according to the temperature changes of the one or more joints monitored by the temperature monitoring unit, correct at least one of the zero-point calibration data and the mechanism error parameters.

[0183] (Note 5)

[0184] According to any one of the appendices 1 to 4, the control devices 20, 20A, and 20B, wherein,

[0185] The temperature monitoring unit 122 monitors the temperature of any one of the motors, reducers, encoders, torque sensors, and arms configured for each of the more than one joints.

[0186] (Note 6)

[0187] According to the control devices 20, 20A, and 20B described in Appendix 1, wherein,

[0188] The temperature monitoring unit 122 monitors the temperature of two or more parts of each of the more than one joint.

[0189] The information storage section stores two or more pieces of information representing deviations in temperature of the two or more locations related to the parameter.

[0190] The correction units 124 and 127 correct the parameters based on the two or more pieces of information and according to the temperature changes of the two or more parts of each of the one or more joints that are being monitored for temperature.

[0191] (Note 7)

[0192] According to the control devices 20, 20A, and 20B described in Appendix 6, wherein,

[0193] The correction units 124 and 127 correct the parameters based on the larger of the deviations of the parameters obtained from the two or more pieces of information, which are obtained from the temperature changes of the two or more parts monitored by the temperature monitoring unit at a certain point in time during the robot's operation.

[0194] (Note 8)

[0195] According to the control devices 20, 20A, 20B described in Note 6 or 7, wherein,

[0196] The temperatures of the two or more locations of each of the more than one joint include the temperatures of two or more of the motors, reducers, encoders, torque sensors, and arms configured relative to the joint axes of each of the more than one joint.

[0197] (Note 9)

[0198] According to any one of the appendices 1 to 8, the control devices 20, 20A, and 20B, wherein,

[0199] The correction units 124 and 127 repeatedly perform the correction of the parameters during the robot's movements.

[0200] (Postscript 10)

[0201] A parameter correction method is executed in the robot's control devices 20, 20A, and 20B, wherein,

[0202] Monitor the temperature of one or more joints of the robot.

[0203] Information is obtained representing temperature-dependent deviations in parameters, which represent the mechanical properties of the joint axis of the one or more joints.

[0204] Based on the information representing the deviation, the parameters are corrected according to the monitored temperature changes of the one or more joints.

[0205] (Postscript 11)

[0206] A program for causing at least one computer to execute, wherein the program includes the following steps:

[0207] Monitor the temperature of more than one joint of the robot.

[0208] Information is obtained representing temperature-dependent deviations in parameters, which represent the mechanical properties of the joint axis of the one or more joints.

[0209] Based on the information representing the deviation, the parameters are corrected according to the monitored temperature changes of the one or more joints.

[0210] Symbol Explanation

[0211] 1 robot;

[0212] 2 motors;

[0213] 3 encoders;

[0214] 2a Motor Temperature Detector;

[0215] 4 torque sensors;

[0216] 4a Torque sensor and temperature detector;

[0217] 5 welding torches;

[0218] 11. Upper arm;

[0219] 12. Lower arm;

[0220] 13 Rotating base;

[0221] 14 bases;

[0222] 15. Wrist;

[0223] 16 flanges;

[0224] 20. Robot control devices;

[0225] 21 processors;

[0226] 22. Storage Unit;

[0227] 30 teaching operation panels;

[0228] 31 Display Unit;

[0229] 81. Robot program;

[0230] 82 Measurement Procedure;

[0231] 83 Zero-point calibration data;

[0232] 84. Mechanism data (mechanism error parameters);

[0233] Data tables 85, 85A, 85B, and 86;

[0234] 90 Three-dimensional measuring device;

[0235] 100, 100A, and 100B robot systems;

[0236] 121 Motion Control Unit;

[0237] 122 Temperature Monitoring Unit;

[0238] 123 Measurement Department;

[0239] 124 Zero-point Calibration Data Correction Department;

[0240] 125 Location Information Acquisition Department;

[0241] 126 Computing Department;

[0242] 127 Mechanism Error Parameter Correction Department.

Claims

1. A control device of a robot characterized by comprising: Possessing: a temperature monitoring section that monitors the temperature of one or more joints of the robot; a parameter storage section that stores a parameter that indicates the mechanical characteristics of the joint axis of the one or more joints; an information storage section that stores information that indicates a temperature-dependent deviation with respect to the parameter; and a correction section that corrects the parameter based on the information that indicates the deviation, in accordance with a change in the temperature of the one or more joints monitored by the temperature monitoring section.

2. The control device according to claim 1, wherein the parameter storage section stores zero-point calibration data as the parameter, the information storage section stores first information as the information that indicates the deviation, the first information indicating a temperature-dependent deviation with respect to the angle of the joint axis of each of the one or more joints, the correction section corrects the zero-point calibration data based on the first information, in accordance with a change in the temperature of each of the one or more joints monitored by the temperature monitoring section.

3. The control device according to claim 1, wherein the parameter storage section stores a mechanism error parameter as the parameter, the information storage section stores second information as the information that indicates the deviation, the second information indicating a temperature-dependent deviation of the mechanism error parameter of each of the one or more joints, the correction section corrects the mechanism error parameter based on the second information, in accordance with a change in the temperature of each of the one or more joints monitored by the temperature monitoring section.

4. The control device according to claim 1, wherein the parameter storage section stores zero-point calibration data and a mechanism error parameter as the parameter, the information storage section stores first information and second information as the information that indicates the deviation, the first information indicating a temperature-dependent deviation with respect to the angle of the joint axis of each of the one or more joints, and the second information indicating a temperature-dependent deviation of the mechanism error parameter of each of the one or more joints, the correction section corrects at least one of the zero-point calibration data and the mechanism error parameter based on the first information and the second information, in accordance with a change in the temperature of each of the one or more joints monitored by the temperature monitoring section.

5. The control device according to any one of claims 1 to 4, wherein the temperature monitoring section monitors the temperature of any one of a motor, a reducer, an encoder, a torque sensor, and an arm configured with respect to the joint axis of each of the one or more joints.

6. The control device according to claim 1, wherein the temperature monitoring section monitors the temperature of two or more locations of each of the one or more joints, the information storage section stores two or more pieces of information that indicate a temperature-dependent deviation with respect to the parameter of each of the two or more locations, respectively, the correction section corrects the parameter based on the two or more pieces of information, in accordance with a change in the temperature of each of the two or more locations of each of the one or more joints for which temperature monitoring is performed.

7. The control device according to claim 6, wherein ​ The correction section corrects the parameter based on a larger one of deviations in the parameter obtained from the two or more information based on temperature changes of the two or more sections each monitored by the temperature monitoring section at a certain point in time in the movement of the robot.

8. The control device according to claim 6 or 7, characterized in that, The temperature of the two or more sections of each of the one or more joints includes two or more temperatures of a motor, a reducer, an encoder, a torque sensor, and an arm arranged with respect to a joint axis of each of the one or more joints.

9. The control device according to any one of claims 1 to 8, characterized in that, The correction section repeatedly performs correction of the parameter in the movement of the robot.

10. A parameter correction method executed in a control device of a robot, characterized by, monitoring temperatures of one or more joints of the robot, obtaining information indicating a temperature-dependent deviation with respect to a parameter indicating a mechanical characteristic of a joint axis of the one or more joints, correcting the parameter based on the information indicating the deviation according to a temperature change of the one or more joints monitored.

11. A program for causing at least one computer to execute, characterized by, the program including the steps of: monitoring temperatures of one or more joints of a robot; obtaining information indicating a temperature-dependent deviation with respect to a parameter indicating a mechanical characteristic of a joint axis of the one or more joints; and correcting the parameter based on the information indicating the deviation according to a temperature change of the one or more joints monitored.

Citation Information

Patent Citations

  • Thermal deformation error measuring and correcting system for machine tool

    JP1999333670A

  • Robot control device

    JP2019141983A