Robotic system

By using the target markers and measuring devices in the robot system, combined with the parameter correction components, the problem of large errors in the calculation of the reference point positions of multi-joint robots was solved, achieving efficient improvement in positioning accuracy.

CN116194252BActive Publication Date: 2025-09-12FANUC LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202180060434.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-07-29
Filing Date
2021-07-27
Publication Date
2025-09-12
Estimated Expiration
2041-07-27

AI Technical Summary

Technical Problem

Due to the complex error factors of multi-joint robots, the calculation error of the reference point position is large. The existing technology requires a large number of error parameters and is difficult to correct independently. In addition, the three-dimensional measurement device has problems of shadow occlusion and ranging error.

Method used

A robot system is adopted, including a robot, a measuring device, a target marker and a robot control device. Through parameter storage, instruction value generation, position information acquisition and parameter correction components, the target marker and the measuring device are used to calculate the reference point position and correct the error parameters.

Benefits of technology

The robot's reference point position can be calculated simply and accurately, which improves positioning accuracy, reduces the number of error parameters required, and simplifies the calibration process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116194252B_ABST
    Figure CN116194252B_ABST
Patent Text Reader

Abstract

A robot system capable of easily setting error parameters is provided. One embodiment of the present disclosure includes a robot system comprising: a robot; a measuring device mounted on a distal end of the robot; a target marker fixed to a workspace of the robot; and a robot control device that controls the robot, wherein the robot control device includes: a parameter storage unit that stores a plurality of error parameters used to calculate the position of a reference point at the distal end of the robot; a command value generation unit that generates a command value indicating a desired position or desired speed of a drive shaft of the robot, taking into account the error parameters; a position information acquisition unit that acquires position information of the reference point based on the relative position of the target marker relative to the measuring device and the coordinate position of the target marker in a user coordinate system, as measured by the measuring device; and a parameter correction unit that corrects the error parameters based on the command value and the position information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot system. Background Art

[0002] In an articulated robot having a plurality of drive shafts, the position of a reference point at the end of the robot is calculated based on the distance between the drive shafts (the length of the connecting rod) and the angular position of the drive shafts. However, in an actual robot, due to various factors, an error may occur between the position of the reference point calculated based on the angular command value of the drive shaft and the position where the reference point is actually located. Therefore, a study has been conducted to use a plurality of error parameters to compensate for the error between the theoretical position and the actual position of the reference point for the command value to the robot. For this purpose, it has been proposed to provide a three-dimensional measuring device for measuring the actual position of the reference point (for example, see patent document 1).

[0003] Prior art literature

[0004] Patent Literature

[0005] Patent Document 1: Japanese Patent Application Laid-Open No. 2020-40165 Summary of the Invention

[0006] Problems to be solved by the invention

[0007] A multi-joint robot has many error factors. If error parameters are determined for each error factor, a considerable number of error parameters are required. In addition, each error parameter does not work independently, but affects the final positioning error in a mutually related manner. If all such a large number of error parameters are set as unknown variables, the positioning error must be measured for a large number of robot postures before the value of the error parameter can be calculated. If a three-dimensional measuring device is used, depending on the posture of the robot, there is a concern that the reference point at the end will be in the shadow of other components of the robot and the position cannot be measured, and that the distance between the three-dimensional measuring device and the reference point will become larger and the measurement error will become larger. If multiple three-dimensional measuring devices are used, it is necessary to consider the differences in the coordinate systems of each three-dimensional measuring device and the influence of the measurement error. Therefore, a robot system is desired that can easily set error parameters that can accurately calculate the position of the robot's reference point.

[0008] Solutions for solving problems

[0009] A robot system according to one embodiment of the present disclosure comprises: a robot having a plurality of drive axes; a measuring device mounted on an end of the robot; a target mark fixed to a working space of the robot; and a robot control device that controls the robot, wherein the robot control device comprises: a parameter storage unit that stores a plurality of error parameters for calculating the position of a reference point at the end of the robot; an instruction value generation unit that generates an instruction value for instructing the robot on the position or speed of each of the drive axes, taking into account the error parameters; a position information acquisition unit that acquires position information of the reference point based on the relative position of the target mark relative to the measuring device measured by the measuring device and the coordinate position of the target mark in a user coordinate system for specifying the movement of the robot; and a parameter correction unit that corrects the error parameters based on the instruction value and the position information.

