Reducing motion error

By using constant gravity to induced rotational motion under torque in the articulated robot arm to detect velocity fluctuations, evaluate and compensate for motion errors, the problem of rotational errors of the robot arm joint is solved, and the control accuracy and performance of the robot arm are improved.

CN119136951APending Publication Date: 2024-12-13ABB (SCHWEIZ) AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202280095692.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2022-05-17
Publication Date
2024-12-13

AI Technical Summary

Technical Problem

Joint rotation in articulated robotic arms is difficult to effectively evaluate and compensate for motion errors due to clearance and inaccuracy in motor and gear manufacturing, affecting the accuracy of position and speed control of the robotic arms.

Method used

By determining the rotational motion of the joint under constant gravity-induced torque, detecting rotational velocity fluctuations, and estimating motion errors based on velocity fluctuations, using sensors and controllers to evaluate and compensate motion errors, reducing noise impacts, and ensuring the accuracy of velocity fluctuations .

Benefits of technology

Effectively evaluate and compensate for the movement error of the robotic arm joint, improve the position and speed control accuracy of the robotic arm, reduce the impact of transmission gear defects on the rotation speed, and improve the overall performance of the robotic arm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119136951A_ABST
    Figure CN119136951A_ABST
Patent Text Reader

Abstract

There is provided a method for assessing a kinematic error in a joint (5a, 5b, 5c, 5d) rotatably connecting a proximal portion (15b, 15c) and a distal portion (14b, 14c) of a robotic arm (1), the joint (5a, 5b, 5c, 5d) having a motor (9b, 9c, 9d) and a sensor (18b, 18c) associated with the joint, the motor being mounted in the aforementioned portions (14b, 14c; 15b, 15c) and coupled to one of the portions (15c, 15b; 14b, 14c) for driving the rotation of the joint (5a, 5b, 5c, 5d) by means of the transmission gear (10b, 10c, 10d), and a sensor for measuring the rotation of the joint (5a, 5b, 5c, 5d). The method comprises the following steps: a) determining the movement of the robot arm (1), wherein the joints (5a, 5b, 5c, 5d) are subjected to a constant gravity-induced torque when rotated from a starting angle to an end angle; b) controlling the execution of the movement and in which the joint (5a, 5b, 5c, 5d) is controlled to rotate at a constant speed from a starting angle to an ending angle, c) detecting a speed fluctuation when the joint (5a, 5b, 5c, 5d) is rotated from the starting angle to the ending angle; and d) estimating a kinematic error based on the velocity fluctuation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and a device for reducing motion errors, in particular to a method and a device for reducing motion errors when controlling the movement of joints in an articulated robot arm. Background Art

[0002] An articulated robotic arm includes a plurality of links that are coupled to each other, to a base, or to an end effector through rotatable joints. The rotation of such joints is usually driven by a motor via a transmission gear. The clearance and inaccuracy in the manufacture of the motor and gears can affect the accuracy of the control of the position and speed of the actuator at the distal end of the robotic arm. Harmonic drive gears are widely used as transmission gears for robots because they have almost no backlash and achieve a high reduction ratio. However, unavoidable inaccuracies (such as eccentricity of gears or splines) will cause the rotational speed of the joint to fluctuate (even if its motor may be driven at a completely constant speed), causing the position of the joint to deviate from the position that would be expected based on knowing the position of the motor and the reduction ratio of the gear. This deviation is usually called motion error or transmission error. Summary of the invention

[0003] The object of the present invention is to provide a simple and cost-effective method to evaluate and compensate for kinematic errors in robot joints.

[0004] According to one aspect of the present invention, the object is achieved by a method for evaluating a motion error in a joint rotatably connecting a proximal portion and a distal portion of a robotic arm, the robotic joint having a motor and a sensor associated with the joint, the motor being mounted in one of the parts and coupled to the other of the parts for driving the rotation of the joint through a transmission gear, and the sensor for measuring the rotation of the joint. The method comprises the following steps:

