Robot end-effector load mass identification method, computer device, and storage medium

By establishing a three-axis dynamic model of the robot and using genetic algorithms to solve the excitation trajectory, efficient and accurate identification of the end load mass of the robot is achieved, and the problems of multi-axis linkage, large space, low efficiency and complex dynamic models in the existing technology are solved.

CN115958591BActive Publication Date: 2025-06-10ADTECH SHENZHEN TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210903297.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-07-29
Publication Date
2025-06-10
Estimated Expiration
2042-07-29

AI Technical Summary

Technical Problem

The existing robot load mass identification methods have problems such as multi-axis linkage, large space, low efficiency, and complex dynamic models, which are difficult to use efficiently in narrow work sites.

Method used

A method for identifying the end load mass of a robot is proposed. By establishing a three-axis dynamic model, selecting preset Fourier series as the joint excitation trajectory form, using genetic algorithm to solve the excitation trajectory, and driving the robot to collect data for parameter calculation and identification.

Benefits of technology

The precise identification of the load mass at the end of the robot is realized, with only a small range of motion, a single axis and a single time identification, avoiding the establishment of complex dynamic models, improving efficiency and accuracy, and the method is stable and reliable.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115958591B_ABST
    Figure CN115958591B_ABST
Patent Text Reader

Abstract

The present application provides a method for identifying the mass of the end load of a robot, a computer device, and a storage medium. The identification method includes: establishing a three-axis dynamic model of the robot; selecting a preset-order Fourier series as the form of the joint excitation trajectory of the robot; solving the joint excitation trajectory of the robot according to the parameter limit values, regression matrix, and genetic algorithm of the robot; driving the three-axis movement of the robot according to the excitation trajectory, and collecting the angular displacement data and current data of the third joint motor; processing the angular displacement data and current data to obtain the parameters of the third joint motor; substituting the parameters into the three-axis dynamic model to calculate the identification parameters in the three-axis dynamic model; driving the three-axis movement of the robot with the first load according to the excitation trajectory, and calculating the mass of the first load at the end of the robot according to the identification parameters. The method for identifying the mass of the end load of the robot in the present application has high accuracy, good robustness, and high identification efficiency, and the load mass can be obtained only by one identification.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of robot dynamic parameter identification, and particularly to a method for identifying the mass of the end load of a robot, a computer device, and a storage medium. Background Art

[0002] Currently, the scale of the lithium battery industry has expanded rapidly. To meet the needs of more industrial application scenarios such as the handling of power battery cells and automotive parts, industrial robot manufacturers have successively developed six-axis and four-axis robots that can carry larger loads. Heavy-duty robots have a wide load range and a large ratio of load to body mass. The impacts caused by different masses of loads on the robot are extremely different. To meet the requirements of high-speed and high-precision of the robot, the actual control parameters need to be adjusted according to the load range. Therefore, the accurate identification of the load mass is a prerequisite for the robot to achieve excellent control in various scenarios. In addition, for situations with large load differences, the model of the robot may need to be changed. For the full identification under multi-joint combined motion, an appropriate excitation trajectory needs to be selected according to the load range to avoid over-current alarms, and the load mass identification can provide data guidance for this part of the work. The existing methods for identifying the load mass of robots mainly include the CAD model method, the measurement method based on force sensors, and the overall identification method.

[0003] However, the existing methods for identifying the load mass of robots have the following problems:

[0004] 1. Multi-axis linkage is required, and the movement space is large, which is not conducive to use in a narrow working site;

[0005] 2. After the robot leaves the factory, it needs to be identified multiple times at the customer site, resulting in low efficiency;

[0006] 3. The dynamic model is complex, and it is necessary to introduce coupling inertia torque, centrifugal torque, Coriolis torque, etc.

[0007] Thus, a method for identifying the mass of the end load of a robot with low cost, easy operation, high precision, and good practicability is needed to provide data guidance for subsequent control methods. Summary of the Invention

[0008] The purpose of the embodiments of this application is to propose a method for identifying the mass of the end load of a robot, a computer device, and a storage medium, which can solve the problems in the existing methods for identifying the load mass of robots, such as the need for multi-axis linkage, large space, low efficiency, and complex dynamic models.

