Predictive control method for torque ratio control and vibration suppression

CN117754559BActive Publication Date: 2026-09-22FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310991533.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2022-09-26
Filing Date
2023-08-08
Publication Date
2026-09-22
Estimated Expiration
2043-08-08

AI Technical Summary

Technical Problem

一些控制技术不允许直接控制诸如这些之类的参数,这可能导致关节超过机械约束,或者导致运动的误差

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117754559B_ABST
    Figure CN117754559B_ABST
Patent Text Reader

Abstract

A method and system for robot motion control using a model predictive control (MPC) technique that includes torque rate control and suppression of end tool oscillation. The MPC module includes a robot dynamics model that inherently reflects the response nonlinearity associated with changes in robot configuration and an optimization solver with an objective function that has a torque rate term and inequality constraints that define bounds on both torque and torque rate. Torque rate control in the MPC module provides an effective means of controlling jerk in robot joints while precisely modeling robot dynamics as the robot changes configuration during a motion program. End tool oscillation dynamics can also be included in the MPC objective function and constraints to automatically control end tool vibration in the MPC module's calculations.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure generally relates to the field of motion control for industrial robots, and more specifically to robot control methods and systems using optimization-based model predictive control techniques, including an objective function having a torque rate term and inequality constraints defining limits on torque and torque rate, wherein the torque rate constraint provides control of jerk in robot joints, and also includes optimizing end-tool vibration dynamics in the model. Background Technology

[0002] The use of industrial robots to perform a wide variety of manufacturing, assembly, and material movement operations is well-known. Many of these operations and tasks are performed by articulated robots, such as five-axis or six-axis robots with servo motors at each rotary joint. Real-time control of such robots is provided, where the end-tool motion program is broken down into small motion increments, and the robot controller performs real-time feedback control calculations to calculate the joint torque commands to move the robot's end-tool according to the prescribed motion program.

[0003] In robot controllers as described above, feedback control calculations are typically performed using conventional control methods such as Proportional-Integral-Derivative (PID), where the joint torque signal is calculated based on the error signal between the commanded step and the current robot state, as well as the integral and derivative of the error signal, with each term having a predefined gain constant. Conventional control techniques are known to work well in some cases, but become unstable when large input steps are defined. Furthermore, the gain in a PID controller is defined based on some assumed dynamic response characteristics of the robot, and the PID model cannot adapt to changes in dynamic response due to changes in robot configuration. These configuration-based changes in dynamic response can be large for motion programs involving significant changes in robot posture. For example, consider a robot task where the robot moves from a very compact configuration where the arm parts are tightly contracted together to a very extended configuration where the arm parts are all in the same direction from the robot base to the end tool. The robot's dynamic response (e.g., inertial characteristics, natural frequencies in bending) is significantly different in the latter configuration than in the former.

[0004] In applications such as material handling and spot welding, the targets moved by the robotic arm are quite heavy and possess their own dynamic response characteristics, which can affect the robot's dynamic response. Additionally, in these applications, the robot typically moves from the starting point to the destination as quickly as possible, resulting in high acceleration. Accurate robot motion control in such applications can only be achieved if the oscillatory dynamics of the robot itself and the end-effector or payload are included in the robot controller's calculations. Furthermore, robots often have mechanical constraints—such as permissible ranges for joint acceleration and jerk—that must be satisfied during operation. Some control techniques do not allow direct control of parameters such as these, which can lead to joints exceeding mechanical constraints or causing motion errors.

[0005] In view of the above, there is a need for an improved robot motion control technology that incorporates nonlinearities and end-effector dynamics related to robot configuration in the integrated control module calculations, while satisfying robot operational constraints. Summary of the Invention

[0006] This disclosure describes a method and system for robot motion control using model predictive control (MPC) techniques, including torque rate control and suppression of end-tool oscillations. The MPC module includes a robot dynamics model and an optimization solver with an objective function. The robot dynamics model inherently reflects response nonlinearities associated with changes in robot configuration. The objective function has a torque rate term and inequality constraints defining limits on torque and torque rate. Torque rate control in the MPC module provides an efficient means of controlling jerk in robot joints while accurately modeling robot dynamics as the robot configuration changes during a motion program. End-tool oscillation dynamics can also be included in the MPC objective function and constraints to automatically control end-tool vibrations during the calculations of the MPC module.

[0007] Additional features of the currently disclosed systems and methods will become apparent from the accompanying drawings, the following description, and the appended claims. Attached Figure Description

