A method, system and device for identifying inertial parameters of a robot arm
By establishing a dynamic model of the robotic arm and collecting joint torques and motion state quantities under no-load and loaded conditions, separating the inertial torque and correcting the motor torque constant, the problem of large joint torque error in the identification of robotic arm inertial parameters is solved, and the accuracy of inertial parameters is improved.
Patent Information
- Application Number
- CN202311645705.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-12-01
- Publication Date
- 2026-08-25
- Estimated Expiration
- 2043-12-01
AI Technical Summary
In existing technologies, when identifying the inertial parameters of a robotic arm through experimental methods, the joint torque error is relatively large, resulting in low accuracy of the inertial parameters.
By establishing and linearizing the dynamic model of the robotic arm, setting the excitation trajectory, collecting joint torque and motion state quantities under no-load and load conditions, separating the inertial torque, and correcting it using the correction coefficient of the motor torque constant, the inertial parameters are determined.
This improves the accuracy of the robotic arm's inertial parameters, ensuring that the joint inertial torque is closer to the actual value.
Smart Images

Figure CN117773916B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotic arm application technology, specifically to a method, system, and device for identifying the inertial parameters of a robotic arm. Background Technology
[0002] Robotic arms are widely used in the field of automation. With the development of technology, application scenarios place higher demands on the performance of robotic arms. Accurate dynamic models can improve the dynamic performance of robotic arms, and a key to establishing such models lies in identifying more accurate inertial parameters. Generally, the inertial parameters of robotic arms are identified primarily through experimental methods. However, the joint torques commonly used in experiments are calculated from the nominal motor torque constant, without considering the possibility of significant errors in the motor torque constant, leading to large discrepancies between the collected and actual joint torques. This ultimately results in low accuracy of the identified robotic arm inertial parameters. Summary of the Invention
[0003] This invention provides a method, system, and device for identifying the inertial parameters of a robotic arm, in order to solve one or more technical problems existing in the prior art, and at least provide a beneficial option or create conditions.
[0004] Firstly, a method for identifying the inertial parameters of a robotic arm is provided, the method comprising:
[0005] Establish a dynamic model of the robotic arm and linearize it, then set the excitation trajectory;
[0006] The robotic arm is controlled to move along the excitation trajectory in an unloaded state. At the same time, the first joint torque and the first joint motion state quantity of the robotic arm are collected, and the first joint inertial torque is separated from the first joint torque.
[0007] The robotic arm is controlled to move along the excitation trajectory under load, while the second joint torque and the second joint motion state quantity of the robotic arm are collected, and the second joint inertial torque is separated from the second joint torque.
[0008] Based on the motion state of the second joint, the inertial torque of the first joint, and the inertial torque of the second joint, determine the correction coefficient of the motor torque constant;
[0009] The inertial parameters of the robotic arm are determined based on the inertial torque of the first joint, the motion state of the first joint, and the correction coefficient.
[0010] Furthermore, the mathematical expression for the robotic arm dynamics model is:
[0011]
[0012] The expression for the linearized robotic arm dynamics model is:
[0013] τ MCG =Yp;
[0014] Where, τ MCG Let be the joint inertial torque, and q be the joint position. For joint velocity, For joint acceleration, q, and Collectively referred to as joint motion state quantities, M(q) is the inertia matrix, C(q) is the Coriolis force and centrifugal force matrix, G(q) is the gravity matrix, Y is the regression matrix, which is determined by the structural parameters of the robotic arm and the joint motion state quantities, and p is the inertia parameter.
[0015] Furthermore, the control of the robotic arm to move along the excitation trajectory in an unloaded state, while simultaneously collecting the first joint torque and first joint motion state quantities of the robotic arm, includes:
[0016] The robotic arm is controlled to move forward along the excitation trajectory in an unloaded state, while the torque and motion state of the third joint of the robotic arm are collected.
[0017] The robotic arm is controlled to move in the opposite direction along the excitation trajectory under no-load conditions, while the torque and motion state of the fourth joint of the robotic arm are collected.
[0018] Further, separating the first joint inertial torque from the first joint torque includes:
[0019] The third joint torque includes the third joint inertial torque and the third joint friction torque, and the fourth joint torque includes the fourth joint inertial torque and the fourth joint friction torque;
[0020] Based on the robotic arm dynamics model and the motion state variables of the first joint, a first relationship is determined between the inertial torque of the third joint and the inertial torque of the fourth joint.
[0021] Obtain the second relationship between the frictional torque of the third joint and the frictional torque of the fourth joint, and then combine the first relationship, the torque of the third joint and the torque of the fourth joint to determine the inertial torque of the first joint.
[0022] Furthermore, controlling the robotic arm to move along the excitation trajectory under load, while simultaneously acquiring the second joint torque and second joint motion state quantities of the robotic arm, includes:
[0023] The robotic arm is controlled to move forward along the excitation trajectory under load, while the torque and motion state of the fifth joint of the robotic arm are collected.
[0024] The robotic arm is controlled to move in the opposite direction along the excitation trajectory under load, while the torque and motion state of the sixth joint of the robotic arm are collected.
[0025] Further, separating the second joint inertial torque from the second joint torque includes:
[0026] The fifth joint torque includes the fifth joint inertial torque and the fifth joint friction torque, and the sixth joint torque includes the sixth joint inertial torque and the sixth joint friction torque;
[0027] Based on the robotic arm dynamics model and the motion state of the second joint, a third relationship is determined between the inertial torque of the fifth joint and the inertial torque of the sixth joint;
[0028] Obtain the fourth relationship between the frictional torque of the fifth joint and the frictional torque of the sixth joint, and then combine the third relationship, the torque of the fifth joint and the torque of the sixth joint to determine the inertial torque of the second joint.
[0029] Furthermore, the step of determining the correction coefficient for the motor torque constant based on the second joint motion state quantity, the first joint inertial torque, and the second joint inertial torque includes:
[0030] Based on the linearized robotic arm dynamics model and the first joint inertial torque, a first expression for the actual joint inertial torque of the robotic arm in an unloaded state is determined;
[0031] Based on the linearized robotic arm dynamics model, the second joint inertial torque, the second joint motion state quantity, and the load inertial parameters, a second expression for the actual joint inertial torque of the robotic arm under load is determined;
[0032] Based on the first and second expressions, a third expression is determined regarding the actual torque exerted by the load on the robotic arm. This expression is then solved using a linear regression algorithm to obtain the correction coefficient for the motor torque constant.
[0033] Further, determining the inertial parameters of the robotic arm based on the first joint inertial torque, the first joint motion state quantity, and the correction coefficient includes:
[0034] The first expression is updated using the first joint motion state quantity and the correction coefficient;
[0035] The inertial parameters of the robotic arm are obtained by solving the updated first expression using a linear regression algorithm.
[0036] Secondly, a system for identifying the inertial parameters of a robotic arm is provided, the system comprising:
[0037] The first module is used to establish and linearize the dynamic model of the robotic arm, and then set the excitation trajectory;
[0038] The second module is used to control the robotic arm to move along the excitation trajectory in an unloaded state, and at the same time collect the first joint torque and the first joint motion state quantity of the robotic arm, and then separate the first joint inertial torque from the first joint torque;
[0039] The third module is used to control the robotic arm to move along the excitation trajectory under load, and at the same time to collect the second joint torque and the second joint motion state of the robotic arm, and then separate the second joint inertial torque from the second joint torque;
[0040] The fourth module is used to determine the correction coefficient of the motor torque constant based on the motion state of the second joint, the inertial torque of the first joint, and the inertial torque of the second joint.
[0041] The fifth module is used to determine the inertial parameters of the robotic arm based on the inertial torque of the first joint, the motion state quantity of the first joint, and the correction coefficient.
[0042] Thirdly, a computer device is provided, including a memory and a processor, the memory storing a computer program, the processor executing the computer program to implement the method for identifying the inertial parameters of a robotic arm as described in the first aspect.
[0043] The present invention has at least the following beneficial effects: by using the relevant motion data of the robotic arm in the no-load state and the relevant motion data in the load state to calibrate and obtain the correction coefficient of the motor torque constant, and then using the correction coefficient to correct the joint inertial torque separated from the collected joint torque, it is ensured that the final joint inertial torque used in the parameter identification process is closer to the actual value, thereby effectively improving the accuracy of the identified robotic arm inertial parameters. Attached Figure Description
[0044] The accompanying drawings are provided to further understand the technical solutions of the present invention and constitute a part of the specification. They are used together with the embodiments of the present invention to explain the technical solutions of the present invention, and do not constitute a limitation on the technical solutions of the present invention.
[0045] Figure 1 This is a flowchart illustrating a method for identifying the inertial parameters of a robotic arm in an embodiment of the present invention.
[0046] Figure 2 This is a schematic diagram of the structure of the six-degree-of-freedom robotic arm in an embodiment of the present invention;
[0047] Figure 3 This is a schematic diagram of the composition of a robotic arm inertial parameter identification system according to an embodiment of the present invention;
[0048] Figure 4 This is a schematic diagram of the hardware structure of the computer device in an embodiment of the present invention. Detailed Implementation
[0049] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0050] It should be noted that although a logical order is shown in the flowchart, in some cases, the steps shown or described may be performed in a different order than that shown in the flowchart. The terms "first," "second," etc., in the specification, claims, and the foregoing drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein.
[0051] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application only and is not intended to limit this application.
[0052] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Numerous specific details are provided in the following description to give a thorough understanding of embodiments of this application. However, those skilled in the art will recognize that the technical solutions of this application can be practiced without one or more of the specific details, or other methods, components, apparatuses, steps, etc., can be employed. In other instances, well-known methods, apparatuses, implementations, or operations are not shown or described in detail to avoid obscuring various aspects of this application.
[0053] The flowchart shown in the attached figures is merely an illustrative example and does not necessarily include all content and operations / steps, nor does it require them to be performed in the described order. For example, some operations / steps can be broken down, while others can be combined or partially combined; therefore, the actual execution order may change depending on the specific circumstances.
[0054] In existing technologies, the inertial parameters of robotic arms are mainly identified through experimental methods. However, the joint torques commonly used in these experiments are calculated from the nominal motor torque constant, without considering the possibility of significant discrepancies between the collected and actual joint torques due to large errors in the motor torque constant. This results in low accuracy of the identified robotic arm inertial parameters. Therefore, this invention proposes an improved method for identifying robotic arm inertial parameters, as detailed below.
[0055] Please refer to Figure 1 , Figure 1 This is a flowchart illustrating a method for identifying the inertial parameters of a robotic arm according to an embodiment of the present invention. The method includes the following:
[0056] Step S110: Establish the dynamic model of the robotic arm and linearize it, then set the excitation trajectory;
[0057] Step S120: Control the robotic arm to move along the excitation trajectory in an unloaded state, and simultaneously collect the first joint torque and the first joint motion state quantity of the robotic arm, and then separate the first joint inertial torque from the first joint torque;
[0058] Step S130: Control the robotic arm to move along the excitation trajectory under load, and simultaneously collect the second joint torque and the second joint motion state quantity of the robotic arm, and then separate the second joint inertial torque from the second joint torque;
[0059] Step S140: Determine the correction coefficient of the motor torque constant based on the motion state quantity of the second joint, the inertial torque of the first joint, and the inertial torque of the second joint;
[0060] Step S150: Determine the inertial parameters of the robotic arm based on the first joint inertial torque, the first joint motion state quantity, and the correction coefficient.
[0061] It should be noted that the present invention does not limit the execution order of steps S120 and S130. Step S120 can be executed first, followed by step S130, after step S110 (e.g., ...). Figure 1 (as shown), or perform step S130 above first and then step S120 above.
[0062] In this embodiment of the invention, the mathematical expression of the robotic arm dynamics model mentioned in step S110 above is:
[0063]
[0064] After linearizing the robotic arm dynamics model, we obtain:
[0065] τ MCG =Yp; (2)
[0066] In the formula, τ MCG Let be the joint inertial torque, and q be the joint position. For joint velocity, For joint acceleration, q, and Collectively referred to as joint motion state quantities, M(q) is the inertia matrix dominated by joint position q, C(q) is the Coriolis force and centrifugal force matrix dominated by joint position q, T indicates the transpose sign, and G(q) is the gravity matrix dominated by joint position q. This is a regression matrix, determined by the joint motion states and the structural parameters of the robotic arm. Here, n is the inertial parameter, and n is the degree of freedom of the robotic arm. When the identification method proposed in this invention is applied to, for example... Figure 2 When the six-degree-of-freedom robotic arm is shown, n is taken as 6.
[0067] In this embodiment of the invention, the excitation trajectory mentioned in step S110 above needs to be set taking into account the regression matrix Y in the linearized robotic arm dynamics model. This setting process is a conventional technique in the field of robotic arm inertial parameter identification, and will not be described in detail here.
[0068] In this embodiment of the invention, the specific implementation process of step S120 includes, but is not limited to, the following:
[0069] Step S121: When the robotic arm is in an unloaded state, control the robotic arm to move forward along the excitation trajectory, and collect the motion state of the third joint and the torque of the third joint of the robotic arm during this movement process;
[0070] Specifically, the motion state quantity of the third joint is determined by the position of the third joint. Third joint velocity and third joint acceleration The torque of the third joint, as it comprises, can be expressed as the following mathematical expression:
[0071]
[0072] In the formula, ε + The torque of the third joint, The unknown inertial torque of the third joint. The frictional torque of the third joint is unknown.
[0073] Step S122: When the robotic arm is in an unloaded state, control the robotic arm to move in the opposite direction along the excitation trajectory, and collect the motion state quantity and torque of the fourth joint of the robotic arm during this movement process.
[0074] Specifically, the motion state quantity of the fourth joint is determined by the position of the fourth joint. Fourth joint velocity and fourth joint acceleration Composed of, and The torque of the fourth joint can be expressed as follows:
[0075]
[0076] In the formula, ε - The torque of the fourth joint, The unknown inertial torque of the fourth joint. The frictional torque of the fourth joint is unknown.
[0077] Step S123: Based on the motion state variables of the first joint and the dynamic model of the robotic arm, determine the inertial torque of the third joint. With the inertial torque of the fourth joint The first relation between them;
[0078] Specifically, the motion state of the third joint is substituted into the dynamic model of the robotic arm (i.e., the above expression (1)) to obtain the inertial torque of the third joint. The mathematical expression is:
[0079]
[0080] And by substituting the motion state of the fourth joint into the dynamic model of the robotic arm (i.e., the above expression (1)), the inertial torque of the fourth joint is obtained. The mathematical expression is:
[0081]
[0082] because The above expression (6) is transformed to obtain:
[0083]
[0084] Combining the above expressions (5) and (7), the first relation is obtained as follows:
[0085]
[0086] Step S124: Since the joint friction torque can be approximated as an odd function of the joint velocity, given... In the case of determining the frictional torque of the third joint Frictional torque with the fourth joint The second relation between them is:
[0087]
[0088] Step S125: Combine the third joint torque τ + The fourth joint torque τ - The first relation and the second relation, that is, the above expressions (3), (4), (8) and (9), are fused and analyzed to obtain the first joint inertial torque. for:
[0089]
[0090] It should be noted that the present invention does not limit the order of execution of the above steps S121 and S122. Step S121 can be executed first and then step S122, or step S122 can be executed first and then step S121.
[0091] In this embodiment of the invention, the specific implementation process of step S130 includes, but is not limited to, the following:
[0092] Step S131: When the robotic arm is under load, control the robotic arm to move forward along the excitation trajectory, and collect the motion state of the fifth joint and the torque of the fifth joint during this movement process.
[0093] Specifically, the motion state quantity of the fifth joint is determined by the position of the fifth joint. Fifth joint velocity and the acceleration of the fifth joint The torque of the fifth joint, as it comprises, can be expressed as the following mathematical expression:
[0094]
[0095] In the formula, τ load+ The torque of the fifth joint, The unknown inertial torque of the fifth joint. The frictional torque of the fifth joint is unknown.
[0096] It should be noted that the robotic arm is under load, which is actually characterized by a load with known inertial parameters, center of mass position and mass being installed at the end flange of the robotic arm.
[0097] Step S132: When the robotic arm is under load, control the robotic arm to move in the opposite direction along the excitation trajectory, and collect the motion state of the sixth joint and the torque of the sixth joint during this movement.
[0098] Specifically, the motion state quantity of the sixth joint is determined by the position of the sixth joint. Sixth joint velocity and the acceleration of the sixth joint Composed of, and The torque of the sixth joint can be expressed as follows:
[0099]
[0100] In the formula, τ load- The torque of the sixth joint, The unknown inertial torque of the sixth joint. The frictional torque of the sixth joint is unknown.
[0101] It should be noted that, since the robotic arm moves along the same excitation trajectory whether in an unloaded or loaded state, ideally, the joint motion parameters generated by the robotic arm's movement in both states should be the same. That is, the first joint motion parameter and the second joint motion parameter should be the same, and conversely, the third joint motion parameter and the fifth joint motion parameter should be the same (i.e.,...). The motion state of the fourth joint should be the same as that of the sixth joint (i.e., ...). ).
[0102] Step S133: Based on the motion state variables of the second joint and the dynamic model of the robotic arm, determine the inertial torque of the fifth joint. With the inertial torque of the sixth joint The third relation between them;
[0103] Specifically, the motion state of the fifth joint is substituted into the dynamic model of the robotic arm (i.e., the above expression (1)) to obtain the inertial torque of the fifth joint. The mathematical expression is:
[0104]
[0105] And by substituting the motion state of the sixth joint into the dynamic model of the robotic arm (i.e., the above expression (1)), the inertial torque of the sixth joint is obtained. The mathematical expression is:
[0106]
[0107] because The above expression (14) is transformed to obtain:
[0108]
[0109] Combining the above expressions (13) and (15), the third relation is obtained as follows:
[0110]
[0111] Step S134: Since the joint friction torque can be approximated as an odd function of the joint velocity, given... In the case of determining the frictional torque of the fifth joint Frictional torque with the sixth joint The fourth relation between them is:
[0112]
[0113] Step S135, combining the fifth joint torque τ load+ The torque τ of the sixth joint load- The third and fourth relations are obtained by fusing and analyzing the above expressions (11), (12), (16), and (17) to obtain the second joint inertial torque. for:
[0114]
[0115] It should be noted that the present invention does not limit the order of execution of the above steps S131 and S132. Step S131 can be executed first and then step S132, or step S132 can be executed first and then step S131.
[0116] In this embodiment of the invention, the specific implementation process of step S140 includes, but is not limited to, the following:
[0117] Step S141: The inertial torque of the first joint Substituting into the linearized robotic arm dynamics model (i.e., the above expression (2)), we obtain the actual joint inertial torque of the robotic arm in the unloaded state. The first expression is:
[0118]
[0119] Furthermore, the first expression only contains the inertial torque of the first joint. It is known;
[0120] Step S142: Solve for the regression matrix Y of the load using the second joint motion state variables and the known structural parameters of the robotic arm. load The second joint motion state quantity can be either the fifth joint motion state quantity or the sixth joint motion state quantity.
[0121] Step S143: The inertial torque of the second joint The inertial parameter p of the load load and regression matrix Y load Substituting into the linearized robotic arm dynamics model (i.e., the above expression (2)), we obtain the actual joint inertial torque of the robotic arm under load. The second expression is:
[0122]
[0123] Furthermore, the second expression only contains the inertial torque of the second joint. The inertial parameter p load and the regression matrix Y load It is known;
[0124] Step S144: Combining the first expression and the second expression, that is, subtracting the above expression (19) and expression (20), we obtain the actual torque exerted by the load on the robotic arm. The third expression is:
[0125]
[0126] Furthermore, in the third expression, only the correction coefficient K for the motor torque constant is unknown;
[0127] Step S145: Solve the third expression (i.e. the above expression (21)) using an existing linear regression algorithm to obtain the correction coefficient K, wherein the linear regression algorithm may be, but is not limited to, the least squares method.
[0128] In this embodiment of the invention, the specific implementation process of step S150 includes, but is not limited to, the following:
[0129] Step S151: Solve for the regression matrix Y of the robotic arm using the motion state variables of the first joint and the known structural parameters of the robotic arm. m ;
[0130] It should be noted that when the fifth joint motion state quantity is used to solve the problem in step S142, the first joint motion state quantity used here should be the third joint motion state quantity; and when the sixth joint motion state quantity is used to solve the problem in step S142, the first joint motion state quantity used here should be the fourth joint motion state quantity.
[0131] Step S152: Calculate the regression matrix Y of the robotic arm. m Substituting the correction coefficient K into the first expression (i.e., the above expression (19)), the updated first expression is obtained as follows:
[0132]
[0133] Furthermore, the updated first expression contains only the inertial parameter p of the robotic arm. m It is unknown;
[0134] Step S153: Solve the updated first expression (i.e., the above expression (22)) using an existing linear regression algorithm to obtain the inertia parameter p. m The linear regression algorithm mentioned therein can be, but is not limited to, the least squares method.
[0135] It should be noted that the inertia parameter p of the load... load It mainly consists of the inertial tensor, the first moment of mass, and the mass in the link coordinate system of the end effector of the robotic arm. The inertial parameter p of the robotic arm is... m It is mainly composed of the inertial tensor, first moment of mass, and mass of each link of the robotic arm in the link coordinate system.
[0136] In this embodiment of the invention, the correction coefficient for the motor torque constant is calibrated by using relevant motion data of the robotic arm in no-load state and relevant motion data in load state. Then, the correction coefficient is used to correct the joint inertial torque separated from the collected joint torque, thereby ensuring that the final joint inertial torque used in the parameter identification process is closer to the actual value, thus effectively improving the accuracy of the identified robotic arm inertial parameters.
[0137] Please refer to Figure 3 , Figure 3 This is a schematic diagram of the composition of a robotic arm inertial parameter identification system provided in an embodiment of the present invention. The system includes the following components:
[0138] The first module 210 is used to establish the dynamic model of the robotic arm and convert it into a linear form, and then set the excitation trajectory;
[0139] The second module 220 is used to control the robotic arm to move along the excitation trajectory when the robotic arm is in an unloaded state, and to collect the motion state quantity and torque of the first joint of the robotic arm during this movement process, and then separate the first joint inertial torque from the first joint torque.
[0140] The third module 230 is used to control the robotic arm to move along the excitation trajectory when the robotic arm is under load, and to collect the second joint motion state and second joint torque of the robotic arm during this movement process, and then separate the second joint inertial torque from the second joint torque;
[0141] The fourth module 240 is used to determine the correction coefficient of the motor torque constant by combining the inertial torque of the first joint, the inertial torque of the second joint, and the motion state quantity of the second joint.
[0142] The fifth module 250 is used to determine the inertial parameters of the robotic arm based on the correction coefficient, the motion state quantity of the first joint, and the inertial torque of the first joint.
[0143] The content of the above method embodiments is applicable to this system embodiment. The functions implemented in this system embodiment are the same as those in the above method embodiments, and the beneficial effects achieved are the same as those in the above method embodiments. Therefore, they will not be repeated here.
[0144] Furthermore, embodiments of the present invention also provide a computer-readable storage medium storing a computer program. When executed by a processor, the computer program implements a method for identifying the inertial parameters of a robotic arm as described in the above embodiments. The computer-readable storage medium includes, but is not limited to, any type of disk (including floppy disks, hard disks, optical disks, CD-ROMs, and magneto-optical disks), ROM (Read-Only Memory), RAM (Random Access Memory), EPROM (Erasable Programmable Read-Only Memory), EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, magnetic cards, or optical cards. In other words, the storage device includes any medium on which a device (e.g., a computer, mobile phone, etc.) stores or transmits information in a readable form, and can be a read-only memory, a disk, or an optical disk, etc.
[0145] also, Figure 4This is a schematic diagram of the hardware structure of a computer device provided in an embodiment of the present invention. The computer device includes components such as a processor 320, a memory 330, an input unit 340, and a display unit 350. Those skilled in the art will understand that... Figure 4 The illustrated device structure is not intended to limit all devices and may include more or fewer components than shown, or combine certain components. The memory 330 can be used to store the computer program 310 and various functional modules. The processor 320 runs the computer program 310 stored in the memory 330, thereby performing various functional applications and data processing of the device. The memory can be internal memory or external memory, or include both internal and external memory. Internal memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, or random access memory. External memory may include hard disks, floppy disks, USB flash drives, magnetic tapes, etc. The memory 330 disclosed in the embodiments of this invention includes, but is not limited to, these types of memory. The memory 330 disclosed in the embodiments of this invention is only an example and not a limitation.
[0146] Input unit 340 is used to receive signal input and user-input keywords. Input unit 340 may include a touch panel and other input devices. The touch panel can collect user touch operations on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel) and drive the corresponding connection device according to a pre-set program; other input devices may include, but are not limited to, one or more of physical keyboards, function keys (such as play control buttons, power buttons, etc.), trackballs, mice, joysticks, etc. Display unit 350 can be used to display user-input information or information provided to the user, as well as various menus of the terminal device. Display unit 350 may be in the form of a liquid crystal display, organic light-emitting diode, etc. Processor 320 is the control center of the terminal device, connecting various parts of the entire device through various interfaces and lines, performing various functions and processing data by running or executing software programs and / or modules stored in memory 330, and calling data stored in memory 330.
[0147] As one embodiment, the computer device includes a processor 320, a memory 330, and a computer program 310, wherein the computer program 310 is stored in the memory 330 and configured to be executed by the processor 320, and the computer program 310 is configured to perform a method for identifying the inertial parameters of a robotic arm in the above embodiment.
[0148] The terms “comprising” and “having”, and any variations thereof, in the specification and accompanying drawings of this application are intended to cover non-exclusive inclusion, such that a process, method, system, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units that are expressly listed, but may include other steps or units that are not expressly listed or that are inherent to such process, method, product, or apparatus.
[0149] In this application, it should be understood that "at least one (item)" means one or more, and "more than" means two or more. "And / or" is used to describe the relationship between related objects, indicating that three relationships can exist. For example, "A and / or B" can represent three cases: only A exists, only B exists, and both A and B exist simultaneously, where A and B can be singular or plural. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one (item) of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one (item) of a, b, or c can represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", where a, b, and c can be single or multiple.
[0150] Although the description of this application has been quite detailed and particularly focused on several of the described embodiments, it is not intended to limit itself to any of these details or embodiments or any particular embodiment. Rather, it should be considered as effectively covering the intended scope of this application by referring to the appended claims and taking into account the prior art, which provides for a broad possible interpretation of these claims. Furthermore, the foregoing description of this application with respect to embodiments foreseeable by the inventors is intended to provide a useful description, and non-substantial modifications to this application that have not yet been foreseen may still represent equivalent modifications.
Claims
1. A method for identifying the inertial parameters of a robotic arm, characterized in that, The method includes: Establish a dynamic model of the robotic arm and linearize it, then set the excitation trajectory; The robotic arm is controlled to move along the excitation trajectory in an unloaded state. At the same time, the first joint torque and the first joint motion state quantity of the robotic arm are collected, and the first joint inertial torque is separated from the first joint torque. The robotic arm is controlled to move along the excitation trajectory under load, while the second joint torque and the second joint motion state quantity of the robotic arm are collected, and the second joint inertial torque is separated from the second joint torque. Based on the motion state of the second joint, the inertial torque of the first joint, and the inertial torque of the second joint, determine the correction coefficient of the motor torque constant; The inertial parameters of the robotic arm are determined based on the inertial torque of the first joint, the motion state of the first joint, and the correction coefficient. The step of determining the correction coefficient for the motor torque constant based on the second joint motion state quantity, the first joint inertial torque, and the second joint inertial torque includes: Based on the linearized robotic arm dynamics model and the first joint inertial torque, a first expression for the actual joint inertial torque of the robotic arm in an unloaded state is determined; Based on the linearized robotic arm dynamics model, the second joint inertial torque, the second joint motion state quantity, and the load inertial parameters, a second expression for the actual joint inertial torque of the robotic arm under load is determined; Based on the first and second expressions, a third expression is determined regarding the actual torque exerted by the load on the robotic arm. This expression is then solved using a linear regression algorithm to obtain the correction coefficient for the motor torque constant.
2. The method for identifying the inertial parameters of a robotic arm according to claim 1, characterized in that, The mathematical expression for the robotic arm's dynamics model is: The expression for the linearized robotic arm dynamics model is: in, For the joint inertial torque, This refers to the joint position. For joint velocity, For joint acceleration, , and Collectively referred to as joint motion state quantities, The inertia matrix, The matrix represents the Coriolis force and the centrifugal force. For the gravity matrix, The regression matrix is determined by the structural parameters of the robotic arm and the motion state variables of the joints. These are inertial parameters.
3. The method for identifying the inertial parameters of a robotic arm according to claim 1, characterized in that, The controlled robotic arm moves along the excitation trajectory in an unloaded state, while simultaneously collecting the first joint torque and first joint motion state quantities of the robotic arm, including: The robotic arm is controlled to move forward along the excitation trajectory in an unloaded state, while the torque and motion state of the third joint of the robotic arm are collected. The robotic arm is controlled to move in the opposite direction along the excitation trajectory under no-load conditions, while the torque and motion state of the fourth joint of the robotic arm are collected.
4. The method for identifying the inertial parameters of a robotic arm according to claim 3, characterized in that, The step of separating the first joint inertial torque from the first joint torque includes: The third joint torque includes the third joint inertial torque and the third joint friction torque, and the fourth joint torque includes the fourth joint inertial torque and the fourth joint friction torque; Based on the robotic arm dynamics model and the motion state variables of the first joint, a first relationship is determined between the inertial torque of the third joint and the inertial torque of the fourth joint. Obtain the second relationship between the frictional torque of the third joint and the frictional torque of the fourth joint, and then combine the first relationship, the torque of the third joint and the torque of the fourth joint to determine the inertial torque of the first joint.
5. The method for identifying the inertial parameters of a robotic arm according to claim 1, characterized in that, The process of controlling the robotic arm to move along the excitation trajectory under load, while simultaneously acquiring the second joint torque and second joint motion state parameters of the robotic arm, includes: The robotic arm is controlled to move forward along the excitation trajectory under load, while the torque and motion state of the fifth joint of the robotic arm are collected. The robotic arm is controlled to move in the opposite direction along the excitation trajectory under load, while the torque and motion state of the sixth joint of the robotic arm are collected.
6. The method for identifying the inertial parameters of a robotic arm according to claim 5, characterized in that, The separation of the second joint inertial torque from the second joint torque includes: The fifth joint torque includes the fifth joint inertial torque and the fifth joint friction torque, and the sixth joint torque includes the sixth joint inertial torque and the sixth joint friction torque; Based on the robotic arm dynamics model and the motion state of the second joint, a third relationship is determined between the inertial torque of the fifth joint and the inertial torque of the sixth joint; Obtain the fourth relationship between the frictional torque of the fifth joint and the frictional torque of the sixth joint, and then combine the third relationship, the torque of the fifth joint and the torque of the sixth joint to determine the inertial torque of the second joint.
7. The method for identifying the inertial parameters of a robotic arm according to claim 1, characterized in that, The step of determining the inertial parameters of the robotic arm based on the first joint inertial torque, the first joint motion state quantity, and the correction coefficient includes: The first expression is updated using the first joint motion state quantity and the correction coefficient; The inertial parameters of the robotic arm are obtained by solving the updated first expression using a linear regression algorithm.
8. A system for identifying the inertial parameters of a robotic arm, characterized in that, The system includes: The first module is used to establish and linearize the dynamic model of the robotic arm, and then set the excitation trajectory; The second module is used to control the robotic arm to move along the excitation trajectory in an unloaded state, and at the same time collect the first joint torque and the first joint motion state quantity of the robotic arm, and then separate the first joint inertial torque from the first joint torque; The third module is used to control the robotic arm to move along the excitation trajectory under load, and at the same time to collect the second joint torque and the second joint motion state of the robotic arm, and then separate the second joint inertial torque from the second joint torque; The fourth module is used to determine the correction coefficient of the motor torque constant based on the motion state of the second joint, the inertial torque of the first joint, and the inertial torque of the second joint. The fifth module is used to determine the inertial parameters of the robotic arm based on the inertial torque of the first joint, the motion state quantity of the first joint, and the correction coefficient. The step of determining the correction coefficient for the motor torque constant based on the second joint motion state quantity, the first joint inertial torque, and the second joint inertial torque includes: Based on the linearized robotic arm dynamics model and the first joint inertial torque, a first expression for the actual joint inertial torque of the robotic arm in an unloaded state is determined; Based on the linearized robotic arm dynamics model, the second joint inertial torque, the second joint motion state quantity, and the load inertial parameters, a second expression for the actual joint inertial torque of the robotic arm under load is determined; Based on the first and second expressions, a third expression is determined regarding the actual torque exerted by the load on the robotic arm. This expression is then solved using a linear regression algorithm to obtain the correction coefficient for the motor torque constant.
9. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, The processor executes the computer program to implement the method for identifying the inertial parameters of the robotic arm as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Method and module for distinguishing load of six-axis robot
CN106346477A
Dynamic parameter identification method and device, equipment and storage medium
CN115494794A