[0009] To solve the above technical problems, an embodiment of the present application provides a method for identifying the mass of the end load of a robot. The identification method includes: establishing a three-axis dynamic model of the robot; selecting a preset-order Fourier series as the form of the joint excitation trajectory of the robot; solving the joint excitation trajectory of the robot according to the parameter limit values, regression matrix, and genetic algorithm of the robot; driving the three-axis movement of the robot according to the excitation trajectory, and collecting the angular displacement data and current data of the third joint motor; processing the angular displacement data and current data to obtain the parameters of the third joint motor; substituting the parameters into the three-axis dynamic model, and calculating the identification parameters in the three-axis dynamic model; driving the three-axis movement of the robot with the first load according to the excitation trajectory, and calculating the mass of the first load at the end of the robot according to the identification parameters.

[0010] Among them, the step of solving the joint excitation trajectory of the robot according to the parameter limit values, regression matrix, and genetic algorithm of the robot further includes: obtaining the angular limit value, speed limit value, and acceleration limit value of the robot to constrain the position, speed, and acceleration of the excitation trajectory, where the maximum value of the position of the excitation trajectory is greater than a preset multiple of the limit position of the robot; taking the condition number of the regression matrix as the optimization target, and calculating the coefficients in the form of Fourier series of the excitation trajectory through the genetic algorithm; substituting the optimized coefficients into the excitation trajectory form to obtain the excitation trajectory.

[0011] Among them, the step of processing the angular displacement data and current data to obtain the parameters of the third joint motor further includes: calculating and filtering the angular displacement data through central difference to obtain the denoised speed and acceleration; filtering and denoising the current data, and calculating the torque of the third joint motor.

[0012] Among them, the step of substituting the parameters into the three-axis dynamic model and calculating the identification parameters in the three-axis dynamic model further includes: substituting the speed, acceleration, and torque into the three-axis dynamic model; calculating the Coulomb friction coefficient, viscous friction coefficient, equivalent inertia, and the first multivariable formula by using the least squares method.

[0013] Among them, the step of establishing the three-axis dynamic model of the robot further includes: respectively obtaining the first load torque and the second load torque converted from the motor shaft during ascending and descending; combining the first load torque and the second load torque to obtain the third load torque; obtaining the three-axis dynamic model of the robot according to the third load torque; performing like-term combination on the three-axis dynamic model to obtain the three-axis dynamic model after variable substitution.

[0014] Among them, the second load torque, the third load torque, and the three-axis dynamic model are respectively: The first load torque is:

[0015]

[0016] The second load torque is:

[0017]

[0018] The third load torque is:

[0019]

[0020] Among them, η is the transmission efficiency, u is the friction coefficient, W is the mass of the lead screw, m load is the load mass, P is the lead pitch of the lead screw, G is the reduction ratio of the lead screw, and F is the external force;

[0021] The three-axis dynamic model is:

[0022]

[0023] The three-axis dynamic model after variable substitution is:

[0024]

[0025] Among them, τ 3 represents the output torque of the three-axis motor, f c3 is the Coulomb friction coefficient, f v3 is the viscous friction coefficient, is the acceleration of the motor, is the speed of the motor, p 1 is the equivalent inertia, p 2 is the first multivariable formula.

[0026] Among them, driving the three-axis motion of the robot with the first load according to the excitation trajectory, calculating the first load mass at the end of the robot according to the dynamic parameters, further includes: driving the three-axis motion of the robot with the first load according to the excitation trajectory; calculating the current speed, acceleration, and torque of the robot with the first load; obtaining the second multivariable formula in the three-axis dynamic model according to the speed, acceleration, and torque; calculating the first load mass at the end of the robot according to the second multivariable formula and the theoretical mass of the lead screw.

[0027] Among them, after driving the three-axis movement of the robot with the first load according to the excitation trajectory and calculating the load mass at the end of the robot according to the identification parameters, it further includes: driving the three-axis movement of the robot with the second load according to the excitation trajectory; calculating the current speed, acceleration and torque of the robot with the second load; obtaining a third multivariate formula in the three-axis dynamic model according to the speed, acceleration and torque; calculating the lead screw mass according to the second multivariate formula, the third multivariate formula and the mass of the first load; calculating the mass of the second load according to the lead screw mass and the second multivariate formula.

[0028] To solve the above technical problems, an embodiment of the present application further provides a computer device, including a memory and a processor. A computer-readable instruction is stored in the memory, and when the processor executes the computer-readable instruction, the steps of the robot end load mass identification method as described in any one of the above are implemented.

[0029] To solve the above technical problems, an embodiment of the present application further provides a computer-readable storage medium, adopting the following technical solution: A computer-readable instruction is stored on the computer-readable storage medium, and when the computer-readable instruction is executed by a processor, the steps of the robot end load mass identification method as described above are implemented.

