Method for obtaining vibration characteristics of robot arm

By obtaining the inertia-vibration model of the robot arm and using the input shaping method, the problem of vibration suppression of the robot arm is solved, and the mechanical flexibility and control accuracy of the robot arm are improved.

CN114867584BActive Publication Date: 2025-10-03UNIVERSAL ROBOT
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202080090495.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-12-29
Filing Date
2020-12-18
Publication Date
2025-10-03
Estimated Expiration
2040-12-18

AI Technical Summary

Technical Problem

Existing technologies have difficulty in effectively suppressing the mechanical vibration of a robot arm, especially during rapid point-to-point motion. Existing methods are time-consuming and difficult to evaluate dynamic characteristics in real time.

Method used

By obtaining the inertia-vibration model of the robot arm, the input shaping method is used to control the robot arm and reduce vibration. The inertia-vibration model is based on the relationship between the inertia and vibration characteristics of the robot arm, and is combined with a force-torque sensor and an acceleration sensor to obtain the vibration characteristics of the robot arm.

Benefits of technology

This effectively reduces vibrations during the movement of the robot arm, especially when attached to external objects, improving the mechanical flexibility and control accuracy of the robot arm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114867584B_ABST
    Figure CN114867584B_ABST
Patent Text Reader

Abstract

The present invention relates to a method and a robot controller configured to obtain an inertia-vibration model of a robot arm. The inertia-vibration model defines the relationship between the inertia of the robot arm and its vibration characteristics. The inertia-vibration model is configured by arranging the robot arm in a plurality of different physical configurations, and for each of the physical configurations, the vibration characteristics and the inertia of the robot arm are obtained. The inertia-vibration model makes it possible to obtain the vibration characteristics of the robot arm in different physical configurations in a simple and efficient manner, thereby enabling the robot arm to be controlled based on the vibration characteristics. This makes it possible to reduce vibrations of the robot arm during movement.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a method and a robot controller for controlling a robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange. Background Art

[0002] Robotic arms comprising a plurality of robotic joints and linkages, wherein motors or actuators can move portions of the robotic arm relative to one another, are known in the field of robotics. Typically, a robotic arm comprises a robot base, which serves as a mounting base for the robotic arm, and a robot tool flange, wherein various tools can be attached to the robot tool flange. A robotic controller is configured to control the robotic joints to move the robot tool flange relative to the base, for example, to instruct the robotic arm to perform a plurality of work instructions. The robotic joints can be rotary robotic joints configured to rotate portions of the robotic arm relative to one another, prismatic joints configured to translate portions of the robotic arm relative to one another, and / or any other type of robotic joint configured to move portions of the robotic arm relative to one another.

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

[0004] The robot arm must be programmed by the user or robot integrator, who defines various commands for the robot arm, such as predefined movement patterns and work commands, such as grip, hold, release, and thread engagement. The commands can be based on various sensors or input signals, which typically provide trigger signals for stopping or starting a given command. Trigger signals can be provided by various indicators, such as safety curtains, vision systems, position indicators, and the like.

[0005] Typically, various end effectors may be attached to the robot tool flange or other portion of the robot arm, such as grippers, vacuum grippers, magnetic grippers, thread turning machines, welding equipment, dispensing systems, vision systems, and the like.

[0006] Collaborative robots are robots designed to interact directly with humans. When designing collaborative robots, lightweight design is a primary focus. This is to reduce the impact of potential collisions with humans or obstacles. Therefore, the design will be a compromise between low mass and high rigidity. Lightweight design is a major goal of current developments in the robotics, crane, and automotive industries, to name a few. Lightweight design is driven by benefits such as improved performance, increased safety, a reduced environmental footprint, lower energy consumption, and lower price. Compared to traditional, heavy, rigid industrial robots, which are often based on cast iron designs, lightweight designs offer increased mechanical flexibility.

[0007] Robots with mechanical dexterity face performance challenges. For example, when rapid point-to-point motion is desired, mechanical vibration is unacceptable. Therefore, it is desirable to suppress mechanical vibration in the robot arm. This can be achieved, for example, by utilizing input shaping methods that slightly modify the target motion of the robot arm by intelligently adding time delays. The modified (shaped) trajectory reduces the amount of vibration at the system's critical natural frequencies.

[0008] WO2019012040A1 and the corresponding scientific article {xi.}{xii.} disclose a method for generating inputs to a physical system with different dynamic characteristics, which can be used to suppress mechanical vibrations of a robot arm. Control signals for the robot arm are generated based on the dynamic characteristics of the physical system, which can be obtained, for example, based on dynamic modeling of the physical system, a lookup table containing the dynamic characteristics of the physical system, measurements of various parts of the physical system, or a combination of the foregoing. In order to provide effective vibration suppression for the robot arm, accurate dynamic characteristics of the robot arm in various postures must be available for the possible postures of the robot arm, wherein the posture of the robot arm characterizes the position and orientation of the different parts of the robot arm, for example in the form of the positions of the robot joints (such as the joint angles of the robot joints). This can be achieved by arranging the robot arm in possible postures and obtaining the dynamic characteristics of the robot arm in a given posture, for example by measuring the damping and eigenfrequency of the robot arm in the current posture. This is a very complex process, which requires measuring the eigenfrequency and damping of the robot arm in a large number of different configurations of the robot arm, such as a typical robot arm can be arranged in an almost infinite number of postures due to the fine resolution of the robot joints; this is very time-consuming. In addition, the large amount of measurement data makes it difficult to evaluate dynamic characteristics in real time.

[0009] References

[0010] {i.} P.H. Chang, H.-S. Park, “Time-varying input shaping technique applied to vibration reduction of an industrial robot, Control Engineering Practice,” Vol. 13, No. 1, 2005, pp. 121-130

[0011] http: / / dx.doi.org / 10.1016 / j.conengprac.2004.02.009

[0012] {ii.} T.D. Tuttle, “Understanding and modeling the behavior of aharmonic drive gear transmission,” Tech. rep., MIT Cambridge Artificial Intelligence Laboratory (1992)

[0013] {iii.} H. Zhang, S. Ahmad, G. Liu, “Modeling of torsional compliance and hysteresis behaviors in harmonic drives,” IEEE / ASME Transactions on Mechatronics, Vol. 20, No. 1, 2015, pp. 178-185

[0014] http: / / dx.doi.org / 10.1109 / TMECH.2014.2311382

[0015] {iv.}J. Kim, EACroft, "Preshaping input trajectories of industrial robots for vibration suppression", Robotics and Computer-Integrated Manufacturing, Volume 54, 2018, Pages 35-44. http: / / dx.doi.org / 10.1016 / j.rcim.2018.05.009

[0016] {v.} E. Madsen, O.S. Rosenlund, D. Brandt, X. Zhang, “Model-based on-line estimation of time-varying nonlinear joint stiffness on an e-series universal robots manipulator,” in 2019 International Conference on Robotics and Automation (ICRA), 2019, pp. 8408–8414, http: / / dx.doi.org / 10.1109 / ICRA.2019.8793935

[0017] {vi.}P.Raveendranath, G.Singh, B.Pradhan, "A two-noded locking-freeshear flexible curved beam element", International Journal for NumericalMethods in Engineering, Volume 44, Issue 2, 1999, Pages 265-280, http: / / dx.doi.org / 10.1002 / (SICI)1097-0207(19990120)44:2<265::AID-NM E505>3.0.CO;2-K

[0018] {vii.} A. Shaw, T. Hill, S. Neild, and M. Friswell, “Periodic responses of a structure with 3:1 internal resonance,” Mechanical Systems and Signal Processing, vol. 81, 2016, pp. 19–34; http: / / dx.doi.org / 10.1016 / j.ymssp.2016.03.008

[0019] {viii.} S. Wolf and M. Iskandar, “Extending a dynamic friction model with nonlinear viscous and thermal dependency for a motor and harmonic drivegear,” in 2018 IEEE International Conference on Robotics and Automation (ICRA), 2018, pp. 783–790; http: / / dx.doi.org / 10.1109 / ICRA.2018.8460613

[0020] {ix.}AC Bittencourt, S. Gunnarsson, "Static Friction in a Robot Joint-Modeling and Identification of Load and Temperature Effects", Journal of Dynamic Systems, Measurement, and Control, Volume 134, Issue 5, Page 051013; http: / / dx.doi.org / 10.1115 / 1.4006589

[0021] {x.} L. Biagiotti, C. Melchiorri, "Trajectory Planning for Automatic Machines and Robots", Springer-Verlag Berlin Heidelberg, 2008. http: / / dx.doi.org / 10.1007 / 978-3-540-85629-0

[0022] {xi.}DKThomsen, R. - Knudsen, D. Brandt, and X. Zhang, “Experimental implementation of time-varying input shaping on our robots,” in Proceedings of the 16th International Conference on Control, Automation and Robotics Informatics (ICINCO 2019), volume 1, 2019, pp. 488–498; http: / / dx.doi.org / 10.5220 / 0007834504880498

[0023] {xii.}DKThomsen, R. -Knudsen, D.Brandt, O.Balling, Summary of the Invention

[0024] The object of the present invention is to solve the above-mentioned limitations of the prior art or other problems of the prior art. This is achieved by a method and a robot controller according to the independent claims, wherein an inertia-vibration model of a robot arm can be obtained. The inertia-vibration model defines the relationship between the inertia of the robot arm and the vibration characteristics of the robot arm, and this relationship can be obtained based on the inertia-vibration model of the robot arm, wherein the inertia-vibration model of the robot arm has been obtained by arranging the robot arm in a plurality of different physical configurations and obtaining the vibration characteristics and inertia of the robot arm for each of the physical configurations of the robot arm. The inertia-vibration model makes it possible to obtain these vibration characteristics of the different physical configurations of the robot arm in a simple and effective manner, so that the robot arm can be controlled according to these vibration characteristics of the robot arm. This makes it possible to reduce the vibration of the robot arm during movement of the robot arm, for example by utilizing input shaping methods. Furthermore, the above-mentioned limitations of the prior art or other problems of the prior art are solved by a method and a robot arm according to the independent claims, wherein the robot arm is controlled based on control signals generated based on a target motion of the robot arm and a vibration characteristic of the robot arm; wherein the vibration characteristic of the robot arm is obtained based on an inertia-vibration model associated with the robot arm, wherein the inertia-vibration characteristic model defines the relationship between the inertia of the robot arm and the vibration characteristic of the robot arm. Controlling the robot arm based on the inertia-vibration model of the robot arm makes it possible to reduce vibrations of the robot arm. Furthermore, in the case of a connection to an external object (such as a wire, a hose, an end effector, and / or a mounting element already mounted on the robot arm), the method and robot controller according to the present invention make it possible to obtain the vibration characteristics of the robot arm, as the inertia-vibration model can be obtained based on the robot arm and the external object connected to the robot arm. Thus, vibrations caused by the external object connected to the robot arm can also be reduced. The dependent claims describe possible embodiments of the robot arm and method according to the present invention. The advantages and benefits of the present invention are further described in detail in the detailed description of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] Figure 1 shows a robotic arm according to the present invention;