[0005] a) determining the movement of a robotic arm where a joint is subjected to a constant gravity-induced torque as it is rotated from a starting angle to an ending angle;

[0006] b) controlling the execution of the above movement, and in the above movement, controlling the joint to rotate from the starting angle to the ending angle at a constant speed,

[0007] c) detecting velocity fluctuations of the joint when the joint is rotated from a starting angle to an ending angle; and

[0008] d) Estimating motion errors based on velocity fluctuations.

[0009] By keeping the gravity-induced torque constant, it is ensured that speed fluctuations are indeed due to imperfections in the gears, or at least not affected by gravity-induced deformations of the robot arm.

[0010] Fluctuations may be due to imperfections on the motor side of the transmission gear or on its arm side. When the reduction ratio of the transmission gear is high enough to require several revolutions of the motor to rotate the joint from the starting angle to the ending angle, the effect of the motor-side imperfection can be repeatedly observed when performing the movement, thereby reducing the effect of noise on the estimated motion error.

[0011] While steps b) and c) are preferably performed by a dedicated electronic controller, this need not be the case for step a). In fact, in most practical cases, appropriate movements can be determined without detailed optimization.

[0012] For example, when the joint in question can have its axis of rotation brought into a vertical orientation, the amount of torque to which the joint is subjected due to the weight of its associated distal portion does not change during rotation as long as the internal joints of the distal portion do not move.

[0013] Thus, the method may comprise the step of bringing the axis of rotation into a vertical orientation prior to step b).

[0014] Another important special case is when the two joints have parallel axes of rotation (or in a preliminary step, the axes of the two joints are aligned to be parallel). In the description of this special case, the joint will be referred to as the first joint and the other joint will be referred to as the second joint. In this case, the rotation speed of the second joint can be matched to the rotation speed of the first joint so that the gravity-induced torque experienced by the first joint is constant throughout the rotation.

[0015] Preferably, the axes of rotation are horizontal.

[0016] When the second joint is in the proximal portion, the gravity-induced torque can be kept constant by controlling the rotation of the second joint to be at the same speed as the rotation of the first joint but in the opposite direction. When the second joint is in the distal portion, the gravity-induced torque can be kept constant by rotating the first joint and the second joint in opposite directions and controlling the speed of the second joint so as to keep the lateral displacement between the axis of the first joint and the center of gravity of the distal portion constant.

[0017] Since the angular range over which the first joint can rotate while keeping the above-mentioned lateral displacement constant is limited when the second joint is located in the distal part, it is advantageous to perform step c) at least twice at different lateral displacements and to base the estimation of step d) on data collected in the above-mentioned multiple steps c).

[0018] The rotational speed should be low enough so that the torque caused by centrifugal and Coriolis forces is small compared to the gravity induced torque, preferably less than 10% or 5% of the gravity induced torque.

[0019] According to another aspect of the present invention, the object is achieved by a robot system, the robot system comprising

[0020] - a robotic arm having a proximal portion, a distal portion, a joint connecting the proximal portion and the distal portion, a motor installed in one of the portions, and a transmission gear connecting the motor to the other of the portions to drive the rotation of the joint,

[0021] - a controller for controlling the robot arm to perform a predetermined movement, wherein the controller is adapted to perform at least steps b) and c) of the above method.

[0022] Finally, the object is achieved by a computer software product comprising a plurality of instructions which, when executed by a processor, cause the processor to perform at least steps b) and c) of the above method, or to operate as a controller in the above robotic system.

[0023] Other features and advantages of the present invention will become apparent from the following description of embodiments with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0024] Figure 1 is a block diagram of a robot system implementing the present invention;

[0025] Figure 2 yes Figure 1 A perspective view of a robotic arm of the system;

[0026] Figure 3 The diagram shows the Figure 2 The movement error of the first joint of the manipulator is a moving step;

