Robot control device and robot control method

The robot control device and method address the issue of varying lost motion by calculating gravity torque and adjusting backlash correction values, enhancing precision in robot arm positioning through dynamic adaptation to gravitational torque changes.

WO2026074901A1PCT designated stage Publication Date: 2026-04-09PANASONIC INTELLECTUAL PROPERTY MANAGEMENT CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-16
Publication Date
2026-04-09

AI Technical Summary

Technical Problem

Existing robot control systems fail to accurately account for varying lost motion due to backlash, which is influenced by gravitational torque, leading to precision issues in robot arm positioning.

Method used

A robot control device and method that calculates gravity torque, determines the sign of the velocity component, and adjusts the backlash correction value based on the gravity correction rate to optimize positioning accuracy.

Benefits of technology

Enhances the precision of robot arm positioning by dynamically adjusting the backlash correction value in response to changing gravitational torque conditions, minimizing lost motion and improving overall control accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2025032477_09042026_PF_FP_ABST
    Figure JP2025032477_09042026_PF_FP_ABST
Patent Text Reader

Abstract

This robot control device controls the operation of a robot arm having a joint portion. The robot control device comprises: a gravitational torque calculating unit that calculates gravitational torque (τg2) for the joint portion; a sign determining unit that determines the positive / negative sign of a velocity component of the joint portion; and a backlash correction value calculating unit that calculates a backlash correction value to be added to a position command for the joint portion. The backlash correction value calculating unit calculates a gravity correction coefficient (kgc) on the basis of the absolute value (|τg2|) of the gravitational torque (τg2), and calculates the backlash correction value on the basis of the positive / negative sign of the velocity component and the gravity correction coefficient (kgc).
Need to check novelty before this filing date? Find Prior Art

Description

Robot control device and robot control method

[0001] The present disclosure relates to a robot control device and a robot control method.

[0002] For example, as shown in Patent Document 1, in a robot control device that controls the operation of a robot arm having a joint portion, the target position of the joint portion based on the position command for the joint portion and the actual position of the joint portion where the joint portion actually moves do not match due to backlash error. It is known.

[0003] Japanese Patent Application Laid-Open No. 2000-250614

[0004] In such a robot with backlash, the error that occurs when positioning from different directions with respect to the same target position is called lost motion. If the lost motion is constant and invariant regardless of the positioning direction, the occurrence of lost motion can be suppressed by adding a predetermined backlash correction value to the position command for the joint portion.

[0005] However, lost motion can vary depending on various conditions. For example, lost motion can vary depending on the magnitude of the gravitational torque on the joint portion. For example, when there is gravity, if the gravity is greater than the frictional force of the joint portion, the backlash (play) will shift in one direction regardless of the operating direction due to the gravity, and the lost motion will decrease. If the backlash correction value is fixed at a predetermined value, when the gravitational torque increases and the lost motion decreases, it will be overcorrected, and instead the lost motion will increase.

[0006] The present disclosure accurately controls the position of a robot arm having a joint portion.

[0007] The robot control device according to this disclosure is a robot control device for controlling the movement of a robot arm having a joint, comprising: a gravity torque calculation unit for calculating gravity torque to the joint; a sign determination unit for determining the sign of the velocity component of the joint; and a backlash correction value calculation unit for calculating a backlash correction value to be added to a position command for the joint, wherein the backlash correction value calculation unit calculates a gravity correction rate based on the absolute value of the gravity torque, and calculates the backlash correction value based on the sign of the velocity component and the gravity correction rate.

[0008] The robot control method according to this disclosure is a robot control method for controlling the movement of a robot arm having a joint, comprising: a gravity torque calculation step for calculating a gravity torque applied to the joint; a sign determination step for determining the sign of the velocity component of the joint; and a backlash correction value calculation step for calculating a backlash correction value to be added to a position command for the joint, wherein in the backlash correction value calculation step, a gravity correction rate is calculated based on the absolute value of the gravity torque, and the backlash correction value is calculated based on the sign of the velocity component and the gravity correction rate.

[0009] According to this disclosure, the position of a robot arm having joints can be controlled with high precision.

