Get the gear stiffness of the robot joint gears of the robot arm

By combining industrial sensors and dynamic models, real-time estimation of gear stiffness of robot joint gears has been solved, and the control accuracy and fault prediction capabilities of robot arms are improved.

CN112654467BInactive Publication Date: 2025-01-14UNIVERSAL ROBOT
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN201980058114.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-09-14
Filing Date
2019-09-10
Publication Date
2025-01-14
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The prior art is difficult to estimate and accurately monitor the time-varying stiffness of robot joint gears online, resulting in inaccurate dynamic models of robot arms, affecting control accuracy and fault prediction.

Method used

By combining commonly used industrial sensors, using motor torque and angular position information, the gear stiffness of the robot joint gear is based on the dynamic model of the gear stiffness of the robot joint gear and is updated in real time during the operation of the robot arm, the dependence on force/torque sensors is avoided.

Benefits of technology

It realizes more accurate control of the robot arm, reduces unplanned downtime, timely predicts and maintains gear failures, and improves the operation accuracy and reliability of the robot arm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112654467B_ABST
    Figure CN112654467B_ABST
Patent Text Reader

Abstract

The present invention provides a method for obtaining a gear stiffness of a robot joint gear of a robot joint of a robot arm, wherein the robot joint is connectable to at least another robot joint. The robot joint comprises a joint motor having a motor shaft configured to rotate an output shaft via the robot joint gear. The method comprises the following steps: - applying a motor torque to the motor shaft using the joint motor; - obtaining an angular position of the motor shaft; - obtaining an angular position of the output shaft; - determining the gear stiffness based on at least the angular position of the motor shaft, the angular position of the output shaft and a dynamic model of the robot arm.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a robot joint gear for a robot arm, the robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange. Background Art

[0002] A robot arm comprising a plurality of robot joints and links, wherein motors can rotate the joints relative to each other, is known in the field of robotics. Typically, the robot arm comprises a robot base serving as a mounting base for the robot arm and a robot tool flange to which various tools can be attached. A robot controller is configured to control the robot joints to move the robot tool flange relative to the base, for example, in order to instruct the robot arm to perform a plurality of work instructions.

[0003] Typically, a robot controller is configured to control robot joints based on a dynamic model of the robot arm, wherein the dynamic model defines the relationship between the forces acting on the robot arm and the resulting acceleration of the robot arm. Typically, the dynamic model includes a kinematic model of the robot arm, knowledge about the inertia of the robot arm, and other parameters that affect the movement of the robot arm. The kinematic model defines the geometric relationships between the different parts of the robot arm, and may include information about the robot arm (such as the lengths, dimensions of the joints and links), and may be described, for example, by Denavit-Hartenberg parameters, etc. The dynamic model allows the controller to determine which torques the joint motors will provide in order, for example, to move the robot joints at a specified speed, acceleration, or to keep the robot arm in a static pose.

[0004] On many robotic arms, various end effectors can be attached to the robotic tool flange, such as grippers, vacuum grippers, magnetic grippers, thread lathes, welding equipment, dispensing systems, vision systems, etc.

[0005] In some robots, the robot joint includes a joint motor having a motor shaft configured to rotate an output shaft via a robot joint gear. Typically, the output shaft is connected to parts of the robot arm and is configured to rotate the parts of the robot arm relative to each other. The robot joint gears form a transmission system that is configured to transfer the torque provided by the motor shaft to the output shaft, for example to provide a gear ratio between the motor shaft and the output shaft. The robot joint gears may, for example, be provided as spur gears, planetary gears, bevel gears, worm gears, strain wave gears or other types of transmission systems. Due to the elasticity of various types of transmissions, flexibility is typically present in transmissions used for industrial robots. This flexibility may result in undesirable dynamic time-varying displacements between the positions of parts of the robot arm.

[0006] Taking gear flexibility into account in the dynamic model makes the dynamic model more accurately resemble the dynamics of a real robot arm, since the robot joint torques originating from the gear deformations are known. A more accurate dynamic model can, for example, allow a robot controller to control the robot arm with greater accuracy and precision. A more accurate dynamic model can also allow a robot controller to more accurately identify external disturbances, such as human disturbances, which are of great concern in terms of safety.

[0007] Research has been conducted to accurately identify the dynamic characteristics of robot gear systems. However, a practical problem when considering joint stiffness in robot controller design is that joint stiffness changes with wear due to the wear of material at the gear mesh [1], [2], [3].

[0008] Estimation of joint stiffness on industrial robots has been accomplished by several researchers using an offline identification process. Offline identification processes are not well suited to solving the problem of time-varying joint stiffnesses. Such processes must be rerun from time to time to keep the joint stiffness information up to date. While the offline identification process is running, the robot is not able to perform any other tasks, with obvious negative consequences for the user. Despite the shortcomings of offline calibration processes for joint stiffness estimation, many references are given to such offline identification processes for solving the problem of robot joint stiffness estimation. For offline identification of joint stiffnesses, one approach is to apply external excitations to one robot joint at a time, resulting in a smaller dynamic model and therefore easier to identify, such as [4], [5], [6], [7].

[0009] Another option is to use an external laser tracking sensor system to estimate the joint stiffness values ​​in order to visually track the end effector displacement for a given applied rotation, as in [8] and [9], where the applied rotation is equal to the force and torque applied at the end effector. A third option is to incorporate two absolute position rotary encoders in the robot joint to be able to directly measure the joint deflection, then manually apply a known force at the end effector and use the kinematic model (Jacobian matrix) of the robot arm to calculate the joint torque, as in [9]. However, this procedure requires external and known loading of the end effector and does not allow the robot to move during the procedure. A fourth option is to estimate the joint stiffness using a so-called locked link joint procedure, as in

[10] , where the end effector is clamped to the environment and the external rotation between the clamped end effector and the environment is measured using motor position measurements and motor torque data or force / torque sensors.

[0010] There is very little work available on online estimation of time-varying nonlinear stiffness, such as the AwAs-II joint

[11] . These works focus on variable stiffness actuators (VSAs), such as those found in the DLR Hand Arm System

[12] (DLR Institute of Robotics and Mechatronics), however, most industrial robots do not include VSAs. In 2011, Flacco and De Luca

[13] estimated the nonlinear stiffness of robot joints using only motor position sensors by computing dynamic residuals based on generalized momentum and then estimating the stiffness parameters using a least squares algorithm.

[0011] The robustness issue was later addressed in

[14] by introducing a kinematic Kalman filter to handle discretization and quantization errors, and using a modified recursive least squares algorithm to better handle poor excitation conditions. However, the stiffness parameters were assumed to be time-invariant. In

[15] , further improvements to their method were performed by modifying the stiffness estimation algorithm to handle time-varying stiffness using a recursive least squares based on a QR decomposition (QR-RLS) that is capable of handling time-varying stiffness properties. A non-causal Savitzky-Golay (SG) filter was used to remove noise on the input / output signals. However, there was no experimental support for their findings.

[0012] In May 2013, Menard et al.

[16] developed an observer capable of online estimation of the time-varying stiffness of a VSA. Experimental analysis of the VSA system revealed parameter uncertainties of up to 25% of the true stiffness. The friction force was assumed to be purely viscous with a single constant coefficient. This friction model cannot accurately describe the real friction characteristics of most electromechanical systems because well-known friction properties such as Coulomb friction and the Stribeck effect are completely neglected.

[0013] In July 2013, Cirillo et al.

[17] demonstrated online stiffness estimation for VSA by measuring elastic energy using optoelectronic sensors built into robot joints. Summary of the invention

[0014] The object of the present invention is to solve the above limitations of the prior art or other problems of the prior art. This is achieved by a method for obtaining the gear stiffness of a robot joint gear as defined in the independent claim. The dependent claims describe possible implementations of the method according to the present invention. The advantages and beneficial effects of the present invention are described in the specific embodiments of the present invention. In addition, the object of the present invention is solved by a method for controlling a robot arm based on the obtained gear stiffness and a robot arm having a controller configured to control the robot arm based on the obtained gear stiffness.

[0015] A robot controller that takes joint flexibility into account may perform well immediately after calibration, but for good performance during the life of the robot, the joint stiffness must be estimated online. Furthermore, estimating joint stiffness online will allow predictive maintenance in case of gear unit failure. In most cases, no sensors are available to measure joint stiffness directly, so stiffness information is gathered by combining an accurate model of the compliant torque with available measurements, such as position and force / torque sensor measurements, which can be implemented in the robot or by using external hardware.