[0027] Figure 4 The diagram shows the method for measuring the first angle range Figure 2 The movement error of the second joint of the robot arm is a moving step;

[0028] Figure 5 illustrates steps for measuring movement error of a second joint within a second angular range; and

[0029] Figure 6 The figure shows the posture of the robot for measuring the motion errors of the third joint and the fourth joint. DETAILED DESCRIPTION

[0030] Figure 1 is a schematic diagram of a robot system including an articulated robot arm 1 and a controller 2. Figure 2The robot arm 1 shown in more detail in the figure has a fixed base 3 fixed to a support, and a plurality of links 4a-4f rotatably connected to each other and to the base 2 by joints 5a-5f. The joint 5e connecting the links 4d, 4e is hidden behind the link 4e. Each joint 5i (i=a, ...f) enables the link 4i to rotate around the axis 6i on its distal side. The most distal link 4i is a holder for replaceable tools (not shown). The axis 6a is vertical, the axes 6b and 6c are horizontal; the orientations of the other axes are different. Each joint 5i has associated with it a motor for driving its rotation; the motor can be arranged in a member on the proximal side of the joint and connected to a member on its distal side, or vice versa. In Figure 2 In the robotic arm, the motors of joints 5a, 5b, and 5f are respectively located in the components on their proximal sides (i.e., the base 3 and the links 4a, 4e); the distal sides of joints 4c, 4d, and 4e respectively have motors located in the links 4c, 4d, and 4e.

[0031] The motors 9b, 9c, 9d associated with the joints 5b, 5c, 5d and the transmission gears 10b, 10c, 10d connecting these motors to the links 4b, 4b and 4c respectively are shown in FIG. Figure 1 shown.

[0032] Typically, the transmission gear 10j is a harmonic gear in which the wave generator is rigidly coupled to the output shaft of the motor 9j and the teeth of the flexible spline are pressed into partial meshing with the circular spline surrounding it. c And the number of teeth of the flexible spline is i f When gear 10 j The reduction ratio is Since the rotation direction of the flexible spline is opposite to that of the wave generator, the wave generator has rotated 2πi f / i c Afterwards, the two points currently in contact will meet again. The controller 2 includes a trajectory generator 11, and includes a position controller and a speed controller associated with each joint 4j (j=a, b, ... f), of which only the position controllers 12b, 12c and the speed controllers 13b and 13c are shown. The trajectory specifies the coordinates of the reference point of the robot arm (usually called the tool center point TCP that the robot will have at a specified time in the movement process to be reproduced) as a function of time. The trajectory generator 11 stores such a trajectory and, when triggered to reproduce it, outputs an angle command to the position controller 12j at each time point t, which angle command specifies the angle According to the trajectory, the angle At this point in time, it should be taken over by its associated joint 5j.

[0033] Each position controller 12j is connected to a feedback line that transmits a signal representing the current position or rotation speed of its associated joint 4j. The signal can come from different sources. By convention, Figure 1 As shown, the source is an angle sensor 7j, such as a resolver, which is associated with the output shaft of the motor 9j driving the transmission gear 10j and detects the rotation angle q of the output shaft mot,j .

[0034] The position controller 12j generates an output signal which is in accordance with the joint target angle specified by the trajectory generator 11. The desired current position of the motor is obtained from (where it is assumed that the two are strictly proportional), and the actual current motor position derived from the signal on the feedback lines 14b, 14c The output signal can be used directly to control the input power to the motors 9a, 9b; Figure 1 In the case of , it is input to the speed controller 13b, 13c, which compares it with the current joint speed derived from the signal of the sensor 7b, 7c and controls the motor input power based on the difference so that when the desired current position specified by the trajectory generator 11 The position q of the motor output shaft changes at a constant rate over time t. mot,j It also changes accordingly.