[0010] Figure 1 is a diagram showing the configuration of a robot according to an embodiment of this disclosure. Figure 2 is a functional block diagram of the robot and robot control device in the embodiment. Figure 3 is a diagram showing the configuration of the motor and reduction gear at the joint of the robot arm in the embodiment. Figure 4 is a block diagram of the servo control unit in the embodiment. Figure 5 is a block diagram of the backlash correction unit in the embodiment. Figure 6 is a diagram showing the relationship between the position of the tip of the robot arm and gravity torque in the embodiment. Figure 7 is a diagram showing the relationship between gravity torque and lost motion in the embodiment. Figure 8 is a graph showing the calculation result of the backlash correction value by the backlash correction value calculation unit in the embodiment. Figure 9 is a graph showing the relationship between gravity torque and lost motion in the embodiment when the backlash correction value is fixed and when backlash correction is not performed. Figure 10 is a flowchart showing the calculation flow of the backlash correction value by the backlash correction value calculation unit in the embodiment.

[0011] Embodiments of the present disclosure will be described in detail below with reference to the drawings. The following description of preferred embodiments is illustrative in nature and is not intended to limit the present disclosure, its applications, or its uses in any way.

[0012] (Robot) Figure 1 is a diagram showing the configuration of robot 1 in an embodiment of the present disclosure.

[0013] Robot 1 is a multi-jointed robot. Robot 1 comprises a robot arm 2 and a plurality of joints J. A robot control device 20 is connected to Robot 1.

[0014] The robot arm 2 is divided into multiple parts. Joints J are provided at the connecting points of each part of the robot arm 2. In other words, the robot arm 2 has multiple joints J. The multiple joints J include a first joint J1, a second joint J2, a third joint J3, a fourth joint J4, a fifth joint J5, and a sixth joint J6.

[0015] In the following explanation, each element corresponding to the first joint J1 to the sixth joint J6 will be referred to as "the first (element name)" to "the sixth (element name)," and the elements and values ​​corresponding to each joint may be denoted by the numbers 1 to 6 as subscripts for their sign and value.

[0016] Joints J1 to J3 are the three main axes that determine the overall posture of the robot arm 2, and joints J4 to J6 are the three wrist axes that determine the direction of the tip of the robot arm 2. The first joint J1 is a pivot axis that rotates the robot arm 2. For example, a laser output device (not shown) is attached to the tip of the robot arm 2. The laser output device cuts the workpiece by irradiating it with laser light.

[0017] (Robot control device) Figure 2 is a functional block diagram of the robot 1 and robot control device 20 in the embodiment.

[0018] Robot 1 comprises a robot arm 2 (see Figure 2), joints J1 to J6 (see Figure 2), first motors 3-1 to 6th motors 3-6, first reduction gears 4-1 to 6th reduction gears 4-6, and first encoders 5-1 to 6th encoders 5-6. Robot control device 20 comprises a teaching unit 21, a main control unit 22, first servo control units 23-1 to 6th servo control units 23-6, and first backlash correction units 24-1 to 6th backlash correction units 24-6. In the following description, first motors 3-1 to 6th motors 3-6 may be referred to as motor 3, first reduction gears 4-1 to 6th reduction gears 4-6 as motor 4, and first encoders 5-1 to 6th encoders 5-6 as encoder 5. In addition, the first servo control unit 23-1 to the sixth servo control unit 23-6 may be described as the servo control unit 23, and the first backlash correction unit 24-1 to the sixth backlash correction unit 24-6 may be described as the backlash correction unit 24.

[0019] Motor 3 is a servo motor. Motor 3 is connected to joint J via a reduction gear 4. The servo control unit 23 sends control signals to motor 3 to control its rotation. The servo control unit 23 drives joint J to move the robot arm 2 and control the position and orientation of the robot arm 2.

[0020] The encoder 5 is connected to the motor 3. The encoder 5 detects the rotational position and rotational speed of the motor 3. The detection signal from the encoder 5 is sent to the servo control unit 23 as a feedback signal.

[0021] The teaching unit 21 stores the trajectory of the robot arm 2 acquired during teaching, as well as the rotational movement of the motor 3 used to draw this trajectory.

[0022] The main control unit 22 receives instructions from the teaching unit 21 and outputs a position command θc for the joint J according to the movement trajectory of the robot arm 2 stored in the teaching unit 21.

[0023] The servo control unit 23 controls the rotational movement of the motor 3 to follow the position command θc sent from the main control unit 22.

[0024] The first backlash compensation unit 24-1 to the sixth backlash compensation unit 24-6 correspond to the first joint J1 to the sixth joint J6, respectively. The backlash compensation block 24 is provided between the main control unit 22 and the servo control unit 23. The backlash compensation unit 24 generates backlash compensation values ​​θBL (θBL1 to θBL6) based on the corresponding position commands θc (θc1 to θc6) received from the main control unit 22. The generated backlash compensation values ​​θBL are added to the corresponding position commands θc (θc1 to θc6) and sent to the servo control unit 23. Details of the backlash compensation block 24 will be described later.