[0030] Compared with the prior art, the embodiments of the present application mainly have the following beneficial effects:

[0031] The present application provides a method for identifying the mass of a load at the end of a robot, a computer device and a storage medium. By proposing a new third-axis dynamic model of the robot, it has the following beneficial effects:

[0032] 1. A method for identifying the mass of a load at the end of a SCARA robot, where the load identification process at the end of the robot only requires small-range movement, a single axis and a single identification movement.

[0033] 2. There is no need to establish a complex dynamic model through the traditional Lagrangian method or Euler method, and the calculation is selected at the motor end, avoiding the influence caused by other factors such as the efficiency between the motor, reducer, belt and lead screw. At the same time, the up and down movement models of the lead screw are integrated into a mathematical model for subsequent calculation and processing.

[0034] 3. Good robustness. Through experiments, it is verified that the load mass identification method proposed in the present application is insensitive to filter coefficients and the order of the friction force model, and the identification method is stable and reliable. BRIEF DESCRIPTION OF THE DRAWINGS

[0035] To more clearly illustrate the solutions in this application, the following will briefly introduce the accompanying drawings required for the description of the embodiments of this application. Obviously, the accompanying drawings in the following description are some embodiments of this application. For those of ordinary skill in the art, without creative efforts, other accompanying drawings can be obtained based on these drawings.

[0036] Figure 1 It is a schematic flowchart of the first implementation manner of the method for identifying the mass of the end effector load of this application;

[0037] Figure 2 It is a schematic flowchart of one implementation manner of step S100 of this application;

[0038] Figure 3 It is a schematic flowchart of one implementation manner of step S120 of this application;

[0039] Figure 4 It is a schematic diagram of identifying the mass of the end effector load of the SCARA robot of this application;

[0040] Figure 5 It is a schematic flowchart of one implementation manner of step S140 of this application;

[0041] Figure 6 It is a schematic flowchart of one implementation manner of step S150 of this application;

[0042] Figure 7 It is a schematic flowchart of one implementation manner of step S160 of this application;

[0043] Figure 8 It is a schematic flowchart of the second implementation manner of the method for identifying the mass of the end effector load of this application;

[0044] Figure 9 It is a schematic structural diagram of a computer device according to one implementation manner of this application. Specific implementation manner

[0045] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by those of ordinary skill in the technical field to which this application belongs. The terms used in the specification of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The terms "including" and "having" and any variations thereof in the specification and claims of this application and the above accompanying drawing descriptions are intended to cover non-exclusive inclusion. The terms "first", "second", etc. in the specification and claims of this application or the above accompanying drawings are used to distinguish different objects and not to describe a specific order.

[0046] References to "embodiments" in this specification mean that particular features, structures, or characteristics described in connection with the embodiments can be included in at least one embodiment of the present application. The phrase appears in various places in the specification and does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein can be combined with other embodiments.

[0047] It can be understood that in the embodiments of the present application, the robot takes a three-axis SCARA robot as an example to introduce in detail the method for identifying the mass of the end effector of the robot. However, in other embodiments, other multi-joint robots can also be used, and the robot needs to have a lead screw part that can move up and down. Specific limitations are not made here.

[0048] To enable those skilled in the art to better understand the solution of the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings.

[0049] Please refer to Figure 1 , Figure 1 which is a schematic flow chart of the first implementation manner of the method for identifying the mass of the end effector of the robot in the present application. In combination with Figure 1 ,the method for identifying the mass of the end effector of the robot provided by the present application includes the following steps:

[0050] S100, establish a three-axis dynamic model of the robot.

[0051] Please further refer to Figure 2 , Figure 2 which is a schematic flow chart of an implementation manner of step S100 in the present application. As shown in Figure 2 ,step S100 further includes the following sub-steps:

[0052] S101, respectively obtain the first load torque and the second load torque converted from the motor shaft during upward and downward movements.

[0053] It can be understood that when establishing a three-axis dynamic model of a SCARA robot, considering the ball screw models of the three axes, respectively obtain the first load torque and the second load torque converted from the motor shaft during upward and downward movements. Among them, the first load torque converted from the motor shaft during upward movement is:

[0054]

[0055] The second load torque converted from the motor shaft during downward movement is:

[0056]

[0057] S102, combine the first load torque and the second load torque to obtain a third load torque.

[0058] Optionally, the first load torque and the second load torque are combined to obtain a third load torque, and the expression of the third load torque is as follows:

[0059]

