Robot control device
Through the acquisition of position information, sensitivity calculation and parameter correction methods of the robot control device, the problem of insufficient positioning accuracy of multi-joint robots is solved, and simplified high-precision positioning correction is achieved.
Patent Information
- Application Number
- CN202180060326.1
- 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-08-05
- Estimated Expiration
- 2041-07-27
AI Technical Summary
The prior art is difficult to simply and effectively improve the positioning accuracy of multi-joint robots, especially due to insufficient calculation accuracy due to the interrelationship and large number of error parameters.
Using a combination of position information acquisition, sensitivity calculation, object selection and parameter correction, we use the actual position information of the reference point at the end of the robot, calculate the sensitivity value of the error parameter, select the correction object and perform error parameter correction to ensure that other parameters do not affect the position of the reference point.
The robot positioning accuracy is significantly improved, and the error parameter group can be accurately determined through a small amount of position information, simplifying the positioning error correction process.
Smart Images

Figure CN116133797B_ABST
Abstract
Description
Technical Field
[0001] The invention relates to a robot control device. Background Art
[0002] In an articulated robot with multiple drive axes, the position of a reference point at the robot's end is calculated based on the distance between the drive axes (the length of the connecting rods) and the angular position of the drive axes. However, in actual robots, various factors can cause errors between the position of the reference point calculated based on the angular command values of the drive axes and the actual position of the reference point. Therefore, the use of multiple error parameters has been developed to compensate for the error between the theoretical position of the reference point and the actual position of the reference point in response to the command values to the robot.
[0003] 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. Therefore, a technology has been proposed that repeatedly performs the following processing: by selecting a set of error parameters from a plurality of pre-set parameter groups among a large number of error parameters, the error parameters are calculated based on less information, and the appropriateness of the calculated error parameters is evaluated based on the actual positioning error (for example, refer to patent document 1).
[0004] Prior art literature
[0005] Patent Literature
[0006] Patent Document 1: Japanese Patent Application Laid-Open No. 2020-40165 Summary of the Invention
[0007] Problems to be solved by the invention
[0008] In the method of Patent Document 1, the accuracy of the calculated error parameters is significantly affected by the appropriateness of the pre-set parameter set. The error parameters that contribute significantly to accurate calculation of the reference point position vary depending on how the robot is used. Therefore, it is difficult to predetermine the parameter set that should be prioritized for correction. Therefore, a technology that can more easily improve the robot's positioning accuracy is desired.
[0009] Solutions for solving problems
[0010] A robot control device according to one embodiment of the present disclosure comprises: a position information acquisition unit, which acquires position information representing the actual position of a reference point of an end of a robot having multiple drive axes; a parameter storage unit, which stores a plurality of error parameters for calculating the accurate position of the reference point based on an instruction value for the robot; a sensitivity calculation unit, which calculates, for each of the error parameters, a sensitivity value representing the magnitude of a change in the calculated position of the reference point relative to the change in the error parameter; an object selection unit, which selects the error parameter as a correction object based on the sensitivity value; and a parameter correction unit, which sets the error parameters other than the correction object to not affect the position of the reference point, and corrects the error parameter as the correction object based on the position information and the instruction value for the robot.
[0011] Effects of the Invention
[0012] According to the robot control device according to the present disclosure, the positioning accuracy of the robot can be improved relatively easily. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] Figure 1 1 is a diagram showing the configuration of a robot system including the robot control device of the present disclosure.
[0014] Figure 2 This is a diagram showing a model for explaining the relationship between the position of a driving axis of a robot and the posture of a reference point.
[0015] Figure 3 It shows Figure 1 Flowchart of the process of correction of error parameters in a robot control device. DETAILED DESCRIPTION
[0016] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. Figure 1 1 is a diagram showing the configuration of a robot system S including the robot control device 1 of the present disclosure.
[0017] A robot system S processes a workpiece W using a robot 2 that operates in accordance with a robot controller 1. The robot system S includes the robot controller 1, the robot 2 controlled by the robot controller 1, and a three-dimensional measuring device 3 that measures the three-dimensional position of a reference point at the end of the robot 2. The robot 2 has multiple drive axes. A machining head 21 that holds a tool T is located at the end of the robot 2.
[0018] The robot controller 1 includes a parameter storage unit 11 , a command value generation unit 12 , a position information acquisition unit 13 , a sensitivity calculation unit 14 , an object selection unit 15 , a parameter correction unit 16 , an evaluation unit 17 , a weight determination unit 18 , and a program generation unit 19 .
[0019] The robot controller 1 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 controller 1 and do not need to be clearly distinguished in terms of their functions and program structures.
[0020] The parameter storage unit 11 stores a plurality of error parameters used to calculate the accurate position of the reference point of the robot 2 based on command values indicating the desired position or speed of each drive axis of the robot 2. 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 2 and the distances between the drive axes, and the actual position of the reference point (actual position), resulting from mechanical errors of the robot 2.
[0021] The theoretical position of the reference point is calculated by the robot's forward kinematics. The calculation is famously performed using the Denavit-Hartenberg parameters (DH parameters) that represent the relative relationship between adjacent joint axes. Figure 2 In the example shown, according to x i-1 Axis to calculate x i The position of the axis (x i ,yi,z i ), first go around z i-1 The axis rotates by an angle of θ, and then along the z i-1 The axis is translated by a distance of d, and then along the rotated x i-1 The axis is translated by a distance, and then moves around x i The axis rotates by an angle of α, then around y i The axis is rotated by an angle of β, thus obtaining x i The meanings of the above θ, d, a, α, and β are as follows, and each value can be given as a design value for the robot.
[0022] θ: from x i-1 Axis to x i Rotation angle around the z axis i-1 axis)
[0023] d: From the origin of the i-1 coordinate system to z i-1 Axis and x i-1 The distance of the axis intersection
[0024] a: from z i-1 Axis and x n The distance from the intersection of the axes to the origin of the i-th coordinate system
[0025] α: from z i-1 Axis to z i The rotation angle around the x axisi axis)
[0026] β: from z i-1 Axis to z i The rotation angle of the axis (around y i axis)
[0027] However, errors occur between the design values and the actual robot, requiring five error parameters for each of the five design values. θ represents the rotation relative to the encoder output driving each axis, and its reference position serves as the calibration factor. Consequently, calibrating the DH parameters for a six-axis articulated robot requires 30 error parameters: 6 axes x 5 = 30.
[0028] Furthermore, when correcting the deflection of each axis relative to the gravity moment generated around the x, y, and z axes, each axis has three spring constants as error parameters, and gravity moment×spring constant is added as a correction amount to the above θ, α, and β.
[0029] Furthermore, it is also possible to consider the amount of rotation relative to the encoder output driving each axis as having a ratio (a) of the amount of rotation (y) to the encoder output (x) as an error parameter (y=ax), or to formulate the relationship between the encoder output and the amount of rotation as a model of angle transfer error (y=ax+bcos(x)) having multiple error parameters related to angle transfer, and to add the error parameters to the above-mentioned θ, α, and β for correction.
[0030] The command value generating unit 12 generates command values according to a program, which instruct the positions or speeds of the respective drive axes of the robot 2 so that the tool T moves along a predetermined trajectory and processes the workpiece W. In other words, the command value generating unit 12 generates command values so that the position calculated using the error parameters stored in the parameter storage unit 11 becomes the position specified in the program.
[0031] The position information acquisition unit 13 acquires position information representing the actual measured position (measured position) of the reference point of the end point of the robot 2. Typically, the position information can be acquired from the three-dimensional measuring device 3. Alternatively, the position information can be acquired by calculating the position based on the operator's teaching of the correct position. Specifically, the position information acquisition unit 13 can calculate the measured position of the reference point based on the calculated position (calculated position) of the reference point calculated using an error parameter based on the command value, and the amount the operator has moved the reference point from the position determined by the command value.
[0032] The sensitivity calculation unit 14 calculates a sensitivity value for each error parameter, which represents the magnitude (sensitivity) of the change in the calculated position of the reference point 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 sensitivity values.
[0033] If a vector having the above-mentioned error parameter as an element is q, a vector p indicating the three-dimensional position of the robot tip can be expressed as follows using a function f taking the above-mentioned error model into consideration.
[0034] p=f(q)
[0035] The vector Δp representing the deviation between the command position and the measured position of the robot tip can be approximated by the sum of linear combinations of small variations in the error parameters. JA is the Jacobian determinant.
[0036]
[0037] Since the laser tracker performs three-dimensional measurement, three equations are established for one measurement posture. Extending these equations to multiple measurement postures yields the vector Δr and Jacobian D representing the deviation corresponding to these postures, as shown below.
[0038] Δr=D·Δq
[0039] In general, the error parameter is identified by solving an iterative estimation problem that minimizes Δr.
[0040] If the number of equations is N and the number of error parameters is M, the above Jacobian determinant D is given as follows.
[0041] [Number 1]
[0042]
[0043] Each element of D represents the deviation in the tip position when the error parameter is slightly changed during the nth measurement. The column vector of D is the sensitivity vector corresponding to each error parameter. The maximum absolute value, the difference between the maximum and minimum values, or the magnitude of the vector of the sensitivity vector elements can be used as an indicator of sensitivity. For example, if the spring around the Z-axis of the J1 axis is the error parameter in the first column, and the change in the Z-axis torque of the J1 axis is very small in each measurement posture, the maximum absolute value, the difference between the maximum and minimum values, or the magnitude of the vector of the first column will be very small compared to the other columns. In this case, the column is excluded from the error parameter set.
[0044] When the number of equations is greater than the number of unknowns, [D]{p}={q} can be transformed into [D] T [D]{p}=[D] T {q} to obtain the following formula, which can be used to solve the general least squares problem.
[0045] [Number 2]
[0046]
[0047] [D] T [D] is an M × M matrix. Its column vectors can also be defined as sensitivity vectors and indexed.
[0048] And, by taking [D] T The inner product of the vectors in each column of [D] can be used to determine the degree of dependence between error parameters. For example, if the spring around the Z axis of the J1 axis is the first error parameter and the second error parameter is an error parameter related to the ratio of the encoder value of the J1 axis to the rotation angle, and if the change in the encoder value is proportional to the change in the torque around the Z axis of the J1 axis in each measurement posture, the inner product of the vectors in the first and second columns is 1. In this case, it is preferable to exclude this error parameter from the error parameter set.
[0049] Alternatively, error parameters with small intrinsic values can be excluded from the error parameter group until [D] T Until the ratio of the maximum eigenvalue to the minimum eigenvalue of [D] becomes a certain fixed value.
[0050] Because the Jacobian D can be calculated before obtaining positional information through measurement, it is known in advance which error parameters to calculate before measurement begins. For example, if very few error parameters can be calculated, the expected accuracy is low. In this case, increasing the number of postures to be measured can be considered in advance.
[0051] The target selection unit 15 selects error parameters to be calculated by the parameter correction unit 16 based on the sensitivity values calculated by the sensitivity calculation unit 14. The target selection unit 15 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 a machining program, etc.
[0052] The target selection unit 15 may also select the error parameter to be calculated based on the weight set for each error parameter and the sensitivity value calculated by the sensitivity calculation unit 14. By weighting the sensitivity values calculated by the sensitivity calculation unit 14, not only can the correction priority be increased for errors that have a significant impact on the state when the position information is acquired, but also for error parameters that are predicted to have a significant impact on the structure of the robot 2, thereby more quickly obtaining appropriate error parameters.
[0053] The parameter correction unit 16 corrects the error parameters based on the command value for the robot 2 output by the command value generation unit 12 and the position information acquired by the position information acquisition unit 13. At this time, the parameter correction unit 16 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 15 do not affect the position of the reference point of the robot 2.
[0054] The real robot 2 has a very complex structure, so in order to reflect all error factors, an extremely large number of error parameters are required. Furthermore, various factors, such as the structure of the processing head 21 and the robot 2's motion mode, can affect the resulting positioning errors. Therefore, the appropriate error parameter values may vary depending on the processing method, the structure of the processing program, and other factors. Therefore, in order to accurately calculate the values of all error parameters, it is necessary to perform positioning operations on the robot 2 in various motion modes and obtain a large amount of position information. For example, if the robot 2 is a six-axis multi-jointed robot, the number of required command value and position information combinations exceeds 100.
[0055] Therefore, the parameter correction unit 16 sets only a portion of the error parameters selected by the target selection unit 15 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 16 corrects the values of the error parameters selected by the target selection unit 15, 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 2 can be obtained using a relatively small amount of position information, although not necessarily with high precision.
[0056] In the robot controller 1, the sensitivity calculation unit 14, the target selection unit 15, and the parameter correction unit 16 may perform calculations for each piece of position information. Specifically, each time the position information acquisition unit 13 acquires position information, the sensitivity calculation unit 14 may recalculate the sensitivity value, the target selection unit 15 may reselect the calibration target, and the parameter correction unit 16 may correct the error parameter. This allows the error parameter to be corrected in stages, ensuring optimality of the error parameter.
[0057] The evaluation unit 17 determines whether the deviation between the position of the reference point calculated based on the command value for robot 2 output by the command value generation unit 12 and the position of the reference point indicated by the position information acquired by the position information acquisition unit 13 is within a specified range. If the evaluation unit 17 determines that the deviation between the position of the reference point calculated based on the command position of the reference point for robot 2 and the actual measured position is within the specified range, it stops the iterative process of periodically correcting the error parameters, thereby shortening the time required to obtain a valid set of error parameters. For example, error parameter correction may be resumed upon the occurrence of a specified event, such as a shutdown of the robot system S, a change in the machining program, or an emergency stop.
[0058] The weight determination unit 18 determines the weight based on the content of the maintenance work performed on the robot 2. Therefore, the weight determination unit 18 can be configured to receive input of the content of the maintenance work performed by the operator. For example, when a motor is replaced, 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.
[0059] The program generation unit 19 generates a calibration program by adding a command for the position information acquisition unit 13 to acquire position information to a machining program generated for machining using the robot 2. In other words, the robot system S can calculate error parameters while performing machining according to the calibration program. This ensures that the sensitivity value is determined and the calibration target is selected during the actual machining operation, reliably improving positioning accuracy and, consequently, machining accuracy.
[0060] Typically, the robot 2 is a vertical articulated robot, but may also be a SCARA robot, a parallel robot, a rectangular coordinate robot, etc. The robot 2 may also have a mark on its end that can be recognized by the three-dimensional measuring device 3 .
[0061] The machining head 21 of the robot 2 can hold a tool T such as a rotary cutting tool, for example, and has a drive mechanism for driving (for example, rotating) the tool T. Alternatively, the machining head 21 may be a laser machining head or the like.
[0062] As the three-dimensional measuring device 3 , for example, a device that measures the three-dimensional shape of the surface of an object using laser light or the like can be used.
[0063] Figure 3 The following figure shows the error parameter calibration process performed by the robot controller 1. The error parameter calibration is performed by the following method, which includes a positioning step (step S1), a sensitivity value calculation step (step S4), a calibration target selection step (step S5), a position information acquisition step (step S2), a parameter calibration step (step S6), and an evaluation step (step S3).
[0064] In the positioning process of step S1 , the command value generating unit 12 generates command values for positioning the robot 2 according to the calibration program generated by the program generating unit 19 .
[0065] In the sensitivity value calculation process of step S2 , the sensitivity calculation unit 14 calculates sensitivity values for all error parameters based on the command value and the position information.
[0066] In the calibration target selection process of step S3 , the target selection unit 15 selects the error parameter with the highest sensitivity value as the calibration target.
[0067] In the position information acquisition process of step S4 , the position information acquisition unit 13 acquires the position information of the reference point of the robot 2 , that is, measures the three-dimensional position of the reference point.
[0068] In the parameter correction process of step S5 , the parameter correction unit 16 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 11 so that the calculated position approaches the measured position.
[0069] In the evaluation process of step S6, the evaluation unit 17 confirms whether the deviation between the calculated position of the robot 2's reference point, calculated based on the command value generated by the command value generation unit 12 using the error parameters currently stored in the parameter storage unit 11, and the actual measured position of the reference point represented by the position information acquired by the position information acquisition unit 13, is within a specified range. If the deviation between the calculated position and the actual measured position is within the specified range, the error parameters stored in the parameter storage unit 11 are considered appropriate, and the process ends. If the deviation between the calculated position and the actual measured position is not within the specified range, the process returns to step S1 and repeats the above process. By returning to step S1 and acquiring new position information to further correct the error parameters, the error parameters can be corrected to more appropriate values, thereby gradually improving the positioning accuracy of the robot.
[0070] As described above, the robot controller 1 targets only the small number of error parameters selected by the target selection unit 15 for correction. Therefore, it is possible to obtain relatively accurate error parameters using a relatively small amount of position information. In other words, the robot controller 1 can relatively easily improve the positioning accuracy of the robot 2.
[0071] While the embodiments of the robot control device according to 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 merely exemplify the most preferred effects produced by the robot control device according to the present disclosure, and the effects of the robot control device according to the present disclosure are not limited to those described in the aforementioned embodiments.
[0072] In the robot control device according to the present disclosure, the evaluation unit, the weight determination unit, and the program generation unit are arbitrary configurations and may be omitted.
[0073] The robot control device according to the present disclosure is not limited to being applied to the control of a robot having a machining head, but can also be applied to, for example, a robot that grips a workpiece.
[0074] Description of Reference Numerals
[0075] 1: Robot control device; 11: Parameter storage unit; 12: Command value generation unit; 13: Position information acquisition unit; 14: Sensitivity calculation unit; 15: Object selection unit; 16: Parameter correction unit; 17: Evaluation unit; 18: Weight determination unit; 19: Program generation unit; 2: Robot; 21: Machining head; 3: Three-dimensional measuring device; S: Robot system; T: Tool; W: Workpiece.
Claims
1. A robot control device comprising: a position information acquisition unit that acquires position information indicating an actual position of a reference point of an end portion of a robot having a plurality of drive axes; a parameter storage unit storing a plurality of error parameters for calculating the accurate position of the reference point based on a command value for the robot; 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 selecting unit that selects the error parameter as a correction object based on the sensitivity value; as well as a parameter correction unit configured to correct 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; The position information acquisition unit calculates the actual position of the reference point based on the position of the reference point calculated according to the command value and the amount by which the operator moves the reference point from the position determined by the command value.
2. A robot control device comprising: a position information acquisition unit that acquires position information indicating an actual position of a reference point of an end portion of a robot having a plurality of drive axes; a parameter storage unit storing a plurality of error parameters for calculating the accurate position of the reference point based on a command value for the robot; 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 selecting unit that selects the error parameter as a correction object based on the sensitivity value; a parameter correction unit configured to correct 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; as well as a program generating unit generating a calibration program by adding a command for the position information acquiring unit to acquire the position information to a machining program for machining using the robot; The robot control device calculates the error parameters while performing the processing according to the calibration program.
3. The robot control device according to claim 1 or 2, wherein: further comprising an evaluation unit configured to determine 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, The sensitivity calculation unit, the target selection unit, and the parameter correction unit perform calculations for each piece of position information.
4. The robot control device according to claim 1 or 2, wherein: further comprising an evaluation unit configured to determine whether a deviation between the position of the reference point calculated based on the command value and the position of the reference point indicated by the position information is within a predetermined range, The sensitivity calculation unit, the target selection unit, and the parameter correction unit perform calculations for each piece of position information, and stop processing when the evaluation unit determines that the deviation is within the predetermined range.
5. The robot control device according to claim 1 or 2, wherein: The target selection unit ranks the error parameters based on the sensitivity value and a weight set for each of the error parameters.
6. The robot control device according to claim 1 or 2, wherein: The robot further includes a weight determination unit configured to determine the weight based on the content of the maintenance work performed on the robot.
Citation Information
Patent Citations
Calibration system and calibration method for robot
JP2020040165A
Method and device for automatically correcting robot action error
JP1994031665A