[0008] Figure 1 This is a block diagram illustration of conventional control techniques known in the art for robots and other types of systems;

[0009] Figure 2A and 2B This is a simplified illustration of an industrial robot undergoing a change in posture or configuration, where the configuration change leads to a significant change in the robot's dynamic response;

[0010] Figure 3 This is a block diagram illustration of a model predictive control (MPC) technique for controlling systems such as robots, according to embodiments of the present disclosure.

[0011] Figure 4 This is a block diagram of an industrial robot motion control system according to an embodiment of the present disclosure, the industrial robot motion control system including model predictive control technology with torque rate control and vibration suppression;

[0012] Figure 5 According to embodiments of this disclosure Figure 2A An illustration of a / 2B robot, the robot having been integrated with... Figure 4 The end-tool mass-spring-damper system in the model predictive control calculations of the control module; and

[0013] Figure 6 This is a flowchart of a method for predictive motion control and vibration suppression for a robot according to embodiments of the present disclosure. Detailed Implementation

[0014] The following discussion of embodiments of the present disclosure for predictive motion control and vibration suppression in robots is merely exemplary in nature and is in no way intended to limit the disclosed apparatus and techniques or their application or use.

[0015] Industrial robots are used in a variety of manufacturing, assembly, and material handling operations. For some applications, such as material dispensing and laser / arc welding, the programming speed of the robot tool is limited by the operation being performed, and rapid movement of the robot arm is neither required nor desirable. In such applications, especially when the robot's acceleration is low and the end-effector or material payload carried by the robot is relatively light compared to the robot itself, the robot's dynamic response (e.g., arm bending vibration) is not a significant consideration. This simplifies robot motion control.

[0016] Figure 1 This is a block diagram illustration 100 illustrating conventional control techniques known in the art for robots and other types of systems. Robot controllers typically use, for example... Figure 1 The traditional control techniques shown are used for programming. In each control cycle, a reference signal r is provided from the robot motion program to define the new robot state. For example, the reference signal r could define that during the current motion increment, the robot tool center point must move 3 mm at a constant speed in a specific direction. The reference signal r is provided to node 102, where the current robot state x is also provided as feedback. The "error" signal e is calculated as the difference between the reference signal r and the current robot state x.

[0017] The "error" signal e is provided to the control module 110, which uses conventional control methods such as proportional-integral-derivative (PID) control. In PID control, the system control signal is calculated based on the error signal e, as well as the integral and derivative of the error signal e, each of which has a predefined gain constant. In the case of a robot, the control signal calculated by the control module 110 typically includes a torque vector u, which defines the torque of each joint motor in the robot during the current control cycle.

[0018] The torque vector u is provided from control module 110 to "device" 120, which, in the case of a robot, is a robot with its arms, joint motors, etc. The robot joint motors respond to the torque vector u, causing the robot to move according to the robot's system dynamics (mass, inertia, etc.). A new robot state x (typically described by joint position and rotational speed) is measured by robot sensors (e.g., joint encoders) and provided on line 130. The robot state x is also provided to node 102 on feedback line 140, where it is used to calculate the error signal e for the next robot control cycle.

[0019] Figure 1 Traditional PID control techniques perform well in the control of many types of systems, including robots. PID control exhibits advantages in disturbance rejection and noise insensitivity, and is particularly suitable for systems that are not highly nonlinear and in which a very large number of reference steps are not used. However, in some robotic applications, the combination of high payload mass, rapid robot motion (e.g., high acceleration), and large changes in robot configuration leads to significant and altered dynamic response characteristics exhibited by the robot. In these applications, PID control techniques may not be performed most effectively.

[0020] Figure 2A and 2B This is a simplified illustration of an industrial robot 200 undergoing a change in posture or configuration, where the configuration change leads to a significant change in the robot's dynamic response. Robot 200 in Figure 2A / 2B is shown in two dimensions; however, it should be understood that robot 200 represents any articulated industrial robot—such as five-axis and six-axis robots, some of which have joint axes orthogonal to other joint axes and provide general three-dimensional (3D) mobility. Robot 200 is controlled by robot controller 202. The control methods employed by controller 202 are the subject of this disclosure.