[0025] Each functional block in the robot control device 20 may be composed of independent circuits, or it may be composed of a single integrated circuit. A combination of some functional blocks may be composed of a single integrated circuit. Furthermore, the functions of the main control unit 22, the servo control unit 23, and the backlash compensation block 24 are generally realized by executing a program written in software on an integrated circuit such as a CPU (Central Processing Unit).

[0026] (Joint) Figure 3 shows the configuration of the motor 3 and reduction gear 4 in the joint J of the robot arm 2 in the embodiment.

[0027] A motor 3 is connected to the joint J via a reduction gear 4.

[0028] In Figure 3, a portion of the robot arm 2 is shown as a load 30. The load 30 includes a first arm 31, a motor 3, a gearbox 4, and a second arm 35. The first arm 31 is a base for mounting the motor 3. The motor 3 is mounted on the first arm 31. The gearbox 4 includes a primary side 32 connected to the motor 3 and a secondary side 33 having a bearing 34. The second arm 35 is rotatably connected to the secondary side 33 of the gearbox 4 via the bearing 34 relative to the first arm 31.

[0029] The primary side 32 of the reduction gear 4 is coupled to the rotor 36 (rotating shaft) of the motor 3. The primary side 32 of the reduction gear 4 rotates by the amount of the motor position θM (motor rotation position) sent from the servo control unit 23. The reduction gear 4 converts the motor position θM into the arm position θL (arm rotation position) by the reduction ratio Rg. A spring component 37 exists between the primary side 32 and the secondary side 33 of the reduction gear 4. The gap between the primary side 32 and the secondary side 33 of the reduction gear 4 is backlash.

[0030] (Servo Control Unit) Figure 4 is a block diagram of the servo control unit 23 in the embodiment.

[0031] The servo control unit 23 includes a position control block 50 and a speed control block 51. Figure 4 illustrates the calculations performed by the second servo control unit 23-2 related to the second joint J2.

[0032] In the position control block 50 of the second servo control unit 23-2, the motor position θM2 is subtracted from the sum of the position command θc2 and the backlash correction value θBL2 output from the second backlash correction block 24-2, and the speed command ωcp2 is generated by multiplying this by the position proportional gain Kpp. The motor position θM2 is obtained from the detection signal of the second encoder 5-2.

[0033] In the speed control block 51 of the second servo control unit 23-2, the current IM2 to be supplied to the motor 3 is calculated by adding the value obtained by multiplying the difference between the motor speed ωM2 (obtained by differentiating the motor position θM2 from the speed command ωcp2 as differential element S) and the speed proportional gain Kps, and the value obtained by integrating this difference and multiplying it by the speed integral gain Ki (obtained as element Ki / S). The current IM2 is input to the load 30.

[0034] In the load 30, the motor current command IM2 that drives the motor 3, the torque constant Kt of the motor 3, the reciprocal of the reduction ratio 1 / Rg, the spring constant Ks of the reducer 4, the amount of torsion θs generated between the primary side 32 and the secondary side 33 of the reducer 4, the dynamic torque τddyn applied to the robot arm 2, the motor transfer function 40, and the load transfer function 41 are shown.

[0035] The motor transfer function 40 and the load transfer function 41 are mathematical formulas (models) of their respective physical phenomena. The motor transfer function 40 is expressed as 1 / S・(S・JM+DM), and the load transfer function 41 is expressed as 1 / S・(S・JL+DL).

[0036] In the motor transfer function 40, the moment of inertia JM and the viscous friction coefficient DM are shown, which are the combined moment of rotation JM of the rotor 36 of the motor 3 and the primary side 32 of the reduction gear 4.

[0037] In the load transfer function 41, the moment of inertia JL and the viscous friction coefficient DL around the rotation axis, which are the combined moment of inertia of the second arm 35 and the secondary side 33 of the reduction gear 4, are shown.

[0038] Note that FIG. 4 is a general control block diagram of the motor 3 to which the load 30 and the speed reducer 4 are connected, so detailed explanations of functions other than those described above are omitted.

[0039] (Backlash correction unit) FIG. 5 is a block diagram of the backlash correction unit 24 in the embodiment.