[0026] Figure 2 shows a simplified block diagram of a robotic arm; and

[0027] Figure 3 A flow chart showing a method of obtaining vibration characteristics of a robot arm;

[0028] Figure 4 a flow chart showing the steps for obtaining vibration characteristics of the robot arm in a physical configuration;

[0029] Figure 5 A flow chart showing the steps of obtaining the vibration characteristics of the robot arm based on the motion parameters;

[0030] Figure 6 shows the coordinate transformation between the universal coordinate system and the accelerometer coordinate system;

[0031] Figure 7 The scalar projection of the acceleration is shown to obtain the tangential acceleration;

[0032] Figure 8 The tangential and radial accelerations for the circular motion of a point of a spine-like robotic arm are shown;

[0033] Figure 9 shows the closed-loop dynamics of the controlled acceleration of a point of the robot arm;

[0034] Figure 10 A second-order rotational spring, mass, damper system used to model a robotic arm is shown;

[0035] Figure 11 shows a block diagram of the robot joint dynamics;

[0036] Figure 12 shows the mapping from robot joint space to vibration space via inertial space;

[0037] Figure 13 shows the force-displacement curve (top) and stiffness-displacement curve (bottom) of a strain wave gear used in a robotic arm;

[0038] Figure 14 The displacement-force curve (top) and stiffness-torque curve (bottom) of a strain wave gear used in a robotic arm are shown;

[0039] Figure 15 Velocity variations with constant acceleration amplitude at different frequencies are shown;

[0040] Figure 16 shows the physical configuration of the robotic arm used during the experimental examples;

[0041] Figure 17 An example of a random bang-coast-bang excitation reference signal used to excite the robotic arm is shown;

[0042] Figure 18 The experimental results of the natural frequency of the base joint fitted with the inertia of the base joint are shown;

[0043] Figure 19 The experimental results of the natural frequency of the base joint fitted with the inertia of the shoulder joint are shown;

[0044] Figure 20 A robot configuration with low base joint inertia and high shoulder joint inertia is shown;

[0045] Figure 21 The base damping ratio fitted to the shoulder inertia and base inertia is shown;

[0046] Figure 22 The natural frequencies of the shoulder joint fitted with the shoulder inertia are shown;

[0047] Figure 23 The shoulder joint damping ratio fitted to the shoulder joint inertia is shown;

[0048] Figure 24 A flow chart showing a method for controlling a robot arm based on an inertia-vibration model is shown;

[0049] Figure 25 Shown are the tool accelerations of the robotic arm as it moves from test configuration Q1 to test configuration Q2 (top); from test configuration Q1 to test configuration Q3 (middle); and from test configuration Q3 to test configuration Q1 (bottom). DETAILED DESCRIPTION

[0050] The present invention has been described with reference to exemplary embodiments intended only to illustrate the principles of the invention. A skilled person will be able to provide several embodiments within the scope of the claims. Throughout this specification, similar elements providing similar effects will be designated by reference numerals having the same last two digits. Furthermore, it will be understood that where an embodiment includes multiple identical features, only some of the features may be designated by a reference numeral.

[0051] Figure 1A robot arm 101 is shown comprising a plurality of robot joints 102a, 102b, 102c, 102d, 102e, 102f connecting a robot base 103 and a robot tool flange 104. The base joint 102a is configured to rotate the robot arm about a base axis 105a (shown as a dashed line), as indicated by rotation arrow 106a; the shoulder joint 102b is configured to rotate the robot arm about a shoulder axis 105b (shown as a cross indicating the axis), as indicated by rotation arrow 106b; the elbow joint 102c is configured to rotate the robot arm about an elbow axis 105c (shown as a cross indicating the axis), as indicated by rotation arrow 106c; the first wrist joint 102d is configured to rotate the robot arm about a first wrist axis 105d (shown as a cross indicating the axis), as indicated by rotation arrow 106d, and the second wrist joint 102e is configured to rotate the robot arm about a second wrist axis 105e (shown as a dashed line), as indicated by rotation arrow 106e. The robot joint 102f is a robot tool joint comprising a robot tool flange 104 that is capable of rotating about a tool axis 105f (shown in dashed lines) as indicated by rotation arrows 106f. Thus, the robot arm shown is a six-axis robot arm having six degrees of freedom, with six rotational robot joints, however, it should be noted that the present invention may be provided in a robot arm comprising fewer or more robot joints, as well as other types of robot joints, such as prismatic robot joints that provide translation, e.g., linear translation, of a portion of the robot arm.

[0052] A robot tool flange reference point (also called TCP (Tool Center Point)) 107 is indicated at the robot tool flange and defines the origin of a tool flange coordinate system defining three coordinate axes x 凸缘 、y 凸缘 、z 凸缘 In the embodiment shown, the origin of the robot tool flange coordinate system has been arranged on the tool flange axis 105f, with one axis (z 凸缘 ) is parallel to the tool flange axis, and the other axis x 凸缘 、y 凸缘 Parallel to the outer surface of the robot tool flange 104. In addition, the base reference point 108 defines the three coordinate axes x 基座 、y 基座 、z 基座 In the embodiment shown, the origin of the robot base coordinate system has been arranged on the base axis 105a, where one axis (y 基座 ) is parallel to the base axis 105a, and the other axes x 基座 、y 基座Parallel to the bottom surface of the robot base.The direction of gravity 109 relative to the robot arm is also indicated by an arrow, and it will be appreciated that the robot arm may be arranged in any position and orientation relative to gravity.

[0053] The robotic arm comprises at least one robotic controller 110 which is configured to control the robotic arm 101 and which may be provided as a computer including an interface device 111, enabling a user to control and program the robotic arm. The controller may be provided as Figure 1 The interface device may be an external device as shown or a device integrated into the robot arm or a combination thereof. The interface device may, for example, be provided as a teach pendant as is known in the art 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 112 and a plurality of input devices 113, such as buttons, sliders, touchpads, joysticks, trackballs, gesture recognition devices, keyboards, microphones, and the like. The display may be provided as a touch screen that acts as both a display and an input device. The interface device may also be provided as an external device configured to communicate with the robot controller, for example in the form of a smartphone, tablet, PC, laptop, and the like. The interface device may be a teach pendant, a handle, or a smartphone that communicates with the robot controller via a wired or wireless communication protocol.

[0054] The robot tool flange 104 includes a force-torque sensor 114 integrated therein. The force-torque sensor 114 provides a tool flange force signal indicative of the force-torque applied at the robot tool flange. In the illustrated embodiment, the force-torque sensor is integrated into the robot tool flange and is configured to indicate the force and torque applied to the robot tool flange relative to the robot tool flange reference point 107. The force-torque sensor 114 provides force and torque signals indicative of the force and torque applied at the tool flange. In the illustrated embodiment, the force-torque sensor is integrated into the robot tool flange and is configured to indicate the force applied to the robot tool flange relative to the reference point 107 and the tool flange coordinate system. However, the force-torque sensor may indicate the force-torque applied to the robot tool flange relative to any point connectable to the robot tool flange coordinate system. In one embodiment, the force-torque sensor is provided as a six-axis force-torque sensor configured to indicate force along three perpendicular axes and torque about three perpendicular axes. For example, the force-torque sensor may be provided as any force-torque sensor capable of indicating force and torque relative to a reference point, such as any force-torque sensor disclosed in WO2014 / 110682A1, US4763531, or US2015204742. However, it should be understood that the force sensor associated with the present invention does not necessarily need to be capable of sensing torque applied to the tool flange. It should be noted that the force-torque sensor may be provided as an external device that is disposed at the robot tool flange, at another portion of the robot arm, or may be omitted.

[0055] The acceleration sensor 115 is disposed at the robot tool joint 102f and is configured to sense the acceleration of the robot tool joint 102f and / or the acceleration of the robot tool flange 104. The acceleration sensor 115 provides an acceleration signal indicating the acceleration of the robot tool joint 102f and / or the acceleration of the robot tool flange 104. In the illustrated embodiment, the acceleration sensor is integrated into the robot tool joint and is configured to indicate the acceleration of the robot tool joint in the robot tool coordinate system. However, the acceleration sensor may indicate the acceleration of the robot tool joint relative to any point that may be connected to the robot tool flange coordinate system. The acceleration sensor may be provided as any accelerometer capable of indicating the acceleration of an object. For example, the acceleration sensor may be provided as an IMU (Inertial Measurement Unit) capable of indicating both linear and rotational acceleration of an object. Note that the acceleration sensor may be provided as an external device, disposed at the robot tool flange, at another portion of the robot arm, or omitted.

[0056] Each of the robot joints includes a robot joint body and an output flange capable of rotating or translating relative to the robot joint body, and the output flange is connected to an adjacent robot joint directly or via an arm portion known in the art. The robot joint includes a joint motor, which is configured to rotate or translate the output flange relative to the robot joint body, for example, via a transmission or directly connected to a motor shaft. The robot joint body can be formed, for example, as a joint housing, and the joint motor can be disposed within the joint housing, and the output flange can extend beyond the joint housing. In addition, the robot joint includes at least one joint sensor that provides a sensor signal indicating at least one of the following parameters: an angular position and / or linear position of the output flange, an angular position and / or linear position of a motor shaft of the joint motor, a motor current of the joint motor, or an external force and / or torque attempting to rotate the output flange or motor shaft. For example, the angular position of the output flange can be indicated by an output encoder, such as an optical encoder or a magnetic encoder, which can indicate the angular position of the output flange relative to the robot joint. Similarly, the angular position of the joint motor shaft can be provided by an input encoder, such as an optical encoder or a magnetic encoder, which can indicate the angular position of the motor shaft relative to the robot joint. It is noted that both an output encoder indicating the angular position of the output flange and an input encoder indicating the angular position of the motor shaft can be provided. This allows, in embodiments where a transmission is provided, the relationship between the input and output sides of the transmission to be determined. The joint sensor can also be provided as a current sensor indicating the current flowing through the joint motor and, therefore, used to determine the torque provided by the motor. For example, in conjunction with a multi-phase motor, multiple current sensors can be provided to determine the current flowing through each of the phases of the multi-phase motor. It is also noted that some robot joints can include multiple output flanges that can be rotated and / or translated by the joint actuator. For example, one of the robot joints may include a first output flange that rotates / translates a first portion of the robot arm relative to the robot joint, and a second output flange that rotates / translates a second portion of the robot arm relative to the robot joint. As indicated above, the joint sensor can also be provided as a force-torque sensor or an acceleration sensor. Such force and / or torque and acceleration sensors may be e.g. Figure 1 A portion of the outermost joint is indicated, however other portions of the robotic arm may also include force-torque sensors and acceleration sensors. The robotic controller is configured to control the motion of portions of the robotic arm and the robotic joints by controlling the motor torque provided to the joint motors based on a dynamic model of the robotic arm, the direction of gravity work, and the joint sensor signals.