[0021] Robot 200 includes a fixed base 210, a base 220 coupled to the base 210 via a vertical axis joint 212, an arm 230 coupled to the base 220 via a joint 222, an arm 240 coupled to the arm 230 via a joint 232, an arm 250 coupled to the arm 240 via a joint 242, and a tool 260 coupled to the arm 250 via a joint 252. A tool center point 262 is defined on the tool 260. Each joint in robot 200 is a rotary joint having a motor (e.g., a servo motor) that provides torque at the joint as commanded by controller 202, and a joint encoder that provides angular position data back to controller 202. Robot 200 is illustrative only and has been drawn for the purposes of this discussion. Other robots may include different numbers of arms and joints, non-vertical first joints, joints that allow one arm to rotate axially relative to another arm, etc.

[0022] All of the above components are in Figure 2A and 2B All of them are visible in the middle. Figure 2A In the middle, robot 200 is configured in a near-arrival posture, with its arm folded to position the tool center point 262 near base 210. Figure 2B In this configuration, robot 200 is positioned in a far-reaching posture, with its arms extended substantially end-to-end to extend the tool center point 262 as far away from base 210 as possible. Those skilled in the art will readily understand that robot 200 is in... Figure 2A In the configuration compared to Figure 2B The configuration will exhibit significantly different dynamic response characteristics. That is to say, in Figure 2A In (and similar compact postures), the arms' centers of gravity are relatively close to the base 210, resulting in relatively low moments of inertia about the vertical axis joint 212. Conversely, in Figure 2B In (and similar extended postures) the arm centers of gravity are relatively far from the base 210, resulting in relatively high moments of inertia about the vertical axis joint 212. This effect is further amplified if the tool 260 is a heavy tool, such as a spot welding device, or if the tool 260 carries a heavy object. Other dynamic response characteristics of the robot 200 (e.g., Coriolis matrix) are similarly affected by changes in the robot configuration.

[0023] In some robotic applications, it is common to encounter Figure 2A and 2BThe illustration shows significant configuration variations. For example, in spot welding applications, the tool center point (spot welder) must be moved to many different welding point locations, some of which may be close to the robot base, while others may be far away, and the movement between welding operations must be completed as quickly as possible. Similarly, in material handling applications, the tool center point (e.g., a clamp or lifting fork) must be moved from a part pick-up location to a drop location, where one of these locations may be close to the robot base, while another may be far away, and the movement between pick-up and drop must be completed as quickly as possible.

[0024] To accurately reflect configuration-based changes in robot dynamics, it is possible to use Model Predictive Control (MPC) in robot controllers instead of traditional control techniques such as PID. MPC is a technique that involves running a simulation model of a dynamic system (in this case, a robot) and iteratively performing optimization calculations over time to compute values ​​for control signals (e.g., motor torque) that satisfy a set of constraints while fulfilling the robot's motion objectives. The robot system model used in an MPC controller inherently reflects the dynamic response, which leads to... Figure 2A and 2B The changes in robot configuration are shown.

[0025] Figure 3 This is a block diagram illustration 300 illustrating a model predictive control (MPC) technique for controlling systems such as robots, according to embodiments of the present disclosure. In system 300, a reference signal r is provided to control module 310. Figure 1 Unlike control module 110, control module 310 does not use calculations of constants tuned to the general behavior of the system to calculate the control signal. Instead, control module 310 includes a system dynamic model and an optimization solver to calculate the optimal value of the control signal, which will produce the best robot response based on the reference signal r.

[0026] Control signals from block 310 (which are also embodied as torque vector u) are provided to device 320, in this case, a robot with its motors and mechanical characteristics. The torque vector u contains the torque command for each joint motor in the robot. Device 320 (i.e., the robot) responds to the motor torque signals, as previously referenced. Figure 1 As described, the robot state x (joint position and velocity) is output on line 330 and also provided as feedback to the control module 310 on line 340.

[0027] Figure 3System 300 is shown in basic conceptual form at an advanced level. System 300 can be configured to enable the system model and optimization calculations to control other aspects of the robot's behavior, thereby achieving performance characteristics that are impossible to achieve using existing control techniques. The predictive motion control and vibration suppression system of this disclosure, described in detail below, includes these configurations, which overcome the shortcomings of existing control methods and systems.

[0028] Figure 4 This is a block diagram illustration of an industrial robot motion control system 400 according to an embodiment of the present disclosure, the control system including model predictive control technology with torque rate control and vibration suppression. System 400 includes a control module 410 having an optimization block 412 and a dynamics model block 414. Control module 410 receives a reference signal r on line 402 and robot state data (q and ...) on feedback lines 450 and 460. Optimization block 412 calculates the optimal control sequence or signal to achieve the specified reference, and dynamic model block 414 performs optimization calculations to predict future states. Optimization block 412 and dynamic model block 414 operate iteratively until the predicted future state matches the reference state within certain tolerances and satisfies the system constraints. The details of the calculations performed in optimization block 412 and dynamic model block 414 are discussed below.

