Instruction value correction device and robot system
By using elastically deformable robot and support models, command values are calculated and corrected to offset the elastic deformation of the support, thus solving the positioning error problem of large multi-joint robots and achieving higher positioning accuracy.
Patent Information
- Application Number
- CN202180083058.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-12-16
- Filing Date
- 2021-12-10
- Publication Date
- 2025-12-23
- Estimated Expiration
- 2041-12-10
Smart Images

Figure CN116669910B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to an instruction value correction device and a robot system. BACKGROUND
[0002] A system using a multi-joint robot, which is formed by linking a plurality of links by joints (joints) having drive shafts, configured to define angles of the drive shafts in accordance with instruction values, to position an object such as a workpiece, a tool, or the like, has been widely utilized. In the multi-joint robot, a posture (position and direction) of the object is calculated based on lengths of the links and the angles of the shafts. However, an error can occur between the calculated posture of the object and an actual posture of the object due to a deflection of the links or the like.
[0003] In order to reduce such an error, a scheme has been proposed in which a model representing each link of the robot as a spring is set, a deflection amount corresponding to a posture of the robot is calculated, and thus the instruction values are corrected so as to be able to accurately position the object (see, for example, Patent Literature 1).
[0004] PRIOR ART DOCUMENTS
[0005] PATENT LITERATURE
[0006] Patent Literature 1: Japanese Patent Application Laid-Open No. 2002-307344 SUMMARY
[0007] PROBLEMS TO BE SOLVED BY THE INVENTION
[0008] If a large multi-joint robot is used, a support such as a floor, a beam, a stand, or the like, on which the robot is fixed, can also be deflected, and become a cause of a positioning error of the object. In view of such a practical situation, the present application has a problem of providing an instruction value correction device and a robot system capable of making a positioning error of a robot small.
[0009] SOLUTION TO THE PROBLEM
[0010] An instruction value correction device of one embodiment of the present application corrects an instruction value indicating a posture of a multi-joint robot, which is used to position a front end portion of an arm having a plurality of joints, the instruction value correction device including: a robot model setting section that sets a robot model representing the multi-joint robot as an elastically deformable model; a support body model setting section that sets a support body model representing a support body for fixing the multi-joint robot as an elastically deformable model; a force calculation section that calculates a force acting on the support body due to a weight of the multi-joint robot in a case where a posture of the multi-joint robot is in accordance with the instruction value before correction; and a correction section that corrects the instruction value to cancel an elastic deformation of the support body model, i.e., a support body model elastic deformation amount, caused by the force calculated by the force calculation section.
[0011] Effects of the Invention
[0012] According to the present application, it is possible to make a positioning error of a robot small. BRIEF DESCRIPTION OF DRAWINGS
[0013] Figure 1 is a schematic view showing a structure of a robot system according to one embodiment of the present application.
[0014] Figure 2 is a schematic view showing a setting example of a robot model in the robot system of Figure 1
[0015] Figure 3 is a schematic view showing a setting example of a support body model in the robot system of Figure 1
[0016] Figure 4 is a flowchart showing a procedure of instruction value correction in the robot system of Figure 1
[0017] Figure 5 is a flowchart showing a procedure of error model correction in the robot system of Figure 1 DETAILED DESCRIPTION
[0018] Hereinafter, an embodiment of the present application will be described with reference to the drawings. Figure 1 is a schematic view showing a structure of a robot system 1 according to one embodiment of the present application.
[0019] The robot system 1 includes a multi-joint robot 10, a support body 20, a robot control device 30, an instruction value correction device 40, and a three-dimensional measurement device 50.
[0020] As the multi-joint robot 10, although a vertical multi-joint robot is typically used, a horizontal multi-joint robot can also be used. Specifically, the multi-joint robot 10 has an arm 11 having a plurality of links connected to each other and a plurality of drive shafts that define relative angles between adjacent links, and performs positioning that defines a position and an orientation of a tip end portion 12 of the arm 11.
[0021] The multi-joint robot 10 is used to hold an object W at the tip end portion 12 and position the object W. As the object W, for example, a cutting tool, a laser head, an inspection device, a workpiece (an article to be machined, inspected, or the like), or the like can be listed. Generally, the positioning operation of the multi-joint robot 10 is controlled in a robot coordinate system that is set with the base end portion 13 fixed to the support body 20 as a reference.
[0022] In the multi-joint robot 10, a positioning error in which the position of the tip end portion 12 deviates from a theoretical position calculated from the designed shape of each link and the controlled angular position of each drive shaft can occur due to elastic deformation of each link and elastic deformation of the internal mechanism of each drive shaft.
[0023] The support body 20 is used to support the multi-joint robot 10 and can be composed of, for example, a floor, a column, a beam, a concrete base, a stand, or a combination thereof, and can also include a coupling member such as a bolt. In the support body 20, a reference support point 21 is set as a position at which the multi-joint robot 10 is supported. As a specific example, the reference support point 21 can be set as a center point of an abutting surface that abuts against the base end portion 13 of the multi-joint robot 10.
[0024] Although only slightly, the support body 20 can be elastically deformed in response to the operation of the multi-joint robot 10, thereby moving and changing the orientation of the reference support point 21 with reference to a point that is fixed in the absolute position of the object W to be positioned, that is, a point that is fixed in the world coordinate system. In the case where, for example, the object W is a cutting tool, the world coordinate system is a coordinate system that is fixed with respect to a workpiece to be cut by the object W. Such elastic deformation, even if the change in the position and the orientation of the reference support point 21 is extremely small, can change the position and the orientation of the tip end portion 12 of the multi-joint robot 10 to an extent that cannot be ignored due to tilting of the entire multi-joint robot 10.
[0025] The robot control device 30 is a program storage section 31 that stores an action program that specifies the action of the multi-joint robot 10, and a well-known structural element that generates an instruction value that specifies the angular position of each drive shaft required to position the tip end section 12 of the multi-joint robot 10, in accordance with the action program stored in the program storage section 31. The robot control device 30 can be constituted, for example, by causing a computer having a memory, a CPU, an input / output interface, and the like to execute an appropriate control program.
[0026] The instruction value correction device 40 corrects the instruction value generated by the robot control device 30 to compensate for the positioning error caused by the elastic deformation of the multi-joint robot 10 and the support body 20. That is, in the robot system 1, the multi-joint robot 10 acts in accordance with the instruction value corrected by the instruction value correction device 40 after being generated by the robot control device 30. The instruction value correction device 40 itself is one embodiment of the instruction value correction device of the present application.
[0027] The instruction value correction device 40 can be constituted, for example, by causing a computer having a memory, a CPU, an input / output interface, and the like to execute an appropriate control program. The instruction value correction device 40 can also be constituted by a separate computer, but is generally constituted integrally with the robot control device 30. That is, the instruction value correction device 40 can be realized as one function of the computer that constitutes the robot control device 30. The robot control device 30 and the instruction value correction device 40, and these respective structural elements, can also be structural elements classified in terms of their functions, rather than structural elements that can be clearly distinguished in terms of program structure and physical structure.
[0028] The instruction value correction device 40 has a robot model setting section 41, a support body model setting section 42, an initial value input section 43, a force calculation section 44, a correction section 45, a deformation amount acquisition section 46, a support body model correction section 47, a measurement posture instruction section 48, and a robot model correction section 49.
[0029] As Figure 2The robot model setting section 41 sets a robot model Mr that represents the articulated robot 10 with a plurality of links (segments) L1, L2, L3, L4, L5 and a plurality of joints (joints) J1, J2, J3, J4, J5, J6 that connect adjacent links L1, L2, L3, L4, L5. The robot model Mr can be set using a known method such as the DH (Denavit and Hartenberg) method. The links L1, L2, L3, L4, L5 are springs that can be elastically deformed, and the joints J1, J2, J3, J4, J5, J6 are springs that can be torsionally deformed. The robot model Mr can be set in advance as a product of the articulated robot 10 as a standard specification of the command value correction device 40.
[0030] The support body model setting section 42 sets a support body model Ms that represents the support body 20 for fixing the articulated robot 10 as a model that can be elastically deformed. In the case where the support body 20 is a pedestal as shown in Figure 1 , the support body model Ms can be represented as a single spring as shown in Figure 2 . On the other hand, the support body model Ms can be represented as a combination of a plurality of springs having at least one node that moves or rotates in a direction parallel to a force acting on the support body 20, depending on the structure of the support body 20 as shown in Figure 3 . That is, the support body model Ms can be set as a model that includes a spring that is deformed in compression or tension and a spring that is deformed in bending.
[0031] In the example shown in Figure 3 , the support body model Ms is defined as a link that is connected from the origin point P0 of the robot coordinate system in which the articulated robot 10 performs a motion. In addition to the origin point P0, there are three nodes P1, P2, P3 that are sequentially set from the origin point P0. In this example, the positions of the nodes P1, P2, P3 are defined in coordinates in the robot coordinate system of the articulated robot 10. In more detail, for each node P1, P2, P3, the position and the orientation of each node are determined in XYZWPR form in the robot coordinate system, and a spring constant of each axis direction of a link between the preceding node is set. The support body model Ms can be set individually by a system manager or the like at the time of system setting for each robot system 1.
[0032] As a different example, the support body model setting section 42 can also define the support body model Ms as a reference table that determines a representative value of the elastic deformation amount of the support body 20 for each of the divided sections of the force acting on the support body 20. Specifically, the support body model Ms can also be a reference table that establishes a correspondence between the magnitude of the moment of the force acting on the origin P0 and the elastic deformation amount, that is, the amount of movement of the theoretical front end portion 12 before and after the correction of the command value.
[0033] The initial value input section 43 inputs the initial values of the parameters of the error model exemplified above to the support body model setting section 42. The initial value input section 43, although can also accept input from an input device such as a keyboard, can also be configured to read the initial values of the error model made by an external computer C. As the computer C, although not particularly limited, a general-purpose personal computer, a tablet computer, or the like can be envisioned. By using off-line simulation software that can be executed in the computer C used to make the model of the support body 20, the error model can be constructed easily and accurately. In addition, by being configured to construct the error model using an external computer C, it is easy to integrate the robot control device 30 and the command value correction device 40, that is, it is easy to add the function of the command value correction device 40 to a conventional robot control device. Figure 3 The force calculation section 44 calculates the force acting on the support body 20 in the case where the multi-joint robot 10 assumes a posture in accordance with the command value before correction. In more detail, the force calculation section 44 calculates the rotational force, that is, the moment of the force, acting on the nodes P0 through P1, P2, P3 of the support body model Ms due to the weights of the multi-joint robot 10 and the support body 20 in the case where the multi-joint robot 10 is at rest in a posture in accordance with the command value. In addition, the force calculation section 44 can also calculate the force (compression / tension force) acting in the translational direction of the nodes P0, P1, P2, P3. In addition, the force calculation section 44 preferably calculates the force acting on each joint J1, J2, J3, J4, J5, J6 of the robot model Mr individually.
[0034] The correction section 45 corrects the command value input from the robot control device 30 so as to cancel the elastic deformation of the support body model Ms due to the force calculated by the force calculation section 44. Preferably, the correction section 45 corrects the command value input from the robot control device 30 so as to cancel not only the elastic deformation of the support body model Ms but also the elastic deformation of the robot model Mr.
[0035] The correction section 45 can be configured to have the structure of a robot deformation calculation section, a support body deformation calculation section, an error calculation section, and a command value remaking section.
[0036] The correction section 45 can be configured to have the structure of a robot deformation calculation section, a support body deformation calculation section, an error calculation section, and a command value remaking section.
[0037] The robot deformation calculation unit calculates the elastic deformation of links L1, L2, L3, L4, L5 and joints J1, J2, J3, J4, J5, J6 of the robot model Mr, assuming the posture of the multi-joint robot 10 is based on the command values before correction. The elastic deformation of the robot model Mr can be calculated using known methods, typically based on the forces acting on each joint J1, J2, J3, J4, J5, J6 calculated by the force calculation unit 44.
[0038] The support deformation calculation unit calculates the amount of elastic deformation of the support model Ms caused by the force calculated by the force calculation unit 44 (also called "support model elastic deformation"). That is, based on the forces acting on P1, P2, and P3 calculated by the force calculation unit 44 and the spring constants between the nodes set in the support model setting unit 42, the support deformation calculation unit calculates the amount of movement of P1, P2, and P3 caused by elastic deformation, and calculates the change in position and direction of the origin P0 as a result.
[0039] The error calculation unit calculates the positioning error of the front end 12 of the multi-joint robot 10 based on the elastic deformation of the support model Ms calculated by the support deformation calculation unit and the elastic deformation of the robot model Mr calculated by the robot deformation calculation unit.
[0040] The instruction value reprocessing unit generates instruction values that specify the posture of the multi-joint robot 10 such that the front end 12 moves in the opposite direction by the same distance as the positioning error calculated by the error calculation unit. The positioning error of the front end 12 can be reduced by inputting this corrected instruction value into the multi-joint robot 10.
[0041] The deformation acquisition unit 46 acquires the actual elastic deformation of the support 20 (also referred to as "actual elastic deformation"). Specifically, the deformation acquisition unit 46 may be configured to determine the actual elastic deformation of the support 20 based on the reference point of the support 20 (a measurable point whose relative position with respect to the reference support point 21 does not change in practice) measured by the three-dimensional measuring device 50 or the relative position of the front end 12 of the multi-joint robot 10 with respect to a point that is stationary in the world coordinate system.
[0042] The actual elastic deformation amount of the support body 20 based on the position of the front end portion 12 of the multi-joint robot 10 can be acquired by calculating an estimated value of the actual elastic deformation amount of the support body 20 assuming that the deviation between the actual position of the front end portion 12 measured by the three-dimensional measuring device 50 and the theoretical position of the front end portion 12 calculated based on the command value in consideration of the robot model Mr is a deviation caused only by the error of the support body model Ms. The initial value of the parameter of the robot model Mr of the mass-produced multi-joint robot 10 has a small error, and in contrast, the initial value of the parameter of the support body model Ms of the support body 20 designed individually has a large error. Therefore, it is considered that the elastic deformation amount of the support body 20 calculated based on the actual position of the front end portion 12 assuming that the robot model Mr has no error is a value closer to the actual elastic deformation amount of the support body 20 than the theoretical elastic deformation amount calculated according to the support body model Ms initially set.
[0043] The support body model correction portion 47 corrects the parameter of the support body model Ms so as to make the support body model elastic deformation amount calculated by the support body deformation calculation portion based on the actual elastic deformation amount acquired at the deformation amount acquisition portion 46 when the command value input to the multi-joint robot 10 approach the actual elastic deformation amount acquired at the deformation amount acquisition portion 46.
[0044] The measurement posture command portion 48 generates a plurality of measurement command values that cause the multi-joint robot 10 to assume different measurement postures that are measurement postures in which a constant torque acts on the support body 20. By causing the multi-joint robot 10 to assume a plurality of measurement postures in which the elastic deformation amount of the support body 20 is equal, it is possible to confirm the positioning error of the front end portion 12 caused only by the elastic deformation of the multi-joint robot 10. Furthermore, it is possible to calculate the actual elastic deformation amount of the support body 20 while confirming the elastic deformation of the multi-joint robot 10 by the measurement command values.
[0045] The robot model correction portion 49 confirms the positioning error of the front end portion 12 of the multi-joint robot 10 based on the position of the front end portion 12 of the multi-joint robot 10 assuming the posture according to the measurement command values, and corrects the parameter of the robot model Mr. Thereby, it is possible to more accurately correct the support body model Ms in a case where the support body model Ms is corrected based on the position of the front end portion 12 of the multi-joint robot 10.
[0046] As shown in the figure, the three-dimensional measuring device 50 can be provided so as to be immovable in the world coordinate system, that is, not to change the position due to the posture of the multi-joint robot 10, and the three-dimensional measuring device 50 can be provided so as to measure the relative position of at least either of the reference points of the multi-joint robot 10 and the support body 20 with respect to the position of itself. In addition, the three-dimensional measuring device 50 can also be provided so as to be immovable with respect to the reference points of the support body 20 or the front end portion 12 of the multi-joint robot 10, and the three-dimensional measuring device 50 can be provided so as to measure the relative position of the measuring point provided so as to be immovable in the world coordinate system with respect to the position of itself.
[0047] Figure 4 The process of the correction of the command value by the command value correction device 40 is shown. The correction of the command value includes a model acquisition process (step Sll), a force calculation process (step S12), and a command value correction process (step S13).
[0048] In the model acquisition process of step Sll, the robot model Mr set by the robot model setting section 41 and the support body model Ms set by the support body model setting section 42 are acquired, that is, read to the job memory of the computer constituting the robot control device 30.
[0049] In the torque calculation process of step S12, the torque of the force acting on the multi-joint robot 10 and the support body 20 due to the gravity in the case where the multi-joint robot 10 assumes the posture according to the command value before the correction in the robot model Mr and the support body model Ms is calculated by the force calculation section 44.
[0050] In the command value correction process of step S13, the command value is corrected so that the position of the front end portion 12 calculated from the robot model Mr and the support body model Ms becomes the position of the front end portion 12 intended by the command value before the correction, that is, the position of the front end portion 12 not considering the elastic deformation of the multi-joint robot 10 and the support body 20.
[0051] Figure 5 The process of the correction of the command value by the command value correction device 40 is shown. The correction of the command value includes a model acquisition process (step Sll), a force calculation process (step S12), and a command value correction process (step S13).
[0052] In the model acquisition process of step S21, the robot model Mr set by the robot model setting section 41 and the support body model Ms set by the support body model setting section 42 are acquired.
[0053] In the measurement instruction value input process of step S22, a measurement instruction is input to the multi-joint robot 10 by the measurement posture instruction section 48, whereby the multi-joint robot 10 assumes a measurement posture.
[0054] In the force calculation process of step S23, a moment of force acting at the measurement posture instructed in step S22 is calculated.
[0055] In the positioning position measurement process of step S24, the position of the front end section 12 of the multi-joint robot 10 at the measurement posture instructed in step S22 is measured by the three-dimensional measurement device 50.
[0056] In the measurement posture end confirmation process of step S25, it is confirmed whether the processes of steps S22 to S24 have been performed for all of the measurement postures set in advance. The processes of steps S22 to S24 are repeated until the processing for all of the measurement postures is completed, and if the processing for all of the measurement postures is completed, the processing proceeds to step S26.
[0057] In the model correction process of step S26, the parameters of the robot model Mr and the support body model Ms are corrected so that the theoretical position of the front end section 12 calculated from the robot model Mr and the support body model Ms approaches the measured position, based on the combination of the theoretical position and the measured position of the front end section 12 calculated from the robot model Mr and the support body model Ms at each measurement posture.
[0058] As described above, the robot system 1 is provided with the support body model setting section 42 that sets the support body model Ms, and corrects the instruction value using the support body model Ms, and thus can compensate for the elastic deformation of the support body 20 corresponding to the posture of the multi-joint robot 10 and accurately perform positioning of the front end section 12.
[0059] In addition, because the robot system 1 is provided with the support body model correction section 47 that corrects the support body model Ms based on the elastic deformation amount acquired by the deformation amount acquisition section 46, the elastic deformation amount of the support body 20 can be accurately predicted, and positioning of the front end section 12 can be performed more accurately.
[0060] The above description has been given for the embodiments of the robot system and the instruction value correction device according to the present disclosure, but the scope of the present disclosure is not limited to the described embodiments. In addition, the effects described in the described embodiments are merely the most ideal effects produced by the robot system and the instruction value correction device according to the present disclosure, and the effects of the robot system and the instruction value correction device according to the present disclosure are not limited to the effects described in the described embodiments.
[0061] The robot system and the command value correction device of the present disclosure can also be a device that does not have a structure related to the correction of the support body model or the correction of the robot model. In addition, the order involved in the correction of the robot model and the support body model is not limited to the order described above, and other algorithms can be used. As an example, the correction of the support body model and the correction of the robot model can also be performed independently. Therefore, the acquisition of the elastic deformation amount for the correction of the support body model and the acquisition of the elastic deformation amount for the correction of the robot model can also be performed in different postures.
[0062] Explanation of Reference Signs
[0063] 1: robot system; 10: multi-joint robot; 20: support body; 30: robot control device; 40: command value correction device; 50: three-dimensional measurement device; 11: arm; 12: front end portion; 41: robot model setting portion; 42: support body model setting portion; 43: initial value input portion; 44: force calculation portion; 45: correction portion; 46: deformation amount acquisition portion; 47: support body model correction portion; 48: measurement posture command portion; 49: robot model correction portion.
Claims
1. An instruction value correction device that corrects an instruction value indicating a posture of a multi-joint robot for positioning a front end portion of an arm having a plurality of joints, the instruction value correction device comprising: a robot model setting section that sets a robot model that represents the multi-joint robot as an elastically deformable model; a support body model setting section that sets a support body model that represents a support body for fixing the multi-joint robot as an elastically deformable model; a force calculation section that calculates a force acting on the support body due to a weight of the multi-joint robot in a case where a posture of the multi-joint robot is in accordance with the instruction value before correction; and a correction section that corrects the instruction value so as to cancel an elastic deformation of the support body model, i.e., a support body model elastic deformation amount, caused by the force calculated by the force calculation section; a deformation amount acquisition section that acquires an actual position of the front end portion; and a model correction section that corrects parameters of the robot model and the support body model based on the actual position of the front end portion.
2. The instruction value correction device according to claim 1, wherein the deformation amount acquisition section acquires an actual elastic deformation amount of the support body, i.e., an actual elastic deformation amount, and the model correction section corrects the parameters of the support body model so that the support body model elastic deformation amount calculated based on the instruction value input to the multi-joint robot at the time when the actual elastic deformation amount is acquired by the deformation amount acquisition section is close to the actual elastic deformation amount acquired by the deformation amount acquisition section.
3. The instruction value correction device according to claim 2, wherein the deformation amount acquisition section is configured to acquire a relative position of a reference point of the support body with respect to a point that is fixed in a world coordinate system.
4. The instruction value correction device according to claim 2, wherein the deformation amount acquisition section is configured to acquire a relative position of the front end portion with respect to a point that is fixed in a world coordinate system.
5. The instruction value correction device according to claim 4, further comprising a measurement posture instruction section that generates a plurality of measurement instruction values for causing the multi-joint robot to assume different postures, the different postures being postures in which a constant torque acts on the support body.
6. The instruction value correction device according to any one of claims 1 to 5, wherein the support body model is defined as a reference table that is a table that determines a representative value of the support body model elastic deformation amount for each interval of forces acting on the support body.
7. The instruction value correction device according to any one of claims 1 to 5, wherein the support body model has at least one node that moves or rotates in a direction parallel to a force acting on the support body.
8. The instruction value correction device according to claim 6, wherein the support body model has at least one node that moves or rotates in a direction parallel to a force acting on the support body.
9. The instruction value correction device according to any one of claims 1 to 5, wherein Further provided is an initial value input unit that inputs an initial value of a parameter of the support body model to the support body model setting unit.
10. The command value correction device according to claim 6, wherein Further provided is an initial value input unit that inputs an initial value of a parameter of the support body model to the support body model setting unit.
11. The command value correction device according to claim 7, wherein Further provided is an initial value input unit that inputs an initial value of a parameter of the support body model to the support body model setting unit.
12. The command value correction device according to claim 8, wherein Further provided is an initial value input unit that inputs an initial value of a parameter of the support body model to the support body model setting unit.
13. The command value correction device according to claim 9, wherein The initial value input unit reads the initial value of the parameter made by an external computer.
14. The command value correction device according to any one of claims 10 to 12, wherein The initial value input unit reads the initial value of the parameter made by an external computer.
15. A robot system comprising: The command value correction device according to any one of claims 1 to 14; A robot control device that inputs a command value according to a program to the command value correction device; and A multi-joint robot that moves in accordance with the command value corrected by the command value correction device.
Citation Information
Patent Citations
Robot control device
JP2002307344A
Robot control apparatus
CN106393100A
Calibration apparatus
CN111791223A
Deflection correcting method for a robot
US5418441A