[0040] In FIG. 5, the operation by the second backlash correction block 24-2 related to the second joint portion J2 is illustrated. The second backlash correction block 24-2 of the robot control device 20 includes a gravity torque calculation unit 60, a speed calculation unit 61, a sign determination unit 62, and a backlash correction value calculation unit 63.

[0041] The gravity torque calculation unit 60 calculates the gravity torque τg2 for the second joint portion J2 using the position commands θc1 to θc6 sent from the main control unit 22 for all rotation axes.

[0042] The gravity torque calculation unit 60 performs a dynamics calculation using the position commands θc1 to θc6 for all rotation axes, the speed components that are the differential values of those position commands, the acceleration components that are the second-order differential values of those speed components, and the gravitational acceleration, etc., and calculates the gravity torque τg2 for the second joint portion J2.

[0043] The gravity torque calculation unit 60 calculates the gravity torque τg2 for the second joint portion J2 at the current position or the gravity torque τg2 for the second joint portion J2 at the target position of the second joint portion J2 based on the position command θc2 to the second joint portion J2.

[0044] Here, for example, the second joint portion J2 is a vertical rotation axis, the axis extends in the horizontal direction, and the arm rotates in a direction perpendicular to the rotation axis. The gravity torque τg2 acts significantly on a vertical rotation axis such as the second joint portion J2.

[0045] The gravity torque τg2 calculated by the gravity torque calculation unit 60 is input to the backlash correction value calculation unit 63.

[0046] The velocity calculation unit 61 is a differential element (S). The position command θc2 of the second joint J2 is input to the velocity calculation unit 61. The velocity calculation unit 61 calculates a velocity component dθc2 that is the differential value of the position command θc2 of the second joint J2. The velocity component dθc2 calculated by the velocity calculation unit 61 is input to the coincidence determination unit 62.

[0047] The coincidence determination unit 62 determines the positive or negative sign (sign flag dir = +1 (positive) or sign flag dir = -1 (negative)) of the velocity component dθc2 of the second joint J2. The positive / negative reference is set in advance. For example, based on the rotation direction of the motor 3, clockwise can be set as positive and counterclockwise as negative, or vice versa. Information on the sign flag dir indicating the positive or negative sign of the velocity component dθc2 determined by the coincidence determination unit 62 is input to the backlash correction value calculation unit 63.

[0048] The backlash correction value calculation unit 63 calculates a backlash correction value θBL2 for the second joint J2. The backlash correction value θBL2 is a value to be added to the position command θc2 for the second joint J2. Details of the backlash correction value calculation unit 63 will be described later.

[0049] (Relationship between the position of the tip of the robot arm and the gravitational torque) FIG. 6 is a diagram showing the relationship between the position of the tip 2a of the robot arm 2 of the embodiment and the gravitational torque τg2.

[0050] In FIG. 6, the relationship related to the second joint J2 is illustrated. As shown in the upper left of FIG. 6, the left-right direction X, the front-back direction Y, and the up-down direction Z are orthogonal to each other. The rotation axis of the second joint J2 extends in the front-back direction Y. The second joint J2 rotates in the left-right direction X and the up-down direction Z. That is, the robot arm 2 rotates so as to move on the XZ plane.

[0051] Figure 6 shows three postures of robot 1. The second joint J2 of robot 1 is controlled from the state shown on the left to the state shown on the right. That is, when the second joint J2 rotates clockwise, the tip 2a of robot arm 2 moves to the right X1. Conversely, when the second joint J2 rotates counterclockwise, the tip 2a of robot arm 2 moves to the left X2. Note that in the left-right direction X, the right X1 is considered the positive direction and the left X2 is considered the negative direction.

[0052] In Figure 6, the left figure shows the first position P1 in the left-right direction X, where the tip 2a of the robot arm 2 is closest to the second joint J2. The right figure shows the third position P3 in the left-right direction X, where the tip 2a of the robot arm 2 is furthest from the second joint J2. The middle figure shows the second position P2 in the left-right direction X, where the tip 2a of the robot arm 2 is between the first position P1 and the third position P3.

[0053] The distance H in the left-right direction X between the tip 2a of the robot arm 2 and the second joint J2 is shortest at the first position P1, longest at the third position P3, and midway between the two at the second position P2. As shown in the upper graph of Figure 6, the gravitational torque τg2 [N・m] applied to the second joint J2 increases as the distance H [mm] in the left-right direction X between the tip 2a of the robot arm 2 and the second joint J2 increases.