[0035] If the reduction ratio R of the transmission gear 10j is j Regardless of the motor angle, the current joint angle of joint 5j is Can be used (where q0 is a constant phase angle) Based on the measured value of the motor angle The accuracy is higher than that of the measurement directly at the joint 5j itself. In fact, the defect of the reduction gear 10j leads to the reduction ratio R j Follow q mot,j Slightly changed.

[0036] Another angle sensor 18j is associated with the output shaft of the transmission gear 10j to directly obtain the measurement value of the joint angle No transmission gears are required in between.

[0037] By forming a difference (also called motion error), the reduction ratio i is detected based on the output of sensors 7j and 18j. j changes, in It is in q mot,j Alternatively, the change can be measured from the joint angle (according to q arm,j =R j qmot,j +q0) reaches a given value and the time offset between the time when the value is actually measured.

[0038] Figure 3 The poses adopted by the robot 1 during the trajectory for evaluating the kinematic errors of the joint 5c are shown. With respect to this joint 5c, the members 4c, 4d, 4e, 4f form the distal part 14c of the robot 1, while the elements 3, 4a and 4b form the proximal part 15c of the robot 1. Figure 3 In the trajectory of , the link 4b rotates clockwise around the axis 6b, while the distal part 14c rotates counterclockwise around the axis 6c by the same angle. The two axes 6b, 6c are parallel, so that the distal part 14c is displaced along a circular path but does not rotate relative to the coordinate system in which the base 3 is stationary. Therefore, the lateral offset d between the axis 6c and the center of gravity 16c of the distal part 14c remains constant throughout the trajectory, and when the distal part 14c is rotated, so is the torque experienced by the joint 4c. All other joints 4a, 4d-f do not rotate throughout the trajectory.

[0039] When the motor 9c is also controlled at a constant speed When rotating, the motion error Δq c All spectral components at frequencies higher than the fundamental frequency of the rotation of the joints 5b, 5c can be regarded as speed variations due to defects in the transmission gear 10c.

[0040] The motion error is approximately represented by the sum of harmonic functions

[0041]

[0042] or

[0043]

[0044] Where k is an integer or i f / i c An integer multiple of .

[0045] As the controller 2 moves the robot 1 as described above, it collects Δq c (q mot,c ) and the adjustable parameter A in equation (1a) or (1b) i,c ,θ i,c or B i,c , C i,c A numerical fit is performed with these measurements. Typically, the most important contribution to the sum of equations (1a) or (1b) is k1 = 2i f / i cand k2 = 2. Therefore, in practice, it is sufficient to fit only these two components, or one or more components may be fitted at higher frequencies k3 or k4.

[0046] The adjustable parameters thus obtained are written to the motion error (KE) calculator 17c, making it possible to determine the corresponding motion error and its time derivative for any target angle output by the trajectory generator 11. By superimposing these on the commands from the trajectory generator, the motion error is compensated to a large extent and the accuracy with which the displacement of the robot arm 1 is controlled can be significantly improved.

[0047] Figure 4 The attitude adopted by the robot 1 during a trajectory for evaluating the kinematic errors of the joint 5b is shown. In this trajectory, the link 4b rotates counterclockwise around the axis 6b. The proximal part 15b comprises only the base 3 and the link 4a, the links 4b to 4f forming the distal part 14b. The center of gravity 16b of the distal part 14b has a small lateral offset d from the axis 6b. In order to keep the torque acting on the joint 5c constant, the displacement d must be constant when the link 4b is rotated. This is achieved by rotating the link 4c and all other more distal links clockwise around the axis 6c.

[0048] As described above, when the robot arm 1 moves along the trajectory, the controller collects motion error data Δq from sensors 7b, 18b b (q mot,b ) to evaluate the motion error of joint 5b.