[0057] Figure 2 Shown Figure 11 is a simplified structural diagram of a robot arm. Robotic joints 102a, 102b, and 102f are shown in structural form, and for the sake of simplicity, robot joints 102c, 102d, 102e and robot links connecting the robot joints have been omitted. In addition, the robot joints are shown in the form of individual components, however, it should be understood that these robot joints are directly connected to each other or as Figure 1 As shown, the robot joint includes output flanges 216a, 216b, 216f and joint motors 217a, 217b, 217f or another actuator, wherein the output flanges 216a, 216b, 216f are capable of rotating relative to the robot joint body. The joint motors 217a, 217b, 217f are respectively configured to rotate the output flanges 216a, 216b, 216f via output shafts 218a, 218b, 218f. It should be understood that the joint motors or joint actuators can be configured to rotate the output flanges via a transmission system such as gears (not shown). In this embodiment, the output flange 216f of the tool joint 123f constitutes the tool flange 104. At least one joint sensor 219a, 219b, 219f provides sensor signals 220a, 220b, 220f, which indicate at least one joint sensor parameter J of the corresponding joint. 传感器,a 、J 传感器,b 、J 传感器,f . The joint sensor parameters may, for example, indicate posture parameters indicating the position and orientation of the output flange relative to the robot joint body, the angular position of the output flange, the angular position of the shaft of the joint motor, the motor current of the joint motor. The joint sensor parameters are selected from a list comprising: velocity, acceleration, torque, motor torque, force and position. The joint sensor parameters may be measurement values ​​obtained from sensors or values ​​derived from these sensor values. For example, the angular position of the output flange may be indicated by an output encoder such as an optical encoder, a magnetic encoder, which may indicate the angular position of the output flange relative to the robot joint. Similarly, the angular position of the joint motor shaft may be provided by an input encoder such as an optical encoder, a magnetic encoder, which may indicate the angular position of the motor shaft relative to the robot joint. The motor current may be obtained and indicated by a current sensor.

[0058] The robot controller 110 includes a processor 221 and a memory 222 and is configured to control the joint motors of the robot joints by providing motor control signals 223a, 223b, 223f to the joint motors. The motor control signals 223a, 223b, 223f indicate the motor torque T that each joint motor should provide to the output flange. 马达,a 、T 马达,b and T 马达,f, and the robot controller is configured to determine the motor torque based on a dynamic model of the robot arm known in the art. The dynamic model allows the controller to calculate the torque that the joint motor should provide to each of the joint motors in order for the robot arm to perform a desired movement. The dynamic model of the robot arm may be stored in the memory 222 and may be used based on the joint sensor parameters J 传感器,a 、J 传感器,b 、J 传感器,f For example, the joint motors may be provided as multi-phase electrical motors, and the robot controller may be configured to regulate the motor torque provided by the joint motors by regulating the current flowing through the phases of the multi-phase motors, as is known in the art of motor regulation.

[0059] The robotic tool joint 102f includes a force-torque sensor 114 that provides a tool flange force-torque signal 224 that is indicative of the force-torque FT applied to the tool flange. flange For example, the force signal - torque FT 凸缘 Can be expressed as a force vector in the robot tool flange coordinate system and torque vectoring

[0060] Equation 1

[0061] in is along x 凸缘 The indicated force of the shaft, is along y 凸缘 The indicated force of the shaft, and It is along z 凸缘 Indicative force of the shaft.

[0062] In embodiments where the force sensor is provided as a combined force-torque sensor, the force-torque sensor may also additionally provide a torque signal indicative of the torque applied to the tool flange, for example as a separate signal (not shown) or as part of the force signal. The torque may be indicated as a torque vector in the robot tool flange coordinate system:

[0063] Equation 2

[0064] in is around x 凸缘 Indicated torque of the shaft, is around y 凸缘 Indicated torque of the shaft, and is around z 凸缘 Indicated torque of the shaft. Note that the force vector and the torque vector may be provided as separate signals, and separate force sensors and / or torque sensors may be provided.

[0065] The robotic tool joint 102f may include an acceleration sensor 115 that provides an acceleration signal 225 indicative of an acceleration of the robotic tool flange, where the acceleration may be indicated relative to a tool flange coordinate system.

[0066] Equation 3

[0067] in is along x 凸缘 The sensed acceleration of the axis, is along y 凸缘 The sensed acceleration of the axis, and It is along z 凸缘 Additionally or alternatively, the acceleration sensor may be configured to measure the acceleration of the robot tool flange relative to gravity, and the acceleration measured relative to the acceleration of gravity may be converted to an acceleration of the robot tool flange relative to the robot base.

[0068] In embodiments where the acceleration sensor is provided as a combined accelerometer / gyroscope (e.g., an IMU), the acceleration sensor may additionally or alternatively provide an angular acceleration signal indicative of the angular acceleration of the output flange relative to the robot tool flange coordinate system, e.g., as a separate signal (not shown) or as part of the acceleration signal. The angular acceleration signal may indicate the acceleration vector in the robot tool flange coordinate system.

[0069] Equation 4

[0070] in is around x 凸缘 The angular acceleration of the axis, is around y 凸缘 axis, and is around z 凸缘 Additionally or alternatively, the acceleration sensor may be configured to measure the angular acceleration of the robot tool flange relative to gravity, and the angular acceleration measured relative to gravity may be converted into an angular acceleration of the robot tool flange relative to the robot base.

[0071] The force sensor and acceleration sensor are shown disposed at the robot tool joint 102f; however, it should be understood that the force sensor and acceleration sensor may be disposed at any portion of the robot arm.

[0072] Figure 3 A flow chart showing a method of obtaining vibration characteristics of a robotic arm, such as the robotic arm 101 described previously, is shown. The method comprises placing the robotic arm in a plurality of different physical configurations (C i ...Cn ). The method includes, for each of the different physical configurations of the robot arm, a step 350 of obtaining a vibration characteristic of the robot arm relative to at least one robot joint and a step 370 of obtaining an inertia of the robot arm relative to the at least one robot joint. In the illustrated embodiment, the step 340 of arranging the robot arm in a plurality of different physical configurations includes arranging the robot arm in physical configuration C. i 341 , after which the vibration characteristics of the robot arm are obtained in step 350 and the inertia of the robot arm are obtained in step 370 . Step 342 is a step of evaluating whether the robot arm has been arranged in a plurality of different configurations, wherein the vibration characteristics and inertia of the robot arm have been obtained for each physical configuration. For example, step 342 may test whether a counter i has reached a desired threshold value n, which indicates the number of different physical configurations in which the robot arm should be arranged. If this test fails, as indicated by a thumbs-down icon, the method proceeds to step 334 to update the physical configuration of the robot arm and arrange the robot arm in the new physical configuration in step 341 . If a different number of different physical configurations has been achieved, as indicated by a thumbs-up icon, the method proceeds to step 380 of obtaining an inertia-vibration model of the robot arm.

[0073] The physical configuration of a robot arm characterizes the physical characteristics of the robot arm, and different physical configurations are characterized by a change in the physical appearance of the robot arm. For example, different physical configurations can be achieved by changing the posture of the robot arm or by changing other physical characteristics of the robot arm. The posture of a robot arm characterizes the position and orientation of different parts of the robot arm, for example, in the form of the positions of robot joints (such as the joint angles of the robot joints). Therefore, the posture of the robot arm can be changed by moving one of the robot joints, causing at least two parts of the robot arm to be displaced relative to each other. Furthermore, the posture of the robot arm can be changed by changing the orientation of the robot arm relative to gravity (for example, by mounting the robot base differently relative to gravity). Furthermore, different configurations can be provided by changing the physical characteristics of the robot arm, by attaching various objects to the robot tool flange, or by removing / adding mass (payload) to a part of the robot arm. Different physical configurations of the robot arm can also be provided by changing different parts of the robot arm (for example, by changing the length / weight of a robot link).

[0074] The vibration characteristics of the robot arm relative to at least one robot joint characterize the dynamic response of the robot arm in response to a force / torque applied to the robot arm. Typically, such a dynamic response is in the form of mechanical vibrations of a portion of the robot arm, and the vibration characteristics of the robot arm relative to at least one robot joint can therefore characterize how a portion of the robot arm will move in response to the applied force. For example, the vibration characteristics can be obtained as a step response, where a short pulse in the form of a force / torque is applied to the robot arm and movement of a portion of the robot arm in response to the applied pulse is observed. Additionally, the vibration characteristics can be obtained by applying a known sequence / pattern of forces / torques to the robot arm and observing movement of the portion of the robot arm in response to the applied sequence. For example, the vibration characteristics can be indicated as a spectral analysis of the acceleration of a portion of the robot arm, a modal shape characterizing the deformation of a portion of the robot arm, parameters indicative of the natural frequencies and damping of the robot arm, and a transfer function indicative of how a portion of the robot arm behaves dynamically in response to the applied force / torque. In the illustrated embodiment, the vibration parameters at the robot arm are in physical configuration C i where is indicated as the eigenfrequency ω of the robot arm i and damping ζ i .

[0075] The inertia J of the robot arm relative to at least one robot joint i Characterizes the resistance of the robot arm to changes in velocity relative to at least one robot joint. The inertia of the robot arm can be based on the physical configuration of the robot arm C i and the kinematic model KoR of the robot arm. For example, the inertia of the robot arm can be obtained based on the posture of the robot arm and the kinematic model KoR of the robot arm, where the posture of the robot arm serves as an input to the kinematic model of the robot arm. In the case where a different physical configuration of the robot arm is provided by the changed physical properties of the robot arm, the kinematic model of the robot arm needs to be changed accordingly.

[0076] The method comprises step 380 of determining vibration characteristics ω1 . . . ω of the robot arm based on a plurality of different physical configurations of the robot arm. n 、ζ1……ζ n and inertia J i ...J nAn inertia-vibration model is obtained. This inertia-vibration model defines the relationship between the inertia of the robot arm and the vibration characteristics of the robot arm. Obtaining the inertia-vibration model of the robot arm allows the vibration characteristics of the robot arm to be derived based on the inertia of the robot arm, which in turn allows the robot arm to be controlled based on these vibration characteristics. For example, the robot arm can be controlled using input shaping as described in the background, where pulses used for input signal shaping are generated based on vibration characteristics obtained based on the inertia-vibration model. Therefore, the vibration characteristics of the robot arm in a given physical configuration can be obtained quickly and easily, as this can be performed based on the inertia-vibration model of the robot arm, and the inertia of the robot arm can be easily obtained based on a kinematic model of the robot arm and the actual posture of the robot arm. As will be discussed in the following paragraphs, the inventors have demonstrated that a relationship between the inertia and vibration characteristics of the robot arm can be established by obtaining the vibration characteristics and corresponding inertia of multiple different configurations of the robot arm. Therefore, the inertia-vibration model can be used to obtain the vibration characteristics of the robot arm in a given configuration based on the inertia of the robot arm in that configuration.