[0054] (Relationship between gravitational torque and lost motion) Figure 7 shows the relationship between the gravitational torque τg2 applied to the second joint J2 and the lost motion δ of the tip 2a of the robot arm 2 in the embodiment.

[0055] In Figure 7, the left figure corresponds to the first position P1 in Figure 6, the middle figure corresponds to the second position P2, and the right figure corresponds to the third position P3. At the first position P1, the gravitational torque τg2 is smallest. At the third position P3, the gravitational torque τg2 is largest. At the second position P2, the gravitational torque τg2 is intermediate between the two.

[0056] In Figure 7, the horizontal axis represents time t [s], and the vertical axis represents lost motion δ [mm] in the left-right direction X. δ = 0 represents the target (target position).

[0057] By rotating the second joint J2 alternately clockwise and counterclockwise, the tip 2a of the robot arm 2 is moved alternately to the right X1 and to the left X2, bringing the tip 2a of the robot arm 2 closer to the target (δ=0).

[0058] As shown in Figure 7, when the robot arm 2 is in the first position P1 (left figure), if the tip 2a of the robot arm 2 is brought towards the target (δ=0) from the right X1 (positive side), the tip 2a of the robot arm 2 will stop in front of the target (δ=0), and the lost motion δ will be approximately +0.1 mm. Also, when the robot arm 2 is in the first position P1, if the tip 2a of the robot arm 2 is brought towards the target (δ=0) from the left X2 (negative side), the tip 2a of the robot arm 2 will stop in front of the target (δ=0), and the lost motion δ will be approximately -0.1 mm.

[0059] Furthermore, when the robot arm 2 is in the second position P2 (middle diagram), the lost motion δ when the tip 2a of the robot arm 2 is brought towards the target (δ=0) from the right X1 is approximately +0.05 mm, and the lost motion δ when the tip 2a of the robot arm 2 is brought towards the target (δ=0) from the left X2 is approximately -0.05 mm.

[0060] Furthermore, in the third position P3 (right figure), when the tip 2a of the robot arm 2 is brought towards the target (δ=0) from the right X1, the lost motion δ is approximately +0.01 mm, and when the tip 2a of the robot arm 2 is brought towards the target (δ=0) from the left X2, the lost motion δ is approximately -0.01 mm.

[0061] Thus, the magnitude of lost motion δ changes depending on the magnitude of the gravitational torque τg2. The smaller the gravitational torque τg2, the larger the lost motion δ, and the larger the gravitational torque τg2, the smaller the lost motion δ. In other words, when the gravitational torque τg2 on the second joint J2 is large, the backlash (play) between the primary side 32 and the secondary side 33 in the reduction gear 4 is suppressed, and the lost motion δ becomes smaller.

[0062] For example, if the absolute value of the backlash correction value θBL2, |θBL2|, is optimized for the lost motion δ at the first position P1 and fixed at 0.1 mm, then at the first position P1, the tip 2a of the robot arm 2 can be aligned with the target (δ=0), and the lost motion δ can be brought close to zero.

[0063] However, if the absolute value of the backlash correction value θBL2, |θBL2|, is optimized for the lost motion δ at the first position P1 and fixed at 0.1 mm, then at the second position P2 and the third position P3, it becomes an overcorrection, causing the tip 2a of the robot arm 2 to pass the target (δ=0), and the lost motion δ actually becomes larger.

[0064] (Calculation of backlash correction value by the backlash correction value calculation unit) Figure 8 is a graph showing the calculation result of the backlash correction value θBL2 by the backlash correction value calculation unit 63 in the embodiment.

[0065] In Figure 8, the horizontal axis represents the absolute value of the gravitational torque τg² |τg²| [N·m], and the vertical axis represents the gravity correction factor kgc [-].

[0066] The backlash correction value calculation unit 63 calculates the gravity correction rate kgc based on the absolute value of the gravity torque τg2 |τg2|.

[0067] The gravity correction rate kgc is calculated such that when the absolute value of the gravitational torque τg² |τg²| is greater than a predetermined value τgth, the gravity correction rate kgc is smaller than when the absolute value of the gravitational torque τg² |τg²| is less than a predetermined value τgth.

[0068] In this embodiment, the gravity correction factor kgc is calculated to be 1 (kgc = 1) when the absolute value of the gravity torque τg2 |τg2| is less than or equal to a predetermined value τgth, and to be less than 1 and greater than or equal to 0 (0 ≤ kgc < 1) when the absolute value of the gravity torque τg2 |τg2| is greater than the predetermined value τgth. The predetermined value τgth is 0 or greater.