[0049] Although in Figure 3 In the trajectory of FIG. 1 , joint 5c can rotate 180° or even more while keeping the gravity-induced torque applied by distal portion 14c constant, but joint 5b can rotate by a much smaller angle of about 60° under the constant torque from distal portion 14b and only covers a portion of the actual free rotation range of joint 5b. In order to evaluate the motion error over a wider angle range, the robot 1 can take the following Figure 5 The postures shown: In the left posture among these postures, the orientation of the connecting rod 4b is Figure 4 The orientation is similar to that in the right posture of FIG. 6 ; the links 4c-4f have been rotated to the left, so that the center of gravity 16b is located to the left of the axis 6b. Link 4b can now continue to rotate counterclockwise, and links 4c-4f can rotate clockwise again, as shown in FIG. Figure 5 The right side of the pose is shown to keep the offset d constant again, although its value is different from Figure 4 are different.

[0050] It should be noted that the transmission ratio of the transmission gears 10b, 10c, ... associated with each joint 5a-f of the robot 1 is high enough so that during the trajectory, the joint rotates through such an angular range within which the gravity-induced torque acting on it can remain constant and the motor driving the joint can make several complete revolutions. Any imperfection on the input side of the motor or the transmission gear will affect the motion error at least once per revolution. Therefore, when the robot moves along the trajectory, the effect of such an imperfection can be observed several times, so that its frequency, phase and amplitude can be accurately determined.

[0051] Figure 6 The figure shows a pose of the robot arm 1 in which the center of gravity 16a of the distal part including the links 4a-f or including the distal part of the links 4d-f is located on the axis 6a. In this pose, the joint 5a can be rotated as required, performing a complete revolution or even multiple revolutions. Since the gravity-induced torque acting on the joint 5a is always zero, any change in the acceleration measured by the sensor 7 when rotating around the axis 6a can be attributed to defects in the transmission gear 10a or its associated motor 9a, and can be used to determine the motion error of the joint 5a as described above.

[0052] Furthermore, the axis 6d of the joint 5d is oriented vertically and the center of gravity 16a including the distal parts of the links 4d-f is located on this axis so that in the anatomy of the joint 5a, the joint 5d can be rotated and its kinematic errors evaluated in this posture.

[0053] Reference numerals

[0054] 1: Robotic Arm

[0055] 2: Controller

[0056] 3: Base

[0057] 4: Connecting rod

[0058] 5: Joints

[0059] 6: Axis

[0060] 7: Sensor

[0061] 8: End effector

[0062] 9: Motor

[0063] 10: Transmission gear

[0064] 11: Trajectory Generator

[0065] 12: Position controller

[0066] 13: Speed ​​controller

[0067] 14: Distal part

[0068] 15: Proximal part

[0069] 16: Center of Gravity

[0070] 17: KE Calculator

[0071] 18: Sensor

Claims

1. A method for evaluating a motion error in a joint (5a, 5b, 5c, 5d), the joint rotatably connecting a proximal portion (15b, 15c) and a distal portion (14b, 14c) of a robotic arm (1), the joint (5a, 5b, 5c, 5d) having a motor (9b, 9c, 9d) and a sensor (18b, 18c) associated with the joint, the motor being mounted in one of the portions (14b, 14c; 15b, 15c) and coupled to the other of the portions (15c, 15b; 14b, 14c) for driving the rotation of the joint (5a, 5b, 5c, 5d) via a transmission gear (10b, 10c, 10d) having a reduction ratio, the sensor being used for measuring the rotation of the joint (5a, 5b, 5c, 5d), the method comprising the following steps: a) determining the movement of the robot arm (1), wherein the joints (5a, 5b, 5c, 5d) are subjected to a constant gravity-induced torque when rotating from a starting angle to an ending angle; b) controlling the execution of the movement, and in the movement, controlling the joints (5a, 5b, 5c, 5d) to rotate from the starting angle to the ending angle at a constant speed, c) detecting speed fluctuations of the joints (5a, 5b, 5c, 5d) when the joints (5a, 5b, 5c, 5d) rotate from the starting angle to the ending angle; as well as d) estimating the motion error based on the velocity fluctuation.

2. A method according to claim 1, wherein the sensor (18b, 18c) is an angular sensor associated with an output shaft of the transmission gear (10b, 10c, 10d).