[0060] where η is the transmission efficiency, u is the friction coefficient, W is the mass of the lead screw, m load is the load mass, P is the lead pitch of the lead screw, G is the reduction ratio of the lead screw, and F is the external force.

[0061] S103. Obtain the three-axis dynamic model of the robot according to the third load torque.

[0062] Further, obtain the three-axis dynamic model of the SCARA robot according to the third load torque, and the three-axis dynamic model of the SCARA robot is as follows:

[0063]

[0064] where τ 3 represents the output torque of the three-axis motor, f c3 is the Coulomb friction coefficient, f v3 is the viscous friction coefficient, is the acceleration of the motor, is the speed of the motor.

[0065] S104. Combine like terms in the three-axis dynamic model to obtain the three-axis dynamic model after variable substitution.

[0066] Combine the and in Equation (4) to combine like terms and obtain the three-axis dynamic model after variable substitution. Among them, the coefficient before is a multi-variable expression, denoted as the equivalent inertia p 1 , p 2 is the first multi-variable expression.

[0067] S110. Select a preset-order Fourier series as the joint excitation trajectory form of the robot.

[0068] Further, select a preset-order Fourier series as the joint excitation trajectory form of the SCARA robot. In the embodiments of the present application, a 30-order Fourier series is selected as the joint excitation trajectory form of the SCARA robot. Of course, in other embodiments, other-order Fourier series can also be used as the excitation trajectory form, which is not specifically limited here.

[0069] S120. Solve the joint excitation trajectory of the robot according to the parameter limit value, regression matrix and genetic algorithm of the robot.

[0070] Further refer to Figure 3 , Figure 3 , which is a schematic flowchart of an embodiment of step S120 of the present application. As Figure 3 Step S120 further includes the following sub-steps:

[0071] S121, obtain the angular limit value, speed limit value, and acceleration limit value of the robot to constrain the position, speed, and acceleration of the excitation trajectory, wherein the maximum value of the position of the excitation trajectory is greater than a preset multiple of the limit position of the SCARA robot.

[0072] Furthermore, obtain the angular limit value, speed limit value, and acceleration limit value of the SCARA robot, and use the angular limit value, speed limit value, and acceleration limit value as constraint conditions to constrain the position, speed, and acceleration of the excitation trajectory. Among them, the maximum value of the position of the excitation trajectory is greater than a preset multiple of the limit position of the SCARA robot. In a specific embodiment of the present application, the maximum value of the position of the excitation trajectory is greater than 0.8 times the limit position of the SCARA robot, so that the generated excitation trajectory can be optimized. Of course, in other embodiments, it can also be a position greater than or less than 0.8 times, and no specific limitation is made here.

[0073] S122, use the condition number of the regression matrix as the optimization target, and calculate the coefficients of the Fourier series form of the excitation trajectory through a genetic algorithm.

[0074] Furthermore, the regression function is composed of the acceleration of the three-axis electrode at each discrete moment, the constant 1, sign(speed), and speed, and its expression is as follows:

[0075]

[0076] In the embodiment of the present application, use the condition number of Hb as the optimization target and calculate the coefficients a j , b j , c 0 of the Fourier series form of the excitation trajectory through a genetic algorithm. Of course, in other embodiments, it can also be other algorithms for finding the minimum value of a non-linear multivariate function, and no specific limitation is made here.

[0077] S123, substitute the optimized coefficients into the excitation trajectory form to obtain the excitation trajectory.

[0078] Furthermore, substitute the optimized coefficients a j , b j , c 0 of the Fourier series form into the excitation trajectory form to obtain the excitation trajectory, and the expression is as follows:

[0079]

[0080] S130. Drive the robot to move according to the excitation trajectory, and collect the angular displacement data and current data of the third joint motor.

[0081] Please further combine with Figure 4 , Figure 4 which is a schematic diagram of the end-effector load mass identification of the SCARA robot of this application. As shown in Figure 4 Figure a) in it, move the robot joint to place it in a safe working space, drive the three axes of the SCARA robot to move according to the excitation trajectory (Equation 7), and collect the angular displacement data and current data of the third joint motor.

[0082] S140. Process the angular displacement data and current data to obtain the parameters of the third joint motor.

[0083] Please refer to Figure 5 , Figure 5 which is a schematic flow chart of an implementation manner of step S140 of this application. As shown in Figure 5 Step S140 further includes the following sub-steps:

[0084] S141. Calculate and filter the angular displacement data through central difference to obtain the denoised speed and acceleration.