[0077] Furthermore, when the robot arm is already installed in the robotic device, an inertia-vibration model of the robot arm can be obtained. Therefore, the effects of external objects connected to the robot arm on the vibration characteristics of the robot arm are included in the obtained inertia-vibration model. These external objects can be any objects connected to the robot arm, such as wires, hoses, end effectors, and / or mounting elements already installed on the robot arm.

[0078] The inertia-vibration model may be embodied as a lookup table comprising a plurality of lookup points, each of which includes the inertia of the robot arm and a corresponding vibration characteristic of the robot arm. In conjunction with controlling the robot arm, a controller may, for example, be adapted to identify a dataset having an inertia that is closest to the actual inertia of the robot arm and then control the robot arm based on the vibration characteristic associated with that dataset. Alternatively, the vibration characteristic may be obtained as an interpolation between the plurality of data points of the inertia-vibration model, wherein the interpolation is obtained based on the inertia of the robot arm and the inertia of the plurality of data points.

[0079] The inertia model can also be provided as an inertia-vibration function, where the input of the function is the inertia of the robot arm, and the output of the function is the vibration characteristics of the robot arm. The inertia-vibration function can be derived based on the obtained inertia and vibration characteristics of different physical configurations of the robot arm. For example, the inertia-vibration function can be provided as a second-order function. In the illustrated embodiment, the inertia-vibration model is provided in step 380 as an eigenfrequency function ω(J) and a damping function ζ(J), which respectively provide the eigenfrequency ω and damping ζ of the robot arm as functions of the inertia J of the robot arm. However, it should be understood that the inertia-vibration function can be provided as any function that characterizes the vibration of the robot arm as a function of the inertia of the robot arm.

[0080] Figure 4 An embodiment of the step 350 of obtaining vibration characteristics of the robot arm is shown. Step 350 is performed when the robot arm is already arranged in a physical configuration and includes a step 451 of exciting the robot arm to vibrate, a step 452 of obtaining at least one motion parameter of the robot arm, and a step 453 of obtaining vibration characteristics of the robot arm.

[0081] Step 451 of stimulating vibration of the robot arm may be performed by applying a force or torque to the robot arm so that the robot arm vibrates accordingly. For example, an external source may be used to apply the force or torque, such as by using an external force / torque generator to tap, push, pull, or vibrate the robot arm. For example, an external vibration motor may be connected to the robot arm and configured to introduce the external force / torque. In one embodiment, the force / torque is applied by activating a joint motor of one of the robot joints, thereby providing a force or torque to the robot arm and stimulating the dynamics of the robot arm. For example, the force / torque may be applied by instructing the joint motor to move the corresponding output flange to position q, at a speed Move the output flange at an acceleration The joint motor is activated by accelerating the movement of the output flange, which causes the joint motor to move according to the instructed motion parameters q, q, to move a part of the robot arm. For example, Figure 1 and Figure 2 In the described and illustrated robotic arm, the indicated motion parameters q, q, The motor signals 223a, 223b, 223c are provided to the joint motors, which are indicative of the desired motor torque T 马达,a 、T 马达,b 、T 马达,f , these motor torques will result in the indicated movement parameters. Additionally, these desired motor torques can be used as input to the steps that excite the robot arm to vibrate.

[0082] The joint motors can be activated, for example, according to a predetermined activation function and / or sequence, wherein the joint motors are activated according to a predetermined pattern. For example, the joint motors can be instructed to perform a movement around their current position, thereby introducing vibrations at the robot joints, and the robot arm can be considered to remain in the same physical configuration. For example, these vibrations can be excited by multiple pulses, reciprocating movements, random movements, etc. These pulses can, for example, instruct the joint motors to move instantaneously in different directions, and the reciprocating movements can, for example, be performed as trigonometric functions / circular functions (such as sine and cosine functions). In one embodiment, the sine / cosine function can be performed as a frequency sweep, wherein the frequency of the sine / cosine function varies with time, so that the vibration characteristics of the robot arm can be obtained based on the introduced frequencies. Thus, the vibration of the robot arm can be excited relative to a first axis, wherein the first axis is defined by the motor shaft of the joint motor.

[0083] In one embodiment, the first robot joint constitutes the robot joint closest to the robot base. This is beneficial because the robot joints close to the robot base introduce the most dominant vibrations into the robot arm, and therefore, obtaining the inertia-vibration model based on the robot joints closest to the robot base ensures that the dominant vibration characteristics are incorporated into the inertia-vibration model.

[0084] In step 451, step 452 of obtaining at least one motion parameter of the robot arm is performed while exciting vibrations of the robot arm. This means that step 452 is performed while vibrations are being and / or have been introduced into the robot arm, thereby obtaining motion parameters of a portion of the robot arm. In other words, step 452 of obtaining motion parameters may be initiated when step 451 of exciting vibrations of the robot arm begins, and thus may be performed simultaneously with step 451. Furthermore, the step of obtaining motion parameters may be continued after step 451 has concluded, as this allows obtaining motion parameters after the excitation of the robot arm has concluded, for example, allowing obtaining damping characteristics of the robot arm.

[0085] The motion parameters obtained can be any parameters that characterize the motion of a portion of a robotic arm or any parameters from which motion parameters can be obtained, such as the position, velocity, and / or acceleration of a portion of the robotic arm. The portion of the robotic arm for which the motion parameters are obtained can be any portion of the robotic arm for which vibration characteristics of the robotic arm are to be obtained. Typically, the portion of the robotic arm constitutes the portion of the robotic arm for which vibration reduction is to be achieved using pulse shaping. For example, in one embodiment, the portion of the robotic arm constitutes the robotic tool flange, as this is typically the portion for which vibration reduction is desired. However, it should be understood that the portion for which vibration reduction is desired can be any portion of the robotic arm.

[0086] The motion parameters may be obtained by using any sensor capable of providing motion parameters of a portion of the robot arm, for example, the sensor may be in the form of a built-in sensor provided at the robot arm, such as a joint encoder capable of demonstrating that an encoder signal indicates an angle of a robot joint, an accelerometer for sensing the acceleration of a portion of the robot. Alternatively, the motion sensor may be an external sensor, such as a camera, a 3D tracker, or any other device capable of sensing the motion of a portion of the robot arm. For example, in a Figure 1 and Figure 2 In the robot arm described and shown, the accelerometer 115 arranged at the robot tool joint 102f can be used to provide the motion parameter, and the motion parameter can therefore be provided as the acceleration A of the robot tool joint. i .

[0087] Step 453 can be implemented by establishing a transfer function to obtain the vibration characteristics of the robot arm relative to at least one robot joint based on the activation of the joint motors and at least one motion parameter. The transfer function describes how the motion introduced by activating the robot joint motors is converted into the motion of the portion of the robot arm from which the motion parameter is obtained. The vibration characteristics of the robot arm can then be extracted from the transfer function. Ideally, the robot arm motion introduced by the robot joint motors would be immediately converted into the motion of the robot arm, and the motion parameters of any portion of the robot arm could be calculated based on kinematic knowledge of the arm's physical configuration. However, due to the flexibility of the robot joints and robot links, these motions are not immediately converted through the robot arm and also cause deviations from the ideal spine-shaped robot arm. The transfer function can, for example, describe these deviations and be used to extract the vibration characteristics of the robot arm.

[0088] In one embodiment, the inertia-vibration model is a second-order transfer function. The second-order transfer function makes it possible to estimate the vibration characteristics of the robot arm based on the inertia of the robot arm, because the robot arm can be modeled as a spring and damper system with second-order vibration characteristics (such as Figure 10 shown).

[0089] In one embodiment, vibration characteristics of the robot arm can be obtained relative to a first robot joint and relative to a second robot joint, and the corresponding inertia of the robot arm can be obtained relative to the first joint and / or relative to the second joint. This can be achieved, for example, by repeating the following steps: step 451 of exciting vibration of the robot arm, step 452 of obtaining motion parameters of the robot arm, and step 453 of obtaining vibration characteristics of each of the first and second robot joints. This allows an inertia-vibration model to be obtained based on the obtained vibration characteristics of the robot arm relative to the first robot joint, the obtained vibration characteristics of the robot arm relative to the second robot joint, the obtained inertia of the robot arm relative to the first robot joint, and the obtained inertia of the robot arm relative to the second robot joint. Because the inertia-vibration model can be obtained based on changes in the inertia of the robot arm caused by changes in both the first and second robot joints, a more robust and accurate inertia-vibration model can be provided. Therefore, the inertia-vibration model can be used to obtain the vibration characteristics of the robot arm relative to the first robot joint and the second robot joint, so that the inertia-vibration model covers a wider range of inertia of the robot arm, and thus the inertia-vibration model can be used to estimate the vibration characteristics of the robot arm within a wider range of robot configurations.

[0090] In one embodiment, the vibration characteristics of the robot arm can be obtained relative to the axis of motion of the first robot joint, and the inertia of the robot arm can also be obtained relative to the axis of motion of the first robot joint. Similarly, the vibration characteristics of the robot arm can be obtained relative to the axis of motion of the second robot joint, and the inertia of the robot arm can be obtained relative to the axis of motion of the second robot joint. This allows an inertia-vibration model to be derived based on the vibration characteristics and inertia relative to the axis of motion of the first and second robot joints. In a typical robot arm, changes in the axis of motion of the first and second robot joints relative to the robot base result in large changes in the inertia of the entire robot because such changes result in a significant reconfiguration of the mass of the robot arm. Therefore, in one embodiment, the first and second robot joints constitute the two robot joints closest to the robot base. However, it should be understood that the first and second joints can refer to any of the robot joints of the robot arm. Furthermore, the vibration characteristics and corresponding inertias relative to more than two robot joints can be obtained, and an inertia-vibration robot can then be provided based on the vibration characteristics and corresponding inertias of the robot arm relative to more than two robot joints.

[0091] In one embodiment, the axis of motion of the first robotic joint and the axis of motion of the second axis of the second robotic joint are non-parallel relative to each other. This ensures that variations in the first robotic joint and the second robotic joint manipulate the robotic arm in different ways, thereby enabling vibration characteristics of a wider range of physical configurations of the robotic arm. For example, the axis of motion of the first robotic joint and the axis of motion of the second axis of the second robotic joint may be perpendicular relative to each other.

[0092] As discussed in the background, successful implementation of input shaping for a robotic arm depends on reliable estimation of the natural frequencies and damping ratios of the robotic arm. A detailed description and example of a method for obtaining an inertia-vibration model of the robotic arm is described in the following paragraphs

[0045] to

[0087] . The result is an inertia-vibration model ω of the robotic arm. n and ζ for two observed vibration models in the robotic arm. Figure 5 The steps of obtaining vibration characteristics of a robot arm in a physical configuration are shown.The method comprises a step 554 of obtaining a tangential acceleration of a portion of the robot arm and a step 561 of obtaining a transfer function 560 for the portion of the robot arm.

[0093] Observed vibration pattern