[0069] The gravity correction factor kgc is calculated to change linearly such that the gravity correction factor kgc increases as the absolute value of the gravitational torque τg² |τg²| decreases, and decreases as the absolute value of the gravitational torque τg² |τg²| increases. The gravity correction factor kgc is expressed as a linear function with respect to the gravitational torque τg². The slope kga of the graph is a negative value.

[0070] Here, the predetermined value τgth and the slope kga are set as follows.

[0071] Figure 9 is a graph showing the relationship between gravity torque τg2 and lost motion δ in the first mode M1, where backlash correction is performed with a fixed backlash correction value θBL2, and in the second mode M2, where backlash correction is not performed, according to the embodiment.

[0072] In Figure 9, the horizontal axis represents the absolute value of the gravitational torque |τg²| [N·m], and the vertical axis represents the lost motion δ [mm]. In the first mode M1, the backlash correction value θBL2 is fixed to 0.1 mm, optimized for the lost motion δ at the first position P1, for example.

[0073] The intersection point e between the first mode M1 and the second mode M2 ​​is calculated. On the horizontal axis, a first threshold e1 greater than the intersection point e and a second threshold e2 less than the intersection point e are set so that the intersection point e is located in the middle. Then, the gravitational torque τg2 at the second threshold e2 is set to a predetermined value τgth.

[0074] Returning to Figure 8, we set the gravity correction rate kgc to "1" when the gravitational torque τg2 is a predetermined value τgth (second threshold e2), and the gravity correction rate kgc to "0" when the gravitational torque τg2 is at the first threshold e1. In this case, the slope kga can be obtained by connecting the two with a line segment.

[0075] In this way, once the absolute value of the gravitational torque τg² |τg²| is determined, the gravity correction factor kgc (0 to 1) can be found.

[0076] The backlash correction value calculation unit 63 calculates the backlash correction value θBL2 based on the sign of the velocity component dθc2 (of the second joint J2) and the gravity correction rate kgc.

[0077] As described above, the tip 2a of the robot arm 2 stops before reaching the target (δ=0) in its direction of travel. Therefore, it is necessary to advance the tip 2a of the robot arm 2 further in the direction of travel by backlash correction. Accordingly, the sign of the backlash correction value θBL2 must match the sign of the velocity component dθc2.

[0078] Figure 10 is a flowchart showing the calculation flow of the backlash correction value θBL2 by the backlash correction value calculation unit 63 in the embodiment.

[0079] This calculation flow starts from the beginning, and in the first step S1, the backlash correction value calculation unit 63 determines whether the absolute value of the gravitational torque τg2 |τg2| is greater than a predetermined value τgth (|τg2| > τgth?). If the absolute value |τg2| is less than or equal to the predetermined value τgth (S1, No, |τg2| ≤ τgth), the process proceeds to the second step S2. If the absolute value |τg2| is greater than the predetermined value τgth (S1, Yes, |τg2| > τgth), the process proceeds to the third step S3.

[0080] In the second step S2, the backlash correction value calculation unit 63 uniformly sets the gravity correction rate kgc to "1" (kgc = 1). After the second step S2 is completed, the process proceeds to the sixth step S6.

[0081] In the third step S3, the backlash correction value calculation unit 63 calculates the gravity correction rate kgc using the formula (kgc = 1 - kga × (|τg2| - τgth)). Here, the predetermined value τgth and the slope kga are obtained in advance by the method described above. Note that the predetermined value τgth coincides with the second threshold e2 (τgth = e2). After the third step S3 is completed, the process proceeds to the fourth step S4.

[0082] In the fourth step S4, the backlash correction value calculation unit 63 determines whether the gravity correction rate kgc calculated in the third step S3 is greater than or equal to zero (kgc ≥ 0?). Note that when the absolute value of the gravity torque τg2 |τg2| is greater than the first threshold e1, the gravity correction rate kgc becomes less than zero. e1 = τgth + 1 / kga.

[0083] If the gravity correction rate kgc is less than zero (S4, No, kgc < 0), proceed to the fifth step S5. If the gravity correction rate kgc is greater than or equal to zero (S4, Yes, kgc ≥ 0), proceed to the sixth step S6. In the fifth step S5, the backlash correction value calculation unit 63 uniformly sets the gravity correction rate kgc to zero (kgc = 0). After the fifth step S5 is completed, proceed to the sixth step S6.