[0085] Specifically, calculate and filter the angular displacement data through central difference to obtain the denoised speed and acceleration. Of course, in other implementation manners, other order difference methods besides the 4th-order central difference can also be used to calculate the speed and acceleration, which are not specifically limited here.

[0086] S142. Filter and denoise the current data, and calculate the torque of the third joint motor.

[0087] Furthermore, the current data is also filtered to remove the influence of noise to obtain the final current data, and the motor torque of the third joint is calculated through the current data.

[0088] S150. Substitute the parameters into the three-axis dynamic model to calculate the identification parameters in the three-axis dynamic model.

[0089] Please refer to Figure 6 , Figure 6 which is a schematic flow chart of an implementation manner of step S150 of this application. As shown in Figure 6 Step S150 further includes the following sub-steps:

[0090] S151. Substitute the speed, acceleration, and torque into the three-axis dynamic model.

[0091] Specifically, substitute the processed speed, acceleration, and torque data into the three-axis dynamics model, that is, substitute it into Equation (5).

[0092] S152. Calculate the Coulomb friction coefficient, viscous friction coefficient, equivalent inertia, and the first multivariable formula using the least squares method.

[0093] Specifically, calculate the Coulomb friction coefficient f c3 , viscous friction coefficient f v3 , equivalent inertia p1, where p1 is the equivalent inertia of components such as the motor, reducer, and belt, and the first multivariable formula p 2 . Among them, p 2 is used for subsequent load mass calculation. Of course, in other embodiments, other least squares methods other than the ordinary least squares method (OLS) can also be used, such as the weighted least squares method (WLS), generalized least squares method (GLS), feasible generalized least squares method (FGLS)), or other non-linear search methods (such as sequential quadratic programming method (SQP)) to calculate the identification parameters.

[0094] It can be understood that the above steps S100 to S150 can all be completed before the robot leaves the factory. After leaving the factory, only one load identification needs to be performed at the customer site to obtain the load mass at the end of the robot.

[0095] S160. Drive the three-axis movement of the robot with the first load according to the excitation trajectory, and calculate the first load mass at the end of the robot according to the dynamic parameters.

[0096] Please further combine Figure 7 , Figure 7 is a schematic flowchart of an embodiment of step S160 of this application. As Figure 7 Step S160 further includes the following sub-steps:

[0097] S161. Drive the three-axis movement of the robot with the first load according to the excitation trajectory.

[0098] Similarly, when the SCARA robot has the first load, it is also necessary to move each joint of the SCARA robot into the safe working space and drive the three-axis operation of the SCARA robot according to the excitation trajectory of Equation (7).

[0099] S162. Calculate the current speed, acceleration, and torque of the robot with the first load.

[0100] Further, calculate the current speed, acceleration, and torque of the SCARA robot with the first load.

[0101] S163. Obtain the second multivariate formula in the three-axis dynamic model based on speed, acceleration, and torque.

[0102] Further, obtain the second multivariate formula in the three-axis dynamic model based on speed, acceleration, and torque, that is, the second multivariate formula calculated this time, denoted as p2'.

[0103] S164. Calculate the first load mass at the end of the robot according to the second multivariate formula and the theoretical mass of the lead screw.

[0104] Optionally, the first load mass m at the end of the SCARA robot can be calculated according to the following formula (8):

[0105]

[0106] where m screw is the theoretical mass of the lead screw.

[0107] The above content is the application of the dynamic model proposed in this application to obtain the load mass at the end of the SCARA robot through one-time identification on-site. In the actual application scenario of this application, 550 groups of experiments were carried out on arm lengths of 400mm, 600mm, and 1000mm, covering all load blocks that can be carried. The experimental results show that the maximum relative error is only 8.24%, the maximum average error is only 4.89%, and the maximum standard deviation is 0.0157. It can be seen that the accuracy of the method for identifying the load mass at the end of the robot using this application is extremely high.

[0108] In the above embodiment, by proposing a new third-axis dynamic model of the robot, the following beneficial effects are achieved:

[0109] 1. A method for identifying the load at the end of the SCARA robot only requires small-range movement, single-axis and single-time identification movement to identify the load mass at the end of the SCARA robot;

[0110] 2. There is no need to establish a complex dynamic model through the traditional Lagrangian method or Euler method, and the calculation is performed at the motor end, avoiding the influence caused by other factors such as the efficiency between the motor - reducer - belt - lead screw. At the same time, the up-and-down movement model of the lead screw is integrated into a mathematical model, which is convenient for subsequent calculation and processing;