[0094] When checking the robot arm in any configuration (such as Figure 1 When considering a structure like the robot arm shown in Figure 1, complex vibration patterns are expected. A complex dynamic system with continuously distributed mass, flexibility, and damping will be subject to a variety of different vibration patterns in all directions. However, it can be assumed that mechanical flexibility can be approximated by rotational flexibility in the robot joints, so that linking the robot link flexibility to the robot joint flexibility results in equivalent torsional stiffness. Attention should be paid to the robot joints closest to the robot base of the robot arm.

[0095] The robot joints near the robot base have a great influence on the dynamic behavior of the robot arm for three reasons: first, angular deflections near the robot base will result in large displacements of the robot tool flange, while angular deflections of one of the robot arm's wrist joints will only result in small tool displacements, 2) the robot joints near the robot base experience higher inertia and therefore have lower natural frequencies; and 3) the robot joints near the robot base experience higher load torques.

[0096] Based on these observations, it is expected that the robotic arm (e.g. Figure 1The robot arm shown in FIG. 1 will have its primary vibration model as a rotational model around the base joint 102 a and the shoulder robot joint 102 b. In one embodiment, the vibration around the elbow joint 102 c may also be considered as a separate vibration model. However, in a robot arm where the axis of the shoulder joint is parallel to the axis of the elbow joint, it is expected that the flexibility of these parallel robot joints may also be considered as included in an equivalent torsional stiffness.

[0097] Therefore, it is assumed that the vibration of the robot arm can be approximated by the following two vibration models: 1) around the base joint, and 2) around the shoulder joint.

[0098] It is well known that a typical industrial robot arm with 6 degrees of freedom (DOF) has configuration-dependent dynamic behavior. In other words, the robot arm is a complex nonlinear dynamic system, but this nonlinear dynamic system can be approximated as a linear dynamic system in a specific configuration.

[0099] In a robotic arm with 6DOF, there are multiple contributions to the configuration-dependent behavior. These contributions include variations in payload, mass distribution and control parameters, nonlinear stiffness of the gears, and load-dependent friction. Of these factors, the mass distribution (system inertia) is expected to have the greatest impact on the configuration dependence of the natural frequency and damping. Studies by Chang and Park have shown that the natural frequency around the base joint exhibits an approximately linear relationship with the horizontal distance from the payload {i.}. According to embodiments of the present invention, the robotic arm will be treated as a more subtle configuration-dependent dynamic system that takes into account multiple physical time-varying behaviors.

[0100] Obtaining the vibration characteristics of the robot arm

[0101] There are many ways to estimate system dynamics, such as the vibration characteristics of a robot arm. For system dynamics estimation, models, tables, measurements or a combination of the foregoing can be used. Examples of different modeling methods for dynamics estimation are: finite element method, symbolic Lagrangian method, lumped parameter method, transfer matrix method and hypothetical model method. In this embodiment, the vibration characteristics of the robot arm are obtained by using accelerometers arranged at the robot tool joints (e.g., built-in accelerometers in the tool flange). In addition, data from the target motion of the robot tool flange and sensor data (such as accelerometer readings) are used to obtain dynamic characteristics. Such data parameters are typically available from a real-time data exchange interface of the robot arm. More specifically in this embodiment, the vibration characteristics of the robot arm can be obtained based on: the target joint position Target joint position acceleration and accelerometer readings

[0102] Gravity and orientation compensation

[0103] In embodiments where the accelerometers measure acceleration in a local accelerometer coordinate system A, some post-processing of the accelerometer measurements is required before they are used to obtain vibration characteristics of the robot arm. Therefore, in step 554, the tangential acceleration of the portion of the robot arm is obtained based on the obtained acceleration of that portion of the robot arm. It is desirable to obtain an acceleration signal that is expressed in a universal coordinate system and does not require gravity. This is accomplished in step 555 by combining the 3×1 raw accelerometer measurements into a It is obtained by converting from the local accelerometer coordinate system A to the global (universal) coordinate system U, as shown in Equation 5, where is the acceleration expressed in the local coordinate system A of the accelerometer, is the acceleration in the global coordinate system U, and is the rotation matrix of coordinate system A obtained in step 556, as known in the art:

[0104] Equation 5

[0105] Equation 6

[0106] Gravity compensation is then performed in step 557 and may be performed as in Equation 6, is the gravity-compensated acceleration in the global coordinate system U, and g is the acceleration due to gravity, approximately 9.82 m / s 2 . Figure 6 Coordinate transformation and gravity compensation are shown, where the three coordinate axes of the accelerometer coordinate system are shown as x A 、y A 、z A , and the obtained acceleration in the accelerometer coordinate system is shown as a vector The three axes of the universal coordinate system are shown as x U 、y U 、z U , and the obtained acceleration in the universal coordinate system is shown as a vector Vector Indicates the position of the accelerometer coordinate system relative to the universal coordinate system, and the vector In conjunction with the robot arm, the origin of the accelerometer coordinate system may correspond to the robot tool flange reference point 107 (TCP), and the origin of the universal coordinate system may correspond to the base reference point 108, as shown in FIG. Figure 1 shown.

[0107] Observe the tangential acceleration

[0108] In the step 558 of projecting the acceleration to the direction of interest, the acceleration component ψ describing the measured acceleration in the direction of interest (ie in the direction of the robot joint motion) is performed. j When the robot joint is accelerated, this results in an acceleration of the robot tool flange. This acceleration will be tangential to the resulting circular motion of the robot tool flange. This acceleration is referred to herein as the tangential acceleration, ψ j If only one robot joint is moving and mechanical flexibility is neglected, the angular acceleration in the robot joint is and the tangential acceleration of the robot tool flange ψ j There is a linear relationship between ψ j becomes an interesting metric because it allows for a number of simplifications when estimating the vibration characteristics of a robot arm. Additionally, by looking at the tangential acceleration instead of the magnitude of the acceleration, any contribution from centrifugal or Coriolis acceleration can be neglected. This is advantageous because centrifugal or Coriolis acceleration is a function of the robot joint velocity. The result is not the robot joint acceleration results.

[0109] The tangential acceleration ψ can be obtained based on the tangential direction of the acceleration j The direction is the partial derivative of the accelerometer position with respect to the robot joint position obtained in step 559 This partial derivative is also the jth column of the 6×6 Jacobian matrix and can be simply approximated by an infinitesimal motion as:

[0110] Equation 7

[0111] Equation 8

[0112] in is a 6×1 vector that adds small changes in the robot joint angles in robot joint j, Based on the robot joint angle The position of the accelerometer calculated by forward kinematics. The tangential acceleration can then be determined as arrive Scalar projection onto :

[0113] Equation 9

[0114] Therefore, the tangential acceleration is obtained by preprocessing the raw accelerometer readings based on the robot joint angles. Figure 7 The method for obtaining ψ is shown j scalar projection of .

[0115] Fitting to transfer function

[0116] Step 560 is a step of obtaining vibration characteristics of the robot arm based on a transfer function, wherein the transfer function characterizes the movement of a portion of the robot arm due to the excitation of the robot arm. For example, the transfer function can be established based on the considerations in the following paragraphs

[0056] to

[0063] .

[0117] When moving only one joint, the robot arm can be considered a single-link manipulator. Without loss of generality, when moving only one joint, the accelerometer position will move on an arc, such as Figure 8 As shown. Therefore, the acceleration has a tangential component and radial component and the gravity component

[0118] Equation 10

[0119] Equation 11

[0120] Equation 12

[0121] Where q is the joint angle, r is the accelerometer radius, ψ is the tangential acceleration, and g is the acceleration due to gravity, approximately 9.82 m / s 2 ,and is a unit vector in the tangential direction:

[0122] Equation 13

[0123] It can be seen that the radial component comes from the joint velocity And the tangential component and joint acceleration The total acceleration measured by the accelerometer in the global coordinate system will be:

[0124] Equation 14

[0125] The tangential acceleration can then be separated into:

[0126] Equation 15

[0127]

[0128] As can be seen from Equation 16, when assuming flexible joints and rigid links, the actual joint acceleration and the tangential acceleration ψ of the accelerometer j There is a linear relationship between ψ jis the acceleration component of interest and, therefore, is extracted from the accelerometer measurements.

[0129] Assume that the local dynamics can be expressed by the transfer function To describe, such as Figure 9 As shown in the block diagram, is the reference (target) joint acceleration in the Laplace domain, is the actual joint acceleration, is the error in joint acceleration, is the control acceleration, Ψ(s) is the actual acceleration of the robot arm, G c(s) is the controller transfer function, and G j(s) is the joint (mechanical) transfer function, and G r(s) is a rigid body conversion from angular acceleration to tangential acceleration.

