Control device, parameter correction method, and program
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Filing Date
- 2023-08-01
- Publication Date
- 2026-05-07
AI Technical Summary
Industrial robots experience a decline in positional accuracy over time due to temperature increases at their joints, affecting the precision of their operations.
A control device equipped with a temperature monitoring unit, parameter storage unit, and correction unit that stores and corrects parameters based on temperature-dependent deviations, ensuring the robot's accuracy by adjusting for temperature changes in its joints.
The solution effectively maintains high positional accuracy of industrial robots by continuously correcting parameters in response to temperature fluctuations, enhancing the robot's operational precision and reliability.
Abstract
Description
Control device, parameter correction method and program
[0001] The present disclosure relates to a control device, a parameter correction method, and a program.
[0002] The positional accuracy of industrial machinery may decrease over time, and various systems have been proposed to improve the positional accuracy of industrial machinery (for example, Patent Documents 1 and 2).
[0003] JP2019-141983A JP11-333670A
[0004] As the temperature of each joint rises over the course of a robot's operating time, the position of the robot's hand may change slightly. There is a need for technology that can prevent the deterioration of robot positioning accuracy that occurs as the temperature of each joint rises and maintain high accuracy of the robot's positioning.
[0005] One aspect of the present disclosure is a control device for a robot, comprising: a temperature monitoring unit that monitors the temperature of one or more joints of the robot; a parameter memory unit that stores parameters that indicate mechanical characteristics of joint axes of the one or more joints; an information memory unit that stores information that represents a temperature-dependent deviation of the parameters; and a correction unit that corrects the parameters in accordance with temperature changes of the one or more joints monitored by the temperature monitoring unit based on the information that represents the deviation.
[0006] These and other objects, features and advantages of the present invention will become more apparent from the detailed description of exemplary embodiments of the invention illustrated in the accompanying drawings.
[0007] 1 is a diagram showing the equipment configuration of a robot system according to a first embodiment. FIG. 1 is a functional block diagram of a robot system according to a first embodiment. FIG. 2 is a diagram showing an example of a data table showing deviation amounts depending on temperature of mastering data. FIG. 3 is a flowchart showing mastering data correction processing. FIG. 4 is a diagram showing a state in which both a data table showing deviation amounts of mastering data based on detected values of motor temperature and a data table showing deviation amounts of mastering data based on detected values of torque sensor temperature are stored in a storage unit. FIG. 5 is a diagram showing a configuration when a data table is created by measuring the position of a robot. FIG. 6 is a flowchart showing data table creation processing according to the first embodiment. FIG. 7 is a functional block diagram of a robot system according to a second embodiment. FIG. 8 is a diagram showing an example of a data table showing deviation amounts depending on temperature of mechanism error parameters. FIG. 9 is a flowchart showing mechanism error parameter correction processing. FIG. 10 is a diagram showing data table creation processing according to the second embodiment. FIG. 11 is a functional block diagram of a robot system according to a third embodiment. FIG. 12 is a flowchart showing parameter correction processing according to the third embodiment.
[0008] Next, embodiments of the present disclosure will be described with reference to the drawings. In the drawings, like components or functional parts are designated by like reference numerals. The scales of these drawings have been changed appropriately to facilitate understanding. Furthermore, the embodiment shown in the drawings is one example for implementing the present invention, and the present invention is not limited to the illustrated embodiment.
[0009] 1 is a diagram showing the equipment configuration of a robot system 100 according to a first embodiment. Note that Fig. 1 shows an external perspective view of the configuration of the robot 1. The robot system 100 includes the robot 1, a robot control device 20 that controls the robot 1, a teaching pendant 30 connected to the robot control device 20, and a three-dimensional measuring device 90.
[0010] FIG. 1 shows an example in which the robot 1 is a six-axis vertical articulated robot. Various types of robots, such as a scalar robot, a parallel link robot, or a dual-arm robot, may be used as the robot 1 depending on the work target. The robot 1 can perform a desired work using a work tool as an end effector attached to the wrist. The work tool is an external device that can be replaced depending on the application, such as a hand, a welding gun, or a tool. FIG. 1 shows an example in which a welding gun 5 is used as the work tool. The robot 1 can perform welding work by setting the welding gun 5 to a desired position and posture according to a robot program.
[0011] As the robot operates, the temperature of each joint increases, which can cause slight changes in the robot's hand position. The robot system 100 stores in advance in the storage unit 22 information representing temperature-dependent deviations of parameters indicating the mechanical characteristics of each joint axis of the robot 1, which information is generated by measurements using a three-dimensional measuring device 90 (see FIG. 2 ). During actual operation, the robot system 100 corrects the parameters in response to temperature changes in each joint based on the information and controls the operation of the robot 1 in accordance with the corrected parameters. In this specification, the term "joint temperature" refers not only to the temperature within the joint, but also to the temperature of elements (including motors, reducers, encoders, torque sensors, etc.) constituting the drive mechanism of the joint axis and the arm corresponding to the joint (either of the arms on either side of the joint). This configuration enables the robot system 100 to prevent changes in the hand position of the robot 1 due to temperature changes in each joint, thereby maintaining high positional accuracy of the robot.
[0012] The robot control device 20 controls the operation of the robot 1 in accordance with a robot program or commands from the teaching pendant 30. The robot control device 20 may have a hardware configuration as a general computer having a processor 21, memory (ROM, RAM, non-volatile memory, etc.), a storage unit 22, an operation unit, an input / output interface, a network interface, etc. (see FIG. 2).
[0013] The teaching pendant 30 is used as an operation terminal for teaching the robot 1 and performing various settings. A teaching device configured with a tablet terminal or the like may be used as the teaching pendant 30. The teaching pendant 30 may have a hardware configuration as a general computer having a processor, memory (ROM, RAM, non-volatile memory, etc.), a storage device, an operation unit, a display unit 31, an input / output interface, a network interface, etc. (see FIG. 2 ).
[0014] The teaching pendant 30 may be positioned as a part of the components of the robot control device 20 .
[0015] 1, the robot 1 includes a base 14, a swivel base 13, a lower arm 12, an upper arm 11, a wrist 15, and a flange 16. The lower arm 12 is supported by the swivel base 13. The swivel base 13 is supported by the base 14. The wrist 15 is connected to the end of the upper arm 11. The wrist 15 includes a flange 16 to which a welding gun 5 is fixed. The upper arm 11, the lower arm 12, and other components are connected via joints.
[0016] The origin of a world coordinate system 71 is set on the base 14 of the robot 1. The world coordinate system 71 remains stationary even when the position and orientation of the robot 1 change, and is also referred to as a reference coordinate system. A tool coordinate system 72 having an origin set at an arbitrary position on the work tool is set on the robot 1. The position and orientation of the tool coordinate system 72 change together with the welding gun 5. In this embodiment, the origin of the tool coordinate system 72 is set at the tool tip point 72a (the tip point of the fixed electrode). As an example, in this embodiment, the position of the robot 1 corresponds to the position of the tool tip point (the position of the origin of the tool coordinate system 72). Furthermore, the orientation of the robot 1 corresponds to the orientation of the tool coordinate system 72 with respect to the world coordinate system 71.
[0017] 1 shows joint axes J1 to J6 at each joint. The angle of the joint is determined for each of the joint axes J1 to J6. For example, the angle of the joint corresponds to the angle between the components of the joint. Furthermore, the angle of the joint corresponds to the rotational position of the drive motor disposed corresponding to each joint.
[0018] FIG. 2 is a functional block diagram of the robot system 100. The robot 1 is provided with a drive mechanism corresponding to each of the joint axes J1 to J6. The drive mechanism provided for each joint axis includes a motor 2, a reducer, an encoder 3, a torque sensor 4, etc. The torque sensor 4 is a sensor that detects torque applied to each joint axis. In FIG. 1, these components of the drive mechanism provided for each joint axis are shown within a dashed square in the robot 1. The robot 1 also has a motor temperature detector 2a that detects the temperature of the motor 2 and a torque sensor temperature detector 4a that detects the temperature of the torque sensor 4 as detectors for detecting the temperature of each joint. Note that FIG. 2 shows an example in which both the motor temperature detector 2a and the torque sensor temperature detector 4a are provided as detectors for detecting the temperature of each joint, but a configuration in which only one of the motor temperature detector 2a and the torque sensor temperature detector 4a is provided as a detector for detecting the temperature of each joint may also be used.
[0019] 2, the robot control device 20 includes an operation control unit 121, a temperature monitoring unit 122, a measurement unit 123, and a mastering data correction unit 124. These functional blocks may be realized by the processor 21 of the robot control device 20 executing software. FIG. 2 also illustrates a storage unit 22 as a hardware component of the robot control device 20.
[0020] The storage unit 22 is a storage device formed, for example, of a non-volatile memory or a hard disk drive, etc. The storage unit 22 stores a robot program 81, a measurement program 82, mastering data 83, mechanism data (mechanism error parameters) 84, a data table 85 for correcting the mastering data, etc. The storage unit 22 functions as a parameter storage unit that stores parameters (mastering data and mechanism data (mechanism error parameters)) that indicate the mechanical characteristics of each joint axis of the robot 1, and also functions as an information storage unit that stores information that indicates temperature-dependent deviations of the parameters that indicate the mechanical characteristics of each joint axis.
[0021] The mastering data 83 is the value of the encoder 3 that detects the rotation angle of each joint axis of the robot when the robot 1 is placed at the origin position. The storage unit 22 stores the mastering data 83, which is generated, for example, by a mastering operation that is performed after the robot 1 is manufactured. By performing the mastering operation on each robot, the tip point of the work tool can be placed at the desired position even if the components of the robot have dimensional errors due to individual differences.
[0022] The mechanism data (mechanism error parameters) 84 is data that represents the geometric relationship between the joint axes of the robot, and is used in calculations such as determining the angular position of each joint axis from the position of the robot's hand.
[0023] The mastering data 83 and mechanism data (mechanism error parameters) 84 can be regarded as parameters that indicate the mechanical characteristics of each joint axis of the robot 1. The operation control unit 121 of the robot control device 20 controls the operation of the robot 1 by performing kinematic calculations in accordance with the robot program 81 and commands, in accordance with the mastering data 83 and mechanism data (mechanism error parameters) 84. The robot control device 20 is equipped with a servo control unit (not shown) that executes servo control of the servo motors of each axis in accordance with the commands for each axis generated by the operation control unit 121.
[0024] The robot control device 20 of this embodiment creates and stores in advance information representing the temperature-dependent deviation of the mastering data 83. The measurement unit 123 uses the three-dimensional measurement device 90 to measure and acquire the temperature-dependent angular deviation of each joint axis, and can store the information representing the temperature-dependent deviation of the mastering data 83. The acquisition and storage of the information representing the temperature-dependent deviation of the mastering data 83 by the measurement unit 123 and the three-dimensional measurement device 90 will be described later.
[0025] The information representing the temperature-dependent deviation of each joint axis angle can be a function or graph representing the temperature-dependent variation of the angle of each joint axis, or a data table representing the temperature-dependent deviation of the angle of each joint axis. Here, an example will be described in which a data table is used as information representing the temperature-dependent deviation of the angle of each joint axis. A data table 85 representing the temperature-dependent deviation of the angle of each joint axis is stored in the storage unit 22.
[0026] The temperature monitoring unit 122 has a function of monitoring the temperature of each joint of the robot 1. The temperature monitoring unit 122 can use, as the temperature of each joint, either the detection value of the motor temperature detector 2a or the detection value of the torque sensor temperature detector 4a provided corresponding to each joint axis. Alternatively, the temperature monitoring unit 122 can obtain the temperature of each joint based on both the detection values of the motor temperature detector 2a and the torque sensor temperature detector 4a.
[0027] The mastering data correcting unit 124 has a function of correcting the parameters indicating the mechanical characteristics of each joint axis in accordance with temperature changes of each joint, based on information indicating temperature-dependent deviations of the parameters. In this embodiment, the mastering data correcting unit 124 can correct the mastering data 83 in accordance with temperature changes monitored by the temperature monitoring unit 122, based on the data table 85.
[0028] An example of the data table 85 is shown in Fig. 3. The data table 85 is a table that shows the deviation (degree) of the angle of each joint axis when the temperature of each joint rises by 5°C, from the angle of each joint axis at 10°C, using 10°C as the reference temperature, to 15°C, 20°C, 25°C, 30°C, and so on. Specifically, the data table 85 in Fig. 3 shows that, for example, with respect to the first joint axis J1 (first axis), when the deviation at 10°C is set to 0, the deviations at 15°C, 20°C, 25°C, and 30°C are 0.1°, 0.2°, 0.3°, and 0.4°, respectively.
[0029] The mastering data correction unit 124 refers to the data table 85 and corrects the mastering data 83 in accordance with the temperature of each joint monitored by the temperature monitoring unit 122. Specifically, the mastering data correction unit 124 acquires from the data table 85 the amount of deviation (angle) corresponding to a temperature change from the reference temperature, converts the acquired amount of deviation into a pulse value of the encoder 3, and uses the pulse value to correct the mastering data 83. The operation control unit 121 generates commands for each joint axis in accordance with the mastering data 83 thus corrected, thereby operating the robot 1. Therefore, with the above configuration, fluctuations in the hand position of the robot 1 that depend on temperature changes are eliminated, making it possible to control the robot 1 with high precision.
[0030] In addition, the data table 85 defines the amount of angle deviation that depends on temperature for each joint axis, so even in situations where the degree of temperature rise differs for each joint axis, the angle deviation of each joint axis can be appropriately corrected in accordance with the respective temperature changes, making it possible to maintain high precision in the positioning accuracy of the robot 1.
[0031] 4 is a flowchart showing the mastering data correction process executed under the control of the processor 21 of the robot control device 20. Here, the flow of this process will be described using an example in which the data table 85 shown in FIG. 3 is used. When this process is started, the temperature monitoring unit 122 monitors the temperature of each joint (step S101). Preferably, the temperature monitoring unit 122 monitors the temperature of each joint based on the detected values of the motor temperature detector 2a when the data table 85 is created based on the detected values of the motor temperature detector 2a, and based on the detected values of the torque sensor temperature detector 4a when the data table 85 is created based on the detected values of the torque sensor temperature detector 4a.
[0032] 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 use the following determination rules, for example: when this process is first started, determine that a temperature change has occurred if the temperature of any joint has changed by a predetermined temperature (e.g., 5°C) or more from the reference temperature, or when this process is repeatedly executed from the second time onwards, determine that a temperature change has occurred if the change from the previously measured temperature of any joint has changed by a predetermined temperature (e.g., 5°C) or more.
[0033] If it is determined that there is no temperature change (S102: NO), the mastering data 83 is not corrected, and the operation control of the robot 1 is executed (step S107).
[0034] If it is determined that there is a temperature change for any joint (S102: YES), the mastering data correction unit 124 refers to the data table 85 (step S103) and obtains the amount of 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 has risen by 5°C from the temperature (15°C) at the time of the previous execution of the mastering data correction process to 20°C, the mastering data correction unit 124 obtains the amount of deviation (0.2°) for that joint at 20°C from the data table 85 (step S104).
[0035] The mastering data correction unit 124 then obtains a correction value by converting the acquired deviation amount into an encoder pulse value (step S105). The mastering data correction unit 124 then corrects the mastering data 83 using this correction value (step S106). The operation control unit 121 controls the operation of the robot 1 in accordance with this corrected mastering data 83 (step S107). This process prevents fluctuations in the hand position of the robot 1 that are dependent on temperature changes, making it possible to control the robot 1 with high precision.
[0036] In addition, since the series of processes from determining the temperature change in step S102 to correcting the mastering data 83 in step S106 is executed for each joint axis, even in a situation where the temperature change conditions differ for each joint, the angle of each joint axis is appropriately corrected in accordance with the temperature change for each joint.
[0037] The mastering data correction process may be executed repeatedly at regular intervals during the actual operation of the robot 1. In this case, the mastering data 83 can be corrected as needed in response to temperature changes while the robot 1 is in operation, allowing the robot 1 to operate with high precision.
[0038] Alternatively, the mastering data correction process may be executed before the robot 1 is caused to perform a predetermined task. Alternatively, the mastering data correction process may be started by a command from the user via the teaching pendant 30. In these cases, the positional accuracy of the robot 1 can also be maintained at a high level.
[0039] In the above-described configuration example, the robot control device 20 has one data table 85 created based on the detection values of either the motor temperature detector 2a or the torque sensor temperature detector 4a, and uses this data table 85 to correct the mastering data 83. Next, a configuration example will be described in which the robot control device 20 has a data table 85A created based on the detection values of the motor temperature detector 2a and a data table 85B created based on the detection values of the torque sensor temperature detector 4a, and uses these data tables 85A and 85B in combination to correct the mastering data 83. In this configuration example, the robot control device 20 has data table 85A and data table 85B in the memory unit 22, as shown in FIG. 5.
[0040] Data table 85A is a data table showing the amount of deviation of the angle of each joint axis that depends on temperature (motor temperature), created by measuring the deviation of the hand position of robot 1 with three-dimensional measuring device 90 while monitoring temperature changes of each joint with the detection values of motor temperature detector 2a. Data table 85B is a data table showing the amount of deviation of the angle of each joint axis that depends on temperature (torque sensor temperature), created by measuring the deviation of the hand position of robot 1 with three-dimensional measuring device 90 while monitoring temperature changes of each joint with the detection values of torque sensor temperature detector 4a.
[0041] The mastering data correction process in this configuration example will be described with reference to the flowchart of Fig. 4. When the mastering data correction process starts, 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). The temperature monitoring unit 122 then determines whether or not there is a temperature change (step S102).
[0042] In step S102, for example, a YES determination may be made if a temperature change has occurred in either the motor temperature detector 2a or the torque sensor temperature detector 4a. In this case, the processes of steps S103 to S106 may be performed using a data table corresponding to the temperature detector in which the temperature change has been detected. Alternatively, in step S102, a YES determination may be made if a temperature change has occurred in both the motor temperature detector 2a and the torque sensor temperature detector 4a. An example of operation when a temperature change has occurred in both the motor temperature detector 2a and the torque sensor temperature detector 4a will be described below.
[0043] If it is determined that a temperature change has occurred (S102: YES), the mastering data correction unit 124 performs mastering data correction using both the data table 85A and the data table 85B (steps S103 to S106). Specifically, in step S103, the mastering data correction unit 124 references both the data table 85A and the data table 85B (step S103) and obtains, from each of the data tables 85A and 85B, the angular deviation of each joint axis corresponding to the temperature change of each temperature detector (step S104). For example, assume that the detected values of the motor temperature detector 2a and the torque sensor temperature detector 4a indicate a 5°C rise from the reference temperature of 10°C, which is the temperature measured last time. In this case, the mastering data correction unit 124 obtains the deviation amounts (0.1°, 0.1°, 0.1°, 0.1°, 0.1°, 0.1°, 0.1°) for the first joint axis J1 (first axis) to the sixth joint axis J6 (sixth axis) from the data table 85A, and obtains the deviation amounts (0.2°, 0.2°, 0.2°, 0.1°, 0.1°, 0.1°) for the first joint axis J1 (first axis) to the sixth joint axis J6 (sixth axis) from the data table 85B.
[0044] Next, the mastering data correction unit 124 calculates a correction value for the mastering data 83 by combining the deviation amount obtained from the data table 85A and the deviation amount obtained from the data table 85B (step S105). Possible methods for combining two deviation amounts obtained from both the data table 85A and the data table 85B for one joint axis include: (a1) adopting the deviation amount with the larger value; or (a2) adopting the sum of both deviation amounts. The above method (a1) can obtain a more appropriate deviation amount. Furthermore, since it is believed that the deviation of the robot's hand position increases as the temperature of each joint increases during operation of the robot, the above method (a2) can also obtain an appropriate deviation amount.
[0045] In addition, even in a situation where the temperature rise rates of the motor temperature detector 2a and the torque sensor temperature detector 4a are different (for example, a situation where the motor temperature detector 2a indicates a rise of 5°C and the torque sensor temperature detector 4a indicates a rise of 10°C), the deviation amount may be obtained in accordance with the method (a1) or (a2) above.
[0046] The mastering data correction unit 124 obtains the encoder pulse value corresponding to the deviation amount of each joint axis thus obtained, and sets it as a correction value (step S105).The mastering data correction unit 124 then corrects the mastering data using this correction value (step S106).
[0047] In this way, in this configuration example, a wider range of information can be obtained as information indicating the temperature-dependent angle deviation of a certain joint, and the mastering data can be corrected based on this information. Therefore, this configuration example can maintain the positional accuracy of the robot with higher precision.
[0048] Note that the example shown here is an example in which the temperature of the motor and torque sensor arranged for each joint, i.e., two locations, is monitored, and information indicating the deviation of each joint axis in response to temperature changes at these two locations is used in combination to correct the mastering data. A configuration may also be used in which the temperature of three or more locations for each joint is monitored, and information indicating the deviation of each joint axis in response to temperature changes at these three or more locations (e.g., three or more data tables) is used in combination to correct the mastering data. For example, a configuration may be used in which the temperature of three or more of the elements arranged corresponding to each joint (motor, reducer, encoder, torque sensor, arm) is monitored, and information indicating the deviation of each joint axis in response to temperature changes at these three or more elements is used in combination to correct the mastering data. In this case, the above methods (a1) and (a2) can also be adopted.
[0049] Next, the operation of measuring the position of the robot 1 with the measurement unit 123 and creating the data table 85 based on the measurement results will be described with reference to FIGS. 6 and 7. FIG. 6 shows details of the measurement unit 123 in the functional block diagram shown in FIG. 2, and illustrates a situation in which the position of the robot 1 is measured by the three-dimensional measurement device 90. Here, an example is shown in which a laser tracker is used as the three-dimensional measurement device 90. As shown in FIG. 6, the measurement unit 123 includes a position information acquisition unit 125 and a calculation unit 126. The position information acquisition unit 125 has a function of acquiring position information of the robot 1 as a measurement result from the three-dimensional measurement device 90. The calculation unit 126 has a function of calculating a temperature-dependent deviation in the angle of each joint axis of the robot 1 based on the measured position of the robot 1.
[0050] 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 returning from the reflector 91. The reflector 91 is placed at the origin position of the tool coordinate system 72 (see FIG. 1) of the robot 1, and therefore the three-dimensional measuring device 90 can measure the position of the robot 1. A reference coordinate system set in the workspace is preset in the three-dimensional measuring device 90, and the three-dimensional measuring device 90 can provide the measured position of the robot 1 as a position relative to this reference coordinate system.
[0051] 7 is a flowchart showing a data table creation process in which the position of the robot 1 is measured using the function of the measurement unit 123 to create a data table. Note that this process may be realized by the processor 21 executing the measurement program 82. The data table creation process will be explained with reference to the flowchart of FIG. Here, it is assumed that each joint is initially at a reference temperature and the temperature monitoring unit 122 starts monitoring the temperature of each joint.
[0052] First, the measurement unit 123 (position information acquisition unit 125) issues a predetermined movement command to the robot 1 at the reference temperature, and measures the hand position of the robot 1 that has moved in response to the movement command using the three-dimensional measurement device 90. The calculation unit 126 calculates the angular position D0 of each joint axis corresponding to this hand position. n are calculated by inverse kinematics and recorded (step S501). In this inverse kinematics calculation, accurate calculation can be performed by applying mechanism data (mechanism error parameters) 84 identified by measurements carried out in advance.
[0053] Next, the temperature monitoring unit 122 determines whether or not a temperature rise of a certain temperature has occurred 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 a temperature rise of a certain temperature has occurred (S502: YES), the process proceeds to step S503.
[0054] In step S503, the measurement unit 123 (position information acquisition unit 125) issues the same movement command as in step S501 to the robot 1 in a state where the temperature of each joint has risen by a certain temperature, and measures the hand position of the robot 1 that has moved in response to the movement command using the three-dimensional measurement device 90. The calculation unit 126 calculates the angular position D1 of each joint axis corresponding to this hand position. n are calculated by inverse kinematics and recorded. In this inverse kinematics calculation, accurate calculation can be performed by applying mechanism data (mechanism error parameters) 84 identified by measurements carried out in advance.
[0055] Next, the calculation unit 126 calculates the angular position D0 of each joint at the reference temperature. n and the angular position D1 of each joint when the temperature rises by a certain amount. n The difference between the temperature and the temperature is calculated (step S504). The difference calculated here is the data to be recorded in the data table as the deviation amount when the temperature rises by a certain amount.
[0056] Next, the measurement unit 123 (position information acquisition unit 125) determines whether or not deviation amounts have been obtained for each predetermined temperature value for creating the data table (step S505). If deviation amounts have not yet been obtained for each predetermined temperature value, the process continues from step S502. If deviation amounts have been obtained for each predetermined temperature value (S505: YES), the data table is completed, and the process ends.
[0057] When creating a data table for a temperature range lower than the reference temperature, it is sufficient to determine whether the temperature has dropped by a certain amount in step S502 of the data table creation process shown in FIG. 7, and then perform measurements and calculate the amount of angle deviation when the temperature has dropped by a certain amount in steps S503 and S504.
[0058] By the above processing, it is possible to create a data table 85 as shown in Fig. 3. Note that, for the deviation amount for temperatures for which no measurement data is available in the data table 85, data may be interpolated using various data interpolation methods.
[0059] In addition, by performing this process both when the motor temperature detector 2a is used as the detector for detecting the temperature of each joint and when the torque sensor temperature detector 4a is used as the detector for detecting the temperature of each joint, it is possible to create both the data table 85A and the data table 85B as shown in Figure 5.
[0060] In steps S501 and S503, multiple common movement commands may be given to the robot 1 to measure the hand position and calculate the angular position for the multiple movement commands, thereby obtaining multiple angular deviations of each joint axis in response to a certain temperature change in step S504, and the statistics (average value, etc.) of the multiple deviations obtained may be used as the deviations to be written to the data table. This reduces the influence of measurement errors in the data table creation process.
[0061] The mastering data correction unit 124 can correct the mastering data 83 as described above, using the data table created by the procedure described above with reference to FIG.
[0062] As described above, according to this embodiment, the robot control device 20 can prevent the hand position of the robot 1 from changing due to temperature changes in each joint, and can maintain high accuracy of the position of the robot 1. This also improves the quality of the robot system 100 as a production system.
[0063] Furthermore, in this embodiment, the mastering data 83 is corrected using a data table (information representing temperature-dependent deviations in the angles of each joint axis) that is prepared in advance through measurements using the three-dimensional measuring device 90, so that the processing required to maintain high positional accuracy of the robot can be performed instantaneously.
[0064] In the above embodiment, an example of operation for the mastering data correction process was described in which a data table was used as information representing the temperature-dependent deviation of the angle of each joint axis, but by using information in the form of a function or graph representing the temperature-dependent fluctuation of the angle of each joint axis, it is possible to achieve even more detailed correction of the mastering data in response to temperature changes. For example, if the information representing the temperature-dependent deviation of the angle of each joint axis is stored as information in the form of a function or graph, it is also possible to obtain data representing the temperature-dependent deviation of the angle of each joint axis by measurements such as those shown in Figure 7, and then apply a linear regression model or nonlinear regression model to the obtained data.
[0065] Note that, as an equipment configuration for performing mastering, in addition to the example configuration using the three-dimensional measurement device 90 as shown in this embodiment, a method of performing mastering using a calibration jig for all axes of a robot, or a method of performing mastering for all axes using a camera (vision) (all-axis vision mastering) may also be applied. For example, when all-axis vision mastering is used, the amount of deviation may be obtained by comparing the mastering value obtained by performing all-axis vision mastering at a reference temperature with the mastering value obtained by performing all-axis vision mastering when the temperature has changed by a certain amount.
[0066] Second Embodiment A robot system 100A according to a second embodiment will be described. The equipment configuration of the robot system 100A according to the second embodiment is the same as that of the robot system 100 according to the first embodiment shown in FIG. 1 , so a description of the equipment configuration will be omitted. The robot system 100A according to the second embodiment is configured to maintain high positional accuracy of the robot 1 by correcting temperature-induced deviations of mechanism error parameters included in the mechanism data of the robot 1. The mechanism data (mechanism error parameters) 84 can be considered as parameters that represent the mechanical characteristics of each joint axis of the robot 1.
[0067] DH parameters for each motion axis can be used as mechanism data. DH parameters are parameters in the DH (Denavit-Hartenberg) method used in the relational equation that determines the relationship between the angular position of each motion axis of the robot and the tip position of the robot. In the DH method, a coordinate system is set for each joint axis, and the position and posture of the robot are expressed based on the relationship between the coordinate systems of adjacent joint axes. In the DH method, for example, parameters θ, d, a, α, and β are used. The meaning of each parameter is as follows: θ: x i-1 x axis i Rotation angle to the axis (z i-1 axis) d: From the origin of the i-1 coordinate system, z i-1 axis and x i Distance to the intersection with the axis (link length) a:z i-1 axis and x i Distance from the intersection with the axis to the origin of the i-th coordinate system (distance between joint axes) α: z i-1 axis to z i Rotation angle to the axis (x i axis) β: z i-1 axis to z i Rotation angle to the axis (y i axis)
[0068] Each DH parameter is expressed in a format including a design value (or theoretical value) and an error (e.g., d i The mechanism error parameters can be expressed as the DH parameters (θ i , d i , a i , α i , β i These factors can include errors in the torque generated in the three-dimensional direction of each drive axis, spring constants (elements that represent the deflection of the arm due to gravity or external forces), and angular transmission errors that model the relationship between the encoder output of each axis and the amount of rotation, which can change the position and posture of the tip of the robot.
[0069] FIG. 8 shows a functional block diagram of a robot system 100A according to the second embodiment. In this functional block diagram, functional elements that are the same as or similar to those in the first embodiment are denoted by the same reference numerals, and their description will be simplified or omitted. As shown in FIG. 8 , a robot control device 20A according to this embodiment includes a mechanism error parameter correction unit 127. In this embodiment, the measurement unit 123 has a function of creating a data table 86 that represents the temperature-dependent deviation amount of the mechanism error parameter for each joint axis and storing it in the storage unit 22.
[0070] The mechanical error parameter correcting unit 127 has a function of correcting the parameters indicating the mechanical characteristics of each joint axis in accordance with temperature changes, based on information indicating temperature-dependent deviations of the parameters. In this embodiment, the mechanical error parameter correcting unit 127 can correct the mechanical error parameters in accordance with temperature changes, based on the data table 86.
[0071] FIG. 9 shows an example of the configuration of the data table 86. Here, an example of a data table for DH parameters (θ, d, a, α, β) is shown. In FIG. 9, the temperature-dependent deviations of the DH parameters are indicated by symbols DH_Δp1 to DH_Δp5. Note that, to avoid complexity, FIG. 9 shows numerical values for only some joint axes. As shown in FIG. 9, the data table 86 indicates the deviations of the DH parameters for each joint axis when the temperature of each joint axis is increased by 5°C, i.e., 15°C, 20°C, 25°C, 30°C, and so on, with 10°C as the reference temperature and the DH parameter value at 10°C as the reference.
[0072] Although FIG. 9 shows an example of creating a data table using five DH parameters, it is also possible to create a data table relating only to the link length d, and correct deviations due to temperature changes only for the link length d.
[0073] The mechanism error parameter correcting unit 127 can refer to such a data table 86 and correct the mechanism error parameters in accordance with the temperature change of each joint monitored by the temperature monitoring unit 122 .
[0074] 10 is a flowchart showing the mechanism error parameter correction process executed under the control of the processor 21 of the robot control device 20A. When this process starts, the temperature monitoring unit 122 monitors the temperature of each joint (step S201).
[0075] The temperature monitoring unit 122 then determines whether or not a temperature change has occurred in each joint (step S202). Here, the determination of whether or not a temperature change has occurred may be made using the same determination rules as in step S102 in FIG. 4.
[0076] If it is determined that there is no temperature change (S202: NO), the mechanism error parameters are not corrected, and the motion control of the robot 1 is executed (step S206).
[0077] If it is determined that there is a temperature change in any of the joints (S202: YES), the mechanism error parameter correction unit 127 refers to the data table 86 (step S203) and obtains the deviation amount of the mechanism error parameter of each joint axis according to the temperature change (step S204).
[0078] The mechanism error parameter corrector 127 then corrects the mechanism error parameters according to the deviations of the mechanism error parameters for each joint axis (step S205). This corrects the DH parameters (mechanism data). The operation controller 121 then controls the operation of the robot 1 in accordance with the corrected DH parameters (mechanism data) (step S206). This process prevents temperature-dependent fluctuations in the hand position of the robot 1, enabling high-precision control of the robot.
[0079] Note that the series of processes from determining the temperature change in step S202 to correcting the mechanism error parameters in step S205 is executed for each joint axis, and therefore even in a situation where the temperature change conditions differ for each joint, the mechanism error parameters of each joint axis are appropriately corrected in accordance with the temperature change for each joint.
[0080] The mechanism error parameter correction process may be executed repeatedly at regular intervals during the actual operation of the robot 1. In this case, the mechanism error parameters can be corrected as needed in response to temperature changes during the operation of the robot 1, making it possible to operate the robot 1 with high accuracy.
[0081] Alternatively, the mechanism error parameter correction process may be executed before the robot 1 is caused to perform a predetermined task. Alternatively, the mechanism error parameter correction process may be started by a command from the user via the teaching pendant 30. In these cases, the positional accuracy of the robot 1 can also be maintained at a high level.
[0082] In this embodiment as well, a data table created by monitoring the detected values of the motor temperature detector 2a as the temperature of each joint, and a data table created by monitoring the detected values of the torque sensor temperature detector 4a as the temperature of each joint may be prepared, and the mechanism error parameters may be corrected by using these two types of data tables in combination. In this case, the method of using two types of data tables in combination may be the method (a1) or (a2) described above in the first embodiment.
[0083] Also in this embodiment, the temperature at three or more locations for each joint may be monitored, and the mechanical error parameters may be corrected using information (e.g., three or more data tables) that represents the deviation of each joint axis in response to temperature changes at these three or more locations. For example, the temperature at three or more of the elements (motor, reducer, encoder, torque sensor, arm) arranged corresponding to each joint may be monitored, and the mechanical error parameters may be corrected using information that represents the deviation of each joint axis in response to temperature changes at these three or more elements. In this case, the above methods (a1) and (a2) can also be adopted.
[0084] Next, a process will be described in which the position of the robot 1 is measured by the measurement unit 123 and the data table 86 is created based on the measurement results. The equipment configuration when measuring the position of the robot 1 is the same as that shown in FIG.
[0085] 11 is a flowchart showing the data table creation process according to the second embodiment. Here, it is assumed that the temperature monitoring unit 122 starts monitoring the temperature of each joint when each joint is initially at a reference temperature.
[0086] The measurement unit 123 (position information acquisition unit 125) issues a predetermined command to the robot 1 at the reference temperature, and measures the hand position of the robot 1 using the three-dimensional measurement device 90 (see FIG. 6 ). The measurement unit 123 (position information acquisition unit 125) performs such measurements for multiple commands, and collects data on the difference between the commanded position for the robot 1 and the measured hand position of the robot 1 (step S601).
[0087] The measurement unit 123 (calculation unit 126) performs calculations to identify mechanism error parameters based on the collected data (step S601). If a vector whose elements are the above-mentioned mechanism error parameters is denoted by q, then vector p indicating the three-dimensional position of the robot tip can be expressed as follows using function f that takes into account the error model: p = f(q) Vector Δp indicating the amount of deviation between the specified position and the measurement position of the robot tip can be approximated as follows using the sum of a linear combination of minute fluctuations in each error parameter: JA is the Jacobian: Δp = (∂p / ∂q) Δq = JA Δq
[0088] Since the three-dimensional measurement device 90 obtains measurement results of three-dimensional positions, three equations hold for one posture measurement. By expanding these to multiple measurement postures, a vector Δr and a Jacobian D indicating the corresponding deviation amounts can be obtained, which can be expressed as follows: Δr = D Δq Generally, mechanism error parameters are identified by solving an iterative estimation problem to minimize Δr.
[0089] Next, the temperature monitoring unit 122 determines whether or not a temperature rise of a certain temperature has occurred 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 a temperature rise of a certain temperature has occurred (S602: YES), the process proceeds to step S603.
[0090] In step S603, in a state in which the temperature of each joint axis has risen by a certain temperature (e.g., 5°C) from the reference temperature, the measurement unit 123 (position information acquisition unit 125) issues a predetermined position command to the robot 1 and measures the hand position of the robot 1 using the three-dimensional measurement device 90, as in step S601. The measurement unit 123 (position information acquisition unit 125) performs such measurements for multiple commands to collect data on the difference between the commanded position for the robot 1 and the measured hand position of the robot 1 (step S603). Then, the measurement unit 123 (calculation unit 126) performs calculations to identify mechanism error parameters based on the collected data (step S603).
[0091] Next, the measurement unit 123 determines the deviation between the mechanism error parameter at the reference temperature obtained in step S601 and the mechanism error parameter at a constant temperature rise obtained in step S603, and records the deviation in a data table (step S604). As a result, the deviation between the DH parameter at the reference temperature and the DH parameter at a constant temperature rise is recorded in the data table.
[0092] Next, the measurement unit 123 (position information acquisition unit 125) determines whether or not deviation amounts have been obtained for each predetermined temperature value for creating the data table (step S605). If deviation amounts have not been obtained for each predetermined temperature value (S605: NO), the process continues from step S602. If deviation amounts have been obtained for each predetermined temperature value (S605: YES), the data table is completed, and the process ends.
[0093] When creating a data table for a temperature range lower than the reference temperature, it is necessary to determine whether or not the temperature has dropped by a certain amount in step S602 of the data table creation process shown in FIG. 11, and then perform measurements and calculations to identify the mechanism error parameters in a state where the temperature has dropped by a certain amount in steps S603 and S604.
[0094] By the above processing, it is possible to create a data table 86 as shown in Fig. 9. Note that, for the deviation amounts for temperatures for which no measurement data is available in the data table 86, data may be interpolated using various data interpolation methods.
[0095] Furthermore, by performing this process both when a motor temperature detector 2a is used as the detector for detecting the temperature of each joint and when a 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.
[0096] The mechanism error parameter correction unit 127 can correct the mechanism error parameters as described above by using the data table completed in this manner.
[0097] As described above, according to this embodiment, the robot control device 20A can prevent the hand position of the robot 1 from changing due to temperature changes in each joint, and can maintain the positional accuracy of the robot with high precision. This also improves the quality of the robot system 100A as a production system.
[0098] Furthermore, in this embodiment, the mechanism error parameters are corrected using a data table (information representing temperature-dependent deviations of the mechanism error parameters) prepared in advance through measurements using the three-dimensional measuring device 90, so that the processing required to maintain high positional accuracy of the robot can be executed instantaneously.
[0099] In the above embodiment, an example of operation for the mechanical error parameter correction process has been described in which a data table is used as information representing the temperature-dependent deviation of the mechanical error parameter of each joint axis, but by using information in the form of a function or graph representing the temperature-dependent fluctuation of the mechanical error parameter of each joint axis, it is possible to achieve even more detailed correction of the mechanical error parameter in response to temperature changes. For example, when information representing the temperature-dependent deviation of the mechanical error parameter of each joint axis is held as information in the form of a function or graph, it is also possible to obtain data representing the temperature-dependent deviation of the mechanical error parameter of each joint axis by measurements such as those shown in Figure 11, and apply a linear regression model or nonlinear regression model to the obtained data.
[0100] Third Embodiment A robot system 100B according to a third embodiment will be described. The equipment configuration of the robot system 100B according to the third embodiment is the same as that of the robot system 100 according to the first embodiment shown in FIG. 1, and therefore a description of the equipment configuration will be omitted. The robot system 100B according to the third embodiment can correct deviations due to temperature for both the mastering data 83 and the mechanism data (mechanism error parameters) 84, thereby maintaining high positional accuracy of the robot 1.
[0101] 12 shows a functional block diagram of a robot system 100B according to this embodiment. In this functional block diagram, functional elements that are the same as or similar to those in the first or second embodiment are denoted by the same reference numerals, and their description will be simplified or omitted. As shown in FIG. 12, a robot control device 20B according to this embodiment includes an operation control unit 121, a temperature monitoring unit 122, a measurement unit 123, a mastering data correction unit 124, and a mechanism error parameter correction unit 127.
[0102] In this embodiment, the measurement unit 123 can create, by measurement, both a data table 85 that represents the temperature-dependent deviation amount of the mastering data and a data table 86 that represents the temperature-dependent deviation amount of the mechanism error parameters. The procedures shown in Fig. 7 and Fig. 11 can be used as the procedure for creating the data table that represents the temperature-dependent deviation amount of the mastering data and the procedure for creating the data table that represents the temperature-dependent deviation amount of the mechanism error parameters, respectively.
[0103] In this embodiment, the storage unit 22 stores both a data table 85 that indicates the temperature-dependent deviation amount of the mastering data and a data table 86 that indicates the temperature-dependent deviation amount of the mechanism error parameters.
[0104] In this embodiment, more accurate mastering data can be obtained by applying the mechanism data (mechanism error parameters) identified by the measurement (S601 or S603) as described with reference to FIG. 11 to the calculation of the inverse kinematics of each axis angle from the hand position when creating the mastering data 83. More specifically, first, a data table indicating the temperature-dependent deviation of the mechanism error parameters is obtained by the data table creation process shown in FIG. 11. Next, in the calculation of each axis angle from the hand position when creating the mastering data 83, the mechanism data (mechanism error parameters) corrected based on the data table is applied, taking into account the temperature of each axis at that time. This makes it possible to obtain more accurate mastering data.
[0105] Furthermore, in this embodiment, when creating a data table 85 (angle deviation of each axis) by the data table creation process shown in FIG. 7 , a more accurate data table 85 can be created by applying the mechanism data (mechanism error parameters) identified by measurements such as those described with reference to FIG. 11 when calculating the angular position of each axis by inverse kinematics. More specifically, a data table 86 indicating the temperature-dependent deviation of the mechanism error parameters is acquired by the data table creation process shown in FIG. 11 . Next, when executing the data table creation process of FIG. 7 , when calculating the angular position of each axis by inverse kinematics (S501, S503), the temperature of each axis at that time is taken into consideration and the mechanism data (mechanism error parameters) corrected according to the temperature are applied. This makes it possible to obtain a more accurate data table (deviation of each joint).
[0106] 13 is a flowchart showing the parameter correction process in this embodiment. This process is executed under the control of the processor 21. When this process starts, the temperature monitoring unit 122 monitors the temperature of each joint (step S301).
[0107] The temperature monitoring unit 122 then determines whether or not a temperature change has occurred in each joint (step S302). Here, the temperature monitoring unit 122 may determine whether or not a temperature change has occurred using the same determination rules as in step S102 in FIG. 4.
[0108] If it is determined that there is no temperature change (S302: NO), the mastering data and the mechanism error parameters are not corrected, and the operation control of the robot 1 is executed (step S308).
[0109] If it is determined that there is a temperature change for any of the joints (S302: YES), the mastering data correction unit 124 and the mechanism error parameter correction unit 127 refer to the data tables 85 and 86, respectively (step S303), and obtain the amount of deviation in the angle of each joint axis due to the temperature change, and the amount of deviation in the mechanism error parameter of each joint axis due to the temperature change (step S304).
[0110] The mastering data correction unit 124 then converts the acquired deviation amounts of the joint angles into encoder pulse values to obtain correction values (step S305).The mastering data correction unit 124 corrects the mastering data using the correction values (step S306).
[0111] The mechanism error parameter corrector 127 corrects the mechanism error parameters using the deviations of the mechanism error parameters obtained from the data table 86 (step S307). The operation controller 121 then controls the operation of the robot 1 in accordance with the corrected mastering data and the mechanism error parameters (step S308). This process prevents fluctuations in the hand position of the robot 1 that are dependent on temperature changes, making it possible to control the robot with high precision.
[0112] In this embodiment, too, the mastering data may be corrected by monitoring the temperature at two or more locations for each joint and using information (for example, three or more data tables) that indicates the deviation of each joint axis in response to the temperature changes at these two or more locations. In this case, the above methods (a1) and (a2) can be adopted.
[0113] Also in this embodiment, the temperature at two or more locations for each joint may be monitored for correction of the mechanical error parameters, and information (for example, three or more data tables) that indicates the deviation of each joint axis in response to the temperature changes at these two or more locations may be used in combination to correct the mechanical error parameters. In this case as well, the above methods (a1) and (a2) may be adopted.
[0114] When the mastering data correcting unit 124 and the mechanical error parameter correcting unit 127 correct the mastering data and the mechanical error parameters, a method may be adopted in which, depending on the position of the joint axis, a portion corresponding to the correction of the mastering data and a portion corresponding to the correction of the mechanical error parameters are separated, as exemplified below. For example, the second joint axis is handled by correcting the mechanical error parameters, and the joint axes of the wrist are handled by correcting the mastering data.
[0115] In the configuration of this embodiment, the robot control device 20B may operate to correct either the mastering data or the mechanism error parameters.
[0116] As described above, according to this embodiment, the robot control device 20B can prevent the hand position of the robot 1 from changing due to temperature changes in each joint, and can maintain the positional accuracy of the robot with high precision. This also improves the quality of the robot system 100B as a production system.
[0117] Furthermore, in this embodiment, at least one of the mastering data and the mechanism error parameters is corrected using a data table (information representing the temperature-dependent deviation of the angle of each joint axis and information representing the temperature-dependent deviation of the mechanism error parameters) prepared in advance through measurements using the three-dimensional measuring device 90, so that the processing required to maintain high positional accuracy of the robot can be executed instantaneously.
[0118] In the above embodiment, an example of operation for parameter correction processing has been described in which a data table is used as information representing temperature-dependent deviations of parameters indicating the mechanical characteristics of each joint axis. However, by using information in the form of a function or graph representing temperature-dependent fluctuations in parameters indicating the mechanical characteristics of each joint axis, it is possible to achieve even more detailed parameter correction in response to temperature changes.
[0119] The functional layouts in the functional block diagrams (FIGS. 2, 8, and 12) shown in the above-described embodiments are merely examples, and various modifications of the functional layouts are possible. For example, some of the functions arranged in the robot control device may be arranged in the teaching pendant.
[0120] In the above-described embodiment, an example was shown in which a motor temperature detector or a torque sensor temperature detector was used as a sensor for detecting the temperature of one joint, but a sensor for detecting the temperature of another location within the joint or a sensor for detecting the temperature of another element involved in driving the joint axis may also be used as a sensor for detecting the temperature of one joint.
[0121] In the above-described embodiments, a temperature detector is disposed in each of the multiple joints constituting the robot 1, and the temperature of each joint can be monitored, but if the temperature of one or more joints of the robot 1 can be monitored, it is possible to prevent the hand position of the robot 1 from changing and to maintain the positional accuracy of the robot with high precision. For example, the temperature of a specific joint of the robot can be monitored, and temperature-induced deviations in parameters indicating mechanical characteristics of one or more joints of the robot can be corrected based on the temperature of the joint.
[0122] In the configurations of the above-described embodiments, once the data tables (85, 86) are prepared and stored in the storage unit 22, the configuration for creating the data tables (85, 86) (the measurement unit 123 and the three-dimensional measurement device 90) does not need to function. Therefore, when the robot system (100, 100A, 100B) has the data tables (85, 86) (i.e., when the robot system is in actual operation), the measurement unit 123 and the three-dimensional measurement device 90 may be omitted.
[0123] The above-described embodiments can be applied to various types of robots having one or more joint axes.
[0124] The functional blocks in the functional block diagrams of the robot control device shown in each of the above-mentioned embodiments may be realized by one or more processors of the robot control device executing various software stored in a storage device, or may be realized by a configuration mainly based on hardware such as an ASIC (Application Specific Integrated Circuit).
[0125] The programs for executing various processes such as the mastering data correction process, mechanism error parameter correction process, parameter correction process, and data table creation process in the above-described embodiments can be recorded on various computer-readable recording media (for example, semiconductor memories such as ROM, EEPROM, and flash memory, magnetic recording media, and optical disks such as CD-ROM and DVD-ROM).
[0126] As described above, according to each embodiment, it is possible to prevent the position of the robot's hand from changing due to temperature changes in each joint, and to maintain the positional accuracy of the robot with high precision.
[0127] Although the present disclosure has been described in detail, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values or mathematical expressions are used in the description of the above-described embodiments.
[0128] The following supplementary notes are further provided regarding the above-described embodiment and modified examples: (Supplementary Note 1) A control device (20, 20A, 20B) for a robot, comprising: a temperature monitoring unit (122) that monitors the temperature of one or more joints of the robot, a parameter storage unit (22) that stores parameters indicating mechanical characteristics of joint axes of the one or more joints, an information storage unit (22) that stores information indicating deviations of the parameters that depend on temperature, and a correction unit (124, 127) that corrects the parameters in accordance with temperature changes of the one or more joints monitored by the temperature monitoring unit, based on the information indicating the deviations. (Supplementary Note 2) The control device (20) according to Supplementary Note 1, wherein the parameter storage unit stores mastering data as the parameters, the information storage unit stores first information representing a temperature-dependent deviation for an angle of a joint axis of each of the one or more joints as the information representing the deviation, and the correction unit (124) corrects the mastering data in accordance with a temperature change of each of the one or more joints monitored by the temperature monitoring unit based on the first information. (Supplementary Note 3) The control device (20A) according to Supplementary Note 1, wherein the parameter storage unit stores mechanical error parameters as the parameters, and the information storage unit stores second information representing a temperature-dependent deviation for the mechanical error parameters of each joint axis of each of the one or more joints as the information representing the deviation, and the correction unit (127) corrects the mechanical error parameters in accordance with a temperature change of each of the one or more joints monitored by the temperature monitoring unit based on the second information.(Supplementary Note 4) The control device (20B) according to Supplementary Note 1, wherein the parameter storage unit stores mastering data and mechanical error parameters as the parameters, the information storage unit stores, as the information representing the deviation, first information representing a deviation depending on temperature for an angle of a joint axis of each of the one or more joints, and second information representing a deviation depending on temperature for the mechanical error parameters of each of the joint axes of the one or more joints, and the correction unit (124, 127) corrects at least one of the mastering data and the mechanical error parameters in accordance with a temperature change of each of the one or more joints monitored by the temperature monitoring unit based on the first information and the second information. (Supplementary Note 5) The control device (20, 20A, 20B) according to any one of Supplementary Notes 1 to 4, wherein the temperature monitoring unit (122) monitors a temperature of any of a motor, a reducer, an encoder, a torque sensor, and an arm arranged for each of the joint axes of the one or more joints. (Supplementary Note 6) The control device (20, 20A, 20B) according to Supplementary Note 1, wherein the temperature monitoring unit (122) monitors temperatures at two or more locations in each of the one or more joints, the information storage unit stores two or more pieces of information representing deviations for the parameter that depend on the temperatures at each of the two or more locations, and the correction unit (124, 127) corrects the parameter in accordance with temperature changes at each of the two or more locations in each of the one or more joints whose temperatures are monitored, based on the two or more pieces of information. (Supplementary Note 7) The control device (20, 20A, 20B) according to Supplementary Note 6, wherein the correction unit (124, 127) corrects the parameter based on a larger deviation of the parameter obtained from the two or more pieces of information in accordance with temperature changes at each of the two or more locations monitored by the temperature monitoring unit at a certain point in time during operation of the robot. (Supplementary Note 8) The control device (20, 20A, 20B) according to Supplementary Note 6 or 7, wherein the temperatures at the two or more locations in each of the one or more joints include temperatures at two or more of a motor, a reducer, an encoder, a torque sensor, and an arm arranged for each joint axis of the one or more joints.(Supplementary Note 9) The control device (20, 20A, 20B) according to any one of Supplementary Notes 1 to 8, wherein the correction unit (124, 127) repeatedly corrects the parameters during operation of the robot. (Supplementary Note 10) A parameter correction method executed in a robot control device (20, 20A, 20B), comprising: monitoring a temperature of one or more joints of the robot; acquiring information representing a temperature-dependent deviation of a parameter indicating a mechanical characteristic of a joint axis of the one or more joints; and correcting the parameter in accordance with a temperature change of the monitored one or more joints based on the information representing the deviation. (Supplementary Note 11) A program to be executed by at least one computer, comprising: steps of monitoring a temperature of one or more joints of the robot; acquiring information representing a temperature-dependent deviation of a parameter indicating a mechanical characteristic of a joint axis of the one or more joints; and correcting the parameter in accordance with a temperature change of the monitored one or more joints based on the information representing the deviation.
[0129] REFERENCE SIGNS LIST 1 Robot 2 Motor 3 Encoder 2a Motor temperature detector 4 Torque sensor 4a Torque sensor temperature detector 5 Welding gun 11 Upper arm 12 Lower arm 13 Swivel base 14 Base 15 Wrist 16 Flange 20 Robot control device 21 Processor 22 Memory unit 30 Teaching operation panel 31 Display unit 81 Robot program 82 Measurement program 83 Mastering data 84 Mechanism data (mechanism error parameters) 85, 85A, 85B, 86 Data table 90 Three-dimensional measuring device 100, 100A, 100B Robot system 121 Operation control unit 122 Temperature monitoring unit 123 Measurement unit 124 Mastering data correction unit 125 Position information acquisition unit 126 Calculation unit 127 Mechanism error parameter correction unit
Claims
1. A robot control device, A temperature monitoring unit that monitors the temperature of one or more joints of the robot, A parameter storage unit that stores parameters indicating the mechanical properties of the joint axes of the one or more joints, An information storage unit that stores information representing temperature-dependent deviations for the aforementioned parameters, A control device comprising: a correction unit that corrects the parameters in accordance with the temperature change of one or more joints monitored by the temperature monitoring unit, based on the information representing the deviation.
2. The parameter storage unit stores mastering data as the parameters, The information storage unit stores, as information representing the deviation, first information representing the temperature-dependent deviation for the angle of each joint axis of the one or more joints, The control device according to claim 1, wherein the correction unit corrects the mastering data based on the first information in accordance with the temperature change of each of the one or more joints monitored by the temperature monitoring unit.
3. The parameter storage unit stores the mechanism error parameter as the parameter, The information storage unit stores, as information representing the deviation, second information representing the temperature-dependent deviation of the mechanism error parameter for each joint axis of the one or more joints, The control device according to claim 1, wherein the correction unit corrects the mechanism error parameter in accordance with the temperature change of each of the one or more joints monitored by the temperature monitoring unit, based on the second information.
4. The parameter storage unit stores mastering data and mechanism error parameters as parameters. The information storage unit stores, as information representing the deviation, first information representing the temperature-dependent deviation of the angle of each joint axis of the one or more joints, and second information representing the temperature-dependent deviation of the mechanism error parameter of each joint axis of the one or more joints. The control device according to claim 1, wherein the correction unit corrects at least one of the mastering data and the mechanism error parameter in accordance with the temperature change of each of the one or more joints monitored by the temperature monitoring unit, based on the first information and the second information.
5. The control device according to any one of claims 1 to 4, wherein the temperature monitoring unit monitors the temperature of any of the motors, reducers, encoders, torque sensors, or arms arranged for each joint axis of the one or more joints.
6. The temperature monitoring unit monitors the temperature at two or more locations in each of the one or more joints. The information storage unit stores two or more pieces of information representing temperature-dependent deviations for each of the two or more locations for the parameter. The control device according to claim 1, wherein the correction unit corrects the parameters based on the two or more pieces of information, according to the temperature changes at each of the two or more locations in each of the one or more joints whose temperature is monitored.
7. The control device according to claim 6, wherein the correction unit corrects the parameter based on the larger of the two or more parameter deviations obtained from the two or more pieces of information in response to the temperature changes at each of the two or more locations monitored by the temperature monitoring unit at a certain point in time during the operation of the robot.
8. The control device according to claim 6, wherein the two or more temperatures at each of the one or more joints include the temperatures of two or more of the motors, reducers, encoders, torque sensors, and arms arranged with respect to each joint axis of the one or more joints.
9. The control device according to any one of claims 1 to 4, wherein the correction unit repeatedly performs the correction of the parameters while the robot is in operation.
10. A method performed in a robot control device, The temperature of one or more joints of the robot is monitored. Information representing temperature-dependent deviations is obtained for parameters indicating the mechanical properties of the joint axes of the one or more joints. A parameter correction method that corrects the parameters in accordance with the temperature change of one or more joints being monitored, based on the information representing the aforementioned deviation.
11. A program intended to run on at least one computer, A step of monitoring the temperature of one or more joints of the robot, A step of obtaining information representing temperature-dependent deviations for parameters that indicate the mechanical properties of the joint axes of the one or more joints, A program comprising the step of correcting the parameters in accordance with the temperature change of one or more joints being monitored, based on the information representing the deviation.