[0111] 3. Good robustness. Through experimental verification, the load mass identification method proposed in this application is insensitive to filter coefficients and the order of the friction force model, and the identification method is stable and reliable, etc.

[0112] Please further combine Figure 8 with Figure 8This is a schematic flowchart of the second implementation mode of the method for identifying the mass of the robot's end effector load. The second implementation mode of this application is a further extension of the first implementation mode, and the difference from the first implementation mode is that the embodiment of this application performs secondary identification after the mass of the robot's end effector load is identified once in the first embodiment, and the same parts as in the first implementation mode will not be elaborated. The second implementation mode of the method for identifying the mass of the robot's end effector load of this application includes the following steps:

[0113] S200, establish a three-axis dynamic model of the robot.

[0114] S210, select a preset-order Fourier series as the form of the joint excitation trajectory of the robot.

[0115] S220, solve the joint excitation trajectory of the robot according to the parameter limit values, regression matrix and genetic algorithm of the robot.

[0116] S230, drive the three-axis movement of the robot according to the excitation trajectory, and collect the angular displacement data and current data of the third joint motor.

[0117] S240, process the angular displacement data and current data to obtain the parameters of the third joint motor.

[0118] S250, substitute the parameters into the three-axis dynamic model and calculate the identification parameters in the three-axis dynamic model.

[0119] S260, drive the three-axis movement of the robot with the first load according to the excitation trajectory, and calculate the mass of the first load at the end of the robot according to the identification parameters.

[0120] S270, drive the three-axis movement of the robot with the second load according to the excitation trajectory.

[0121] It can be understood that the mass of the first load identified by the robot once is denoted as m1, where m1 is a load block with a known mass. And the second multivariate formula calculated after driving the three-axis movement of the robot during the first identification is denoted as p2'.

[0122] Furthermore, move the joints of the robot with the second load to the safe working space and drive its three-axis to run the excitation trajectory again.

[0123] S280, calculate the current speed, acceleration and torque of the robot with the second load.

[0124] Optionally, calculate the current speed, acceleration and torque of the robot with the second load in the same way as in the first implementation mode.

[0125] S290, obtain the third multivariate formula in the three-axis dynamic model according to the speed, acceleration and torque.

[0126] Obtain the third multi-variable formula in the three-axis dynamic model based on speed, acceleration, and torque, and the third multi-variable formula calculated at this moment can be denoted as p2".

[0127] S2100. Calculate the lead screw mass according to the second multi-variable formula, the third multi-variable formula, and the mass of the first load.

[0128] Optionally, calculate the lead screw mass m according to the second multi-variable formula, the third multi-variable formula, and the mass of the first load. screw , and the expression is as follows:

[0129]

[0130] S2110. Calculate the mass of the second load according to the lead screw mass and the second multi-variable formula.

[0131] Furthermore, calculate the mass m2 of the second load according to the lead screw mass mscrew and the second multi-variable formula p2', and the expression is as follows:

[0132]

[0133] In the above embodiments of the present application, the process of obtaining the mass of the three-axis lead screw of the SCARA robot and the mass of the end load through on-site secondary identification. In the present application, 1700 groups of experiments were carried out at arm lengths of 400 mm, 600 mm, and 1000 mm, covering all load blocks that can be carried. The experimental results show that the maximum relative error of the load mass identification result is only 2.37%, the maximum average error is only 1%, and the maximum standard deviation is 0.0053; the maximum relative error of the lead screw mass identification result is only 7.64%, the maximum average error is only 4.64%, and the maximum standard deviation is 0.0163. It can be seen that the accuracy of the robot end load mass identification method of the present application is extremely high.

[0134] In the above embodiments, by proposing a new third-axis dynamic model of the robot, the following beneficial effects are achieved:

[0135] 1. A method for identifying the mass of the end load of a SCARA robot, which only requires small-range movement during the process of identifying the end load of the robot, and can identify the mass of the end load of the SCARA robot with a single-axis and single-time identification movement;

[0136] 2. There is no need to establish a complex dynamic model through the traditional Lagrangian method or Euler method, and the calculation is selected at the motor end, avoiding the influence caused by other factors such as the efficiency between the motor - reducer - belt - lead screw. At the same time, the up and down movement model of the lead screw is integrated into a mathematical model, which is convenient for subsequent calculation and processing;

[0137] 3. Good robustness. Through experiments, it is verified that the load mass identification method proposed in this application is insensitive to filter coefficients and the order of the friction force model, and the identification method is stable and reliable, etc.