[0130] It is assumed here that the dynamics of the mechanical joints in the local configuration can be expressed by a second-order system (e.g. Figure 10 The spring, mass, and damper system shown in Figure 2 is approximated by the following formula: where k is the spring stiffness, c is the damping coefficient, J is the mass moment of inertia, and q is the c(t) is to control the joint angle, and q a is the actual joint angle.

[0131] The dynamic equations for this type of spring, mass, damper system can be formulated as:

[0132] Equation 17

[0133] where δq(t) is the deformation of the joint gear:

[0134] Equation 18: δq(t) = q c (t)-q a (t)

[0135] like Figure 11 As shown, the dynamic equation in Equation 17 can be presented in block diagram form, where It is q c(t) is the Laplace transform of , and T(s) is the torque acting on the inertia J.

[0136] Figure 11 The block diagram shown can be simplified to the joint transfer function G through the block diagram conversion method j(s) :

[0137] Equation 19

[0138] This equation is a second-order transfer function with two poles and one zero because the denominator has two roots of s and the numerator has one root of s.

[0139] Transfer function G r(s) Describing actual joint accelerations by simple scaling The relationship between and tangential acceleration Ψ(s) can be seen from Equation 11:

[0140] Equation 20

[0141] where r is the radius from the joint axis to the accelerometer location.

[0142] It can be assumed that the controller is a PID controller. However, this increases the order of the closed-loop dynamic system. In order to provide the best basis for input shaping, it is always sought to keep the system as a second-order system and to keep the formulas as simple as possible to make them easier to understand and avoid overparameterization during the optimization process. Therefore, it is assumed that the control dynamics of the controller can be estimated by a proportional controller (i.e., P control), which does not affect the order of the closed-loop system. If this approximation is too uncertain, a good fit cannot be obtained. If a good fit can be obtained, the approximation is feasible. The controller transfer function of the P controller then simply becomes:

[0143] Equation 21G c(s) =K p

[0144] where K p is the proportional gain of the controller.

[0145] Figure 9 The closed-loop transfer function G(s) of the system shown can be combined into

[0146] Equation 22

[0147]

[0148]

[0149] Because the input shaping formula is based on a second-order dynamical system, the goal is to approximate the local dynamics as second-order time-invariant. Therefore, even if a higher-order system can provide a better approximation, the second-order approximation will provide the best basis for the shaping filter function. It can be seen that the closed-loop transfer function G(s) is also a second-order system with two poles and one zero. Therefore, for the identification of dynamics in the local configuration, this transfer function can be described by four coefficients:

[0150] Equation 25

[0151] where k a 、k b 、kc and k d is the coefficient that needs to be optimized.

[0152] Typically, input shaping methods rely on the natural frequency ω n and damping ratio ζ in the form of the system's dynamic response. These parameters can be obtained from the transfer function G(s). The vibration characteristics are determined by the denominator of the transfer function and can be obtained by comparing it with the characteristic second-order transfer function, which is H(s):

[0153] Equation 26

[0154] This can be achieved by replacing G in Equation 25 local(s) Comparison with H(s) in Equation 26 determines the local natural frequency and damping, such that:

[0155] Equation 27

[0156] Equation 28

[0157] The step 560 of obtaining the vibration characteristics of the robot includes obtaining G local(s) Step 561 of the transfer function parameters that are applicable to the robot in a specific physical configuration. The optimization of G in Equation 25 can be solved local(s) The goal is to minimize the model prediction error norm of the model, that is, This can be achieved with most known optimization algorithms. For example, the computing and simulation program MATLAB provides a simple function called tfest for converting G local(s) The system parameters are fitted to and ψ j(t) The measured time domain data is used. tfest uses the weighted prediction error norm as the cost function and a nonlinear least squares search method for optimization.

[0158] In step 562 , vibration characteristics may be obtained based on the transfer function parameters obtained in Equation 27 and Equation 28.

[0159] To summarize Figure 5 The step 453 of obtaining vibration characteristics is shown, which shows how to obtain the vibration characteristics based on the motion parameters in the form of raw accelerometer measurements and the target joint angles used to excite the robot arm. and target joint acceleration To obtain the eigenfrequency ω of the physical configuration of the robot arm n ,j and damping ζ j Vibrational properties of form.

[0160] Based on the considerations presented in the following paragraphs

[0068] to

[0078] , a step 380 of obtaining an inertia-vibration model of the robot arm based on the obtained vibration parameters may be performed.

[0161] Once the vibration characteristics of the robot arm have been obtained for a number of different physical configurations of the robot arm, some description of the relationship between the physical configuration of the robot arm and the vibration characteristics of the robot arm can be identified. This can be achieved by selecting some generalized coordinates and fitting the data to some parametric description, for example, a general polynomial function like the straight line in {i.}. However, it is desirable to derive a parametric description that makes physical sense based on the understanding of the dynamic system. Therefore, the natural frequency and damping are derived from G(s). By comparing the characteristic transfer function H(s) with the closed-loop system transfer function G(s) in Equation 24, the similarity in the structure of Equation 26 should be noticed. Based on these similarities, the damping ratio ζ and the natural frequency ω can be obtained n The natural frequency can be easily obtained:

[0162] Equation 29

[0163] Similarly, the damping ratio can be obtained:

[0164] Equation 30

[0165] And separating ζ by combining Equation 29 and Equation 30:

[0166] Equation 31

[0167] From Equation 29 and Equation 31, we can see that ω n and ζ vary with the mass moment of inertia J. The mass moment of inertia experienced about each joint axis in the local configuration can be determined by standard procedures of forward kinematics and joint angle-to-inertia transformations.

[0168] It can be seen that the vibration characteristics of the robot arm can be estimated based on the mass moment of inertia of the robot arm, and the mass moment of inertia can be obtained based on the robot joint angle.

[0169] Figure 12 shows how to use inertial transformation (also known as forward kinematics of a robotic arm) to transform the joint space The physical configuration of the robot arm in the inertial space is transformed into The inertia gained It is then used to estimate the vibration characteristics of the robot arm in dynamic space The analysis was performed using the inertia-vibration model.

[0170] In addition, three other contributions to the physical configuration-dependent vibration characteristics are expected; 1) gear stiffening effect, 2) configuration damping friction coefficient, and 3) controller gain adaptation.

[0171] The gear stiffening effect is expected to affect system dynamics, such as the vibration characteristics of a robotic arm. Some robotic arms, such as collaborative robotic arms, may be equipped with strain wave gears, which have a significant impact on the overall impedance of the system. The torque-displacement relationship of a strain wave gear is typically approximated by a cubic polynomial, as shown in {ii.}{iii.}{iv.}{v.}

[0172] Equation 32τ≈k1δq+k3δq 3

[0173] where τ is the joint torque, δq is the angular deformation, and where k1 and k3 are polynomial coefficients. Figure 13 The torque-displacement curves of the strain wave gear used in the base joint of the collaborative robot named UR5e provided by Universal Robots are shown. The top graph shows the force-displacement curve of the strain wave gear adjusted according to {v.}. The bottom graph shows the stiffness-displacement curve of the strain wave gear. Please note that this figure is only used as an illustrative example. This figure uses k1=42.0Nm / (rad×10 -3 ) 3 and k3=2.4Nm / (rad×10 -3 ) 3 This produces a curve that is almost identical to the result of {v.}. The equivalent stiffness coefficient of the gear can be described as:

[0174] Equation 33

[0175] , which is shown as Figure 13 However, approximating the stiffness using a displacement description is not straightforward, since the gear deformations are not known from the robot's configuration. Therefore, it is desirable to obtain a torque description instead, since the torque is related to the configuration and the mass moment of inertia.

[0176] By separating δq in Eq.

[0177] Equation 34

[0178] , which is shown as Figure 14 The top graph of the displacement-force curve for the strain wave gear in the UR5e base joint (top). The expression for δq in Equation 33 can then be replaced by the expression in Equation 34 to obtain an expression for stiffness in terms of torque. This expression becomes:

[0179] Equation 35

[0180] , which is shown as Figure 14 From this diagram, it can be seen that it is acceptable to approximate Equation 35 as a partially linear approximation, namely:

[0181] Equation 36k≈a+b|τ|

[0182] , where a and b are the coefficients of the symmetric linear approximation of the stiffness k. The linear approximation is given by Figure 14 The dashed line in the bottom graph is shown.

[0183] From Newton's second law of rotation, it can be seen that the torque τ is directly

[0184] Equation 37

[0185] Equation 38 |τ|∝J

[0186] Therefore, assuming that the joint accelerations of different configurations are equal, the change in robot gear stiffness can be approximated as:

[0187] Equation 39k≈a+bJ

[0188] Gravity loads (i.e., average loads) should also be taken into account, as they will exert additional torque on the gears, thus affecting the local stiffness. Figure 14 In the stiffness curve, we choose to approximate this contribution as g | is proportional. Therefore, the mechanical stiffness is approximately:

[0189] Equation 40k≈k0+k J J+k g |τ g |

[0190] , where k0 is a constant coefficient, k J is the inertia dependence coefficient, k g are the gravity torque dependence coefficients. Together these coefficients describe the stiffness variation of the strain wave gear.

[0191] The nonlinear bending force-displacement relationship of a beam (such as the aluminum tube link of a robot) can also be approximated by a cubic polynomial {vi.}{vii.}, similar to a strain wave gear. Therefore, the stiffening effect of the link will also be captured by Equation 40 without any additional effort.

[0192] System damping changes

[0193] Friction estimation is generally a very complex branch of research, and friction in strain wave gears is no exception. The friction torque depends nonlinearly on speed, load torque, position, temperature, and process {ii.} {v.} {viii.} {ix.}, for example. The linear ideal second-order dynamic system G in Equation 19 is j(s) has linear viscous damping. However, strain wave gears have multiple friction components, some of which are nonlinear, such as nonlinear viscous friction and torque dependence {ix.}. Assume that the friction torque can be approximated as:

[0194] Equation 41

[0195]

[0196] , where c is the linear damping coefficient, is the time derivative of the gear deflection angle (i.e., deflection velocity), c0, c1, and c2 are the polynomial coefficients of nonlinear viscous friction, and c τ is the contribution from the load dependence. It can be seen that the damping coefficient c varies with both the deflection velocity and the load torque.

[0197] Figure 15 shows how a reduced natural frequency will result in a deflection velocity amplitude This figure shows how two oscillations with the same acceleration amplitude but different frequencies will produce different velocity amplitudes. It is found that (δq_amp) is inversely proportional to the oscillation frequency, which means that a lower frequency results in a higher velocity. It can also be seen from Equation 29 that the natural frequency ω n As the mass moment of inertia J changes, so that:

[0198] Equation 43

[0199] From Equation 38, |τ| can be considered to be proportional to J, so c can be rewritten from Equation 42 as:

[0200] Equation 44

[0201] , so that the damping change can also be estimated based on the mass moment of inertia J.

[0202] Closed-loop controller changes

[0203] The robot controller is expected to have some gain adaptation to ensure good performance in different configurations. In configurations with high inertia, a high proportional gain K p will result in instability. Similarly, in configurations with low inertia, low proportional gain will provide poor performance. Assume that the robot controller adaptation can be approximated as:

[0204] Equation 45K p ≈k p / J

[0205] , where k p is a constant coefficient that is scaled by the inverse of J to adjust the gain for different configurations.

[0206] Inertia-vibration model

[0207] The inertia-vibration model can be described by inserting Equation 40, Equation 44, and Equation 45 into Equation 29 and Equation 31 as:

[0208] Equation 46

[0209] Equation 47

[0210] , where J = J0 in the base map and J = J1 in the shoulder map. Therefore, it is desirable to set the parameters k0 and k1 for the base and shoulder joints, respectively. J 、k g 、k p , c0, c1, c2 and c τ Fitting is performed to obtain the inertia-vibration model of the robot arm.

[0211] Once the vibration characteristics and inertia of the robot arm of multiple different physical configurations have been obtained (in step 340), an inertia-vibration model can be obtained based on the obtained vibration characteristics and inertia of the robot arm (in step 380). In one embodiment, the inertia-vibration model can be obtained by fitting the natural frequency and damping coefficient of the robot arm to the obtained vibration characteristics and inertia of the robot arm according to Equations 46 and 47. The parameters can be obtained by using any parameter estimation method (such as the "least squares method"), where the optimal solution is the solution that results in the minimum sum of squared errors. Suitable methods can include, for example, the Gauss-Newton method, the Levenberg-Marquardt method, the Powell's dog-leg method, a secant version of the Levenberg-Marquardt method, a secant version of the dog-leg method, etc., and various commercially available software has implemented such fitting methods and makes the implementation and acquisition of the inertia-vibration model simple.

[0212] The method according to the present invention was validated in experiments to obtain an inertia-vibration model for a robot arm. The experiments were performed using a collaborative robot arm, marketed as the UR5e and supplied by Universal Robots A / S. The robot arm was mounted on a steel frame, which is considered very rigid compared to the robot arm itself. During the experiments, a payload was mounted on the tool flange and varied between 0 kg, 1 kg, 3 kg, and 5 kg. The robot arm was controlled by a robot controller provided with the robot arm, and the data was recorded by a laptop PC.

[0213] Generate empirical data

[0214] Two different algorithms are used to characterize the vibration of a robotic arm in multiple physical configurations. Algorithm 1 ensures that the robotic arm is arranged in multiple physical configurations to cover its workspace, and Algorithm 2 generates random target motions around the base and shoulder joints to excite the dynamics of the robotic arm and identify its vibration characteristics.

