Inertial parameter identification method and device and computer readable storage medium
By controlling the robot's joint axis motion through Fourier series excitation trajectory, collecting and averaging torque data to construct the output torque matrix, and directly identifying inertial parameters, this solves the problem of complex inertial parameter identification and susceptibility to friction model influence in existing technologies, and achieves high-precision inertial parameter identification.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ANHUI PEITIAN ROBOT GRP CO LTD
- Filing Date
- 2023-04-11
- Publication Date
- 2026-05-15
AI Technical Summary
Existing technologies are complex and easily affected by friction models in the process of identifying robot body inertial parameters, resulting in low identification accuracy.
Fourier series excitation trajectory control is used to control the joint axis motion of the robot. By collecting and averaging the torque data of the joint axis, the output torque matrix is constructed, the inertial parameters are directly identified, and the influence of the friction model is avoided.
The process of inertial parameter identification has been simplified, the identification accuracy has been improved, the influence of the friction model on the results has been avoided, and high-accuracy inertial parameter identification has been achieved.
Smart Images

Figure CN116394248B_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of robotics technology, and in particular relates to an inertial parameter identification method, device, and computer-readable storage medium. Background Technology
[0002] As industrial robot technology advances towards higher speeds, greater precision, and greater intelligence, the control accuracy requirements for industrial robots are also increasing. Compared to traditional control schemes based solely on error feedback, model-based control schemes, by incorporating the industrial robot's dynamic model, improve the robot's dynamic performance and trajectory tracking accuracy. Constructing a model-based control scheme relies heavily on an accurate dynamic model, and one prerequisite for establishing such a model is the precise identification of the robot's inertial parameters.
[0003] Currently, identifying robot inertial parameters requires the use of friction models. This process is complex, and the accuracy is easily affected by the friction model; when the friction model is inaccurate, the identification accuracy is low. Therefore, there is an urgent need for a simple and highly accurate method for identifying robot inertial parameters. Summary of the Invention
[0004] This application provides an inertial parameter identification method, apparatus, and computer-readable storage medium, which can simplify the inertial parameter identification process and ensure the accuracy of inertial parameter identification.
[0005] The first aspect of this application provides an inertial parameter identification method, the method comprising: controlling a robot to perform a first movement and a second movement sequentially, wherein, in the first movement and the second movement, all joint axes other than the first joint axis and the second joint axis are locked, and the first joint axis moves in opposite directions along a first target excitation trajectory in the first movement and the second movement, respectively, and the second joint axis moves in opposite directions along a second target excitation trajectory in the first movement and the second movement, respectively, the first joint axis is connected to the base of the robot, and the first target excitation trajectory and the second target excitation trajectory are both Fourier series excitation trajectories with equal movement durations; at multiple first sampling time points in the first movement, the first torque output by the second joint axis is collected, and at each of the first sampling time points in the second movement, the first torque is collected. At the second sampling time point corresponding to the sampling time point, the second torque output by the second joint axis is collected. The sum of the second sampling time point corresponding to the first sampling time point and the first sampling time point is equal to the motion duration of the second target excitation trajectory. For each first torque, the average value of the first torque and the corresponding second torque is calculated, wherein the corresponding second torque corresponds to the target second sampling time point, and the target second sampling time point corresponds to the first sampling time point corresponding to the first torque. Based on the average value corresponding to each first torque, an output torque matrix corresponding to the second joint axis is constructed. Based on the output torque matrix corresponding to the second joint axis, a first inertial parameter set of the first connecting assembly is obtained, wherein the first connecting assembly includes the second joint axis, the end joint axis, and all joint axes connecting the second joint axis and the end joint axis.
[0006] A second aspect of this application provides an inertial parameter identification device, comprising: a control module for controlling a robot to perform a first movement and a second movement sequentially, wherein, in the first movement and the second movement, all joint axes other than the first and second joint axes are locked, and the first joint axis moves along a first target excitation trajectory in opposite directions in the first movement and the second movement, respectively, and the second joint axis moves along a second target excitation trajectory in opposite directions in the first movement and the second movement, respectively, the first joint axis is connected to the base of the robot, and both the first target excitation trajectory and the second target excitation trajectory are Fourier series excitation trajectories with equal movement durations; and a acquisition module connected to the control module for acquiring, at multiple first sampling time points in the first movement, a first torque output by the second joint axis, and a first torque corresponding to each of the first sampling time points in the second movement. At the second sampling time point, the second torque output by the second joint axis is collected. The sum of the second sampling time point corresponding to the first sampling time point and the first sampling time point is equal to the motion duration of the second target excitation trajectory. The calculation module, connected to the acquisition module, is used to calculate the average value of the first torque and the corresponding second torque for each first torque, wherein the corresponding second torque corresponds to the target second sampling time point, and the target second sampling time point corresponds to the first sampling time point corresponding to the first torque. The construction module, connected to the calculation module, is used to construct the output torque matrix corresponding to the second joint axis based on the average value corresponding to each first torque. The identification module, connected to the construction module, is used to obtain the first inertial parameter set of the first connection assembly based on the output torque matrix corresponding to the second joint axis, wherein the first connection assembly includes the second joint axis, the end joint axis, and all joint axes connecting the second joint axis and the end joint axis.
[0007] A third aspect of this application provides an inertial parameter identification device, which includes a processor, a memory, and a communication circuit. The processor is coupled to the memory and the communication circuit, respectively. The memory stores program data, and the processor executes the program data in the memory to implement the steps in the above method.
[0008] A fourth aspect of this application provides a computer-readable storage medium storing a computer program that can be executed by a processor to implement the steps in the above-described method.
[0009] The beneficial effects are: the inertial parameter identification method of this application can obtain the inertial parameter set of the first connected assembly without identifying frictional force, the identification process is simple, and the influence of the friction model on the identification results can be avoided. Attached Figure Description
[0010] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort, wherein:
[0011] Figure 1 This is a flowchart illustrating one embodiment of the inertial parameter identification method of this application;
[0012] Figure 2 yes Figure 1 Another part of the implementation method is illustrated in the flowchart;
[0013] Figure 3 yes Figure 1 Another part of the implementation method is illustrated in the flowchart;
[0014] Figure 4 This is a schematic diagram of one embodiment of the inertial parameter identification device of this application;
[0015] Figure 5 This is a schematic diagram of another embodiment of the inertial parameter identification device of this application;
[0016] Figure 6 This is a schematic diagram of one embodiment of the computer-readable storage medium of this application. Detailed Implementation
[0017] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0018] It should be noted that the terms "first" and "second" in this application are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Therefore, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.
[0019] See Figure 1 , Figure 1 This is a flowchart illustrating one embodiment of the inertial parameter identification method of this application. The method includes:
[0020] S110: Control the robot to perform a first movement and a second movement in sequence. During the first and second movements, all joint axes other than the first and second joint axes are locked. The first joint axis moves along the first target excitation trajectory in opposite directions during the first and second movements, and the second joint axis moves along the second target excitation trajectory in opposite directions during the first and second movements. The first joint axis is connected to the robot's base. Both the first and second target excitation trajectories are Fourier series excitation trajectories, and their movement durations are equal.
[0021] Specifically, the robot of this application includes at least two joint axes. For example, the robot is a six-axis robot, including six joint axes. For ease of explanation, the following description will use the six-axis robot as an example. The six-axis robot includes a base and a first joint axis, a second joint axis, a third joint axis, a fourth joint axis, a fifth joint axis, and a sixth joint axis connected in sequence. The first joint axis is connected to the base. For ease of explanation, the first joint axis, the second joint axis, the third joint axis, the fourth joint axis, the fifth joint axis, and the sixth joint axis are defined as axis 1, axis 2, axis 3, axis 4, axis 5, and axis 6, respectively, or as axis 1, axis 2, axis 3, axis 4, axis 5, and axis 6, respectively. That is to say, the first joint axis, axis 1, and axis 6 are all the same joint axis.
[0022] The first joint axis is axis 1, and the second joint axis can be axis 2, axis 3, axis 4, axis 5 or axis 6.
[0023] In the first and second movements, the robot's base remains stationary, and all joint axes except the first and second joint axes are locked, meaning they do not move. For example, when the second joint axis is axis 5, axes 1 and 5 move during the two movements, while axes 2, 3, 4, and 6 remain stationary.
[0024] Since the first and second joint axes move while the other joint axes are locked, the second joint axis, the distal joint axis, and all joint axes connecting the second and distal joint axes can be considered as a single connected assembly, denoted as the first connected assembly. The first joint axis and all joint axes connecting the first and second joint axes can be considered as another connected assembly, denoted as the third connected assembly. For example, when the second joint axis is axis 5, axis 5 and axis 6 constitute the first connected assembly, and axes 1, 2, 3, and 4 constitute the third connected assembly. In this case, the axis position, velocity, and acceleration of the second joint axis can represent the axis position, velocity, and acceleration of the first connected assembly, and the axis position, velocity, and acceleration of the first joint axis can represent the axis position, velocity, and acceleration of the third connected assembly.
[0025] Specifically, the first joint axis moves along the first target excitation trajectory in both the first and second movements of the robot, but the direction of movement of the first joint axis is opposite in the two movements.
[0026] Similarly, for the second joint axis, it moves along the second target excitation trajectory in both the first and second movements of the robot, but the direction of movement of the second joint axis is opposite in the two movements.
[0027] For ease of understanding, the second joint axis will be used as the 5th axis in the explanation:
[0028] In the first movement, axis 1 moves from axis position A to axis position B, and then to axis position C; axis 5 moves from axis position D to axis position E, and then to axis position F. In the second movement, axis 1 moves from axis position C to axis position B, and then to axis position A; axis 5 moves from axis position F to axis position E, and then to axis position D.
[0029] Meanwhile, both the first and second target excitation trajectories are Fourier series excitation trajectories, and their motion durations are equal. In other words, the total motion duration of the first target excitation trajectory is equal to the total motion duration of the second target excitation trajectory.
[0030] The expression for the Fourier series excitation trajectory is as follows:
[0031] Where i is the joint axis number of the robot, when the first joint axis is axis 1, the expression for i = 1 is the first target excitation trajectory, when i is axis 5, the expression for i = 5 is the second target excitation trajectory. It can be understood that i = 1, 2, ..., n, where n is the number of joint axes of the robot. For example, when the robot is a six-axis robot, n = 6. Meanwhile, ω is the fundamental frequency of the Fourier series excitation trajectory, a... ik ,b ik The coefficients of each harmonic are constants, and k is the order of the Fourier series excitation trajectory. m is the maximum value of k. In one application scenario, m can be 4.
[0032] In the first motion, the position of joint axis i (here, joint axis i can be either the first or second joint axis) at sampling time t is denoted as q1(t), and in the second motion, the position of joint axis i at sampling time t is denoted as q2(t). Due to the characteristics of the Fourier series excitation trajectory, the following formula is given:
[0033] q1(t) = q2(Tt);
[0034]
[0035]
[0036] Where T is the motion duration of the first target excitation trajectory / the second target excitation trajectory. The velocity of joint axis i at sampling time t during the first movement. Let q1 be the acceleration of joint axis i at sampling time t during the first motion, and q2(Tt) be the axis position of joint axis i at sampling time (Tt) during the second motion. For the second motion, the velocity of joint axis i at the sampling time point (Tt) is... Let be the acceleration of joint axis i at the sampling time point (Tt) during the second motion.
[0037] As can be seen from the above expression, for the second joint axis, the axis position at the first sampling time point in the first motion is equal to the axis position at the corresponding second sampling time point in the second motion. The velocity at the first sampling time point in the first motion is equal in magnitude to the velocity at the corresponding second sampling time point in the second motion, but in opposite directions. The acceleration at the first sampling time point in the first motion is equal to the acceleration at the corresponding second sampling time point in the second motion. The sum of the second sampling time point corresponding to the first sampling time point and the first sampling point is the motion duration of the second target excitation trajectory.
[0038] Meanwhile, in the robot dynamics equations, the torque output by joint axis i (which can be any joint axis) can be expressed. i τ is represented as:
[0039] i τ= i τ r + i f;
[0040] in, i τ r This represents the torque caused by the robot's inertial parameters, which is related to the axis position, velocity, and acceleration of joint axis i. i f represents the frictional force acting on joint axis i. Under the Coulomb viscosity model, the frictional force acting on joint axis i is only related to the velocity of the joint axis. When the velocities of joint axis i are equal in magnitude and opposite in direction, the frictional forces acting on joint axis i are equal in magnitude and opposite in direction. That is to say:
[0041] in, This represents two velocities that are equal in magnitude but opposite in direction.
[0042] Furthermore, according to the robot's dynamics equations, when the first and second joint axes move while the other joint axes are locked, the following conclusions can be drawn:
[0043] For axis i (which can be either the first joint axis or the second joint axis), if its position at the first moment is the same as its position at the second moment, its velocity at the first moment is equal in magnitude but opposite in direction to its velocity at the second moment, and its acceleration at the first moment is the same as its acceleration at the second moment, then axis i at the first moment... i τ r and in the second moment i τ r same.
[0044] S120: At multiple first sampling time points during the first motion, the first torque output by the second joint axis is collected, and at the second sampling time point corresponding to each first sampling time point during the second motion, the second torque output by the second joint axis is collected. The sum of the second sampling time point corresponding to the first sampling time point and the first sampling time point is equal to the motion duration of the second target excitation trajectory.
[0045] Specifically, in the first motion, if the first sampling time point is t, then in the second motion, the second sampling time point corresponding to the first sampling time point t is Tt, where T is the motion duration of the second target excitation trajectory. That is, if the first sampling time point is denoted as t1 and the second sampling time point corresponding to the first sampling time point is denoted as t2, then t1 + t2 = T, where T is the motion duration of the second target excitation trajectory.
[0046] S130: For each first torque, calculate the average value of the first torque and the corresponding second torque, where the corresponding second torque corresponds to the target second sampling time point, and the target second sampling time point corresponds to the first sampling time point corresponding to the first torque.
[0047] Specifically, as can be seen from the above, for the second joint axis, if its frictional force at the first sampling time point is denoted as... i f1, the torque caused by the robot's inertial parameters is denoted as f1. i τ r1 The torque output by the second joint axis (that is, the first torque) is denoted as... i τ1, the frictional force at the second sampling time point corresponding to the first sampling time point is denoted as τ1. i f2, the torque caused by the robot's inertial parameters is denoted as f2. i τ r2 The torque output by the second joint axis (i.e., the second torque) is denoted as... i τ2, then we have the following expression:
[0048] i τ1= i τ r1 + i f1;
[0049] i τ2= i τ r2 + i f2
[0050] i τ r1 = i τ r2 ;
[0051] i f1=- i f2;
[0052] and then i τ1+ i τ2= i τ r1 + i τ r2 , i τr1 = i τ r2 =( i τ1+ i τ2) / 2.
[0053] Therefore, the average value of the first torque and the corresponding second torque can be understood as: the torque of the second joint axis caused by the inertial parameters of the first connecting assembly at the first sampling time point, or it can also be understood as: the torque of the second joint axis caused by the inertial parameters of the first connecting assembly at the second sampling time point corresponding to the first sampling time point.
[0054] S140: Construct the output torque matrix corresponding to the second joint axis based on the average value of each first torque.
[0055] Specifically, by using the average value corresponding to each first torque, a column vector is constructed to obtain the output torque matrix corresponding to the second joint axis. For example, if 10 average values are obtained in the end, the final output torque matrix corresponding to the second joint axis will be a 10×1 column vector.
[0056] Since the first connecting assembly, including the second joint axis, is considered as a whole, the output torque matrix corresponding to the second joint axis is essentially the output torque matrix corresponding to the first connecting assembly.
[0057] S150: Based on the output torque matrix corresponding to the second joint axis, obtain the first set of inertial parameters of the first connecting assembly, wherein the first connecting assembly includes the second joint axis, the end joint axis, and all joint axes connecting the second joint axis and the end joint axis.
[0058] Specifically, after obtaining the output torque matrix corresponding to the second joint axis, the inertial parameter set of the first connected assembly can be obtained based on the robot's dynamic characteristics, denoted as the first inertial parameter set.
[0059] The first set of inertial parameters can be determined according to the following formula:
[0060]
[0061] in, Let A be the output torque matrix corresponding to the second joint axis, and let A be the observation matrix corresponding to the second joint axis. This is the first set of inertial parameters for the first connected assembly.
[0062] The process of constructing the observation matrix A corresponding to the second joint axis includes:
[0063] S151: Collect the axis position, velocity, and acceleration of the second joint axis at each first sampling time point.
[0064] Specifically, for the second joint axis, at each first sampling time point during the first movement, in addition to acquiring the first torque output by the second joint axis, the axis position, velocity, and acceleration of the second joint axis are also acquired. Since the velocity and acceleration can be determined based on the axis position, the axis position can be acquired first, and then the velocity and acceleration can be calculated based on the axis position.
[0065] S152: For each first sampling time point, construct the sub-observation matrix corresponding to the first sampling time point based on the axis position, velocity, and acceleration corresponding to the first sampling time point.
[0066] Specifically, taking one of the first sampling time points as an example, after obtaining the axis position, velocity and acceleration of the second joint axis, a sub-observation matrix corresponding to the first sampling time point can be constructed.
[0067] The process of constructing the corresponding sub-observation matrix based on axis position, velocity, and acceleration is existing technology and will not be described in detail here.
[0068] S153: Construct the observation matrix corresponding to the second joint axis using the sub-observation matrix corresponding to each first sampling time point.
[0069] Specifically, the sub-observation matrices corresponding to all the first sampling time points are concatenated together to obtain the observation matrix corresponding to the second joint axis. For example, if the size of the sub-observation matrix corresponding to each first sampling time point is 2×10, and the number of first sampling time points is 10, then the constructed observation matrix is 20×10.
[0070] Alternatively, the observation matrix corresponding to the second joint axis can be constructed in other ways.
[0071] As can be seen from the above, the solution of this application can determine the first set of inertial parameters of the first connecting assembly without identifying friction, thereby achieving the purpose of identifying the inertial parameters of the first connecting assembly. The entire identification process is simple, does not require the use of a friction model, and can avoid the influence of the use of a friction model on the identification results.
[0072] See Figure 2 The method of this embodiment further includes:
[0073] S210: Control the robot to perform the third and fourth movements in sequence. In the third and fourth movements, all joint axes other than the first and third joint axes are locked. The first joint axis moves along the third target excitation trajectory in opposite directions in the third and fourth movements, and the third joint axis moves along the fourth target excitation trajectory in opposite directions in the third and fourth movements. The third and fourth target excitation trajectories are both Fourier series excitation trajectories with equal movement duration. The third joint axis is adjacent to the second joint axis and is connected to the second joint axis and the end joint axis.
[0074] S220: Collect the third torque output by the third joint axis at multiple third sampling time points in the third motion, and collect the fourth torque output by the third joint axis at the fourth sampling time point corresponding to each third sampling time point in the fourth motion. The sum of the fourth sampling time point corresponding to the third sampling time point and the third sampling time point is equal to the motion duration of the fourth target excitation trajectory.
[0075] S230: For each third torque, calculate the average of the third torque and the corresponding fourth torque, where the corresponding fourth torque corresponds to the target fourth sampling time point, and the target fourth sampling time point corresponds to the third sampling time point corresponding to the third torque.
[0076] S240: Construct the output torque matrix corresponding to the third joint axis based on the average value of each third torque.
[0077] S250: Based on the output torque matrix corresponding to the third joint axis, the second set of inertial parameters of the second connecting assembly is obtained, wherein the second connecting assembly includes the third joint axis, the end joint axis, and all joint axes connecting the third joint axis and the end joint axis.
[0078] S260: Based on the first set of inertial parameters and the second set of inertial parameters, obtain the set of inertial parameters for the second joint axis.
[0079] Specifically, if the second joint axis is axis 3, then the third joint axis is axis 4; if the second joint axis is axis 5, then the third joint axis is axis 6.
[0080] It is understandable that the aforementioned first connecting assembly also includes the third joint axis.
[0081] The third joint axis, the distal joint axis, and the connecting assembly consisting of all joint axes connecting the third joint axis and the distal joint axis are defined as the second connecting assembly.
[0082] Similar to the process of obtaining the first set of inertial parameters for the first connecting assembly, the second set of inertial parameters for the second connecting assembly can be obtained through steps S210-S250. Steps S110-S150 are similar to steps S210-S250, and details can be found in the aforementioned related content, which will not be repeated here.
[0083] Since the first connecting assembly includes the second joint axis, the end joint axis, and all joint axes connecting the second joint axis and the end joint axis, and the second connecting assembly includes the third joint axis, the end joint axis, and all joint axes connecting the third joint axis and the end joint axis, the inertial parameter set of the second joint axis can be obtained by performing a set-level subtraction operation between the first inertial parameter set and the second inertial parameter set.
[0084] To facilitate understanding, examples are provided below:
[0085] When the second joint axis is axis 4, the inertial parameter set of the connected assembly consisting of axes 4, 5, and 6 can be obtained. When the second joint axis is axis 5, the inertial parameter set of the connected assembly consisting of axes 5 and 6 can be obtained. By performing a set-level subtraction operation on these two inertial parameter sets, the inertial parameter set of axis 4 can be obtained.
[0086] See Figure 3 The method of this embodiment further includes:
[0087] S310: Collect the fifth torque output by the first joint axis at multiple fifth sampling time points during the first motion, and collect the sixth torque output by the first joint axis at the sixth sampling time point corresponding to each fifth sampling time point during the second motion. The sum of the corresponding sixth sampling time point and the fifth sampling time point is equal to the motion duration of the first target excitation trajectory.
[0088] S320: For each fifth torque, calculate the average value of the fifth torque and the corresponding sixth torque, where the corresponding sixth torque corresponds to the target sixth sampling time point, and the target sixth sampling time point corresponds to the fifth sampling time point corresponding to the fifth torque.
[0089] S330: Construct the output torque matrix corresponding to the first joint axis based on the average value of each fifth torque.
[0090] S340: Based on the output torque matrix corresponding to the first joint axis, obtain the third set of inertial parameters of the third connection assembly, wherein the third connection assembly includes the first joint axis and all joint axes connecting the first joint axis and the second joint axis.
[0091] Specifically, similar to the method for obtaining the first set of inertial parameters of the first connecting assembly, the first joint axis and all joint axes connecting the first joint axis and the second joint axis can be treated as a whole, i.e., the third connecting assembly, to obtain the set of inertial parameters of the third connecting assembly, i.e., the third set of inertial parameters.
[0092] Therefore, through the above scheme, when the second joint axis is 4-axis, the inertial parameter set of the connected assembly composed of axes 1, 2, and 3 can be obtained, denoted as inertial parameter set 1, and the inertial parameter set of the connected assembly composed of axes 4, 5, and 6 can be obtained, denoted as inertial parameter set 2. When the second joint axis is 5-axis, the inertial parameter set of the connected assembly composed of axes 1, 2, 3, and 4 can be obtained, denoted as inertial parameter set 3, and the inertial parameter set of the connected assembly composed of axes 5 and 6 can be obtained, denoted as inertial parameter set 4. Thus, inertial parameter set 1 and inertial parameter set 3 can be combined... Performing set-level subtraction operations yields the inertial parameter set for axis 4, denoted as inertial parameter set A. Performing set-level subtraction operations between inertial parameter set 2 and inertial parameter set 4 also yields the inertial parameter set for axis 4, denoted as inertial parameter set B. At this point, either inertial parameter set A or inertial parameter set B can be directly used as the final inertial parameter set for axis 4. Alternatively, the final inertial parameter set for axis 4 can be obtained by combining inertial parameter set A and inertial parameter set B. For example, the values of the same parameter in the two inertial parameter sets can be added together and the average value can be taken as the final value of that parameter.
[0093] To improve the processing efficiency of the algorithm, the number of multiple fifth sampling time points is the same as the number of multiple first sampling time points. For example, the number of both fifth sampling time points and first sampling time points is 10.
[0094] Meanwhile, in one application scenario, multiple fifth sampling time points correspond one-to-one with multiple first sampling time points, so that when collecting the first torque output by the second joint axis, the fifth torque output by the first joint axis is also collected, and when collecting the second torque output by the second joint axis, the sixth torque output by the second joint axis is also collected.
[0095] See Figure 4 , Figure 4 This is a schematic diagram of one embodiment of the inertial parameter identification device of this application. The inertial parameter identification device 200 includes a processor 210, a memory 220, and a communication circuit 230. The processor 210 is coupled to the memory 220 and the communication circuit 230 respectively. The memory 220 stores program data. The processor 210 executes the program data in the memory 220 to implement the steps in any of the above embodiments. The detailed steps can be found in the above embodiments and will not be repeated here.
[0096] The inertial parameter identification device 200 can be any device with algorithm processing capabilities, such as a robot control cabinet or a computer.
[0097] See Figure 5 , Figure 5 This is a schematic diagram of another embodiment of the inertial parameter identification device of this application. The inertial parameter identification device 300 includes a control module 310, an acquisition module 320, a calculation module 330, a construction module 340, an identification module 350, and an identification module 350 connected to each other.
[0098] The control module 310 is used to control the robot to perform a first movement and a second movement in sequence. In the first movement and the second movement, all joint axes other than the first joint axis and the second joint axis are locked. The first joint axis moves along the first target excitation trajectory in opposite directions in the first movement and the second movement, and the second joint axis moves along the second target excitation trajectory in opposite directions in the first movement and the second movement, respectively. The first joint axis is connected to the robot's base. The first target excitation trajectory and the second target excitation trajectory are both Fourier series excitation trajectories, and the movement duration is equal.
[0099] The acquisition module 320 is connected to the control module 310 and is used to acquire the first torque output by the second joint axis at multiple first sampling time points in the first motion, and to acquire the second torque output by the second joint axis at the second sampling time point corresponding to each first sampling time point in the second motion. The sum of the second sampling time point corresponding to the first sampling time point and the first sampling time point is equal to the motion duration of the second target excitation trajectory.
[0100] The calculation module 330 is connected to the acquisition module 320 and is used to calculate the average value of the first torque and the corresponding second torque for each first torque. The corresponding second torque corresponds to the target second sampling time point, and the target second sampling time point corresponds to the first sampling time point corresponding to the first torque.
[0101] The construction module 340 is connected to the calculation module 330 and is used to construct the output torque matrix corresponding to the second joint axis based on the average value corresponding to each first torque.
[0102] The identification module 350 is connected to the construction module 340 and is used to obtain the first set of inertial parameters of the first connection assembly based on the output torque matrix corresponding to the second joint axis. The first connection assembly includes the second joint axis, the end joint axis, and all joint axes connecting the second joint axis and the end joint axis.
[0103] The inertial parameter identification device 300 can be any device with algorithm processing capabilities, such as a robot control cabinet or a computer.
[0104] When the inertial parameter identification device 300 is in operation, it executes the method steps in any of the above embodiments. For detailed method steps, please refer to the relevant content above, which will not be repeated here.
[0105] See Figure 6 , Figure 6 This is a schematic diagram of one embodiment of the computer-readable storage medium of this application. The computer-readable storage medium 400 stores a computer program 410, which can be executed by a processor to implement the steps in any of the above methods.
[0106] Specifically, the computer-readable storage medium 400 can be a USB flash drive, a portable hard drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, or a device that can store the computer program 410. Alternatively, it can be a server that stores the computer program 410, which can send the stored computer program 410 to other devices for execution, or it can run the stored computer program 410 itself.
[0107] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.
Claims
1. A method for identifying inertial parameters, characterized in that, The method includes: The robot is controlled to perform a first movement and a second movement in sequence. During the first movement and the second movement, all joint axes other than the first and second joint axes are locked. The first joint axis moves along a first target excitation trajectory in opposite directions during the first movement and the second movement, and the second joint axis moves along a second target excitation trajectory in opposite directions during the first movement and the second movement, respectively. The first joint axis is connected to the robot's base. Both the first target excitation trajectory and the second target excitation trajectory are Fourier series excitation trajectories, and their movement durations are equal. At multiple first sampling time points during the first motion, the first torque output by the second joint axis is collected, and at each second sampling time point corresponding to the first sampling time point during the second motion, the second torque output by the second joint axis is collected. The sum of the second sampling time point corresponding to the first sampling time point and the first sampling time point is equal to the motion duration of the second target excitation trajectory. For each first torque, the average value of the first torque and the corresponding second torque is calculated, wherein the corresponding second torque corresponds to the target second sampling time point, and the target second sampling time point corresponds to the first sampling time point corresponding to the first torque; Based on the average value corresponding to each of the first torques, construct the output torque matrix corresponding to the second joint axis; Based on the output torque matrix corresponding to the second joint axis, a first set of inertial parameters for the first connecting assembly is obtained, wherein the first connecting assembly includes the second joint axis, the end joint axis, and all joint axes connecting the second joint axis and the end joint axis.
2. The method according to claim 1, characterized in that, After obtaining the first set of inertial parameters of the first connected assembly based on the output torque matrix corresponding to the second joint axis, the method further includes: The robot is controlled to perform a third and a fourth movement in sequence. In the third and fourth movements, all joint axes other than the first and third joint axes are locked. The first joint axis moves along the third target excitation trajectory in opposite directions in the third and fourth movements, and the third joint axis moves along the fourth target excitation trajectory in opposite directions in the third and fourth movements. The third and fourth target excitation trajectories are both Fourier series excitation trajectories with equal movement durations. The third joint axis is adjacent to the second joint axis and connects the second joint axis and the end joint axis. At multiple third sampling time points during the third motion, the third torque output by the third joint axis is collected, and at the fourth sampling time point corresponding to each of the third sampling time points during the fourth motion, the fourth torque output by the third joint axis is collected. The sum of the fourth sampling time point corresponding to the third sampling time point and the third sampling time point is equal to the motion duration of the fourth target excitation trajectory. For each of the third torques, the average value of the third torque and the corresponding fourth torque is calculated, wherein the corresponding fourth torque corresponds to the target fourth sampling time point, and the target fourth sampling time point corresponds to the third sampling time point corresponding to the third torque; Based on the average value corresponding to each of the third torques, construct the output torque matrix corresponding to the third joint axis; Based on the output torque matrix corresponding to the third joint axis, a second set of inertial parameters for the second connection assembly is obtained, wherein the second connection assembly includes the third joint axis, the end joint axis, and all joint axes connecting the third joint axis and the end joint axis; The inertial parameter set of the second joint axis is obtained based on the first inertial parameter set and the second inertial parameter set.
3. The method according to claim 1, characterized in that, The step of obtaining the first set of inertial parameters of the first connected assembly based on the output torque matrix corresponding to the second joint axis includes: Collect the axis position, velocity, and acceleration of the second joint axis at each of the first sampling time points; For each of the first sampling time points, a sub-observation matrix corresponding to the first sampling time point is constructed based on the axis position, velocity, and acceleration corresponding to the first sampling time point; Using the sub-observation matrix corresponding to each of the first sampling time points, construct the observation matrix corresponding to the second joint axis; The first set of inertial parameters of the first connected assembly is obtained based on the output torque matrix corresponding to the second joint axis and the observation matrix corresponding to the second joint axis.
4. The method according to claim 1, characterized in that, The method further includes: At multiple fifth sampling time points during the first motion, the fifth torque output by the first joint axis is collected, and at the sixth sampling time point corresponding to each fifth sampling time point during the second motion, the sixth torque output by the first joint axis is collected. The sum of the sixth sampling time point and the fifth sampling time point is equal to the motion duration of the first target excitation trajectory. For each of the fifth torques, the average value of the fifth torque and the corresponding sixth torque is calculated, wherein the corresponding sixth torque corresponds to the target sixth sampling time point, and the target sixth sampling time point corresponds to the fifth sampling time point corresponding to the fifth torque; Based on the average value of each fifth torque, construct the output torque matrix corresponding to the first joint axis; Based on the output torque matrix corresponding to the first joint axis, a third set of inertial parameters for the third connection assembly is obtained, wherein the third connection assembly includes the first joint axis and all joint axes connecting the first joint axis and the second joint axis.
5. The method according to claim 4, characterized in that, The number of the fifth sampling time points is the same as the number of the first sampling time points.
6. The method according to claim 5, characterized in that, The multiple fifth sampling time points correspond one-to-one with the multiple first sampling time points.
7. The method according to claim 1, characterized in that, The fundamental frequency and order of the first target excitation trajectory are equal to those of the second target excitation trajectory.
8. An inertial parameter identification device, characterized in that, The inertial parameter identification device includes: The control module is used to control the robot to perform a first movement and a second movement in sequence. In the first movement and the second movement, all joint axes other than the first joint axis and the second joint axis are locked. The first joint axis moves along a first target excitation trajectory in opposite directions in the first movement and the second movement, and the second joint axis moves along a second target excitation trajectory in opposite directions in the first movement and the second movement, respectively. The first joint axis is connected to the base of the robot. The first target excitation trajectory and the second target excitation trajectory are both Fourier series excitation trajectories, and the movement duration is equal. The acquisition module, connected to the control module, is used to acquire the first torque output by the second joint axis at multiple first sampling time points in the first motion, and to acquire the second torque output by the second joint axis at each second sampling time point corresponding to the first sampling time point in the second motion. The sum of the second sampling time point corresponding to the first sampling time point and the first sampling time point is equal to the motion duration of the second target excitation trajectory. The calculation module, connected to the acquisition module, is used to calculate the average value of the first torque and the corresponding second torque for each first torque, wherein the corresponding second torque corresponds to a target second sampling time point, and the target second sampling time point corresponds to the first sampling time point corresponding to the first torque; A construction module, connected to the calculation module, is used to construct an output torque matrix corresponding to the second joint axis based on the average value corresponding to each of the first torques; The identification module, connected to the construction module, is used to obtain a first set of inertial parameters of the first connection assembly based on the output torque matrix corresponding to the second joint axis, wherein the first connection assembly includes the second joint axis, the end joint axis, and all joint axes connecting the second joint axis and the end joint axis.
9. An inertial parameter identification device, characterized in that, The inertial parameter identification device includes a processor, a memory, and a communication circuit. The processor is coupled to the memory and the communication circuit respectively. The memory stores program data. The processor executes the program data in the memory to implement the steps in the method as described in any one of claims 1-7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that can be executed by a processor to implement the steps of the method as described in any one of claims 1-7.