[0138] To solve the above technical problems, the embodiments of this application also provide a computer device. For details, please refer to Figure 9 , Figure 9 which is the basic structural block diagram of the computer device in this embodiment.

[0139] The computer device 300 includes a memory 301, a processor 302, and a network interface 303 that are communicatively connected to each other through a system bus. It should be noted that Figure 9 only the computer device 300 with components 301-303 is shown in , but it should be understood that it is not required to implement all the shown components, and more or fewer components can be implemented alternatively. Among them, those skilled in the art of this technology can understand that a computer device here is a device that can automatically perform numerical calculations and / or information processing according to pre-set or stored instructions, and its hardware includes but is not limited to microprocessors, application specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), digital signal processors (DSPs), embedded devices, etc.

[0140] The computer device can be a desktop computer, a notebook, a palm computer, a cloud server and other computing devices. The computer device can perform human-computer interaction with users through a keyboard, a mouse, a remote control, a touchpad or a voice control device, etc.

[0141] The memory 301 includes at least one type of readable storage medium, which includes flash memory, hard disk, multimedia card, card-type memory (such as SD or DX memory, etc.), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, optical disc, etc. In some embodiments, the memory 301 may be an internal storage unit of the computer device 300, such as the hard disk or memory of the computer device 300. In other embodiments, the memory 301 may also be an external storage device of the computer device 300, such as a plug-in hard disk equipped on the computer device 300, a Smart Media Card (SMC), a Secure Digital (SD) card, a Flash Card, etc. Of course, the memory 301 may also include both the internal storage unit and the external storage device of the computer device 300. In this embodiment, the memory 301 is generally used to store the operating system and various application software installed on the computer device 300, such as computer-readable instructions for the interface call method. In addition, the memory 301 may also be used to temporarily store various data that have been output or will be output.

[0142] In some embodiments, the processor 302 may be a central processing unit (CPU), a controller, a microcontroller, a microprocessor, or other data processing chips. The processor 302 is generally used to control the overall operation of the computer device 300. In this embodiment, the processor 302 is used to run the computer-readable instructions stored in the memory 301 or process data, such as running the computer-readable instructions for the robot end-effector payload mass identification method.

[0143] The network interface 303 may include a wireless network interface or a wired network interface, and this network interface 303 is generally used to establish a communication connection between the computer device 300 and other electronic devices.

[0144] In the above embodiments, by proposing a new dynamic model of the third axis of a robot, the following beneficial effects are achieved:

[0145] 1. A method for identifying the mass of the robot end-effector payload that only requires small-range movement, single-axis and single-time identification movement in the process of robot end-effector payload identification;

[0146] 2. There is no need to establish a complex dynamic model through the traditional Lagrangian method or Eulerian method, and the calculation is performed at the motor end, avoiding the influence caused by other factors such as the efficiency between the motor, reducer, belt, and lead screw. At the same time, the up and down motion models of the lead screw are integrated into a mathematical model, which is convenient for subsequent calculation and processing;

[0147] 3. It has good robustness. Through experimental verification, the load mass identification method proposed in this application is insensitive to filter coefficients and the order of the friction force model, and the identification method is stable and reliable, etc.

[0148] This application also provides another implementation manner, that is, to provide a computer-readable storage medium, which stores computer-readable instructions that can be executed by at least one processor, so that at least one processor executes the steps of the robot end load mass identification method as described above.