[0016] The present invention provides a simple method for obtaining the gear stiffness of a robot joint gear of a robot arm without the need to integrate expensive force / torque sensors, because the joint gear stiffness of the robot joint gear can be determined based on sensors commonly used in industrial robots, which also makes it possible to integrate this method into existing industrial robots with such sensors. In addition, the gear stiffness can be obtained online during the use of the robot and is therefore used as an input to a dynamic model for controlling the robot, thereby providing a more accurate control of the robot. Therefore, when controlling the robot, vibrations and inaccuracies in the movement of the robot due to the gear stiffness can be taken into account. In addition, mainly due to the wear of the robot joint gear, the gear stiffness changes over time, and obtaining the gear stiffness online makes it possible to control the robot based on the change in the gear stiffness, thereby maintaining / improving the accuracy of the robot over time. Further, obtaining the gear stiffness online over time makes it possible to predict the failure of the robot joint gear, because the gear stiffness can be used to indicate when the robot joint gear is about to fail. Therefore, the robot joint gear can be sent for maintenance so that the robot joint gear can be replaced / repaired, thereby reducing the unplanned downtime of the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0017] Figure 1 A robot arm configured to obtain gear stiffness of a robot joint gear is shown;

[0018] Figure 2 shows a schematic cross-sectional view of a robot joint;

[0019] Figure 3 A model of a robot joint gear is shown;

[0020] Figure 4 A simplified block diagram of a robot arm is shown;

[0021] Figure 5 A flow chart showing a method of obtaining the gear stiffness of a robot joint gear of a robot joint of a robot arm;

[0022] Figure 6A flow chart showing another method of obtaining the gear stiffness of a robot joint gear of a robot joint of a robot arm;

[0023] Figure 7 shows a robot arm in a posture used in an experimental analysis of the method according to the invention;

[0024] Figure 8 shows the friction torque / speed graphs obtained by applying different constant speed signals on the base joint of the robot arm while measuring the joint motor current;

[0025] Fig. 9 shows a compliance torque / gear deformation graph obtained by applying a set of known torques to the tool flange of a robot arm using a dynamometer and measuring the deformation as the difference between the absolute joint encoder readings at each side of the robot joint gear;

[0026] Fig.10 shows the angular position, angular velocity and angular acceleration of the base joint of the robot arm used in the experimental analysis;

[0027] Fig.11 A schematic representation of the Generalized Maxwell-Slip friction model is shown;

[0028] Fig.12 shows a deformation diagram of a flexible torque / transmission device obtained by the method according to the invention;

[0029] Fig.13 Shown are the gear stiffness of the robot joint gear obtained in the experimental analysis. DETAILED DESCRIPTION

[0030] The present invention has been described in view of the exemplary embodiments intended only to illustrate the principles of the invention. The skilled person will be able to provide several embodiments within the scope of the claims. Throughout the specification, the reference numerals of similar elements providing similar effects have the same last two digits. In addition, it should be understood that in the case where an embodiment includes multiple identical features, only some of the features may be marked by reference numerals.

[0031] The present invention can be implemented as a robot arm and according to Figure 11. The robot arm 101 is described with reference to the figure. The robot arm 101 includes a plurality of robot joints 103a, 103b, 103c, 103d, 103e, 103f and robot links 104b, 104c, 104d connecting a robot base 105 and a robot tool flange 107. The base joint 103a is directly connected to the shoulder joint and is configured to rotate the robot arm around a base axis 111a (shown as a dashed line) as indicated by the rotation arrow 113a. The shoulder joint 103b is connected to the elbow joint 103c via the robot link 104b and is configured to rotate the robot arm around a shoulder axis 111b (shown as a cross indicating the axis) as indicated by the rotation arrow 113b. The elbow joint 103c is connected to the first wrist joint 103d via the robot link 104c and is configured to rotate the robot arm around the elbow axis 111c (shown as a cross indicating the axis), as shown by the rotation arrow 113c. The first wrist joint 103d is connected to the second wrist joint 103e via the robot link 104d and is configured to rotate the robot arm around the first wrist axis 111d (shown as a cross indicating the axis), as shown by the rotation arrow 113d. The second wrist joint 103e is connected to the robot tool joint 103f and is configured to rotate the robot arm around the second wrist axis 111e (shown in dot-dash lines), as shown by the rotation arrow 113e. The robot tool joint 103f includes a robot tool flange 107 that can rotate around the tool axis 111f (shown in dot-dash lines), as shown by the rotation arrow 113f. Thus, the robot arm shown is a six-axis robot arm with six degrees of freedom, however, it should be noted that the present invention can be arranged in a robot arm including fewer or more robot joints, and the robot joints can be connected to adjacent robot joints directly or via robot links. It should be understood that the robot joints can be the same and / or different, and the robot joint gears can be omitted in some of the robot joints. The direction of gravity 123 is also shown in the figure.

[0032] The robotic arm comprises at least one robotic controller 115 configured to control the robotic joints by controlling the motor torques provided to the joint motors based on a dynamic model of the robot. The robotic controller 115 may be provided as a computer including an interface device 117 that enables a user to control and program the robotic arm. The controller may be provided as Figure 1The interface device may be provided as an external device as shown, or as a device integrated into the robot arm. The interface device may be provided, for example, as a teach pendant known in the field of industrial robots, which may communicate with the controller via a wired or wireless communication protocol. The interface device may, for example, include a display 119 and a plurality of input devices 121, such as buttons, sliders, touch pads, joysticks, trackballs, gesture recognition devices, keyboards, etc. The display may be provided as a touch screen that acts as both a display and an input device.

[0033] Figure 2 Schematic cross-sectional view of the robot joint 203 is shown. The schematic robot joint 203 can reflect Figure 1 Any one of the robot joints 103a-103f of the robot 101 of the robot 103. The robot joint includes a joint motor 209 having a motor shaft 225. The motor shaft 225 is configured to rotate an output shaft 227 via a robot joint gear 229. The output shaft 227 rotates around an axis of rotation 211 (shown in dashed lines) and can be connected to an adjacent part of the robot (not shown). Therefore, the adjacent part of the robot can rotate around the axis of rotation 211 relative to the robot joint 203, as shown by the rotation arrow 213. In the illustrated embodiment, the robot joint includes an output flange 231 connected to the output shaft, and the output flange can be connected to an adjacent robot joint or an arm portion of a robot arm. However, the output shaft can be directly connected to an adjacent part of the robot, or by any other means so that the adjacent part of the robot can be rotated by the output shaft.

[0034] The joint motor is configured to rotate the motor shaft by applying a motor torque to the motor shaft as is known in the art of motor control, for example based on a torque τ indicated to be applied by the motor shaft 控制,马达 The motor control signal 233 is provided.

[0035] The robot joint gear 229 forms a transmission system configured to transfer the torque provided by the motor shaft to the output shaft, for example to provide a gear ratio between the motor shaft and the output shaft. The robot joint gear may be provided, for example, as a spur gear, a planetary gear, a bevel gear, a worm gear, a strain wave gear or other types of transmission systems. The robot joint includes at least one joint sensor that provides a sensor signal indicating at least the angular position q of the output shaft and the angular position θ of the motor shaft. For example, the angular position of the output shaft may be indicated by an output encoder 235 that provides an output encoder signal 236 indicating the angular position of the output shaft relative to the robot joint. Similarly, the angular position of the motor shaft may be provided by an input encoder 237 that provides an input encoder signal 238 indicating the angular position of the motor shaft relative to the robot joint. The output encoder 235 and the input encoder 237 may be any encoder capable of indicating the angular position, velocity and / or acceleration of the output shaft and the motor shaft, respectively. The output / input encoder may be configured, for example, to obtain the position of the corresponding shaft based on the position of the encoder wheel 239 arranged on the corresponding shaft. The encoder wheel can be, for example, an optical encoder wheel or a magnetic encoder wheel known in the field of rotary encoders. An output encoder indicating the angular position of the output shaft and an input encoder indicating the angular position of the motor shaft make it possible to determine the relationship between the input side (motor shaft) and the output side (output shaft) of the robot joint gear.

[0036] The robot joint may optionally include one or more motor torque sensors 241 that provide a motor torque signal 242 indicative of the torque provided by the motor shaft. For example, the motor torque sensor may be provided as a current sensor that obtains the current through the coil of the joint motor, whereby the motor torque may be determined as known in the art of motor control. For example, in conjunction with a multi-phase motor, a plurality of current sensors may be provided to obtain the current through each of the phases of the multi-phase motor, and the motor torque may then be obtained based on the orthogonal current obtained from the phase currents by a Park Transformation. Alternatively, other types of sensors such as force-torque sensors, strain gauges, etc. may be used to obtain the motor torque.