[0029] In one embodiment, the output of control module 410 is a motor torque vector u provided to robot 420 (“device”). Robot 420 includes joint motors 422 and mechanical components 424. Motor 422 in robot 420, like any motor, can experience saturation—where the magnetic flux density stabilizes regardless of any additional magnetizing current supplied. In other words, motor 422 cannot deliver an unlimited amount of torque. Due to motor saturation, robot joints may exceed their target positions when the input step is large. This makes it important for control module 410 to provide smooth and precise motor torque vector control to robot 420.

[0030] Robotic mechanical components 424 include all the mass, inertia, and frictional characteristics of the arms and joints in robot 420. In summary, the joint motors 422 and mechanical components 424 respond to the motor torque vector u, thereby causing robot 420 to assume a new state, which is determined by the joint velocity. And the joint position q defined after integral block 430. As previously mentioned, the robot state data q and Feedback is provided to control module 410 on feedback lines 450 and 460.

[0031] The following is a discussion of the mathematical formulas and calculations used in control module 410.

[0032] Robot dynamics can be calculated using the following equations of motion: Where M is the inertia matrix defining the mass and inertial properties of all arms / links in the robot, C is the Coriolis matrix, and G is the gravity vector. Matrices M and C have a dimension of six times the number of arms / links. The G vector has a dimension of six times one. Matrices M, G, and G / vector are all functions of joint position q (i.e., defined based on joint position q), where q (and its first and second derivatives) and ) is a vector with a dimension equal to the number of robot joints. The joint position q in equation (1) is related to... Figure 4 The joint position q on line 440 corresponds to this, and the same applies to the derivative. τ is a vector defining the torque at each joint motor in the robot.