[0215]

[0216] In Algorithm 1, the robot arm is placed at the center of the tool flange at an angle V, as shown in Figure 16 As shown. For each V value, the tool flange is then placed at a different distance between the shoulder axis and the center of the tool flange. Thus, the entire workspace of the robot is covered. The mapping with Algorithm 1 is repeated for each payload (0kg, 1kg, 3kg, 5kg) and in each physical configuration, the robot arm dynamics are excited and the vibration characteristics are identified by Algorithm 2. This means that the identification will be performed for 4 V values, 13 R values ​​and 4 payload values, resulting in 4×13×4=208 different configurations. In each configuration, Algorithm 2 will run for about 8.5s for each direction (base and shoulder). Since the motion time between physical configurations is about 2s and the time for manual payload change is about 90s, the complete mapping process takes about 208×(2×8.5+2)+4×90=4312"s"≈72min Algorithm 2 obtains the vibration characteristics

[0217]

[0218] In Algorithm 2, the dynamics around the base and shoulder joints are excited separately through a series of random bang-coast-bang motions. Here, bang-coast-bang motions represent motions with constant joint acceleration, possibly followed by a period of constant joint velocity, and finally ending with a constant deceleration {x.}. Figure 17An example of the excitation signal for the base joint is presented in . Here, the dashed line marks a single bang-coast-bang motion. The target motion (q, and ) and accelerometer measurements, and the target motion and these accelerometer measurements are used in the recognition process by fitting the parameters of the transfer function in Equation 25.

[0219] Mapping results

[0220] Once the vibration characteristics of the robot arms of multiple different physical configurations are obtained, the coefficients of Equations 46 and 47 can be obtained based on the obtained vibration characteristics of the robot arms. This process is performed for the base and shoulder separately. During the data fitting process, c1 and k g The influence of is negligible. This is observed from the very small values ​​of these parameters and the high solver uncertainty. Therefore, these parameters are neglected in the inertia-vibration model of the robot arm, and the eigenfrequencies and damping can be mapped using the following equations:

[0221] Equation 48

[0222] Equation 49

[0223] First, the natural frequency ω associated with the joint around the base is obtained by fitting the following parameters: n,0 :

[0224] Equation 50

[0225] , where the index {}0 refers to the base joint (joint 0). This expression can be obtained by replacing J with J0 in Equation 48. Figure 18 shows the natural frequency f in Hz n The natural frequency is obtained by the following equation:

[0226] Equation 51

[0227] And by changing the parameters k0, k J and k p The vibration characteristics and inertia of different physical configurations of the robot arm are fitted to the cross. It can be seen that for about 1 kg m 2 For the inertia J0 below, the correlation between the fitted curve and the empirical data is not very good.

[0228] refer to Figure 20The robot configuration in , even if the robot is in a stretched configuration, can experience low inertia about the base joint. Acceleration of the base joint or shoulder joint will cause the robot tool flange to accelerate in almost the same direction, i.e., ψ 0 and ψ 1 Almost collinear, such as Figure 20 In addition, intuitively, as Figure 20 The configuration shown will have a low natural frequency in any direction, including the direction around the base joint. Therefore, it can be assumed that the shoulder inertia can better predict the natural frequency around the base joint. Then, the coefficients of the following equation:

[0229] Equation 52

[0230] is identified. During this identification process, it is found that due to overparameterization, the solution space is floating. n Depending on a ratio, this gives an infinite number of combinations, so the solution space is floating. Therefore, k0 is fixed to a value of 10000 Nm / rad to avoid overparameterization, leaving k J and k p The optimization is then performed. The damping ratio of the vibration around the base joint is then obtained by fitting the following equation:

[0231] Equation 53

[0232] For this data, k0, k J and k p Set to the value obtained in frequency identification. As defined in Equations 52 and 53, the inertia-vibration model fitting coefficients associated with the base joint are listed in Table 1. Figure 19 The experimental results of the base joint natural frequency fitted with the shoulder joint inertia are shown (indicated by the crosses), where the solid line graph is provided based on Equation 52 with the coefficients of Table 1. Figure 21 Experimental results of the base damping ratio fitted with the shoulder inertia and the base inertia are shown (indicated by crosses), where a solid surface is provided based on Equation 53 with the coefficients of Table 1.

[0233] Table 1: Fitting coefficients of the inertia-vibration model associated with the base joint

[0234]

[0235] ★ Fixed k0 value to avoid overparameterization

[0236] Dynamic shoulder mapping

[0237] A similar identification procedure was performed on the coefficients of the inertia-vibration model of the shoulder joint. Thus, the natural frequencies and damping ratios associated with the shoulder joint were fitted as:

[0238] Equation 54

[0239] Equation 55

[0240] The inertia-vibration model fitting coefficients associated with the shoulder joint, as defined in Equations 54 and 55, are listed in Table 2. Figure 22 The experimental results of the natural frequency of the shoulder joint fitted with the inertia of the shoulder joint (indicated by the cross) are shown, where the solid line graph is provided based on Equation 54 with the coefficients of Table 2. Figure 23 Experimental results of the shoulder damping ratio fitted with the shoulder inertia are shown (indicated by the crosses), where a solid line graph is provided based on Equation 55 with the coefficients of Table 2.

[0241] Table 2: Fitting coefficients of the inertia-vibration model related to the shoulder joint

[0242]

[0243]

[0244] ★ Fixed k0 value to avoid overparameterization

[0245] The inertia-vibration model can be used to control the robot arm, so that the vibration characteristics of the robot arm are taken into account when controlling the robot arm, thereby reducing the vibration of the robot arm. Figure 24 shows controlling a robotic arm (e.g., as combined with Figure 1 and Figure 2 The method includes: generating a target motion for the robotic arm in step 2430, obtaining vibration characteristics of the robotic arm based on an inertia-vibration model in step 2485, and generating a control signal for the robotic arm in step 2490.

[0246] Step 2430 of generating a target motion for the robotic arm may be performed as is known in the art of robotic arm control, wherein the desired motion of the robotic arm is provided or programmed by a user; for example, a user may manually instruct the robotic arm to move to a certain space and / or may program the robotic arm to perform certain movements, and the robotic controller may then execute the robotic programming to cause the robotic arm to perform the desired movements. The target motion may be indicated as a position of a portion of the robotic arm relative to a reference point, such as in the form of a position of a robot tool flange relative to a base joint. Alternatively, the target motion may be indicated as a desired position of a robot joint, such as in the form of an angular position of the robot joint and its derivative. For example, q represents the target position, represents the target speed, Indicates the target acceleration.

[0247] The step 2485 of obtaining vibration characteristics of the robot arm is performed based on an inertia-vibration model associated with the robot arm, wherein the inertia-vibration model defines a relationship between the inertia of the robot arm and the vibration characteristics of the robot arm. In an exemplary embodiment, the step 2485 of obtaining vibration characteristics of the robot arm includes the step 2470 of obtaining the inertia J of the robot arm based on the physical configuration of the robot arm. The inertia of the robot arm can be obtained based on the physical configuration of the robot arm and the kinematic model KoR of the robot arm. For example, the inertia of the robot arm can be obtained based on the physical configuration of the robot arm and the kinematic model KoR of the robot arm, wherein the physical configuration of the robot arm serves as an input to the kinematic model of the robot arm.

[0248] The physical configuration of the robot arm may be obtained in the obtain physical configuration of the robot arm step 2486. The physical configuration of the robot arm may be obtained based on the target positions q of the robot joints. Additionally or alternatively, the physical configuration may be obtained based on one or more joint sensors that provide information indicating joint sensor parameters J. sensor,a 、J sensor,b 、J sensor,f For example, the joint sensor may be an encoder that indicates the position of the output flange relative to the robot joint body of the robot joint.

[0249] In step 2487, the vibration characteristics of the robot arm are obtained based on the inertia J of the robot arm and the inertia-vibration model of the robot arm. This can be performed, for example, by using Equations 46 and 47, so that the eigenfrequency ω of the robot arm can be obtained. n and damping ζ.

[0250] In step 2490, one or more control signals are generated for the robotic arm. The control signal may be any signal capable of controlling the joint motors of the robotic arm, for example in the form of motor control signals 223a, 223b, 223f that indicate the motor torque T that the joint motors should provide. 马达,a 、T 马达,b and T 马达,f The control signal is based on the target motion q, and the vibration characteristics of the robot arm ω n , ζ. For example, the control signal can be generated by utilizing the so-called input shaping technique as described in the background. However, it should be noted that other techniques for generating control signals based on the target motion and vibration characteristics of the robot arm can be used. For example, the vibration characteristics obtained via the inertia-vibration model of the robot arm can be incorporated into the dynamic model of the robot arm used to generate the control signal. The vibration characteristics obtained via the inertia-vibration model can also be used to adjust the smoothness of the target motion (e.g., jerk or snap (third and fourth order derivatives of position)).

[0251] In the illustrated embodiment, the step 2490 of generating a control signal includes a step 2491 of providing a pulse train based on vibration characteristics of the robotic arm, the pulse train including a plurality of pulses, and a step 2492 of generating a control signal based on the target motion and the pulse train.

[0252] The pulse train comprises a plurality of pulses having pulse magnitudes and associated pulse delays, which pulses may be provided, for example, using any method of generating a pulse train for input shaping (e.g., as presented in WO2019012040 and {xi.}{xii.}).

[0253] Step 2492 can be performed by obtaining an input signal for the robotic arm based on a target motion and dynamic model of the robotic arm known in the field of robotic arm control. The input signal can then be convolved with the pulse train to generate a control signal, for example, as disclosed in WO2019012040 and {xi.}{xii.}.

[0254] As an example, a method for controlling a robotic arm based on an inertia-vibration model obtained according to the present invention has been implemented in a UR5e robotic arm, for which an inertia-vibration model has been obtained as described in paragraphs

[0080] to

[0087] . The UR5e is provided with a control algorithm based on pulse shaping as described in WO2019012040 and {xi.}{xii.}, wherein the vibration characteristics of the robotic arm are obtained based on the inertia-vibration model obtained in paragraphs

[0080] to

[0087] for generating pulse trains.

[0255] The effectiveness of the control algorithm was tested according to the test procedure presented in {xi.}. The test motion moved the robot arm with a 5 kg payload between test configurations Q1, Q2, and Q3 with joint space linear motion, and the parameters of the test configurations Q1, Q2, and Q3 are listed in Table 3.

[0256] Table 3: Parameters of test configurations Q1, Q2, and Q3

[0257]

[0258] The robot arm was instructed to move from test configuration Q1 to test configuration Q2, from test configuration Q1 to test configuration Q3, and from test configuration Q3 to test configuration Q1. The movements were performed with and without the control algorithm according to the present invention, and vibrations of the robot tool flange were measured during the movements using a built-in accelerometer in the robot tool flange. Figure 25 The tool acceleration as a function of time is shown, where the solid line shows the tool acceleration during the move without the control algorithm and the dashed line shows the tool acceleration with the control algorithm. The top graph shows the tool acceleration when the robot arm moves from test configuration Q1 to test configuration Q2; the middle graph shows the tool acceleration when the robot arm moves from test configuration Q1 to test configuration Q3; and the bottom graph shows the tool acceleration when the robot arm moves from test configuration Q3 to test configuration Q1. The amount of residual vibration (RV) is quantified based on the logarithmic decay of the peak acceleration extrapolated back to the stopping time of the motion, which for the unshaped motion is t b , and for shaping motion, the stopping time is t b and The difference between is the filter delay. The experiment was repeated 10 times and the summary results of delay and residual vibration (RV) are presented in Table 4.

[0259] according to Figure 25 It is clear from both the results in Table 4 that combining the proposed methods can reduce the amount of residual vibration in the UR5e robot. Figure 25 Starting with a visual impression of the accelerometer readings, it can be seen that the shaping motion has a noticeable delay. However, it is also immediately noticeable that the vibrations have been significantly reduced, resulting in a much lower vibration level. In fact, in use, the vibrations appear to have been reduced to the level of current noise. Therefore, it can be concluded that the method according to the present invention can effectively suppress low-frequency mechanical vibrations.

[0260] The amount of residual vibration listed in Table 4 confirms this is the case for the 10 repetitions of the test movement. The Q3→Q1 movement, i.e., the movement towards higher frequencies, shows a vibration reduction of approximately 75%. It can be seen that the Q1→Q2 and Q1→Q3 movements, i.e., the low-frequency configurations, reduce vibration levels by approximately 90%.

[0261] Table 4: Performance of the control algorithms, averaged over 10

[0262]

[0263] As shown in Table 4, the adopted method introduces a time delay in the reference motion. Generally, time delay is not desired in industrial robots because it reduces productivity. However, the time delay depends on the actual task of the robot. Figure 25 It can be seen that there is a significant time delay for all movements, but the robot end-effector comes to a physical stop at an earlier point in time. Therefore, the time delay pays off and effectively improves the robot productivity.

Claims

1. A method for obtaining the vibration characteristics (ω) of the natural frequency and damping ratio of a robot arm (101) i ,ζ i ), wherein the robot arm comprises a plurality of robot joints (102a to 102f) connecting a robot base (103) and a robot tool flange (104); At least one of the robot joints comprises: an output flange (216a, 216b, 216f) that is movable relative to the robot joint body; Joint motors (217a, 217b, 217f) configured to move the output flange relative to the robot joint body; The method comprises the following steps: · Setting the robot arm in multiple different physical configurations (C i ......C n )middle; For each of the physical configurations of the robot arm, obtaining the vibration characteristic (ω i ,ζ i ); For each of the physical configurations of the robot arm, obtaining the inertia (J) of the robot arm relative to the at least one robot joint i );as well as Obtaining an inertia-vibration model associated with the robot arm, wherein the inertia-vibration model defines the inertia of the robot arm and the vibration characteristics of the robot arm (ω i ,ζ i ), wherein the inertia-vibration model provides the vibration characteristics of the robot arm as a function of the inertia of the robot arm, wherein based on the inertia-vibration model for the plurality of different physical configurations (C i ......C n ) and the vibration characteristics of the robot arm relative to the at least one robot joint obtained for the plurality of different physical configurations (C i ......C n ) The inertia of the robot arm relative to the at least one robot joint is obtained, and the inertia-vibration model has been obtained.