[0037] Figure 3A model of a robot joint 303 connecting a robot link 304i-1 and a robot link 304i is shown, wherein a joint motor 309i is arranged on the robot link 304i-1 and rotates the robot link 304i relative to the robot link 304i-1. The motor shaft 325i of the joint motor is connected to the output shaft 327i via a robot joint gear 329i (shown in schematic form), and the robot link 304i rotates with the output shaft 327i. The robot joint gear provides a gear ratio between the motor shaft and the output shaft, and in an ideal gear, the rotation of the motor shaft is immediately converted into the rotation of the output shaft according to the gear ratio of the robot joint gear. However, as described in the background of the present invention, there is flexibility in the type of robot joint gear used in the field of robot arms. The flexibility of the robot joint gear can be indicated by the gear stiffness of the robot joint gear, which defines the relationship between the torque passing through the robot joint gear and the deformation between the input side (motor shaft) and the output side (output shaft) of the robot joint gear. The flexibility of the robot joint gear can be represented by a spring 326 and a damper 328 connected in parallel between the input side (motor shaft) and the output side (output shaft) of the robot joint gear. The spring constant K of the spring i indicates the gear stiffness of the robot joint gear, and the damping constant D of the damper i Indicates the damping of the robot joint gear. As described in the background of the invention, the gear stiffness and damping of the robot joint gear can vary; therefore, K i and D i Does not have to be a constant.

[0038] When torque is applied to the robot joint gear, the non-infinite gear stiffness of the robot joint causes deflection between the input side and the output side of the robot joint gear. The deflection of the robot joint gear can be indicated by a deflection variable indicating the difference between the angular position θ of the motor shaft and the angular position q of the output shaft, so the deflection variable is defined as:

[0039] Equation 1 Φ 关节,i =Θ i -q i

[0040] Joint transmission torque τ 关节,i defines the torque transmitted from the motor shaft to the output shaft via the robot joint gears and can be modeled as the deflection variable φ 关节 Function of and its time derivative:

[0041] Equation 2

[0042] where τ E,i (Φ 关节,i ) depends on the gear stiffness Ki and the flexibility torque of the deflection of the robot joint gears, and It depends on the damping coefficient D i and the first-order time derivative of the deflection of the robot joint gear and the damping torque of the time derivative of the deflection of the robot joint gear.

[0043] Robot joint gear The damping torque can be obtained, for example, by the following steps:

[0044] ·Fix the output shaft of the robot joint gear;

[0045] Apply torque to the motor shaft of the robot joint gear to produce gear deflection;

[0046] Keep the motor shaft of the robot joint gear stationary and remove the applied torque from the motor shaft of the robot joint gear;

[0047] Observe the position of the motor shaft of the robot joint gear over time when the motor shaft of the robot joint gear undergoes a damped harmonic motion with an amplitude that decreases over time;

[0048] Damping torque is a measure of the energy dissipated during motion. Assuming underdamped harmonic motion, the damping coefficient D i Can be obtained as:

[0049] Equation 3

[0050] Where B is the mass moment of inertia of the motor shaft, A 1 and A 2 are the amplitudes of the first vibration and the second vibration respectively, and t 1 and t 2 are the times of the first and second movements respectively.

[0051] If the motion is not underdamped, a larger mass moment of inertia is added to the input shaft.

[0052] Gear stiffness K of robot joint gear i The characteristic is that the flexible torque τ that causes the gear deflection E How much does it change as a function of gear deflection. Therefore, the gear stiffness can be expressed as:

[0053] Equation 4

[0054] Assuming that there is no compliance torque for the undeformed transmission and that the transmission behaves the same in compression and extension, therefore:

[0055] Equation 5

[0056] Equation 6

[0057] Figure 4 A simplified block diagram of a robot arm including a plurality of (n) robot joints 403i, 403i+1 ... 403n is shown. The robot arm may be similar to Figure 1 The robot arm shown in FIG. 1 is implemented as having a plurality of interconnected robot joints, wherein the robot joints can be similar to Figure 2 It should be understood that for simplicity, some of the robot joints and robot links between the robot joints are omitted. The controller is connected to an interface device including a display 119 and a plurality of input devices 121, such as a combination of Figure 1 The controller 415 includes a processor 443, a memory 445, and at least one input and / or output port enabling communication with at least one peripheral device.

[0058] The controller is configured to control the joint motors of the robot joints by providing motor control signals to the joint motors. The motor control signals 433i, 433i+1...433n indicate the motor torque τ that each joint motor will provide through the motor shaft 控制,马达,i , τ 控制,马达,i+1 and τ 控制,马达,n . The motor control signal may indicate a desired motor torque, a desired torque provided by an output shaft, a current provided by a motor coil, or any other signal from which a motor torque may be obtained. The motor torque signal may be sent to a motor control driver (not shown) configured to drive a motor joint with a motor current that produces the desired motor torque. The robot controller is configured to determine the motor torque based on a dynamic model of the robot arm as known in the prior art. The dynamic model enables the controller to calculate which torque the joint motor should provide to each of the joint motors in order for the robot arm to perform a desired movement and / or be arranged in a static posture. The dynamic model of the robot arm may be stored in a memory 445.

[0059] As combined Figure 2 The robot joint comprises: an output encoder which provides an indication of the angular position q of the output shaft relative to the corresponding robot joint ,i ,q ,i+1 …q, n Output encoder signals 436i, 436i+1...436n of the robot; Input encoders providing an indication of the angular position θ of the motor shaft relative to the corresponding robot joint ,i , Θ, i+1 …Θ, nand a motor torque sensor providing an indication of the torque τ provided by the motor shaft of the corresponding robot joint. 实际,马达,i ,τ 实际,马达,i+1 …τ 实际,马达,n The controller is configured to receive the output encoder signals 436i, 436i+1...436n, the input encoder signals 438i, 438i+1...438n and the motor torque signals 442i, 442i+1...442n.

[0060] The controller is further configured to obtain a gear stiffness of at least one of the robot joint gears of the robot arm by:

[0061] applying a motor torque to a motor shaft of at least one robot joint using a joint motor;

[0062] Get the angular position of the motor shaft of the robot joint;

[0063] Get the angular position of the output axis of the robot joint;

[0064] and determining the gear stiffness based on the motor torque applied to the motor shaft, the angular position of the motor shaft, the angular position of the output shaft, and a dynamic model of the robot arm.

[0065] The controller may, for example, be configured to execute a method for obtaining the gear stiffness of a robot joint gear, wherein the gear stiffness of the robot joint gear is obtained by Figures 5 and 6 The method shown in and described in the following paragraphs

[0034] to

[0066] was obtained.

[0066] Figure 5 A flow chart showing a method of obtaining a gear stiffness of a robot joint gear of a robot joint of a robot arm, wherein the robot joint is connectable to at least one other robot joint, and wherein the robot joint comprises a joint motor having a motor shaft configured to rotate an output shaft via the robot joint gear. The method can be used, for example, to obtain Figures 1 to 4 The gear stiffness of the joint gear of the robot arm shown in , and the method is for Figures 1 to 4 It is to be noted that the method described below is a method for obtaining the gear stiffness of all robot joint gears of the robot arm, however it should be understood that the method can be used to obtain the gear stiffness of a single robot joint gear or some of the robot joint gears.

[0067] The method includes an initialization step 550, a step 552 of applying a motor torque to a motor shaft of a joint motor; a step 554 of obtaining the angular position of the motor shaft of the joint motor; a step 556 of obtaining the angular position of the output shaft of the robot joint gear, and a step 560 of determining the gear stiffness of the robot joint gear based on the motor torque applied to the motor shaft, the obtained angular position of the motor shaft, the obtained angular position of the output shaft, and the dynamic model of the robot arm.

[0068] The initialization step 550 includes obtaining a dynamic model D of the robot arm. 机器人 steps and can be based on prior knowledge KoR [robot knowledge] of the robot arm and robot joints, such as the size and weight of the robot joints and robot links; joint motor characteristics; information about the final payload attached to the robot arm, the orientation of the robot arm relative to gravity, and the friction characteristics of the robot arm and robot joints.