[0010] Effects of the Invention

[0011] According to the robot system according to the present disclosure, it is possible to easily set an error parameter capable of accurately calculating the position of the reference point of the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Figure 1 1 is a diagram showing a configuration of a robot system according to an embodiment of the present disclosure.

[0013] Figure 2 It shows Figure 1 Flowchart of the process of correction of error parameters in a robotic system. DETAILED DESCRIPTION

[0014] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. Figure 1 1 is a diagram showing a configuration of a robot system 1 according to an embodiment of the present disclosure.

[0015] The robot system 1 includes a robot 10 , a measuring device 20 , a target marker 30 , and a robot control device 40 .

[0016] The robot 10 has multiple drive axes. Typically, it is a vertical articulated robot, but it may also be a SCARA robot, a parallel robot, a Cartesian robot, or the like. A work head 11 corresponding to the required operation is mounted at the end of the robot 10, including a machining head for machining a workpiece and a holding head for holding the workpiece.

[0017] The measuring device 20 is mounted on the distal end of the robot 10. The measuring device 20 may be fixed to the working head 11 mounted on the distal end of the robot 10 or to a link to which the distal end of the working head 11 is mounted.

[0018] Measuring device 20 may include, for example, a three-dimensional laser scanner that uses laser light to measure the three-dimensional shape of an object's surface, a three-dimensional vision sensor that calculates the distance to an object for each planar position based on the parallax between images captured by two cameras, or a two-dimensional camera that calculates the three-dimensional relative position of an object with respect to measuring device 20 based on a pre-stored target image and its size. Measuring device 20 may also be used as a sensor for confirming a workpiece during operation of robot system 1.

[0019] The target marker 30 is fixed to the workspace of the robot 10. The coordinate position of the target marker 30 in the user coordinate system used to specify the motion of the robot 10 is predetermined. The robot system 1 measures the position and orientation of the reference point of the robot's end point based on the known coordinate position of the target marker 30 in the user coordinate system used to specify the motion of the robot 10 and the relative position between the measuring device 20 and the target marker 30.

[0020] Preferably, the robot system 1 includes a plurality of target markers 30 dispersedly disposed in the work space so that the relative position of the robot 10 to the target markers 30 can be measured by the measuring device 20 in various postures.

[0021] The target mark 30 preferably has a shape such as a sphere or a cube that is symmetrical enough to allow the measurement device 20 to determine the center position of the target mark 30 from any direction. Furthermore, it is more preferable that the target mark 30 have a shape or pattern that allows the measurement device 20 to identify the orientation of the target mark 30. "Shape or pattern" encompasses both shapes and patterns. Furthermore, the approximate orientation of the target mark 30 can be determined based on the posture of the robot 10. Therefore, the shape or pattern of the target mark 30 only needs to have characteristic points indicating its orientation at fixed angular intervals.

[0022] The robot control device 40 controls the robot 10. The robot control device 40 can be configured to include a parameter storage unit 41, a command value generation unit 42, a position information acquisition unit 43, a sensitivity calculation unit 44, an object selection unit 45, a parameter correction unit 46, an evaluation unit 47, a weight determination unit 48, and a program generation unit 49.

[0023] The robot control device 40 can be realized by importing an appropriate control program into a computer device having a CPU, memory, etc. The above-mentioned components are obtained by classifying the functions of the robot control device 40, and their functions and program structures do not necessarily need to be clearly distinguished.

[0024] The parameter storage unit 41 stores a plurality of error parameters used to calculate the accurate position of a reference point of the end point of the robot 10 based on command values ​​indicating the desired position or desired speed of each drive axis of the robot 10. The error parameters are set to compensate for the difference between the theoretical position of the reference point (theoretical position), calculated based on the angles of each drive axis of the robot 10 and the distances between the drive axes, and the actual position of the reference point (actual position), resulting from mechanical errors of the robot 10.

[0025] The command value generation unit 42 generates command values ​​for instructing the robot 10 on the positions or speeds to which each drive axis should be assigned, taking into account the error parameters stored in the parameter storage unit 41, so that the robot operates according to the program. Specifically, the command value generation unit 42 generates command values ​​so that the position calculated using the error parameters (calculated position), that is, the position obtained by applying a correction based on the error parameters to the theoretical position, becomes the position specified in the program.