2. The method according to claim 1 , wherein, for each of the physical configurations of the robot arm, the step of obtaining the vibration characteristics of the robot arm relative to the at least one robot joint comprises the following steps: Exciting vibration of the robotic arm by applying a force or torque to the robotic arm; obtaining at least one motion parameter of at least a portion of the robotic arm upon said exciting said vibration of the robotic arm; as well as - Based on the applied force or torque and the at least one motion parameter, obtaining the vibration characteristic of the robot arm relative to the at least one robot joint.

3. The method according to claim 1 , wherein, for each of the physical configurations of the robot arm, the step of obtaining the vibration characteristics of the robot arm relative to the at least one robot joint comprises the following steps: Exciting vibration of the robot arm by activating the joint motor of the at least one robot joint; obtaining at least one motion parameter of at least a portion of the robotic arm upon said exciting said vibration of the robotic arm; as well as - Based on the activation of the joint motor of the at least one robot joint and the at least one motion parameter, obtaining the vibration characteristic of the robot arm relative to the at least one robot joint.

4. The method according to claim 1 or 2, wherein the step of exciting the vibration of the robot arm comprises the following steps: vibrating the robotic arm relative to a first axis by activating the joint motor of the at least one robotic joint; And wherein the step of obtaining the at least one motion parameter comprises the following steps: • Obtaining an acceleration of at least a portion of the robotic arm. 5 . The method of claim 4 , wherein the acceleration of the at least one portion of the robotic arm is obtained using an accelerometer arranged at the portion of the robotic arm.

6. The method according to claim 1 or 2, wherein the inertia of the robot arm relative to the at least one robot joint is obtained based on the physical configuration of the robot arm and a kinematic model (KoR) of the robot arm.

7. The method according to claim 1 or 2, wherein the step of obtaining the vibration characteristics of the robot arm relative to at least one robot joint comprises the following steps: Obtaining the vibration characteristics of the robot arm relative to the first robot joint; Obtaining the vibration characteristics of the robot arm relative to the second robot joint; The step of obtaining the inertia of the robot arm relative to the at least one robot joint comprises the following steps: Obtaining the inertia of the robot arm relative to the first robot joint; Obtaining the inertia of the robot arm relative to the second robot joint; And wherein the inertia-vibration model has been obtained based on the obtained vibration characteristics of the robot arm relative to the first robot joint, the obtained vibration characteristics of the robot arm relative to the second robot joint, the obtained inertia of the robot arm relative to the first robot joint and the obtained inertia of the robot arm relative to the second robot joint.

8. The method according to claim 7, wherein: The vibration characteristic of the robot arm relative to the first robot joint is obtained relative to the axis of movement of the first robot joint; The vibration characteristic of the robot arm relative to the second robot joint is obtained relative to the axis of movement of the second robot joint; The inertia of the robot arm relative to the first robot joint is obtained relative to the axis of movement of the first robot joint; The inertia of the robot arm relative to the second robot joint is obtained relative to the axis of movement of the second robot joint. 9 . The method of claim 8 , wherein the axis of movement of the first robotic joint and the axis of movement of the second robotic joint are non-parallel with respect to each other.

10. The method according to claim 8 or 9, wherein the movement axis of the first robot joint and the movement axis of the second robot joint are perpendicular with respect to each other.

11. The method of claim 7, wherein the first robot joint constitutes the robot joint closest to the robot base.

12. The method of claim 7, wherein the first robot joint and the second robot joint constitute two robot joints closest to the robot base.

13. The method according to claim 1 or 2, wherein the obtained vibration characteristics of the robot arm relative to the at least one robot joint comprise: an eigenfrequency of the robot arm relative to the at least one robot joint and a damping ratio of the robot arm relative to the at least one robot joint. The method according to claim 1 , wherein the inertia-vibration model is a second-order transfer function.

15. The method of claim 1 or 2, wherein the step of arranging the robotic arm in a plurality of different physical configurations comprises at least one of the following steps: Arrange the robot arm in multiple different posture configurations (P i ...P n )middle; • Providing a plurality of different payloads to at least a portion of the robotic arm.

16. A robot controller configured to control a robot arm, wherein the robot arm comprises a plurality of robot joints (102a to 102f) connecting a robot base (103) and a robot tool flange (104); At least one of the robot joints comprises: an output flange (216a, 216b, 216f) that is movable relative to the robot joint body; Joint motors (217a, 217b, 217f) configured to move the output flange relative to the robot joint body; The robot controller is configured to obtain an inertia-vibration model of the robot arm and the vibration characteristics of the robot arm by executing the method according to any one of claims 1 to 15.

17. A method of controlling a robot arm (101), wherein the robot arm comprises a plurality of robot joints (102a to 102f), the plurality of robot joints connecting a robot base (103) and a robot tool flange (104), wherein each of the robot joints comprises: an output flange (216a, 216b, 216f) that is movable relative to the robot joint body; Joint motors (217a, 217b, 217f) configured to move the output flange relative to the robot joint body; The method comprises the following steps: generating a target motion for the robotic arm; Obtain the vibration characteristics (ω) of the natural frequency and damping ratio of the robot arm relative to at least one robot joint i ,ζ i ); generating a control signal for the robotic arm based on the target motion and the vibration characteristics of the robotic arm, the control signal including control parameters of the joint motors; Based on the control signal, control the joint motor; wherein the vibration characteristics of the robot arm are obtained based on an inertia-vibration model associated with the robot arm, wherein the inertia-vibration characteristic model defines a relationship between the inertia of the robot arm and the vibration characteristics of the robot arm, wherein the inertia-vibration model provides the vibration characteristics of the robot arm as a function of the inertia of the robot arm, wherein the inertia-vibration model has been obtained based on the obtained vibration characteristics of the robot arm relative to the at least one robot joint and the obtained inertia of the robot arm relative to the at least one robot joint.

18. The method according to claim 17, wherein the step of generating the control signal comprises the steps of: providing a pulse train based on the vibration characteristics of the robotic arm, the pulse train comprising a plurality of pulses; Based on the target motion and the pulse train, generating the control signal.

19. The method according to claim 17 or 18, wherein the step of obtaining the vibration characteristics of the robot arm comprises the following steps: Obtaining the physical configuration of the robotic arm; Obtaining the inertia of the robot arm relative to at least one robot joint based on the obtained physical configuration of the robot arm and the kinematic model of the robot arm; Obtaining the vibration characteristic based on the obtained inertia of the robot arm relative to the at least one robot joint and the inertia-vibration model of the robot arm.

20. The method of claim 19, wherein the physical configuration of the robotic arm is obtained based on encoder signals indicating a position of the output flange relative to the robotic joint body.

21. The method of claim 19, wherein the physical configuration of the robotic arm is obtained based on target positions of the robotic joints.

22. The method of claim 17 or 18, wherein the inertia-vibration model is a second-order transfer function.

23. A robot controller for controlling a robot arm (101), wherein the robot arm comprises a plurality of robot joints (102a to 102f), the plurality of robot joints connecting a robot base (103) and a robot tool flange (104), wherein each of the robot joints comprises: an output flange (216a, 216b, 216f) that is movable relative to the robot joint body; Joint motors (217a, 217b, 217f) configured to move the output flange relative to the robot joint body; The robot controller is configured to control the robot arm based on an inertia-vibration model of the robot by executing the method according to any one of claims 17 to 22.

Citation Information

Patent Citations

  • Force moment sensor

    US20150204742A1

  • Force-torque sensor

    US4763531A

  • Force / torque sensor, apparatus and method for robot teaching and operation

    WO2014110682A1

  • Robot control, robot and method for actuating a robot

    EP1920892A2

  • Vibration control of systems with configuration dependent dynamics

    WO2019012040A1