[0069] A dynamic model of the robotic arm may be defined and pre-stored in a memory of the controller, and in some embodiments, a user may be allowed to modify the dynamic model of the robotic arm by, for example, providing payload information of a payload attached to the robotic arm or defining the orientation of the robotic arm relative to gravity.

[0070] The dynamic model of the robot arm can be obtained by considering the robot arm as an open kinematic chain having a plurality of (n+1) rigid robot links and a plurality of (n) rotary robot joints, the open kinematic chain including a joint motor configured to rotate at least one robot link. In this example, the dynamic model is provided by making the following assumptions:

[0071] A1: The rotor of the joint motor is a homogeneous body with the center of mass at the axis of rotation (motor shaft);

[0072] A2: The joint motor is located on the robot link before the slave robot link; and

[0073] A3: The angular velocity of the rotors of the joint motors is due to their own rotation.

[0074] Assuming A1 is a basic requirement for the long life of joint motors (such as electric motors), and also means that the dynamics of the robot joint will be independent of the angular position of the motor shaft. Figure 3The kinematic arrangement of the joint motors and robot links described in Assumption A2 is shown in . It should be understood that Assumption A2 may not be physically true when compared to an actual robot in which the joint motors driving the robot links can be arranged at other positions of the robot arm, however, there are always conditions that are theoretically equivalent to this assumption. Assumption A3 is reasonable for robot joint gears with a large reduction ratio

[18] , which is typically in the order of 50-200, or more specifically in the order of 100-150. These assumptions are equivalent to ignoring the energy contribution due to the inertial coupling between the joint motors and the robot links, and also mean that the Coriolis and centripetal terms become independent of the angular velocity of the rotor.

[0075] The configuration of the robot arm is characterized by the generalized coordinates Where q is the vector comprising the angular position of the output shaft of the robot joint gear, and θ is the vector comprising the angular position of the motor shaft as seen in "space" on the output side of the robot joint gear. Therefore:

[0076]

[0077] where Θ 真实 is the actual angular position of the motor shaft (eg, measured by an encoder), and r is the gear ratio of the robot joint gears. This is the notation used throughout this application.

[0078] Similar τ 马达 is a vector comprising the torque of the motor shaft 4 as seen in "space" on the output side of the robot joint gear. Therefore:

[0079] τ 马达 = r·τ 真实马达

[0080] Among them, τ 真实马达 is the true torque of the motor shaft (eg, measured by a sensor), and r is the gear ratio of the robot joint gears. This is the notation used throughout this application.

[0081] After assumptions 1-3, the dynamic model first viewed from the output side of the robot joint gear of the robot arm becomes

[18] :

[0082] Equation 7

[0083] where τ 关节 is the transmission torque τ of each robot joint gear in the robot joint gear 关节,i …τ 关节,n q is a vector of the angular positions of the output shafts of the robot joint gears; is a vector comprising the first time derivative of the angular position of the output shaft of the robot joint gear and is therefore related to the angular velocity of the output shaft; is a vector comprising the second order time derivative of the angular position of the output shaft of the robot joint gear and is therefore related to the angular acceleration of the output shaft. M(q) is the inertia matrix of the robot arm and indicates the mass moment of inertia of the robot arm as a function of the angular position of the output shaft of the robot joint gear. are the Coriolis and centripetal torques of the robot arm as a function of the angular position and angular velocity of the output shaft of the robot joint gear. G(q) is the gravity torque acting on the robot arm as a function of the angular position of the output shaft of the robot joint gear.

[0084] is a vector of friction torque acting on the output shaft of the robot joint gear. The friction torque acting on the output shaft depends on the angular velocity of the output shaft However, it should be understood that the friction torque acting on the output shaft may also depend on other parameters, such as temperature, type of lubricant, load on the robot arm, position / orientation of the robot arm, etc. For example, may be provided, for example, as a linear or non-linear function or a look-up table (LUT) with interpolation, and can be defined based on, for example, prior knowledge of the robot, experiments, and / or updated adaptively during robot operation. can be obtained during calibration of the robot joint, for example by measuring the total friction torque of the robot joint gears and assuming that the friction torque acts only on the motor shaft, thus τ ext is a vector indicating the external torque acting on the output shaft of the robot joint gear. The external torque may be provided, for example, by external forces and / or torques acting on parts of the robot arm. For example, if the tool flange of the robot is subjected to a torque caused by F ext The external force and / or torque described by , then the torque generated at the output shaft of the robot joint becomes:

[0085] Equation 8 τ ext =J T (q)F ext

[0086] Among them J T (q) is the transposed manipulator Jacobian matrix of the robot arm, and where F ext is a vector describing the direction and magnitude of external forces and torques relative to the tool flange of the robot arm.

[0087] Secondly, the dynamic model viewed from the input side of the robot joint gear becomes

[18] :

[0088] Equation 9

[0089] where τ 关节 is the transmission torque τ of each robot joint gear in the robot joint gear 关节,i …T 关节,n A vector of is a vector comprising the second order time derivatives of the angular position of the motor shaft of the joint motor, and is therefore related to the angular acceleration of the motor shaft. B is a positive definite diagonal matrix indicating the mass moment of inertia of the joint motor rotor. is a vector including the friction torque acting on the motor shaft, and τ 马达 is a vector indicating the torque produced by the joint motor.

[0090] is a vector including the friction torque acting on the input shaft of the robot joint gear. The friction torque acting on the input shaft depends on the angular velocity of the input shaft However, it should be understood that the friction torque acting on the input shaft may also depend on other parameters, such as temperature, lubricant type, load of the robot arm, position / orientation of the robot arm, etc.

[0091] may be provided, for example, as a linear or non-linear function or a look-up table (LUT) with interpolation, and It can be defined based on, for example, prior knowledge of the robot, experiments, and / or updated adaptively during robot operation. For example, by running the robot joint gear at a constant angular velocity for at least one full revolution or any positive integer multiple of the output shaft without causing the robot arm to contact an external object, and obtaining the motor torque of the robot joint motor, the torque of each robot joint can be obtained. Under these conditions, due to the constant angular velocity, the inertial term of the robot arm is is zero, the Coriolis and centripetal terms cancel out because only one robot joint is moving at this point, and since the output shaft is fully rotated, the gravity term G(q) cancels out, and no external torque is provided to the robot arm. Therefore, Equation 7 simplifies to:

[0092] Equation 10

[0093] where τ 关节,平均 indicates the average joint transmission torque during one rotation of the output shaft, and Indicates the friction force acting on the output shaft of the robot joint gear during one rotation of the output shaft. In addition, under these conditions, due to the constant speed, the inertia term of the joint motor is zero. Therefore, Equation 9 simplifies to:

[0094] Equation 11

[0095] Combining Equation 10 and Equation 11 allows the friction torque acting on the motor shaft to be obtained as:

[0096] Equation 12

[0097] Friction torque Mechanical modeling can also be done, for example, as the generalized Maxwell sliding (GMS) model based on three friction characteristics

[19] .

[0098] 1) Stribeck curve at constant speed,

[0099] 2) a hysteresis function with non-local memory in the pre-slip phase, and

[0100] 3) Friction hysteresis during the sliding phase.

[0101] The GMS model captures the hysteresis behavior commonly seen in robot joint gears such as strain wave gears, where the GMS model can be based on the measured To obtain.