[0084] In the sixth step S6, the backlash correction value calculation unit 63 determines whether the velocity component dθc2 of the second joint J2 is positive or negative. Specifically, in the sixth step S6, the backlash correction value calculation unit 63 determines whether the velocity component dθc2 is positive or negative (dθc2 ≥ 0). For convenience, the case where the velocity component dθc2 is zero (dθc2 = 0) is included as positive. If the velocity component dθc2 is negative (S6, No, dθc2 < 0), the process proceeds to the seventh step S7. If the velocity component dθc2 is positive (including zero) (S6, Yes, dθc2 ≥ 0), the process proceeds to the eighth step S8.

[0085] In the seventh step S7, the backlash correction value calculation unit 63 sets the sign flag dir to "-1" (dir = -1). After the seventh step S7 is completed, the process proceeds to the ninth step S9. In the eighth step S8, the backlash correction value calculation unit 63 sets the sign flag dir to "+1" (dir = +1). After the eighth step S8 is completed, the process proceeds to the ninth step S9.

[0086] In the ninth step S9, the backlash correction value calculation unit 63 calculates the backlash correction value θBL2 based on the sign of the velocity component dθc2 and the gravity correction rate kgc. Specifically, it substitutes the value obtained above into the formula (θBL2 = dir × kgc × θBL02). Here, the provisional backlash correction value θBL02 is a value that serves as the reference value for the backlash correction value θBL2 and is set in advance. The provisional backlash correction value θBL02 is greater than or equal to zero. The provisional backlash correction value θBL02 is, for example, a value set to optimize for lost motion δ at the first position P1, and the absolute value of ±0.1 mm is |±0.1 mm| = 0.1 mm. When the ninth step S9 is completed, the control flow reaches its end.

[0087] In this way, the robot control device 20 controls the movement of the robot arm 2 having the second joint J2.

[0088] (Effects) Lost motion δ can change depending on the magnitude of the gravitational torque τg2 applied to the second joint J2. For example, if gravity is present and it is greater than the frictional force at the joint, gravity will cause the backlash (looseness) to shift in one direction regardless of the direction of movement, thus reducing the lost motion δ. If the backlash correction value θBL2 is fixed at a predetermined value, and the gravitational torque τg2 increases and the lost motion δ decreases, this will result in overcorrection, and the lost motion δ will actually increase.

[0089] In this embodiment, the backlash correction value θBL2 can be changed according to the magnitude of the gravitational torque τg2, thereby suppressing the increase in lost motion δ due to overcorrection. Therefore, the position of the robot arm 2 having the second joint J2 can be controlled with high precision.

[0090] The gravity correction rate kgc is calculated such that when the absolute value of the gravitational torque τg² |τg²| is greater than a predetermined value τgth, the gravity correction rate kgc is smaller than when the absolute value of the gravitational torque τg² |τg²| is less than a predetermined value τgth. This makes it easy to reduce the backlash correction value θBL2 when the absolute value of the gravitational torque τg² |τg²| is greater than a predetermined value τgth.

[0091] The gravity correction factor kgc is calculated to be "1" when the absolute value of the gravity torque τg² |τg²| is less than or equal to a predetermined value τgth, and to be less than "1" and greater than or equal to "0" when the absolute value of the gravity torque τg² |τg²| is greater than the predetermined value τgth. In this way, the gravity correction factor kgc can be suitably varied within the range of 0 to 1.

[0092] The gravity correction factor kgc is calculated to change linearly such that the gravity correction factor kgc increases as the absolute value of the gravitational torque τg² |τg²| decreases, and decreases as the absolute value of the gravitational torque τg² |τg²| increases. This suppresses the adverse effects associated with abrupt changes in the gravity correction factor kgc.

[0093] (Other Embodiments) Although the present disclosure has been described above in terms of preferred embodiments, this description is not limiting, and of course, various modifications, substitutions, and combinations are possible.

[0094] For example, the gravity correction factor kgc may be changed abruptly when the absolute value of the gravitational torque τg² |τg²| exceeds a predetermined value τgth. For example, the gravity correction factor kgc may be uniformly "1" when the absolute value of the gravitational torque τg² |τg²| is less than the predetermined value τgth, and uniformly "0" when the absolute value of the gravitational torque τg² |τg²| is greater than the predetermined value τgth.