3. A method according to claim 1 or 2, wherein detecting speed fluctuations includes determining the angle of the output shaft of the motor, calculating the expected angle of the joint based on the angle of the output shaft using the reduction ratio of the transmission gear (10b, 10c, 10d), and determining the difference between the expected angle and the angle measured by the sensor (18b, 18c).

4. The method according to any one of claims 1 to 3, wherein the reduction ratio of the transmission gear is high enough to require several revolutions of the motor to rotate the joint from the starting angle to the ending angle.

5. The method according to any one of claims 1 to 4, wherein the movement is selected such that at least when rotating from the starting angle to the ending angle, the joint has a vertical axis of rotation.

6. A method according to any one of claims 1 to 4, wherein the joint (5b; 5c) is a first joint, and the robotic arm (1) includes at least one second joint (5c; 5b), and the movement is selected so that at least when the first joint (5b; 5c) is rotated from the starting angle to the ending angle, the first joint and the second joint (5b, 5c) have parallel rotation axes (6b, 6c), and the rotation speed of the second joint (5c; 5b) matches the rotation speed of the first joint (5b; 5c), so that the gravity-induced torque borne by the first joint (5b; 5c) is constant.

7. Method according to claim 6, wherein the rotation axis (6b, 6c) is horizontal.

8. The method according to claim 6 or 7, wherein the second joint (5b) is in the proximal portion (15c), and the rotation of the second joint (5b) is at the same speed but in the opposite direction as the rotation of the first joint (5c).

9. A method according to claim 6 or 7, wherein the second joint (5c) is in the distal part (14b), and the rotation of the second joint (5c) is opposite to the rotation direction of the first joint (5b), and the rotation speed of the second joint (5c) is controlled so as to maintain a constant lateral offset (d) between the center of gravity (16b) of the distal part (14b) and the axis (6b) of the first joint (5b).

10. A robot system comprising: - A robotic arm (1) comprising a proximal portion (15a, 15b, 15c, 15d), a distal portion (14a, 14b, 14c, 14d), a joint (5a, 5b, 5c, 5d) connecting the proximal portion and the distal portion (15a, ..., 14d), a motor (9a, 9b, 9c, ...) installed in one of the portions (15a, ..., 14d), a transmission gear (10a, 10b, 10c, ...) connecting the motor (9a, 9b, 9c, ...) to the other of the portions (15a, ..., 14d) for driving the joint (5a, 5b, 5c, 5d) to rotate, - a controller (11) for controlling the robot arm (1) to perform a predetermined movement, wherein the controller is adapted to perform at least steps b) and c) of the method according to any of the preceding claims.

11. The robotic system according to claim 10, wherein the sensor (18b, 18c) is an angular sensor associated with an output shaft of the transmission gear (10b, 10c, 10d).

12. A robot system according to claim 10 or 11, wherein the controller (2) comprises a trajectory generator (11) and a position controller (12b, 12c), the trajectory generator being used to output a position command based on a predetermined trajectory at a given moment, the predetermined trajectory mapping successive moments to the desired rotation angles associated with the joints (5a, 5b, 5c, 5d) or the motors (10a, 10b, 10c, ...) associated with the joints, the position command specifying the desired rotation angle associated with the given moment, the position controller (12b, 12c) being used to adjust the rotation angles of the joints (5a, 5b, 5c, 5d) or the motors (10a, 10b, 10c, ...) to the received position commands, wherein the controller (2) is adapted to d) evaluating a motion error associated with a given angle of the joint based on the velocity fluctuations, and e) inputting the desired rotation angle corrected by the associated motion error of the joint as the position command to the position controller.

13. A computer software product comprising a plurality of instructions which, when executed by a processor, cause the processor to perform at least steps b) and c) of the method according to any one of claims 1 to 9, or to operate as the controller in a robotic system according to any one of claims 10 to 12.