[0102] For a single robot joint gear, the GMS model can be visualized as M massless slider-spring models (e.g. Fig.11 The total friction force is given by the sum of the friction forces of each element i, that is,

[0103] Equation 13

[0104] The dynamics of each basic model is expressed by equations (10) and (11). If the element is stuck:

[0105] Equation 14

[0106] where k i is the spring stiffness of the ith element. The element remains attached until F i >v i s(ω), where the fractional parameter υ i Determines the maximum force Fi for each element during sticking. If the element is sliding

[0107] Equation 15

[0108] The attraction parameter c determines how quickly the total friction force approaches s(ω) during sliding.

[0109] Nonlinear Static Graph

[0110] Equation 16

[0111] Capture the Stribeck effect and nonlinear viscous friction, where Fc, F S 、v S and μ are Coulomb friction, static friction, Stribeck velocity and Stribeck shape factor, respectively, and is the viscous friction coefficient.

[0112] Typically, the robot controller is configured to calculate the desired angular position q, angular velocity θ of the output shaft of the robot joint gear based on Equations 7 and 9. and / or desired angular acceleration To determine the torque τ generated by the motor shaft of the robot joint gear 马达 , to control the movement / position of the robot arm. The desired angular position q and angular velocity of the output shaft of the robot joint gear and / or expected acceleration The angular position q, angular velocity q of the output shaft may be provided, for example, via a robot program stored in a memory or via user input received via an input device. and / or expected acceleration It may be provided directly, or as other parameters from which the parameters may be derived, for example in the form of coordinates of the robot tool flange relative to the robot base, etc. The controller is then configured to control the joint motors by regulating the current through the joint motors.

[0113] The step 552 of applying a motor torque to the motor shaft of the joint motor may be performed, for example, by a controller instructing the joint motor to apply a motor torque to the motor shaft of the robot joint gear. For example, the controller may be configured to provide a motor torque that maintains the robot arm in a static posture, wherein the motor torque is sufficient to overcome the gravity on the robot arm, or by providing a motor torque that moves a part of the robot. Thus, the joint motor is driven so as to generate a motor torque τ through the motor shaft. 马达 .

[0114] In one embodiment, the step of applying a motor torque to a motor shaft using a joint motor causes movement of at least a portion of the robot arm. This can be achieved by driving the joint motor with an electric current that causes the robot joint to rotate, thereby at least a portion of the robot arm moves. For example, the robot controller may be configured to apply a motor torque to the joint motor, which causes a portion of the robot arm to move upward relative to gravity, and in this case, the applied motor torque is greater than the motor torque required to compensate for gravity. Moreover, the robot controller may be configured to apply a motor torque to the joint motor, which causes a portion of the robot arm to move downward relative to gravity, and in this case, the applied motor torque is less than the motor torque required to compensate for gravity. However, it should be understood that any motor torque that causes at least a portion of the robot arm to move in any direction may be applied. Therefore, both the input shaft of the robot joint gear and the output shaft of the robot joint gear rotate. The dynamic terms of the dynamic model according to Equations 7 and 9 can be obtained during the movement of the robot arm, which depend on the angular velocity of the output shaft Angular acceleration of output shaft Angular velocity of the motor shaft and / or the angular acceleration of the motor shaft For example, the angular velocity of the output shaft Angular acceleration of output shaft Angular velocity of the motor shaft Angular acceleration of the motor shaft This can be obtained as described in paragraphs

[0053] -

[0054] . This makes it possible to obtain the gear stiffness of the robot joint gears during movement and operation of the robot arm.

[0115] The method may include obtaining the actual motor torque τ provided by the motor shaft 实际 Optional step 535. The actual motor torque can be obtained, for example, by obtaining the current through the joint motor, whereby the actual motor torque can be obtained as known in the art of motor control. For example, if the joint motor is provided as a three-phase permanent magnet synchronous motor (PMSM) with dynamics much faster than the dynamics of the manipulator. If the joint motor is operated at their current saturation limit, the motor shaft torque can be obtained by the following equation:

[0116] Equation 17 τ 实际马达,马达 =K τ I 马达

[0117] where τ 实际,马达 is the vector containing the actual torque provided by the motor shaft of the joint motor (seen in the output space of the robot joint gear), K τ is a positive definite diagonal matrix of torque constants, and I 马达is a vector comprising the torque producing (orthogonal) currents obtained from the phase currents of the joint motors using the Park transform.

[0118] The actual torque of the motor shaft can also be obtained by using a force / torque sensor (such as a strain gauge that indicates the actual torque of the motor shaft). 实际 A more accurate gear stiffness is provided, since the resulting deviation between the desired motor signal and the actual torque can be eliminated.

[0119] Step 554 of obtaining the angular position of the motor shaft of the joint motor can be obtained by measuring the angular position of the motor shaft (for example, by using an encoder such as an optical encoder / magnetic encoder known in robotics). The angular position θ of the motor shaft can be stored in a memory for later use, for example, in order to store multiple angular positions of the motor shaft obtained at different times. For example, by differential and double differential of the angular position with respect to time, the angular position of the motor shaft can be used, for example, to obtain the angular velocity and / or angular acceleration of the motor shaft. Then, the angular velocity of the motor shaft and the angular acceleration of the motor shaft can be used to obtain the robot joint gear stiffness using the dynamic terms of the dynamic model of the robot arm. Therefore, the gear stiffness of the robot joint gear can be obtained during the movement and operation of the robot arm. It should be understood that, alternatively, the angular velocity of the motor shaft and / or the angular acceleration of other motor shafts can be obtained using sensors / encoders that measure actual parameters.

[0120] The step 556 of obtaining the angular position of the output shaft of the robot joint gear can be obtained by measuring the angular position of the output shaft (for example, by using an encoder such as an optical encoder / magnetic encoder known in robotics). The angular position q of the output shaft can be stored in a memory for later use, for example, a plurality of angular positions of the output shaft obtained at different times can be stored in a memory. Alternatively, the angular position of the output shaft of the robot joint gear can be obtained as the desired angular position of the output shaft on which the controller generates the motor torque. This makes it possible to estimate the angle of the output shaft in a robot joint that does not include an encoder for measuring the angular position of the output shaft. For example, by differential and double differential of the angular position with respect to time, the angular position of the output shaft of the robot joint gear can be used, for example, to obtain the angular velocity and / or angular acceleration of the output shaft of the robot joint gear. Then, the angular velocity of the output shaft and the angular acceleration of the output shaft can be used to obtain the robot joint gear stiffness using the dynamic terms of the dynamic model of the robot arm. Therefore, the gear stiffness of the robot joint gear can be obtained during the movement and operation of the robot arm. It will be appreciated that, alternatively, sensors / encoders measuring actual parameters may be used to obtain the angular velocity of the output shaft and / or the angular acceleration of the motor shaft.

[0121] The step 560 of determining the gear stiffness of the robot joint gear can be performed by considering Figure 3 The flexibility model of the robot joint shown in and described in paragraphs

[0024] -

[0028] is implemented by replacing τ in Equations 7 and 9 with the right-hand side of Equation 2 关节 , then isolate the nonlinear flexibility τ E (Φ 关节 ), the dynamic model of the robot arm can be further specified:

[0122] Equation 18

[0123] Equation 19

[0124] where Φ 关节 is a vector including the deflection of each robot joint gear, is a vector containing the first-order time derivatives of the deflections of each robot joint, and is a vector comprising the damping torque of each robot joint gear as a function of the time derivative of the deflection of the robot joint, and τ E (Φ 关节 ) is a vector comprising the compliance torque of each robot joint gear as a function of the deflection of the robot joint gear.

[0125] Therefore, the step 560 of determining the gear stiffness of the robot joint gear includes obtaining the deflection Φ of the robot joint gear based on the angular position θ of the motor shaft and the angular position q of the output shaft. 关节 Step 562, wherein the deflection Φ of the robot joint gear 关节 It can be indicated as the difference between the angular position Q of the motor shaft and the angular position q of the output shaft, as shown in Equation 1. It should be understood that the deflection can also be alternatively indicated as the difference between the angular position of the output shaft and the angular position of the motor shaft. Step 560 of determining the gear stiffness of the robot joint gear includes a step 564 of obtaining the compliance torque of the robot joint gear at the deflection of the robot joint gear based on at least the angular position of the motor shaft, the angular position of the output shaft and the dynamic model of the robot arm. The compliance torque τ of the robot joint gear at the deflection of the robot joint gear E (Φ 关节 ) can be obtained based on Equation 18, where the angular position θ of the motor shaft and the angular position q of the output shaft are used as input variables, because the rest of Equation 18 has been obtained during initialization and stored in memory, for example. Note that in the absence of external forces / torques acting on the robot arm, τ ext is zero, however, if, for example, an external force acts on the robot tool flange, the external force / torque can be obtained based on Equation 8. In addition, a force / torque sensor can also be used to obtain the contribution from the external force. Additionally or alternatively, τ E (Φ 关节) can be obtained based on Equation 19, where the angular position θ of the motor shaft, the angular position q of the output shaft and the motor torque τ generated by the motor shaft 马达 As an input variable. Therefore, it should be understood that the motor torque τ generated by the motor shaft 马达 may be provided as an additional / optional input to step 564. In an embodiment including step 553, when the gear stiffness of the robot joint gear is obtained using Equation 19, the motor torque τ 马达 The actual motor torque τ obtained in step 553 can be 实际 Instead. Motor torque τ 马达 and the actual motor torque τ 实际 exist Figure 5 The 564 parameters are indicated in brackets [] and () to illustrate that they can be provided to step 564 as additional parameters.

[0126] In step 566, the deflection of the robot joint gear obtained in step 562 and the compliance torque τ of the robot joint gear obtained in step 564 may be calculated based on the deflection of the robot joint gear obtained in step 562 and the compliance torque τ of the robot joint gear obtained in step 564. E (Φ 关节 ) to obtain the gear stiffness of the robot joint gear. Considering Equation 4, Equation 5, and Equation 6, the following gear stiffness can be obtained:

[0127] Equation 20

[0128] where τ E (Φ 关节 ) can be obtained based on Equation 18 or Equation 19, as described in conjunction with step 564.

[0129] The gear stiffness k obtained from Equation 20 i (Φ 关节 ) can be used to obtain the average gear stiffness between the robot joint gear with a certain deflection and the robot joint gear with zero deflection (usually when no motor torque is provided to the robot joint gear). In this case, Equation 20 can be simplified to:

[0130] Equation 21

[0131] Additionally or alternatively, the gear stiffness of the robot joint gear can be indicated as the compliance torque τ E (Φ 关节), where a high compliance torque at a given deflection of the robot joint gear indicates a high gear stiffness because a higher compliance torque is required to achieve the deflection of the robot joint gear; conversely, a low compliance torque at a given deflection of the robot joint gear indicates a low gear stiffness because a smaller compliance torque is required to achieve the deflection of the robot joint gear. The gear stiffness of the robot joint gear can therefore be indicated based on Equation 18 and / or Equation 19.

[0132] The method may include converting the obtained gear stiffness k i (Φ 关节 ) and the robot joint gear stiffness k i,极限 (Φ 关节 ) and provide the state S of the robot joint gear based on the obtained gear stiffness and the prior knowledge of the robot gear stiffness. 关节 . For example, an average gear stiffness may be obtained at different times during the useful life of the robot and compared to a threshold value for the gear stiffness, wherein the threshold value is determined based on knowledge about the evolution of the gear stiffness with respect to the wear of the robot joint gears. Thus, the state of the robot joint gears may be used to indicate the wear of the robot joint gears. Typically, the gear stiffness of a robot joint gear tends to decrease before the robot joint gear breaks, as the material at the gear mesh is worn away. Thus, the controller may be adapted to provide a warning when the gear stiffness reaches a threshold value, whereby the robot joint gear may be sent for repair or replacement before the gear breaks. This makes it possible to avoid failures of the robot joint gears and thereby avoid downtime of the robot arm.

[0133] The method may include an optional step 580 of providing an indication of the desired motor torque τ of the motor shaft 马达 The control signal τ 实际 , the robot arm is controlled based on the obtained gear stiffness of the robot joint gear. For example, by modifying the dynamic model of the robot to include the stiffness of the robot joint gear, and then updating the dynamic model of the robot based on the gear stiffness obtained in step 560, the desired motor torque τ can be obtained based on the gear stiffness of the robot joint gear. 马达 .

[0134] Figure 6 A flow chart showing a method for obtaining the gear stiffness of a robot joint gear of a robot joint of a robot arm is shown. The method is similar to Figure 5 The method shown, and similar steps have been obtained with Figure 5 The same figure numbers are used in the drawings and will not be described further.

[0135] In this embodiment, the method includes step 665 (shown by arrows) of repeating the following steps:

[0136] A step 552 of applying motor torque to the motor shaft using the joint motor;

[0137] A step 554 of obtaining the angular position of the motor shaft;

[0138] A step 556 of obtaining the angular position of the output shaft;

[0139] A step 562 of obtaining the deflection of the robot joint gear based on the angular position of the motor shaft and the angular position of the output shaft; and

[0140] - A step 564 of obtaining the compliance torque of the robot joint gear at the deflection of the robot joint gear based at least on the angular position of the motor shaft, the angular position of the output shaft and the dynamic model of the robot arm.

[0141] These steps are repeated multiple times, and the deflection Φ of the robot gear obtained in step 562 is 关节 The compliance torque of the robot joint gear obtained in step 564 is stored for each repetition. Therefore, a plurality of data points (Φ 关节 ; τ E (Φ 关节 )) and the compliance torque of the robot joint gear can be obtained for different deflections of the robot joint gear. During repetition, the motor torque applied to the motor shaft of the robot joint gear can be changed in step 552, whereby the compliance torque of the robot joint gear can be obtained within the range of deflections of the robot joint gear. This makes it possible to map the compliance torque of the robot joint gear as a function of the deflection of the robot joint gear, and obtain the gear stiffness of the robot joint gear as a function of the deflection of the robot joint gear.

[0142] Step 667 is a step of fitting the obtained data points with a mathematical function, where the data points include the compliance torque of the robot joint gear and the corresponding robot joint gear deflection. For example, the obtained data points of a single robot joint can be fitted into a polynomial function with a linear parameterized polynomial basis:

[0143] Equation 22 τ E,i (Φ 关节,i )=Ψ T (Φ 关节,i )α i

[0144] Among them Ψ T (Φ 关节 ) is the deflection variable Φ 关节 The linear polynomial basis of α i is a vector of constants of the polynomial basis functions of the i-th robot joint. Based on the symmetry assumption in Equations 5 and 6, the regressor Ψ T (Φ关节 ) can be specified to contain only Φ 关节 An odd power of , so:

[0145] Equation 23 Ψ T (Φ 关节 )=Φ 关节 2p-1 , p=1,2,......,P

[0146] In summation form, the polynomial function can be written as:

[0147] Equation 24

[0148] where α p,i is a vector of constants comprising the polynomial basis function of the ith robot joint. In a robot arm comprising a plurality of robot joints, a polynomial function and a corresponding constant vector may be provided for each robot joint.

[0149] As described in paragraph

[0027] , as described in Equation 4, the stiffness of the robot joint gear can be determined as the change in the compliance torque of the robot joint gear relative to the deflection of the robot joint gear. The method may include step 668 of obtaining the gear stiffness of the robot joint robot by obtaining the slope of the compliance torque relative to the deflection of the robot joint gear. For example, for the case where there is no compliance torque at zero deflection, the slope can be determined between at least two of the data points indicated by Equation 20 and Equation 21. The slope can also be indicated by the differential of a mathematical function fitted to the data points. In the case of a polynomial function, this corresponds to the differential of Equation 24

[0150] Equation 25

[0151] The method of obtaining the gear stiffness of the robot joint gears of a robot joint is demonstrated on a robot arm by obtaining the compliance torque of a single robot joint gear as a function of the robot joint gear deflection using both the method according to the present invention and an alternative method. The experiments have been performed using a UR5e robot arm provided by Universal Robots and the results are discussed in the following paragraphs.

[0152] Figure 7A robot arm 701 in the configuration used in the experimental analysis is shown. The robot arm is a six-axis robot that includes a robot base 705 that carries the robot arm. The base joint 703a is directly connected to the shoulder joint 703b and is configured to rotate the robot arm around the base axis 711a (shown in a short dashed line), as shown by the rotation arrow 713a. The shoulder joint 703b is connected to the elbow joint 703c via the robot link 704b and is configured to rotate the robot arm around the shoulder axis 711b, as shown by the rotation arrow 713b. The elbow joint 703c is connected to the first wrist joint 703d via the robot link 704c and is configured to rotate the robot arm around the elbow axis 711c, as shown by the rotation arrow 713c. The first wrist joint 703d is connected to the second wrist joint 703e and is configured to rotate the robot arm around the first wrist axis 711d, as shown by the rotation arrow 713d. The second wrist joint 703e is connected to the robot tool joint 703f and is configured to rotate the robot arm about the second wrist axis 711e as indicated by the rotation arrow 713e. The robot tool joint 703f includes a robot tool flange 707 that can rotate about the tool axis 711f as indicated by the rotation arrow 713f.

[0153] During the experiment, the robot arm 701 was arranged in a posture in which the base axis 711A was parallel to the gravity direction 723 and the shoulder axis 711b, the elbow axis 711c, the first wrist axis 711d, the second wrist axis 711e and the tool axis 711b were perpendicular to the gravity direction 723. The base joint 703a was the only joint that rotated during the experiment, and the shoulder joint 703b, the elbow joint 703c, the first wrist joint 703d, the second wrist joint 703e and the tool joint 703b were therefore fixed during the experiment.

[0154] The gear stiffness of the robot joint gear of the base joint 703a is obtained in the experiment. First, the friction characteristics and stiffness characteristics of the base joint 703a of the UR5e robot arm are obtained using an alternative method.

[0155] The steady-state friction torque is identified by applying different constant velocity signals on the base joint while measuring the robot joint currents. For constant velocity, Equation 7, Equation 9, and Equation 17 yield F θ +F q +K τ I. Steady-state friction torque Figure 8 shown. Figure 8A graph of friction torque measured at different angular velocities of the motor shaft is shown, where the horizontal axis indicates the angular velocity 881 of the motor shaft and the vertical axis indicates the friction torque 882. Experimental data points including the angular velocity and the corresponding friction torque 883 are shown in triangles. The parameters in Equation 16 are fit to the data points using a Quasi-Newton method with a cubic line search process and updating the Hessian matrix approximation by the Broyden-Fletcher-Goldfarb-Shanno (BFGS) method, and the fit is shown by the solid line 884. Using the normalized root mean square error (NRMSE) method, the fit to the data points is 98.6%.

[0156] The compliance torque of the robot joint gear of the base joint was obtained in a static setting by locking the input shaft (motor shaft) of the robot joint gear and applying a set of known torques on the output shaft using a Sauter FH-S500 digital dynamometer while measuring the deformation of the robot joint gear using the output and input encoders of the robot. Fig. 9 A graph is shown in which the vertical axis indicates the compliance torque of the robot joint gear 987 and the horizontal axis indicates the deflection of the robot joint gear 986. The experimental data points include the robot joint deflection and the corresponding compliance torque, and are shown as triangles 988. The data points have been fit to a linear parameterized polynomial basis 989 (static POLY fit), as described in Equation 24, where P=2, and are illustrated as solid lines. Using the normalized root mean square error (NRMSE) method, the polynomial basis fits the data points to 96.9%.

[0157] By rotating the base joint according to a bang-coast-bang joint space trajectory generated with randomly generated waiting times and angular positions, velocities and accelerations at intervals ranging from 30% to 100% of the maximum allowed values, the compliance torque of the robot joint gear of the base joint is dynamically obtained based on the method according to the present invention. Fig.10 A graph of the joint space trajectory of a base joint for driving a robot is shown, wherein the horizontal axis 1093 indicates time in seconds; graph 1093 shows the angular position of the base joint output shaft; graph 1094 shows the angular velocity of the base joint output shaft; and graph 1095 shows the angular acceleration of the base joint output shaft.

[0158] During the experiment, the robot arm Fig.10When the joint space trajectory shown in is moved, the angular position of the output shaft of the base joint, the angular position of the motor shaft of the base joint, and the current through the base joint motor are measured. The compliance torque is obtained based on the measured angular position of the output shaft of the base joint, the angular position of the motor shaft of the base joint, and the current through the base joint motor using Equation 19 and Equation 17.

[0159] Fig.12 A graph is shown in which the vertical axis indicates the compliance torque of the robot joint gear 987 and the horizontal axis indicates the deflection of the robot joint gear 986. The experimental data points include the robot joint deflection and the corresponding compliance torque and are shown as triangles 1288. The experimental data points have been fitted to a linear parameterized polynomial basis (dynamic POLY fit 1290 shown as a dashed line) using the recursive least squares (RLS) method

[20] , with P = 2, as described in the next paragraph. Using the normalized root mean square error (NRMSE) method, the fit of the polynomial basis to the data points is 96.7%.

[0160] The estimation of time-varying parameters using the recursive least squares (RLS) method is achieved by introducing a forgetting factor that ignores past data. In this example, the incoming information (transmission deformation) is unevenly distributed over the parameter space. If there is an excitation in a certain direction, then tracking can only be performed in that same direction, so the estimation algorithm can only track the time-varying parameters within the excitation subspace. In particular, inspired by the results in

[21] , with the appropriate concept of the excitation subspace, the parameter vector in Equation 22 is estimated by the following procedure:

[0161] Equation 26

[0162] Equation 27 r(k) = Ψ T (k)P(k-1)Ψ(k)

[0163] Equation 28

[0164] Equation 29

[0165] Equation 30

[0166] Equation 31

[0167] Where δ>0 forces an increase in the covariance matrix P, thereby improving the algorithm alertness. Higher alertness is achieved by reducing μ at the expense of increased sensitivity to interference. By setting μ=1 and δ=0, Equation 31 simplifies to the standard RLS algorithm.

[0168] The fitting of the polynomial basis of the statically obtained compliance torque as described in paragraph

[0063] (static POLY fitting 989) has also been included. Fig.12 There is a very good alignment between the flexible torques obtained by these two methods. Therefore, under dynamic conditions where the output shaft of the robot joint gear rotates, the flexible torque and / or stiffness of the robot joint gear can be obtained based on the method according to the present invention. For example, by obtaining the angular position of the input shaft, the angular position of the output shaft and the motor torque applied to the input shaft. The motor torque applied to the input shaft can be obtained, for example, based on the phase current of the coil through the joint motor (provided as a PMSM).

[0169] Fig.13 It shows that through Fig.12 The joint stiffness obtained by differentiating the static POLY fit 989 and the dynamic POLY fit curve graph 1290 in FIG. The vertical axis indicates the gear stiffness of the robot joint gear 1397 and the horizontal axis indicates the deflection of the robot joint gear 986. The gear stiffness obtained via the static measurement results is shown as the solid line 1398 (static POLY stiffness) and is obtained by differentiating the linear parameterized polynomial basis 989 with respect to the robot joint deflection. The gear stiffness obtained via the dynamic measurement results is shown as the dashed line 1397 (dynamic POLY stiffness) and is obtained by differentiating the linear parameterized polynomial basis 1290 with respect to the robot joint deflection. The changes in gear stiffness as a function of the robot joint deflection obtained by these two methods align very well.

[0170] The invention thus makes it possible to obtain online the compliance torques and the gear stiffnesses of the robot joint gears of a robot arm during ordinary use of the robot arm, wherein the robot arm typically performs a number of movements, for example in connection with a production setup.

[0171] Brief Description of Figure Numbers

[0172]

[0173]

[0174]

[0175] References

[0176] [1]T.W.Nye,“Harmonic Drives:Determining Wear Life Based on StiffnessConsiderations,”in Proc.of the International Power Transmission and GearingConference,Chicago,April 25-28,1989.

[0177] [2]M.R.Johnson et al.,“Life Test Failure of Harmonic Gears in a Two-Axis Gimbal for the Mars Reconnaissance Orbiter Spacecraft,”Proceedings ofthe 38 th Aerospace Mechanisms Symposium,Langley Research Center,May 17-19,2006.

[0178] [3]J.Mobley and J.Parker,“Harmonic Drive TM Gear Material Selection andLife Testing,”Proceedings of the 41 th Aerospace Mechanisms Symposium,JetPropulsion Laboratory,May 16-18,2012.

[0179] [4]A. and G.Hirzinger,“Parameter identification andpassivity based joint control for a 7DOF torque controlled light weightrobot,”in Proc.of IEEE International Conference on Robotics&Automation(ICRA),Seoul,Korea,May 21-26,2001,pp.2852-2858.

[0180] [5]M.T.Pham et al.,“Identification of joint stiffness with bandpassfiltering,”in Proc.of IEEE International Conference on Robotics&Automation(ICRA),Seoul,Korea,May 21-26,2001,pp.2867-2872.

[0181] [6]M. et al.,“Closed-loop identification of an industrial robotcontaining flexibilities,”in Control Engineering Practice,vol.11,2003,pp.291-300.

[0182] [7]M.Gautier et al.,“Dynamic Identification of flexible jointmanipulators with an efficient closed loop output error method based on motortorque output data,”in IEEE International Conference on Robotics andAutomation(ICRA),Karlsruhe,Germany,May 6-10,2013,pp.2949-2955.

[0183] [8]C.Dumas et al.,“Joint stiffness identification of six-revoluteindustrial serial robots,”in Robotics and Computer-Integrated Manufacturing,vol.27,2011,pp.881-888.

[0184] [9]A.Klimchick and A.Pashkevich,“Robotic manipulators with doubleencoders:accuracy improvement based on advanced stiffness modeling andintelligent control,”in IFAC PapersOnLine,vol.51,no.11,2018,pp.740-745.

[0185]

[10] A.Jubien et al.,“Joint Stiffness Identification of a Heavy KukaRobot with a Low-cost Clamped End-effector Procedure,”in Proc.OfInternational Conference on Informatics in Control,Automation and Robotics(ICINCO),Vienna,Austria,Sept.1-3,2014,pp.585-591.

[0186]

[11] A.Jafari et al.,“AwAS-II:A new Actuator with Adjustable Stiffnessbased on the novel principle of adaptable pivot point and variable leverratio,”in Proc.of IEEE International Conference on Robotics&Automation(ICRA),Shanghai,China,May 9-13,2011,pp.4638-4643.

[0187]

[12] M.Grebenstein et al.,“The DLR Hand Arm System,”in Proc.Of IEEEInternational Conference on Robotics&Automation(ICRA),Shanghai,China,May 9-13,2011,pp.3175-3182.

[0188]

[13] F.Flacco and A.De Luca,“Residual-based Stiffness Estimation inRobots with Flexible Transmissions,”in Proc.of IEEE International Conferenceon Robotics&Automation(ICRA),Shanghai,China,May 9-13,2011,pp.5541-5547.

[0189]

[14] F.Flacco and A.De Luca,“Robust Estimation of Variable Stiffnessin Flexible Joints,”in Proc.of IEEE / RSJ International Conference onIntelligent Robots and Systems,San Francisco,CA,USA,September 25-30,2011,pp.4026-4033.

[0190]

[15] F.Flacco and A.De Luca,“A Pure Signal-Based Stiffness Estimationfor VSA Devices,”in Proc.of IEEE International Conference on Robotics&Automation(ICRA),Hong Kong,China,May 31-June 7,2014,pp.2418-2423.

[0191]

[16] T.Ménard et al.,“A real time robust observer for an Agonist-Antagonist Variable Stiffness Actuator,”in Proc.of IEEE InternationalConference on Robotics&Automation(ICRA),Karlsruhe,Germany,May 6-10,2013,pp.3988-3993.

[0192]

[17] A.Cirillo et al.,“A mechatronic approach for robust stiffnessestimation of variable stiffness actuators,”in IEEE / ASME InternationalConference on Advanced Intelligent Mechatronics,Wollongong,Australia,July 9-12,2013,pp.399-404.

[0193]

[18] M.W.Spong,“Modeling and Control of Elastic Joint Robots,”Journalof Dynamic Systems,Measurement,and Control,vol.109,no.4,1987,pp.310-319.

[0194]

[19] V.Lampaert et al.,“A Generalized Maxwell-Slip Friction Modelappropriate for Control Purposes,”in IEEE International Conference forPhysics and Control,St.Petersburg,Russia,Proceedings,pp.1170-1177,2003.

[0195]

[20] S.Bittanti et al.,“Recursive Least-Squares IdentificationAlgorithms with Incomplete Excitation:Convergence Analysis and Application toAdaptive Control,”IEEE Trans.Automatic Control,vol.35,pp.1371-1373,1990.

[0196]

[21] S.Bittanti et al.,“Convergence and Exponential Convergence ofIdentification Algorithms with Directional Forgetting Factor,”Automatica,Vol.26,No.5,pp.929-932,1990.

Claims

1. A method for obtaining a gear stiffness of a robot joint gear of a robot joint of a robot arm, wherein the robot joint is connectable to at least another robot joint, the robot joint comprising a joint motor having a motor shaft, the motor shaft being configured to rotate an output shaft via the robot joint gear, the robot joint further comprising an output flange connected to the output shaft, the output flange being connectable to an adjacent robot joint or an arm portion of the robot arm, the method comprising the following steps: applying a motor torque to the motor shaft using the joint motor, the application of the motor torque causing rotation of the motor shaft and the output shaft; Obtaining the angular position of the motor shaft; Obtaining the angular position of the output shaft; The gear stiffness is determined based on at least: i) the angular position of the motor shaft, ii) the angular position of the output shaft, and iii) A dynamic model of the robot arm, wherein the dynamic model of the robot arm defines the relationship between the forces acting on the robot arm and the resulting angular acceleration of the output flange. 2 . The method of claim 1 , wherein the step of determining the gear stiffness is further based on the motor torque applied to the motor shaft.