[0026] The position information acquisition unit 43 acquires position information representing the actual position (actual position) of the reference point of the end point of the robot 10 based on the relative position of the target marker 30 relative to the measurement device 20 and the coordinate position of the target marker 30 in the user coordinate system, as measured by the measurement device 20. Specifically, the position information acquisition unit 43 determines the relationship between the coordinate system of the measurement device 20 and the user coordinate system used to determine the position at which the target marker 30 is fixed, based on the position and orientation of the target marker 30 in the coordinate system of the measurement device 20 as measured by the measurement device 20. The position information acquisition unit 43 then performs coordinate transformation on the coordinate position of the target marker 30 in the coordinate system of the measurement device 20 to calculate the coordinate position of the measurement device 20 in the user coordinate system, thereby calculating the coordinate position of the reference point of the end point of the robot 10 in the user coordinate system. The user coordinate system may also be a reference coordinate system based on the robot's installation location.

[0027] The sensitivity calculation unit 44 calculates a sensitivity value for each error parameter, representing the magnitude (sensitivity) of the change in the calculated position of the reference point (calculated position) relative to the change in the error parameter. The sensitivity value can be an independent evaluation point, a sequence, or a graded value obtained by grouping the sensitivities.

[0028] The target selection unit 45 selects error parameters to be calculated by the parameter correction unit 46 based on the sensitivity values ​​calculated by the sensitivity calculation unit 44. The target selection unit 45 may select a fixed number of error parameters with the highest sensitivity values, or may select error parameters with a sensitivity greater than or equal to a certain value. For example, the number of error parameters to be selected may be increased or decreased based on the amount of position information obtained based on the machining program, etc.

[0029] The target selection unit 45 may also select the error parameters to be calculated based on the weights set for each error parameter and the sensitivity values ​​calculated by the sensitivity calculation unit 44. By weighting the sensitivity values ​​calculated by the sensitivity calculation unit 44, not only can the error parameters that have a significant impact on the state when the position information is acquired be given higher priority for correction, but also error parameters that are predicted to have a significant impact on the structure of the robot 10 can be given higher priority for correction, thereby enabling more rapid acquisition of appropriate error parameters.

[0030] The parameter correction unit 46 corrects the error parameters based on the command value for the robot 10 output by the command value generation unit 42 and the position information acquired by the position information acquisition unit 43. At this time, the parameter correction unit 46 corrects only the error parameters targeted for correction, ensuring that the error parameters other than those targeted for correction selected by the target selection unit 45 do not affect the position of the reference point of the robot 10.

[0031] The actual robot 10 has a very complex structure, so in order to reflect all error factors, an extremely large number of error parameters are required. In addition, various factors such as the structure of the work head 11 and the movement mode of the robot 10 will affect the resulting positioning error. Therefore, the value of the appropriate error parameter may vary depending on the processing method, the structure of the program used for processing, etc. Therefore, in order to calculate the accurate values ​​of all error parameters, it is necessary to make the robot 10 perform positioning operations in various movement modes and obtain a large amount of position information. For example, if the robot 10 is a six-axis multi-jointed robot, the number of required combinations of command values ​​and position information exceeds 100.

[0032] Therefore, the parameter correction unit 46 sets only a portion of the error parameters selected by the target selection unit 45 as unknown variables to be calculated, and sets the remaining error parameters to a constant value (fixed to the current value). By analyzing the relationship between the command value and the actual position of the reference point (actual position), the parameter correction unit 46 corrects the values ​​of the error parameters selected by the target selection unit 45, so that the actual position of the reference point can be more accurately calculated based on the command value. In this way, a set of error parameters that can more accurately determine the position of the reference point of the robot 10 can be obtained using a relatively small amount of position information, although not necessarily with high precision.

[0033] In the robot control device 40, the sensitivity calculation unit 44, the target selection unit 45, and the parameter correction unit 46 may perform calculations for each piece of position information. Specifically, each time the position information acquisition unit 43 acquires position information, the sensitivity calculation unit 44 may recalculate the sensitivity value, the target selection unit 45 may reselect the calibration target, and the parameter correction unit 46 may correct the error parameter. This allows the error parameter to be corrected in stages, ensuring that the error parameter is optimal.