[0033] Then, as previously discussed, let u = τ (i.e., the control signal from control module 410 is the motor torque of equation (1), and let the robot state vector x be defined as:

[0034] Based on equations (1) and (2) above, we can conclude that the change in the robot's state is a function of the robot's state x itself and the applied torque u, that is:

[0035] Then, the continuous-time system in equation (3) is discretized using the orthogonal collocation method on the finite element method. Using all of the above, the optimization calculation used in MPC control can be defined as follows: This ensures that the following constraints are satisfied; x k+1 =f(x) k u k (5) x lb ≤x k ≤x ub (6) u lb ≤u k ≤u ub (7) In equations (4)-(8), x is the robot state vector at each step, indicated by its subscript, and u is the motor torque vector (output of the control module; input of the robot); x and u are as described above. The subscripts have the following meanings; N is the prediction range, k is the index of the time step (i.e., 1, 2, ..., N), and r specifies the reference value (in Figure 4(Input on line 402). Additionally, the subscripts Q and R on the norm are positive definite matrices used to weight the state and input variables; as an example,

[0036] Equation (4) is the optimization objective function that minimizes the deviation between the reference state (the given target state) and the state calculated by the system dynamics model (Equation (3)) by changing the input variable (torque u). Equation (5) is an equality constraint that defines how to predict the next step value of the state variable x based on the current step value of x and the current step value of the input variable u; this is determined using the system dynamics model (Equation (3)). Equations (6) and (7) are inequality constraints that set upper and lower bounds, respectively, for the allowed values ​​of the state variable x and the input variable u. Finally, Equation (8) defines the initial step state x0 (when k = 0) in the optimization calculation as equal to the robot state when the previous reference r was completed, as observed by the robot state feedback signal from the sensors.

[0037] In one embodiment, the above optimization and system dynamics calculations can be used for MPC-based controllers (e.g., Figure 4 In the control module 410), the robot motor torque is controlled to achieve a given robot reference state, while taking into account changes in robot system dynamics associated with changes in robot configuration, and also incorporating real-world constraints (e.g., torque limits associated with motor saturation).

[0038] In industrial robots, excessively high values ​​of jerk (the rate of change of joint angular acceleration) are known to cause vibrations in the robot, large forces and torques on the robot joints, and premature wear of the joints and joint motors. This disclosure provides a technique for controlling jerk in robot joints while following the robot's motion program, accurately modeling the robot system dynamics, and adhering to system constraints. This is accomplished by further enhancing the previously discussed MPC-based control calculations, and this preferred embodiment is described in detail below.

[0039] Recall the equations of motion for defining robot dynamics listed in equation (1) above. Taking the time derivative of equation (1) leads to the following: All the variables in equation (9) are defined above with respect to equation (1), where the variables (e.g., The point above indicates the time derivative of the previously defined matrix or vector. Therefore, It is the rate of change of the motor torque (“torque rate”), and It is the jerk (rate of change of acceleration) in the robot's joints.

[0040] In a preferred embodiment, torque rate (instead of torque) is used as the robot control variable, and both torque and torque rate are constrained by constraints in the optimization calculations. Using these techniques, jerk in the robot joints can be controlled.

[0041] Therefore, in the torque ratio MPC formula, let (That is, the control signal from the control module 410 is the motor torque rate of equation (9), and let the robot state vector x be defined as:

[0042] Based on equations (9) and (10) above, it can be concluded that the change in robot state is a function of robot state x itself and the applied torque u, that is:

[0043] Then, the continuous-time system in equation (11) is discretized using the orthogonal configuration method on the finite element method. Using equation (11) to define the robot dynamics as a function of torque rate (instead of using the torque-based equation (3)), the following definition can be used: Figure 4 Optimization calculations used in the MPC control module 410: This ensures that the following constraints are satisfied; x k+1 =f(x) k u k (13) x lb ≤x k ≤x ub (14) u lb ≤u k ≤u ub (15)

[0044] In the optimization formulation of equations (12)-(16), the state variable x now includes the torque τ as defined in equation (10) and the joint motion, and the control variable u is now the torque rate. Therefore, in the objective function of equation (12), the control variable u k Now it's the torque rate term. Instead of the torque term (τ) kNow, the robot dynamics constraints of equation (13) use the robot motion equations based on torque rate, as defined in equation (9), to predict the robot state x at the next step k+1. Equation (14), identical to equation (6) discussed earlier, defines upper and lower bounds for the robot state x. Since the robot state x includes torque τ, the inequality constraints of equation (14) enforce upper and lower bounds for the joint motor torques to ensure that the torques remain within the specified limits. Equation (15) sets the torque rate as the control variable u in this formula. The inequality constraints of the bounds. Equation (16) is the same as Equation (8) discussed above.

[0045] The robot predictive control formula embodied in equations (9)-(16) and as described above includes both an objective function and a constraint on the torque rate, thereby controlling the jerk in the robot joints while following a robot motion program that includes complex robot dynamics associated with a robot undergoing large configuration changes. This combination of capabilities is unavailable in existing robot control methods, whether using conventional control techniques or others.

[0046] The aforementioned Model Predictive Control (MPC) formulas, particularly in Equation (9), model robot dynamics that include the effects of changes in robot configuration. However, in some robotic applications, the end-effector (or material payload carried by the robot) adds mass and flexibility, which can affect the robot's dynamic response. In such cases, it is advantageous to include the end-effector (or payload) oscillatory dynamics in the MPC formulas.

[0047] Figure 5 According to embodiments of this disclosure Figure 2A The illustration shows robot 200 of type / 2B, which has a connection to... Figure 4 The end-tool mass-spring-damper system 500 in the model predictive control calculation of the control module. Previous information regarding... Figure 2A The robot 200 described in / 2B includes a tool 260, typically represented by simple small links. The tool 260 is shown coupled to a robot arm 250. Figure 5 In the middle, the exploded view on the right shows the robotic arm 250 with a mass-spring-damper system 500 having a replacement tool 260.

[0048] The mass-spring-damper system 500 includes a tool mass 510 coupled to the robot arm 250 via a spring 520 and a damper 530. The tool mass 510 has a mass value m. tThis represents the mass of a heavy tool such as a spot welding machine, or the mass of a heavy material payload being carried by the robot 200. The spring 520 has a spring constant K, and the damper 530 has a damping constant D; the values ​​of these constants can be determined empirically.

[0049] It should be understood that additional rotary joints—such as joint 252—[…]. Figure 2A and Figure 2B - This can be included in robotic mechanisms. In other words, such as Figure 2A and Figure 2B As shown, a tool / link 260 may be included, and a mass-spring-damper system 500 may be attached to the end of the tool / link 260. This is merely a matter of robot design / architecture. The key point is that wherever the mass-spring-damper system 500 is coupled to the robot, it increases the degrees of freedom that can be included in the MPC formula in order to control the end-effector oscillation dynamics.

[0050] Tool quality 510 has position vector p t Furthermore, the end of the robotic arm 250 has a position vector p. r .exist Figure 5 In the diagram, the mass-spring-damper system 500 is shown as a two-degree-of-freedom (DOF) system in a 2D illustration of the robot 200. Therefore, the position vector p... t and p r It includes the x and y positions of each point. As those skilled in the art will understand, a 3-DOF formula (including x, y, and z positions) or a 6-DOF formula (including three positions and three rotations) can also be defined.

[0051] The following discussion uses the mass-spring-damper system 500 described above to model the end-effector oscillation dynamics. The deflection of the tool mass 510 relative to the end of the robot arm 520 is defined as the residual displacement e = p t -p r Oscillatory dynamics can then be defined as: Where J is the Jacobian matrix that defines the relationship between the Cartesian space and the joint space, and the variables with points or pairs are the first or second derivatives, respectively.

[0052] Then, let the system state be defined as as well as Given equation (17) and the above definition of the mass-spring-damper system 500, the end tool oscillation dynamics can be described as follows:

[0053] Then, the continuous-time system in equation (18) is discretized using the orthogonal configuration method on the finite element method. Using all of the above, the optimization calculations to be used in MPC control, including end-tool oscillation dynamics and robot dynamics, can be defined as follows: The objective function is minimized while satisfying the following constraints: x k+1 =f r (x k u k (20) ξ k+1 =f e (ξ k x k ) (twenty one) x k ∈X (22) u k ∈U (23)

[0054] The objective function described above is similar to equation (4) discussed earlier, except that equation (19) now includes a term to be minimized for end-tool oscillation dynamics. Constraint equation (20) is identical to equation (5) discussed earlier, defining how the next value of the state variable x is predicted based on the current step value of x and the current step value of the input variable u. Equation (21) is an equality constraint that defines how the next value of the state variable ξ is predicted based on the current step value of ξ and the current step value of the state variable x; this is determined using the end-tool oscillation dynamics model (equation (18)). Equations (22) and (23) define the permissible or feasible values ​​of the state variable x and the input (control) variable u, respectively; these can be identical to equations (6)-(7) discussed earlier (inequality constraints that set upper and lower bounds for permissible values). Equation (24) is identical to equation (8) discussed earlier.

[0055] The MPC formulas described above in equations (19)-(24) will apply to the end tool oscillation dynamics ( Figure 5 The mass-spring-damper system (500) is added to the torque-based robot control formulas of equations (4)-(8) discussed earlier. In another embodiment, the end-tool oscillation dynamics can be incorporated into the torque rate-based robot control formulas of equations (12)-(16); inherently combined with... Figure 2A and 2BIn the system shown, where the changes in robot configuration are associated with changes in robot dynamics, this embodiment combines the benefits of torque rate robot control (management of jerk in robot joints) and end-tool oscillation dynamics modeling (vibration suppression) while accurately following the prescribed motion program even in the presence of motor saturation.

[0056] The aforementioned torque rate model predictive control technique has been demonstrated in simulations to include jerk within predefined limits in the robot joints by controlling the applied torque rate while following a prescribed robot motion program. Conversely, when the same robot motion program is controlled using a torque-based MPC implementation, the jerk in the robot joints exceeds permissible values ​​at multiple points in the simulation.

[0057] In another set of simulations, when end-tool oscillation dynamics were added to the MPC controller, the amplitude of the oscillations was reduced and the oscillations were suppressed (weakened) more quickly compared to similar MPC controllers that did not include end-tool oscillation dynamics in the model and optimization calculations.

[0058] Figure 6 This is a flowchart 600 of a method for predictive motion control and vibration suppression for a robot according to embodiments of the present disclosure. Figure 2A and 2B The robot controller 202 and the robot 200 execute the steps of flowchart 600.

[0059] At box 602, a robot motion program is provided. The motion program can be calculated by the controller 202 itself, or it can be calculated by an external computer and provided to the controller 202. For example, in a material handling application, the motion program can specify the movement of a robot gripper from a pick-up position to a placement position, or it can specify the movement of a spot welding tool from a previous welding position to a next welding position. The motion program is divided into multiple reference steps r, as described above.

[0060] At box 604, model predictive control (MPC) calculations are performed in robot controller 202 to determine the control signal to be sent to robot 200. As described above, the MPC formula uses a system dynamics model and optimization calculations to converge to the control signal, which will enable the robot to best follow a reference step motion while satisfying system constraints. Constraints include behavior according to the system dynamics model, and system state variables (response) and control variables (inputs) kept within permissible limits.

[0061] Various embodiments of the MPC formula used in box 604 are described in detail above. Equations (9)-(16) describe an embodiment in which the torque rate is the control variable (the robot's input), and the torque rate is included in a term of the objective function and also in the constraints. This embodiment has been shown to be effective in controlling jerk in robot joints. Equations (17)-(24) describe an embodiment in which end-tool oscillation dynamics are incorporated into the torque-based MPC formula as a term of the objective function and also in the constraints. This embodiment has been shown to be effective in managing oscillations in robot systems caused by large end-tool masses and high robot acceleration. In a preferred embodiment, the MPC formula uses the torque rate as the control variable and also includes end-tool oscillation dynamics; that is, both the torque rate term and the end-tool dynamics term are included in the objective function, and both the torque rate and the end-tool dynamics are included in the constraints. In this embodiment, even under real-world motor saturation characteristics, the prescribed motion program is followed, the jerk in the robot joints is controlled within defined limits, and the robot system oscillations are reduced in amplitude and decay more quickly.

[0062] At block 606, robot joint control signals are provided from robot controller 202 to robot 200. In the preferred embodiment described above, the joint control signals are torque rate signals for each joint in robot 200. At block 608, robot 200 moves in response to the torque rate input signals according to the robot's mechanical characteristics and motor performance characteristics, such as... Figure 4 As shown in box 420. Robot states (joint angles and angular velocities, and joint torque when torque rate is a control variable) are provided as feedback to the control module of robot controller 202, as follows: Figure 4 As shown, and still from Figure 6 The return loop from box 608 to box 604. Robot state data, along with the reference step signal, is used in MPC calculations, as previously described.

[0063] When robot 200 completes its motion corresponding to a set of input (torque rate) signals, the next reference step signal r is used in the MPC control module to calculate the next set of input (torque rate) signals. This process continues until the robot motion program is completed (e.g., the robot drops the workpiece at its destination position), at which point a new motion program is provided at box 602.

[0064] Throughout the foregoing discussion, various computers and controllers have been described and implied. It should be understood that the software applications and modules of these computers and controllers execute on one or more electronic computing devices having processors and memory modules. In particular, this includes those described above. Figure 2A and 2B The processor in the robot controller 202, wherein the controller 202 is understood to include Figure 3 Control module 310 and Figure 4 The control module 410. Specifically, the processor in the controller 202 and the control module 410 is configured to perform robot predictive motion control calculations with torque rate control and vibration suppression as embodied in the above equations and as described above.

[0065] While numerous exemplary aspects and embodiments of methods and systems for predictive motion control of robots with torque rate control and vibration suppression have been discussed above, those skilled in the art will recognize modifications, substitutions, additions, and sub-combinations thereof. Therefore, the appended claims and the subsequently introduced claims are intended to be construed as including all such modifications, substitutions, additions, and sub-combinations within their true spirit and scope.

Claims

1. A method for predictive control of a robot, the method comprising: Provide the robot's motion program; Predictive control calculations are performed using a computer with a processor and memory. The calculations include optimization calculations with an objective function that determine a torque rate vector to minimize the difference between the predicted robot state and a reference robot state from the motion program, while satisfying constraints of the defined robot dynamics equations of motion and constraints defining limits on the torque rate vector. The predicted robot state is calculated based on the torque rate vector. The torque rate vector is provided from the computer to the robot; as well as The robot moves in response to the torque rate vector.

2. The method according to claim 1, wherein, The torque rate vector includes the rate of change of torque for each joint motor in the robot.

3. The method according to claim 1, wherein, The torque rate vector is defined as the control variable in the optimization calculation, and the state variables in the optimization calculation include joint angular position, velocity and acceleration vectors, and joint torque vector.

4. The method according to claim 1, wherein, The optimization calculation, within the planning scope, involves a series of steps to calculate the predicted robot state.

5. The method of claim 4, wherein the optimization calculation is performed until convergence, and the torque rate vector is provided to the robot in each control cycle of the computer.

6. The method according to claim 5, wherein, In each control cycle, a new value of the reference robot state from the motion program is provided, and the current actual robot state vector is provided to the computer as feedback and used as an initial condition constraint in the optimization calculation.

7. The method according to claim 1, wherein, The additional constraints used in the optimization calculations define upper and lower bounds for state variables including joint angular position, velocity and acceleration vectors, and joint torque vector.

8. The method according to claim 1, wherein, The robot dynamics equations of motion make the torque rate vector equal to the sum of the rates of change of each of the following terms, including joint angular velocity, acceleration, and jerk, multiplied by the inertia matrix or the Coriolis matrix, or one of the inertia matrix and the Coriolis matrix.

9. The method according to claim 1, wherein, The limit for the torque rate vector is selected to keep the joint angular acceleration value within a defined limit.

10. The method of claim 1, further comprising an end tool mass-spring-damper system included in the objective function and constraints of the optimization calculation.

11. The method according to claim 10, wherein, End tool oscillation is defined as a system state including the residual displacement vector from the tool to the arm and the rate of change of the residual displacement vector. The objective function includes a term that penalizes the end tool oscillation, and the constraint includes an equation modeling the mass-spring-damper system to predict the end tool oscillation.

12. A method for predictive control of a robot, the method comprising: Provide the robot's motion program; Predictive control calculations are performed using a computer with a processor and memory. These calculations include optimization calculations that determine the torque rate vector to minimize robot end-tool oscillations and deviations from the motion program. The torque rate vector is provided from the computer to the robot; as well as The robot moves in response to the torque rate vector. in; The optimization calculation includes an objective function that minimizes the difference between the predicted robot state and the reference robot state from the motion program while satisfying constraints, the constraints including; The robot's dynamic equations of motion, which calculate the predicted robot state based on the torque rate vector; The end-effector dynamics equations of motion, which calculate the end-effector oscillation state based on the predicted robot state; as well as Define constraints on the limits of the torque rate vector.

13. The method according to claim 12, wherein, The additional constraints used in the optimization calculations define upper and lower bounds for state variables including joint angular position, velocity and acceleration vectors, and joint torque vector.

14. A robot predictive control system, the system comprising: robot; as well as A robot controller, having a processor and memory, communicates with the robot and is configured with a control module that performs predictive control calculations, including optimization calculations with an objective function. The optimization calculations determine a torque rate vector to minimize the difference between a predicted robot state and a reference robot state from a predefined motion program, while satisfying constraints on the robot's dynamic equations of motion and constraints defining limits on the torque rate vector. The predicted robot state is calculated based on the torque rate vector. The robot controller provides the torque rate vector to the robot, and the robot moves in response to the torque rate vector.

15. The system according to claim 14, wherein, The torque rate vector includes the torque change rate of each joint motor in the robot, and wherein the torque rate vector is defined as a control variable in the optimization calculation, and the state variables in the optimization calculation include joint angular position, velocity and acceleration vectors, and joint torque vector.

16. The system of claim 14, wherein the optimization calculation calculates the predicted robot state in a series of steps within a planning range, and wherein the optimization calculation is performed to convergence, and the torque rate vector is provided to the robot in each control cycle of the robot controller.

17. The system according to claim 16, wherein, In each control cycle, a new value of the reference robot state from the motion program is provided, and the current actual robot state vector is provided as feedback to the robot controller and used as an initial condition constraint in the optimization calculation.

18. The system according to claim 14, wherein, The additional constraints used in the optimization calculations define upper and lower bounds for state variables including joint angular position, velocity and acceleration vectors, and joint torque vector.

19. The system according to claim 14, wherein, The robot dynamics equations of motion make the torque rate vector equal to the sum of the rates of change of each of the following terms, including joint angular velocity, acceleration, and jerk, multiplied by the inertia matrix or the Coriolis matrix, or one of the inertia matrix and the Coriolis matrix.

20. The system according to claim 14, wherein, The limit for the torque rate vector is selected to keep the joint angular acceleration value within a defined limit.

21. The system of claim 14, further comprising an end tool mass-spring-damper system included in the objective function and constraints of the optimization calculation.

22. The system according to claim 21, wherein, End tool oscillation is defined as a system state including the residual displacement vector from the tool to the arm and the rate of change of the residual displacement vector. The objective function includes a term that penalizes the end tool oscillation, and the constraint includes an equation modeling the mass-spring-damper system to predict the end tool oscillation.

Citation Information

Patent Citations

  • Acceleration adjustment device and acceleration adjustment program

    CN112262026A

  • Model-predictive interaction control

    CN112743538A