3. The method according to claim 1 or 2, wherein the step of determining the gear stiffness comprises the following steps: · obtaining the deflection of the robot joint gear based on the angular position of the motor shaft and the angular position of the output shaft; as well as - Based at least on the angular position of the motor shaft, the angular position of the output shaft and the dynamic model of the robot arm, obtaining the compliance torque of the robot joint gear at the deflection of the robot joint gear.

4. The method according to claim 3, wherein the step of obtaining the gear stiffness comprises the step of repeating the following steps a plurality of times: applying a motor torque to the motor shaft using the joint motor; obtaining the angular position of the motor shaft; Obtaining the angular position of the output shaft; obtaining the deflection of the robot joint gear based on the angular position of the motor shaft and the angular position of the output shaft; and obtaining a compliance torque of the robot joint gear at the deflection of the robot joint gear based at least on the angular position of the motor shaft, the angular position of the output shaft and the dynamic model of the robot arm; And for each repetition, the deflection of the robot joint gear and the compliance torque of the robot joint gear at the deflection of the robot joint gear are stored.

5. The method according to claim 4, wherein the step of determining the gear stiffness of the robot joint gear comprises the step of fitting the obtained compliance torque and the deflection of the robot joint gear with a mathematical function. The method according to claim 5 , wherein the mathematical function is a polynomial function obtained based on recursive least squares estimation.