[0034] The evaluation unit 47 determines whether the deviation between the calculated position of the reference point calculated using the error parameter and the actual position of the reference point indicated by the position information is within a specified range. If the evaluation unit 47 determines that the deviation between the calculated position and the actual position of the reference point of the robot 10 is sufficiently small, the error parameter correction process is stopped, thereby shortening the time required to obtain a valid set of error parameters. For example, error parameter correction can be restarted upon the occurrence of a specified event, such as stopping the operation of the robot system 1, changing the machining program, or an emergency stop.

[0035] The weight determination unit 48 determines the weight based on the content of the maintenance work performed on the robot 10. Therefore, the weight determination unit 48 can be configured to receive input of the content of the maintenance work performed by the operator. For example, in the case of replacing a motor, the error factors related to the replaced motor may change, and therefore the associated error parameters may need to be significantly corrected. In this way, by increasing the weight of the sensitivity value of the error parameter that is likely to need correction due to the maintenance work, the positioning error caused by the maintenance work can be quickly compensated. Regarding the weight of the sensitivity value of the error parameter, it can also be set so that each measurement data has the weight, and by switching the weight before and after the maintenance work, the measurement data before and after the maintenance work can be used to calculate the mechanism error parameters of the robot after the maintenance work.

[0036] The program generation unit 49 generates an action program that causes the robot 10 to assume multiple postures so that the measurement device 20 can measure the target marker 30 from multiple directions. Specifically, based on the provided coordinate position of the target marker 30, an action program is sequentially generated to change the posture of the robot 10 so that the measurement device 20 faces the target marker 30 from multiple predetermined directions at a fixed distance. This action program can be generated so that the calculated position obtained by taking into account the error parameters stored in the parameter storage unit 41 at that time becomes the coordinate position determined based on the coordinate position of the target marker 30, or it can be generated so that the theoretical position without taking into account the error parameters becomes the coordinate position determined based on the coordinate position of the target marker 30.

[0037] Figure 22 shows the error parameter calibration process performed by the robot controller 40. Error parameter calibration is performed using the following method, which includes an operation program generation step (step S1), a positioning step (step S2), a sensitivity value calculation step (step S3), a calibration target selection step (step S4), a position information acquisition step (step S5), a parameter calibration step (step S6), and an evaluation step (step S7).

[0038] In the operating program generation process of step S1 , the program generation unit 49 generates an operating program based on the coordinate position of the target marker 30 .

[0039] In the positioning process of step S2 , the command value generating unit 42 generates command values ​​for positioning the robot 10 in accordance with the calibration program generated by the program generating unit 49 .

[0040] In the sensitivity value calculation process of step S3 , the sensitivity calculation unit 44 calculates sensitivity values ​​for all error parameters based on the command value and the position information.

[0041] In the calibration target selection process of step S4 , the target selection unit 45 selects the error parameter with the highest sensitivity value as the calibration target.

[0042] In the position information acquisition process of step S5 , the position information acquisition unit 43 acquires the position information of the reference point of the robot 10 , that is, measures the three-dimensional position of the reference point.

[0043] In the parameter correction process of step S6 , the parameter correction unit 46 corrects the error parameter selected in the correction target selection process, that is, modifies the value of the error parameter stored in the parameter storage unit 41 so that the calculated position approaches the actual position.

[0044] In the evaluation process of step S7, the evaluation unit 47 confirms whether the deviation between the calculated position of the robot 10's reference point, calculated based on the command value generated by the command value generation unit 42 using the error parameters currently stored in the parameter storage unit 41, and the actual position of the reference point represented by the position information acquired by the position information acquisition unit 43 is within a specified range. If the deviation between the calculated position and the actual position is within the specified range, it can be considered that the error parameters stored in the parameter storage unit 41 are appropriate, and thus the present process ends. If the deviation between the calculated position and the actual position is not within the specified range, the process returns to step S2, the robot 10 is positioned according to the next command of the calibration program, and the subsequent process is performed again. In this way, by repeating the process of steps S2 to S6, new information is acquired and the error parameters are repeatedly corrected, thereby correcting the error parameters to more appropriate values, thereby gradually improving the positioning accuracy of the robot.

[0045] As described above, the robot system 1 uses the relative position of the measuring device 20 installed at the end of the robot 10 and the target mark 30 whose position is determined in the user coordinate system to correct the error parameters, so it can be a relatively simple structure and can easily set the error parameters that can accurately calculate the position of the reference point of the robot 10.