[0095] The robot control method according to this embodiment controls the movement of a robot arm 2 having a second joint J2. The robot control method includes a gravity torque calculation step for calculating a gravity torque τg2 applied to the second joint J2, a sign determination step for determining the sign of the velocity component dθc2 of the second joint J2, and a backlash correction value calculation step for calculating a backlash correction value θBL2 to be added to the position command θc2 applied to the second joint J2. In the backlash correction value calculation step, a gravity correction rate kgc is calculated based on the absolute value |τg2| of the gravity torque τg2, and a backlash correction value θBL2 is calculated based on the sign of the velocity component dθc2 and the gravity correction rate kgc.

[0096] In the embodiments described above, calculations relating to the second joint J2 were explained, but this disclosure is not limited thereto, and the above technology may also be applied to calculations relating to other joints J1, J3 to J6.

[0097] This disclosure is extremely useful and has high potential for industrial application, as it can be applied to robot control devices and robot control methods, etc.

[0098] 1 Robot 2 Robot arm 2a Tip 3, 3-1 to 3-6 Motor 4, 4-1 to 4-6 Reducer 5, 5-1 to 5-6 Encoder 20 Robot control device 21 Teaching unit 22 Main control unit 23, 23-1 to 23-6 Servo control unit 24, 24-1 to 24-6 Backlash correction unit 30 Load 31 First arm 32 Primary side 33 Secondary side 34 Bearing 35 Second arm 36 Rotor 37 Spring component 40 Motor transfer function 41 Load transfer function 50 Position control block 51 Speed ​​control block 60 Gravity torque calculation unit 61 Speed ​​calculation unit 62 Code determination unit 63 Backlash correction value calculation unit dir Code flag DL, DM Viscous friction coefficient e Intersection e1 First threshold e2 Second threshold H Distance IM, IM1-IM6 Current J, J1-J6 Joint JL, JM Moment of inertia Ki Velocity integral gain Kpp Position proportional gain Kps Velocity proportional gain Ks Spring constant Kt Torque constant M1 First mode M2 ​​Second mode P1-P3 Position 1 / Rg Reciprocal of reduction ratio S Differential element S1-S9 Step t Time θc, θc1-θc6 Position command θL, θL1-θL6 Arm position (arm rotation position) θM, θM1-θM6 Motor position (motor rotation position) θs Torsion amount dθc2 Velocity component δ Lost motion θBL, θBL1-θBL6 Backlash correction value θBL0, θBL01-θBL06 Backlash correction provisional setting value τg2 Gravity torque τddyn Dynamic torque |τg²| Absolute value τgth Predetermined value kga Incline kgc Gravity correction factor ωcp, ωcp1 to ωcp6 Speed ​​command ωM, ωM1 to ωM6 Motor speed

Claims

1. A robot control device for controlling the movement of a robot arm having a joint, comprising: a gravity torque calculation unit for calculating gravity torque applied to the joint; a sign determination unit for determining the sign of the velocity component of the joint; and a backlash correction value calculation unit for calculating a backlash correction value to be added to a position command applied to the joint, wherein the backlash correction value calculation unit calculates a gravity correction rate based on the absolute value of the gravity torque, and calculates the backlash correction value based on the sign of the velocity component and the gravity correction rate.

2. A robot control device according to claim 1, wherein the backlash correction value calculation unit calculates the gravity correction rate such that the gravity correction rate when the absolute value of the gravity torque is greater than a predetermined value is smaller than the gravity correction rate when the absolute value of the gravity torque is less than a predetermined value.

3. A robot control device according to claim 2, wherein the backlash correction value calculation unit calculates the gravity correction rate to be 1 when the absolute value of the gravity torque is less than or equal to the predetermined value, and less than 1 and greater than or equal to 0 when the absolute value of the gravity torque is greater than the predetermined value.

4. A robot control device according to any one of claims 1 to 3, wherein the backlash correction value calculation unit calculates the gravity correction rate such that it changes linearly as the absolute value of the gravity torque decreases, and as the absolute value of the gravity torque increases.

5. A robot control method for controlling the movement of a robot arm having a joint, comprising: a gravity torque calculation step for calculating a gravity torque applied to the joint; a sign determination step for determining the sign of the velocity component of the joint; and a backlash correction value calculation step for calculating a backlash correction value to be added to a position command for the joint, wherein in the backlash correction value calculation step, a gravity correction rate is calculated based on the absolute value of the gravity torque, and the backlash correction value is calculated based on the sign of the velocity component and the gravity correction rate.

Citation Information

Patent Citations

  • Controller for robot

    JP1995200018A

  • Acceleration / deceleration control method and device, and program for acceleration / deceleration control method

    JP2006252383A

  • Robot control method and robot control device

    WO2020008751A1