7. The method according to any one of claims 4 to 6, wherein the gear stiffness of the robot joint gear is obtained as a slope of the compliance torque with respect to the deflection of the robot joint gear.

8. A method according to claim 1 or 2, wherein the method includes a step of comparing the obtained gear stiffness with the prior knowledge of the robot gear stiffness, and providing a state indication of the robot joint gear based on the obtained gear stiffness and the prior knowledge of the robot gear stiffness.

9. The method of claim 1 or 2, wherein the dynamic model of the robot arm includes information for modeling a parallel spring and damper connection between the motor shaft of the robot joint and the output shaft of the robot joint.

10. A method for controlling a robot arm, the robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange, the method comprising the step of controlling the robot joints based on a dynamic model and a gear stiffness of a robot joint gear of at least one of the robot joints, wherein the at least one robot joint is connectable to at least another robot joint, the at least one robot joint comprising a joint motor having a motor shaft, the motor shaft being configured to rotate an output shaft via the robot joint gear, wherein the dynamic model of the robot arm defines a relationship between a force acting on the robot arm and a resulting acceleration of the robot arm, characterized in that The method comprises the step of obtaining the gear wheel stiffness, said step comprising the method according to any one of claims 1 to 9.

11. The method according to claim 10, wherein the method comprises the step of modifying the dynamic model based on the obtained gear stiffness.