[0046] Since the program generation unit 49 of the robot system 1 generates an operation program for determining the posture of the robot 10 most suitable for error parameter correction, the robot system 1 can efficiently correct the error parameter.

[0047] The robot control device 40 only targets the small number of error parameters selected by the target selection unit 45 for correction, thereby being able to obtain relatively accurate error parameters using a relatively small amount of position information. In other words, the robot system 1 can relatively easily improve the positioning accuracy of the robot 10.

[0048] While the embodiments of the robot system of the present disclosure have been described above, the scope of the present disclosure is not limited to the aforementioned embodiments. Furthermore, the effects described in the aforementioned embodiments are merely examples of the most preferred effects produced by the robot system of the present disclosure, and the effects obtained by the robot system of the present disclosure are not limited to those described in the aforementioned embodiments.

[0049] The robot system according to the present disclosure may correct the error parameter based on a plurality of pieces of position information, rather than correcting the error parameter each time position information is acquired.

[0050] The robot system of the present disclosure may select error parameters as calibration targets from pre-set candidates without using sensitivity values. Furthermore, the robot system of the present disclosure may analyze all error parameters as unknown variables without limiting the calibration targets.

[0051] The robot system according to the present disclosure may have an operation program for correcting the error parameters provided by the user, or may correct the error parameters until the operation program is completed without performing the evaluation by the evaluation unit.

[0052] Description of Reference Numerals

[0053] 1: Robot system; 10: Robot; 11: Work head; 20: Measuring device; 30: Target marker; 40: Robot control device; 41: Parameter storage unit; 42: Command value generation unit; 43: Position information acquisition unit; 44: Sensitivity calculation unit; 45: Object selection unit; 46: Parameter correction unit; 47: Evaluation unit; 48: Weight determination unit; 49: Program generation unit.

Claims

1. A robotic system comprising: A robot having a plurality of drive axes; a measuring device mounted on the end of the robot; a target marker fixed to the working space of the robot; and a robot control device that controls the robot, in, The robot control device has: a parameter storage unit storing a plurality of error parameters used to calculate the position of a reference point of the end portion of the robot; a command value generating unit for generating a command value for instructing the robot on a position or speed to be set for each of the drive axes, taking into account the error parameter; a position information acquiring unit that acquires position information of the reference point based on a relative position of the target mark with respect to the measuring device measured by the measuring device and a coordinate position of the target mark in a user coordinate system for specifying a motion of the robot; a parameter correction unit that corrects the error parameter based on the command value and the position information, a sensitivity calculation unit that calculates, for each of the error parameters, a sensitivity value indicating a magnitude of a change in the calculated position of the reference point relative to a change in the error parameter; an object selection unit that selects the error parameter as a correction object based on the sensitivity value; as well as a weight determination unit that increases the weight of the sensitivity value of the error parameter that is likely to require correction due to maintenance work on the robot, The parameter correction unit corrects the error parameter as the correction target based on the position information and a command value for the robot so that the error parameter other than the correction target does not affect the position of the reference point.

2. The robot system according to claim 1, wherein: A plurality of the target markers are provided that are dispersedly arranged.

3. The robot system according to claim 1, wherein: The target mark has a shape or pattern such that the measurement device can recognize the orientation of the target mark.

4. The robot system according to claim 2, wherein: The target mark has a shape or pattern such that the measurement device can recognize the orientation of the target mark.

5. The robot system according to any one of claims 1 to 4, wherein: The robot control device further includes a program generating unit that generates a plurality of operation programs that determine the posture of the robot so that the measurement device can measure the target marker from a plurality of directions.

6. The robot system according to any one of claims 1 to 4, wherein: The robot control device further includes an evaluation unit that determines whether a deviation between the position of the reference point calculated using the error parameter and the position of the reference point indicated by the position information is within a predetermined range.

7. The robot system according to claim 5, wherein: The robot control device further includes an evaluation unit that determines whether a deviation between the position of the reference point calculated using the error parameter and the position of the reference point indicated by the position information is within a predetermined range.

Citation Information

Patent Citations

  • Calibration system and calibration method for robot

    JP2020040165A

  • Measuring system and method for calibrating at least one automatic, in particular multi-axis, manipulator

    DE102017212261A1

  • Method and device for automatically correcting robot action error

    JP1994031665A