[0149] Through the description of the above embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such an understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disc), and includes several instructions to enable a terminal device (which can be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods of various embodiments of this application.

[0150] Obviously, the above-described embodiments are only a part of the embodiments of this application, rather than all the embodiments. The accompanying drawings show the preferred embodiments of this application, but do not limit the patent scope of this application. This application can be implemented in many different forms. On the contrary, the purpose of providing these embodiments is to make the understanding of the disclosure content of this application more thorough and comprehensive. Although this application has been described in detail with reference to the foregoing embodiments, for those skilled in the art, they can still modify the technical solutions described in the foregoing specific embodiments, or perform equivalent replacements for some of the technical features. Any equivalent structure directly or indirectly using the content of this application's specification and drawings in other related technical fields is similarly within the scope of this application's patent protection.

Claims

1. A method for identifying the mass of the end - effector load of a robot, characterized in that, the identification method includes: establishing a three - axis dynamic model of the robot; selecting a preset - order Fourier series as the form of the joint excitation trajectory of the robot; solving the joint excitation trajectory of the robot according to the parameter limit values, regression matrix and genetic algorithm of the robot; driving the three - axis motion of the robot according to the excitation trajectory, and collecting the angular displacement data and current data of the third joint motor; processing the angular displacement data and current data to obtain the parameters of the third joint motor; substituting the parameters into the three - axis dynamic model to calculate the identification parameters in the three - axis dynamic model; driving the three - axis motion of the robot with the first load according to the excitation trajectory, and calculating the mass of the first load at the end of the robot according to the identification parameters; wherein, driving the three - axis motion of the robot with the first load according to the excitation trajectory and calculating the mass of the first load at the end of the robot according to the identification parameters further includes: driving the three - axis motion of the robot with the first load according to the excitation trajectory; calculating the current speed, acceleration and torque of the robot with the first load; obtaining a second multivariable formula in the three - axis dynamic model according to the speed, acceleration and torque; calculating the mass of the first load at the end of the robot according to the second multivariable formula and the theoretical mass of the lead screw.

2. The identification method according to claim 1, characterized in that, solving the joint excitation trajectory of the robot according to the parameter limit values, regression matrix and genetic algorithm of the robot further includes: obtaining the angular limit value, speed limit value and acceleration limit value of the robot to constrain the position, speed and acceleration of the excitation trajectory, wherein the maximum value of the position of the excitation trajectory is greater than a preset multiple of the limit position of the robot; taking the condition number of the regression matrix as the optimization objective, and calculating the coefficients of the Fourier series form of the excitation trajectory through the genetic algorithm; substituting the optimized coefficients into the excitation trajectory form to obtain the excitation trajectory.

3. The identification method according to claim 1, characterized in that, processing the angular displacement data and current data to obtain the parameters of the third joint motor further includes: calculating and filtering the angular displacement data through central difference to obtain the denoised speed and acceleration; filtering and denoising the current data, and calculating the torque of the third joint motor.

4. The identification method according to claim 3, characterized in that, substituting the parameters into the three - axis dynamic model to calculate the identification parameters in the three - axis dynamic model further includes: substituting the speed, acceleration and torque into the three - axis dynamic model; calculating the Coulomb friction coefficient, viscous friction coefficient, equivalent inertia and a first multivariable formula by using the least - squares method.

5. The identification method according to claim 4, characterized in that, establishing the three - axis dynamic model of the robot further includes: Obtain the first load torque and the second load torque converted by the motor shaft during ascending and descending respectively; Combine the first load torque and the second load torque to obtain the third load torque; Obtain the three-axis dynamic model of the robot according to the third load torque; Combine like terms of the three-axis dynamic model to obtain the three-axis dynamic model after variable substitution.

6. The identification method according to claim 5, wherein, the second load torque, the third load torque, and the three-axis dynamic model are respectively: The first load torque is: The second load torque is: The third load torque is: Among them, η is the transmission efficiency, u is the friction coefficient, W is the mass of the lead screw, m load is the mass of the load, P is the lead pitch of the lead screw, G is the reduction ratio of the lead screw, and F is the external force; The three-axis dynamic model is: The three-axis dynamic model after variable substitution is: Among them, τ 3 represents the output torque of the three-axis motor, f c3 is the Coulomb friction coefficient, f v3 is the viscous friction coefficient, is the acceleration of the motor, is the speed of the motor, p 1 is the equivalent inertia, p 2 is the first multivariable formula.

7. The identification method according to claim 1, wherein, after driving the three-axis movement of the robot with the first load according to the excitation trajectory and calculating the load mass at the end of the robot according to the identification parameters, it further includes: Driving the three-axis movement of the robot with the second load according to the excitation trajectory; Calculating the current speed, acceleration, and torque of the robot with the second load; Obtaining the third multi-variable formula in the three-axis dynamic model according to the speed, acceleration, and torque; Calculating the lead screw mass according to the second multi-variable formula, the third multi-variable formula, and the mass of the first load; Calculating the mass of the second load according to the lead screw mass and the second multi-variable formula.

8. A computer device, wherein, it includes a memory and a processor. Computer-readable instructions are stored in the memory, and when the processor executes the computer-readable instructions, the steps of the robot end load mass identification method according to any one of claims 1 to 7 are implemented.

9. A computer-readable storage medium, wherein, computer-readable instructions are stored on the computer-readable storage medium, and when the computer-readable instructions are executed by the processor, the steps of the robot end load mass identification method according to any one of claims 1 to 7 are implemented.

Citation Information

Patent Citations

  • SCARA robot dynamic parameter identification method based on maximum likelihood estimation

    CN110058523A

  • Robot load identification method and identification device

    CN114211502A