12. A robot arm, comprising a plurality of robot joints connected to a robot base and a robot tool flange, the robot arm comprising at least one controller, the at least one controller being configured to control the robot joints based on a dynamic model of the robot arm, wherein at least one of the robot joints comprises a joint motor having a motor shaft, the motor shaft being configured to rotate an output shaft via the robot joint gear, the robot joint further comprising an output flange connected to the output shaft, the output flange being capable of being connected to an adjacent robot joint or an arm portion of the robot arm, wherein the dynamic model of the robot arm defines a relationship between a force acting on the robot arm and a resulting angular acceleration of the output flange, characterized in that The controller is configured to obtain the gear stiffness of the robot joint gear by the following steps: applying a motor torque to the motor shaft using the joint motor, the application of the motor torque causing rotation of the motor shaft and the output shaft; Obtaining the angular position of the motor shaft; Obtaining the angular position of the output shaft; determining the gear stiffness based at least on the angular position of the motor shaft, the angular position of the output shaft and the dynamic model of the robot arm, wherein the dynamic model of the robot arm defines the relationship between the forces acting on the robot arm and the resulting angular acceleration of the output flange.

13. The robot arm according to claim 12, characterized in that: The controller is configured to control the robot joint based on the obtained gear stiffness of the robot joint gear.

14. The robot arm according to claim 12 or 13, characterized in that: The robotic arm comprises at least one of the following: an output encoder configured to indicate the angular position of the output shaft; • An input encoder configured to indicate the angular position of the motor shaft.

15. The robot arm according to claim 12 or 13, characterized in that: The controller is configured to: · comparing the obtained gear stiffness with a threshold value of the gear stiffness; - providing a status signal related to said robot joint gear based on said comparison of said obtained gear stiffness with said threshold value of said gear stiffness.

16. The robot arm according to claim 12 or 13, characterized in that: The robot arm comprises a memory comprising instructions instructing the controller to obtain the gear stiffness by performing a method according to any one of claims 1 to 9.