Method for identifying dynamics parameters of a robot arm
By individually identifying friction and motor rotor inertia, the dynamic parameters of the robotic arm are adjusted to ensure that its rotational inertia and mass are positive. This solves the problem of non-positive definite inertia matrix, improves parameter identification accuracy and calculation efficiency, ensures positive definite inertia matrix, and supports dynamics and force control functions.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-31
- Publication Date
- 2026-04-07
AI Technical Summary
Existing technologies cannot effectively limit the range of values for the dynamic parameters of robotic arms, resulting in non-positive definite inertial matrices and affecting the development of dynamics and force control functions.
By individually identifying the friction parameters and the motor rotor inertia, the excitation trajectory is designed. The dynamic parameter vector is adjusted using the least squares method and singular value decomposition to ensure that the rotational inertia and mass are positive, thus ensuring that the inertia matrix is positive definite.
It improves the accuracy of friction force identification, reduces the number of parameters, improves computational efficiency, and ensures that the inertial matrix is a positive definite matrix, supporting the normal operation of dynamics and force control functions.
Smart Images

Figure CN117260733B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of mechanical arm dynamics and force control technology, and particularly relates to a method for identifying mechanical arm dynamics parameters. BACKGROUND
[0002] Identifying the dynamics parameters of a mechanical arm is the basis of the related functions of mechanical arm dynamics and force control. The result of the identification of the dynamics parameters affects the accuracy of the dynamics model, and further affects the effect of the related functions. Therefore, how to identify the dynamics parameters is particularly important. The general method for identifying the dynamics parameters of a mechanical arm includes the following steps:
[0003] 1. Determine the dynamics parameters to be identified;
[0004] 2. Analyze the configuration and installation mode of the mechanical arm, and derive the calculation method of the regression matrix through mechanical arm dynamics. The regression matrix is a function of the position, velocity and acceleration of each axis of the mechanical arm;
[0005] 3. Design an excitation trajectory. When the mechanical arm moves along the excitation trajectory, the position, velocity and acceleration of each axis are continuous;
[0006] 4. Let the mechanical arm move along the excitation trajectory, and record the position, velocity, acceleration and torque of each axis at several time points;
[0007] 5. Generate several regression matrices according to the position, velocity and acceleration data recorded in the last step, and then estimate the dynamics parameters by using the least square method according to the regression matrices and the torque data recorded in the last step.
[0008] A set of dynamics parameters can be identified by using the above method, but the above method cannot limit the value range of a specific dynamics parameter. Each dynamics parameter represents a real physical quantity, and the values of the moment of inertia and the mass should both be positive. When the values of the moment of inertia and the mass in a set of dynamics parameters are not all positive, the set of dynamics parameters does not satisfy the physical feasibility condition.
[0009] Although a set of dynamics parameters that do not satisfy the physical feasibility condition can also calculate some correct results, such as the inertia moment of each axis, the Coriolis force and centrifugal force moment, and the gravity moment, the set of dynamics parameters still has its limitations. When the dynamics parameters satisfy the physical feasibility condition, the inertia matrix in the dynamics model is positive definite. Many dynamics and force control algorithms are based on the positive definiteness of the inertia matrix, and a set of dynamics parameters that do not satisfy the physical feasibility condition will result in an inertia matrix that is not a positive definite matrix, and further hinder the development of dynamics and force control functions. SUMMARY
[0010] The application provides a method for identifying the dynamic parameters of a mechanical arm, which can adjust the identified dynamic parameters, so that the rotational inertia and mass in the dynamic parameters change from negative values to positive values.
[0011] The application provides a method for identifying the dynamic parameters of a mechanical arm, which comprises the following steps: determining the friction force parameters and the rotor inertia of a motor;
[0012] determining an excitation trajectory, controlling the mechanical arm to move according to the excitation trajectory, and recording the positions, speeds, accelerations and torques of each axis of the mechanical arm at multiple time points;
[0013] generating multiple regression matrices according to the positions, speeds and accelerations of each axis of the mechanical arm at multiple time points, and splicing the multiple regression matrices into a total regression matrix;
[0014] calculating the moment of each time point of the mechanical arm excluding the influence of the friction force and the rotor according to the friction force parameters, the rotor inertia of the motor and the positions, speeds, accelerations and torques of each axis of the mechanical arm at multiple time points, and splicing the moment of each time point into a moment vector;
[0015] establishing an equation relationship that the product of the total regression matrix and a dynamic parameter vector matrix is equal to the moment vector, and solving the equation relationship by using the least square method to obtain the value of the dynamic parameter vector matrix;
[0016] performing singular value decomposition on the total regression matrix to obtain a null space matrix of the total regression matrix, and adjusting the dynamic parameter vector by using the null space matrix.
[0017] In an embodiment of the application, the determination of the friction force parameters and the rotor inertia of the motor comprises:
[0018] separately identifying the friction parameters of each joint: controlling a single joint of the mechanical arm to move at a set speed respectively performing forward uniform motion and reverse uniform motion to obtain an output moment τ + composed of the joint torque of the single joint during forward uniform motion and an output moment τ - composed of the joint torque of the single joint during reverse uniform motion; calculating a friction regression matrix Y f according to the set speed , extracting a friction moment τ f according to the output moment τ + and the output moment τ - , and then obtaining a Coulomb friction coefficient f c and a viscous friction coefficient f v by using the least square method; and obtaining the Coulomb friction coefficients fc and the viscous friction coefficient f v After that, a diagonal matrix F composed of the Coulomb friction coefficients of each joint is established c and a diagonal matrix F composed of the viscous friction coefficients of each joint is established v ;
[0019] The rotor inertia i of the motor of each joint of the mechanical arm is determined by consulting the motor manual a .
[0020] In an embodiment of the present application, the excitation trajectory is generated based on a quintic polynomial curve or a sinusoidal curve to ensure that the position, velocity and acceleration of each axis are continuous when the mechanical arm moves along the excitation trajectory.
[0021] In an embodiment of the present application, according to the friction force parameters, the rotor inertia of the motor and the position, velocity, acceleration and torque of each axis of the mechanical arm at multiple time points, the torque of the mechanical arm at each time point excluding the influence of friction and rotor is calculated, and the torque at each time point is spliced into a torque vector, including:
[0022] The rotor inertia i determined by consulting the motor manual a and the gear ratio k r are combined into a diagonal matrix I a ;
[0023] In order to perform size matching, the diagonal matrix I a , the diagonal matrix F composed of the Coulomb friction coefficients of each joint c and the diagonal matrix F composed of the viscous friction coefficients of each joint v are processed to obtain the processed diagonal matrix I as , the diagonal matrix F composed of the Coulomb friction coefficients of each joint cs and the diagonal matrix F composed of the viscous friction coefficients of each joint vs ;
[0024] According to the velocity vector v of the mechanical arm and the processed diagonal matrix F composed of the Coulomb friction coefficients of each joint cs , the processed diagonal matrix F composed of the viscous friction coefficients of each joint vs , the data τ of the friction torque is calculated fs :
[0025]
[0026] According to the acceleration vector a of the mechanical arm and the processed diagonal matrix I composed of the inertia parameters of the rotor of each joint as Data τ of the rotor inertia moment as :
[0027]
[0028] According to the torque vector τ s and data τ of the friction moment fs Data τ of the rotor inertia moment as The effective moment data related to the required identification parameters, i.e. the torque vector τ, is calculated:
[0029] τ = τ s - τ fs - τ as .
[0030] In one embodiment of the application, the least square method is used to solve the equation relationship to obtain the value of the dynamic parameter vector matrix, including:
[0031] The Moore-Penrose pseudo-inverse is used to estimate the value of the dynamic parameter vector matrix π:
[0032] The singular value decomposition of the total regression matrix Y is performed to obtain the following form:
[0033] Y = UΣV T
[0034] Wherein, U and V are orthogonal matrices, and Σ is a diagonal matrix. The Moore-Penrose pseudo-inverse of the total regression matrix Y is:
[0035] Y + = VΣ + U T
[0036] Wherein, Σ + is the Moore-Penrose pseudo-inverse of Σ. Since Σ is a diagonal matrix, the Moore-Penrose pseudo-inverse of Σ can be obtained by transposing Σ and taking the reciprocal of all non-zero elements in Σ + ;
[0037] After obtaining Y + , the value of the dynamic parameter vector matrix π is estimated:
[0038] π = Y + τ
[0039] When π = Y + τ, ||τ-Yπ|| reaches the minimum value. 2
[0040] In one embodiment of this application, singular value decomposition is performed on the overall regression matrix to obtain the null space matrix N of the overall regression matrix, including:
[0041] Singular value decomposition of the overall regression matrix Y yields Y = UΣV T V T It is composed of the row space matrix R and the null space matrix N of the overall regression matrix Y.
[0042]
[0043] R T The number of rows is equal to the number of non-zero elements in the Σ matrix, from V T Extract the null space matrix N.
[0044] In one embodiment of this application, adjusting the dynamic parameter vector using the null space matrix N includes:
[0045] Analyze the values of the dynamic parameter vector matrix π, find the parameters with values less than zero that represent the moment of inertia or mass, and find an unknown vector μ such that π * =π + Nμ, where π * This is the adjusted dynamic parameter vector, and π * Both the moment of inertia and mass in the sample are positive.
[0046] In one embodiment of this application, an unknown vector μ is sought such that π * =π + Nμ, where π * The adjusted dynamic parameter vector includes:
[0047] The torque vector π is modified by replacing the elements that should be positive but are actually negative with a positive value, resulting in the modified torque vector. use Subtracting π gives analyze Let x be the number of non-zero elements in a vector, and let i1, i2, ..., i3 be the corresponding indices. x ;
[0048] Will The vectors correspond to i1, i2, ..., i x Extract the elements to form a new vector At the same time, the corresponding i1, i2, ..., i in the null space matrix N will also be... x Extract the rows to form a new matrix The vector μ is obtained by solving the following equation:
[0049]
[0050] Substitute μ into π * =π + Nμ to obtain π * The adjusted dynamic parameter vector is obtained, and the adjusted dynamic parameter vector π is obtained. * The numbers in the middle correspond to i1, i2, ..., i x The elements and the modified torque vector The numbers in the middle correspond to i1, i2, ..., i x The elements are equal, that is, the adjusted dynamic parameter vector π. * All values in the table are positive.
[0051] The beneficial effects of the method for identifying the dynamic parameters of a robotic arm according to the embodiments of this application are as follows:
[0052] 1. This invention identifies the friction force of each joint separately, avoiding mixing the friction force with other parameters for identification, thereby improving the accuracy of friction force identification.
[0053] 2. This method reduces the number of parameters that need to be identified and improves calculation efficiency by independently identifying friction parameters and consulting the motor's manual to determine the motor's rotor inertia parameters.
[0054] 3. Because the friction force parameters and rotor inertia parameters have high accuracy, other parameters identified by this method will also have higher accuracy.
[0055] 4. This invention proposes a method to adjust the dynamic parameter vector so that the moment of inertia and mass in the adjusted dynamic parameter vector are both positive, thereby ensuring that the inertia matrix is a positive definite matrix.
[0056] 5. By utilizing the null space of the overall regression matrix, the adjusted dynamic parameter vector in this invention is still the solution to the previous least squares problem.
[0057] Additional aspects and advantages of this application will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of this application. Attached Figure Description
[0058] The above and / or additional aspects and advantages of this application will become apparent and readily understood from the following description of the embodiments taken in conjunction with the accompanying drawings, wherein:
[0059] Figure 1 This is a flowchart of a method for identifying the dynamic parameters of a robotic arm according to an embodiment of this application;
[0060] Figure 2 A simplified diagram illustrating the principle of identifying frictional parameters of a single joint of a robotic arm according to an embodiment of this application;
[0061] Figure 3 A simplified schematic diagram of the improved method for identifying the dynamic parameters of a robotic arm according to an embodiment of this application;
[0062] Figure 4 This is a schematic diagram illustrating the execution process of an improved method for identifying the dynamic parameters of a robotic arm according to an embodiment of this application. Detailed Implementation
[0063] The embodiments of this application are described in detail below. Examples of the embodiments are shown in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this application, and should not be construed as limiting this application.
[0064] Figure 1 This is a flowchart of a method for identifying the dynamic parameters of a robotic arm according to an embodiment of this application.
[0065] like Figure 1 As shown, the method for identifying the dynamic parameters of a robotic arm includes the following steps:
[0066] In step S101, the friction parameters and the rotor inertia of the motor are determined.
[0067] In one embodiment of this application, determining the friction parameters and the rotor inertia of the motor includes:
[0068] The friction parameters of each joint are identified individually: the individual joints of the robotic arm are controlled at a set speed. Perform forward uniform motion and reverse uniform motion respectively, and obtain the output torque τ composed of the joint torques of a single joint during the forward uniform motion. + The output torque τ is composed of the joint torque of a single joint during reverse uniform motion. - According to the set speed Calculate the friction regression matrix Y f According to the output torque τ + and output torque τ - Extract the frictional torque τ f Then, the Coulomb friction coefficient f is obtained using the least squares method. c and viscous friction coefficient f v Obtain the Coulomb friction coefficient f of all joints of the robotic arm. c and viscous friction coefficient f v Then, a diagonal matrix F is constructed, consisting of the Coulomb friction coefficients of each joint. c and the diagonal matrix F composed of the viscous friction coefficients of each joint. v ;
[0069] The rotor inertia i of the motor of each joint of the robot arm is determined by consulting a motor manual a .
[0070] By determining the friction parameters and the rotor inertia of the motor, the friction parameters and the rotor inertia no longer need to be identified, and thus the number of parameters that need to be identified is reduced. For each rigid body connected to the joint, only 10 parameters need to be identified: L xx ,L xy ,L xz ,L yy ,L yz ,L zz ,l x ,l y ,l z ,m, and the meanings of the 10 parameters are as follows:
[0071] L xx ,L yy ,L zz : moment of inertia;
[0072] L xy ,L xz ,L yz : product of inertia, which together with the moment of inertia constitutes the inertia tensor:
[0073]
[0074] l x ,l y ,l z : product of mass and x, y, z direction components of the center of mass position;
[0075] m: mass.
[0076] If the robot arm has n degrees of freedom, the total number of parameters that need to be identified is 10n.
[0077] In step S102, an excitation trajectory is determined, the robot arm is controlled to move according to the excitation trajectory, and the positions, velocities, accelerations, and torques of the axes of the robot arm at multiple time points are recorded.
[0078] An excitation trajectory is designed in advance, and a quintic polynomial curve-based trajectory or a sinusoidal curve-based trajectory can be used to ensure that the changes in the positions, velocities, and accelerations of the axes of the robot arm when the robot arm moves along the excitation trajectory are continuous.
[0079] The robot arm is moved along the excitation trajectory, and the positions, velocities, accelerations, and torques of the axes at several time points are recorded.
[0080] In step S103, a plurality of regression matrices are generated according to the positions, velocities, and accelerations of the axes of the robot arm at a plurality of time points, and the plurality of regression matrices are spliced into one overall regression matrix.
[0081] The configuration and mounting mode of the robot arm are analyzed, and a calculation method of the regression matrix is derived through robot arm dynamics. The regression matrix is a function of the positions, velocities, and accelerations of the axes of the robot arm.
[0082] According to the recorded position, velocity, and acceleration data, a plurality of regression matrices are generated, and then the regression matrices are spliced into one overall regression matrix Y.
[0083] In step S104, the torque of the robot arm at each time point excluding the influence of the friction and the rotor is calculated according to the friction parameter, the rotor inertia of the motor, and the positions, velocities, accelerations, and torques of the axes of the robot arm at a plurality of time points, and the torque at each time point is spliced into one torque vector.
[0084] According to the recorded data, the torque at each time point excluding the influence of the friction and the rotor is calculated, and the torques are spliced into one vector τ.
[0085] In the embodiment of the present application, the torque of the robot arm at each time point excluding the influence of the friction and the rotor is calculated according to the friction parameter, the rotor inertia of the motor, and the positions, velocities, accelerations, and torques of the axes of the robot arm at a plurality of time points, and the torque at each time point is spliced into one torque vector, including:
[0086] The rotor inertia i determined by referring to the motor manual a and the reduction ratio k r form a diagonal matrix I a .
[0087] In order to perform size matching, the diagonal matrix I a , the diagonal matrix F c composed of the Coulomb friction coefficients of the joints, and the diagonal matrix F v composed of the viscous friction coefficients of the joints are processed to obtain the processed diagonal matrix I as , the diagonal matrix F cs composed of the Coulomb friction coefficients of the joints, and the diagonal matrix F vs composed of the viscous friction coefficients of the joints.
[0088] According to the velocity vector v of the robot arm and the processed diagonal matrix F cs composed of the Coulomb friction coefficients of the joints, and the processed diagonal matrix F vs composed of the viscous friction coefficients of the joints, the data τ of the friction torque is calculated.fs :
[0089]
[0090] According to the acceleration vector of the robot arm and the processed diagonal matrix I composed of rotor inertia parameters of each joint as Data τ of rotor inertia moment is calculated as :
[0091]
[0092] According to the torque vector τ s and data τ of friction torque fs Data τ of rotor inertia moment as The effective torque data related to the required identification parameters, i.e. torque vector τ, is calculated:
[0093] τ = τ s - τ fs - τ as .
[0094] In step S105, an equation relationship that the product of the overall regression matrix and the dynamic parameter vector matrix is equal to the torque vector is established, and the value of the dynamic parameter vector matrix is solved by using the least square method.
[0095] In an embodiment of the present application, the value of the dynamic parameter vector matrix is solved by using the least square method, including:
[0096] The value of the dynamic parameter vector matrix π is estimated by using Moore-Penrose pseudo-inverse:
[0097] The overall regression matrix Y is singular value decomposed to obtain the following form:
[0098] Y = UΣV T
[0099] Wherein, U and V are orthogonal matrices, Σ is a diagonal matrix, and the Moore-Penrose pseudo-inverse of the overall regression matrix Y is:
[0100] Y + = VΣ + U T
[0101] Wherein, Σ + is the Moore-Penrose pseudo-inverse of Σ, because Σ is a diagonal matrix, so the Moore-Penrose pseudo-inverse of Σ can be obtained by transposing Σ and taking the reciprocal of all non-zero elements in Σ + ;
[0102] Y +Estimate the value of the dynamics parameter vector matrix π:
[0103] π = Y + τ
[0104] When π = Y + τ, ||τ-Yπ|| reaches the minimum value. 2 The minimum value is reached.
[0105] Solve the least square problem: Yπ = τ, estimate the value of the vector π by using the Moore-Penrose pseudo-inverse, and the vector π is the mentioned dynamics parameter vector with a total number of 10n.
[0106] In step S105, singular value decomposition is performed on the overall regression matrix to obtain a null space matrix of the overall regression matrix, and the dynamics parameter vector is adjusted by using the null space matrix.
[0107] When the dynamics parameters of a robot arm are identified by using a conventional method, the value range of a specific dynamics parameter cannot be limited, and the identified rotational inertia and mass in the dynamics parameters are generally not positive, so that the inertia matrix cannot be a positive definite matrix.
[0108] An embodiment of the present application analyzes the obtained parameter vector π, finds the parameters representing rotational inertia or mass with values less than zero in the parameter vector π, and then designs a method to find a vector μ such that π * = π + Nμ. In the equation, π * is the adjusted dynamics parameter vector, the rotational inertia and mass in the vector π * are positive, and the vector π * is also a solution to the least square problem as the vector π.
[0109] In an embodiment of the present application, singular value decomposition is performed on the overall regression matrix to obtain a null space matrix N of the overall regression matrix, including:
[0110] The overall regression matrix Y is subjected to singular value decomposition to obtain Y = UΣV T , where V T is composed of a row space matrix R and a null space matrix N of the overall regression matrix Y,
[0111]
[0112] R T has a number of rows equal to the number of non-zero elements in the matrix Σ, and the null space matrix N is extracted from the matrix V T .
[0113] In an embodiment of the present application, the dynamics parameter vector is adjusted by using the null space matrix N, including:
[0114] Analyze the values of the dynamic parameter vector matrix π, identify parameters with values less than zero that represent moments of inertia or mass, and find an unknown vector μ such that π * =π + Nμ, where π * This is the adjusted dynamic parameter vector, and π * Both the moment of inertia and mass in the sample are positive.
[0115] In one embodiment of this application, an unknown vector μ is sought such that π * =π + Nμ, where π * The adjusted dynamic parameter vector includes:
[0116] The torque vector π is modified by replacing the elements that should be positive but are actually negative with a positive value, resulting in the modified torque vector. use Subtracting π gives analyze Let x be the number of non-zero elements in a vector, and let i1, i2, ..., i3 be the corresponding indices. x ;
[0117] Will The vectors correspond to i1, i2, ..., i x Extract the elements to form a new vector At the same time, the corresponding i1, i2, ..., i in the null space matrix N will also be... x Extract the rows to form a new matrix The vector μ is obtained by solving the following equation:
[0118]
[0119] Substitute μ into π * =π + Nμ to obtain π * The adjusted dynamic parameter vector is obtained, and the adjusted dynamic parameter vector π is obtained. * The numbers in the middle correspond to i1, i2, ..., i x The elements and the modified torque vector The numbers in the middle correspond to i1, i2, ..., i x The elements are equal, that is, the adjusted dynamic parameter vector π. * All values in the table are positive.
[0120] In summary, the identification method of this application first identifies the friction parameters of each joint individually. This is achieved by moving the individual joints of the robotic arm at a set of speeds... By performing both forward and reverse uniform motion, the output torque τ of the joint during the forward motion can be obtained. + The output torque τ of the joint during the reverse movement- .like Figure 2 As shown, according to The friction regression matrix Y can be calculated. f According to τ + and τ - The frictional torque τ can be extracted. f Then, the Coulomb friction coefficient f can be obtained using the least squares method. c and viscous friction coefficient f v The frictional torque τ of a single joint f riction and f c and f v The relationship is as follows, where This is the current velocity of the joint:
[0121]
[0122] In principle Figure 3 In this process, based on a series of position data q recorded by the robotic arm as it moves along the excitation trajectory... s Speed data and acceleration data The overall regression matrix Y can be calculated. According to... and the matrix F composed of the friction parameters of each joint cs F vs The frictional torque τ can be calculated. fs ,according to and matrix I composed of the rotor inertia parameters of each joint. as The rotor inertial torque τ can be calculated. as Based on a series of torque data τ recorded by the robotic arm as it moves along the excitation trajectory. s and τ fs , τ as The effective torque data τ related to the required identification parameters can be calculated. Using the overall regression matrix Y and the effective torque data τ, a least-squares operation can be performed to estimate the dynamic parameter vector π. Then, the null space matrix N of Y is calculated, and N is used to adjust π, ultimately obtaining the dynamic parameter vector π that meets the physical feasibility conditions. * .
[0123] The method for identifying the dynamic parameters of a robotic arm according to this application will be described in detail below through a specific embodiment. The specific process can be found in [link to detailed process]. Figure 4 As shown.
[0124] Step 1: Identify the friction parameters of each joint individually. The identification method for a single joint is as follows: First, design a set of speeds... It contains k different velocity values, and The velocity values in the data are all positive.
[0125]
[0126] Then let the individual joints of the robotic arm... Each velocity value in the joint is subjected to both forward and reverse uniform motion, and the joint torque when the joint reaches its midpoint is recorded. Since the forward and reverse uniform motions are mirror images, their midpoints are the same. Two vectors can then be obtained, τ being the joint torque recorded when the joint reaches its midpoint during the forward uniform motion. + τ is composed of the joint torque recorded when the object moves from the reverse uniform velocity to the intermediate position. - .
[0127]
[0128]
[0129] The general form of the dynamic equations for a robotic arm is as follows:
[0130]
[0131] Where, q, These represent vectors consisting of the position, velocity, and acceleration of each axis of the robotic arm. Represents inertial force. G(q) represents the Coriolis force and centrifugal force, and G(q) represents gravity. F represents frictional force, τ represents the torque of the joint, and F represents the torque of the joint. c F is a diagonal matrix composed of the Coulomb friction coefficients of each joint. v It is a diagonal matrix composed of the viscous friction coefficients of each joint.
[0132] In the above experiment, because the single joint of the robotic arm moves at a constant speed when passing through the middle position, its acceleration is 0, so the inertial force is 0. Furthermore, since only one joint of the robotic arm is moving, there are no Coriolis or centrifugal effects for that joint. Therefore, the torque data recorded in the above experiment is only affected by gravity and friction. In the i-th experiment, the following equation holds:
[0133]
[0134]
[0135] Since the gravitational term only depends on the joint position, the gravitational force is the same when passing through the midpoint in both the forward and reverse directions. Therefore, we can obtain the frictional force during forward uniform motion:
[0136]
[0137] make:
[0138]
[0139]
[0140] The following equation can be obtained:
[0141]
[0142] f can be obtained using the least squares method. c and f v Because Y f The first column contains only 1s, while the second column contains various velocity values. Therefore, these two columns are linearly independent, which can be determined using Y. f Left-handed generalized inverse Let's solve this least squares problem:
[0143]
[0144] The above describes the method for obtaining the friction parameters of a single joint. Once the friction parameters of all joints of the robotic arm are obtained, a diagonal matrix F composed of the Coulomb friction coefficients of each joint can be obtained. c and the diagonal matrix F composed of the viscous friction coefficients of each joint. v .
[0145]
[0146]
[0147] Step 2: Determine the rotor inertia i of the motors for each joint of the robotic arm by consulting the motor manual. a and reduction ratio k r These rotor inertia and reduction ratios can form a diagonal matrix I. a .
[0148]
[0149] Step 3: Design an excitation trajectory, which can be based on a fifth-order polynomial curve or a sine curve, to ensure that the changes in position, velocity, and acceleration of each axis are continuous when the robotic arm moves along the excitation trajectory. Then, guide the robotic arm to move along the excitation trajectory.
[0150] Step 4: Record the position, velocity, acceleration, and torque of each axis at m time points during the movement of the robotic arm along the excitation trajectory. Let q i_j Representing the position of the i-th joint at time j, all recorded position information is combined into a vector q.s .
[0151]
[0152] and τ s are defined in a similar way as q s , and the length of these vectors is n x m.
[0153] According to the position information, velocity information and acceleration information of each joint of the robot arm at time j, the regression matrix Y j at this time can be obtained by robot dynamics.
[0154]
[0155] In order to match the size of q s , τ s , I a , F c and F v are processed to obtain I as , F cs and F vs .
[0156]
[0157]
[0158]
[0159] Next, the friction torque τ fs and the rotor inertia torque τ as can be calculated:
[0160]
[0161]
[0162] According to τ s and τ fs , τ as , the effective torque data τ related to the required identification parameters can be calculated.
[0163] τ = τ s - τ fs - τ as
[0164] Step five: according to Y, τ obtained in step four and the dynamic parameter vector π to be identified, the following equation can be obtained:
[0165] Yπ = τ
[0166] The least square method can be used to solve π. Y is not a full rank matrix, so Moore-Penrose pseudo-inverse is used to solve this least square problem.
[0167] Y is singular value decomposed to get the following form:
[0168] Y = UΣV T
[0169] where U and V are orthogonal matrices, and Σ is a diagonal matrix. The Moore-Penrose pseudo-inverse of Y is:
[0170] Y + = VΣ + U T
[0171] where Σ + is the Moore-Penrose pseudo-inverse of Σ. Since Σ is a diagonal matrix, the Moore-Penrose pseudo-inverse of Σ can be obtained by transposing Σ and taking the reciprocal of all non-zero elements. +
[0172] After Y + is obtained, π can be estimated:
[0173] π = Y + τ
[0174] That is, when π = Y + τ, ||τ-Yπ|| reaches the minimum value. 2
[0175] Step six: In step five, the preliminary estimate of the dynamic parameters π is obtained. The following describes how to adjust the dynamic parameters using the null space of the total regression matrix Y. First, the null space matrix N of Y is calculated. Y is singular value decomposed to get Y = UΣV T . Where V T is composed of the row space matrix R and the null space matrix N of Y.
[0176]
[0177] The number of rows of R T is equal to the number of non-zero elements in the matrix Σ, so the row space matrix R and the null space matrix N can be easily extracted from V T .
[0178] After obtaining the null space matrix N, the next step is to find a vector μ such that π * = π + Nμ. Where π * The moment of inertia and mass parameter in Y should both be positive. Since N is the null space matrix of Y, we have Yπ = Y(π + Nμ), and therefore ||τ - Yπ * || 2 =||τ-Yπ|| 2 , π * It is also the solution to the least squares problem in step five.
[0179] The following describes how to obtain the vector μ. Modify the vector π by replacing any elements that should be positive but are actually negative with a positive value. The specific value can be set arbitrarily, for example, 0.1. After this modification, you will obtain a vector. use Subtracting π gives analyze Let x be the number of non-zero elements in a vector, and let i1, i2, ..., i3 be the corresponding indices. x .
[0180] Will The vectors correspond to i1, i2, ..., i x Extract the elements to form a new vector At the same time, the corresponding i1, i2, ..., i in matrix N will also be... x Extract the rows to form a new matrix The vector μ can be obtained by solving the following equation.
[0181]
[0182] This equation can be solved using the Moore-Penrose pseudo-inverse method mentioned in step five. First, find... Moore-Penrose pseudoreverse Then μ can be calculated.
[0183]
[0184] Therefore, substituting μ into the following equation will yield π. * .
[0185] π * =π+Nμ
[0186] π obtained using this method * The numbers in the middle correspond to i1, i2, ..., i x elements and The numbers in the middle correspond to i1, i2, ..., i x The elements are equal, meaning they are all positive values.
[0187] The method for identifying the mechanical arm dynamics parameter of the embodiment of the application separately identifies the friction of each joint, avoids mixing the friction and other parameters for identification, thereby improving the identification accuracy of the friction and improving the calculation efficiency, and the zero space matrix of the overall regression matrix is used to adjust the solved dynamics parameter vector, so that the rotational inertia and mass in the adjusted dynamics parameter vector are positive values, thereby ensuring that the inertia matrix is a positive definite matrix.
[0188] In the description of the present specification, the description referring to the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. In the present specification, the illustrative description of the above terms does not necessarily refer to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or N embodiments or examples. In addition, the person skilled in the art can combine and combine the different embodiments or examples described in the present specification and the features of the different embodiments or examples without contradiction.
[0189] In addition, the terms "first", "second" are only for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "N" is at least two, for example, two, three, etc., unless otherwise specifically limited.
[0190] Any process or method descriptions in flow charts or otherwise described herein can be understood as representing code modules, segments, or portions of code that include one or more executable instructions for performing a specified logic function or process, and the various embodiments of the application include additional implementations in which the functions described in the other processes are performed in a different order, including substantially simultaneously, sequentially, or in reverse order, as appropriate, and that the described processes can be performed by different entities in an organization or entities outside of an organization.
Claims
1. A method for identifying the dynamic parameters of a robotic arm, characterized in that, Includes the following steps: Determine the friction parameters and the rotor inertia of the motor; Determine the excitation trajectory, control the robotic arm to move according to the excitation trajectory, and record the position, velocity, acceleration, and torque of each axis of the robotic arm at multiple moments; Multiple regression matrices are generated based on the position, velocity, and acceleration of each axis of the robotic arm at multiple moments, and the multiple regression matrices are concatenated into a single overall regression matrix; Based on the friction parameters, the rotor inertia of the motor, and the position, velocity, acceleration, and torque of each axis of the robotic arm at multiple moments, the torque of the robotic arm at each moment, excluding the influence of friction and rotor, is calculated, and the torques at each moment are spliced into a torque vector. An equation is established whereby the product of the overall regression matrix and the dynamic parameter vector matrix equals the torque vector. The value of the dynamic parameter vector matrix is obtained by solving the equation using the least squares method. Singular value decomposition is performed on the overall regression matrix to obtain the null space matrix of the overall regression matrix, and the dynamic parameter vector is adjusted using the null space matrix.
2. The method according to claim 1, characterized in that, Determine the friction parameters and the rotor inertia of the motor, including: The friction parameters of each joint are identified individually: the individual joints of the robotic arm are controlled at a set set speed. Perform forward uniform motion and reverse uniform motion respectively, and obtain the output torque τ composed of the joint torques of a single joint during the forward uniform motion. + The output torque τ, composed of the joint torque of a single joint during reverse uniform motion, and the joint torque of a single joint. - According to the set speed Calculate the friction regression matrix Y f According to the output torque τ + and output torque τ - Extract the frictional torque τ f Then, the Coulomb friction coefficient f is obtained using the least squares method. c and viscous friction coefficient f v The Coulomb friction coefficient f of all joints of the robotic arm was obtained. c and viscous friction coefficient f v Then, a diagonal matrix F is constructed, consisting of the Coulomb friction coefficients of each joint. c and the diagonal matrix F composed of the viscous friction coefficients of each joint. v ; The rotor inertia i of each joint motor of the robotic arm was determined by consulting the motor manual. a .
3. The method according to claim 1, characterized in that, The excitation trajectory is generated using a trajectory based on a fifth-order polynomial curve or a trajectory based on a sine curve to ensure that the changes in position, velocity, and acceleration of each axis are continuous when the robotic arm moves along the excitation trajectory.
4. The method according to claim 3, characterized in that, Based on the friction parameters, the rotor inertia of the motor, and the position, velocity, acceleration, and torque of each axis of the robotic arm at multiple moments, the torque of the robotic arm at each moment, excluding the influence of friction and rotor, is calculated. The torques at each moment are then concatenated into a torque vector, including: The rotor inertia i, determined by consulting the motor manual. a and reduction ratio k r Form a diagonal matrix I a ; To achieve size matching, the diagonal matrix I a The diagonal matrix F composed of the Coulomb friction coefficients of each joint c and the diagonal matrix F composed of the viscous friction coefficients of each joint. v After processing, the diagonal matrix I is obtained. as The diagonal matrix F composed of the Coulomb friction coefficients of each joint cs and the diagonal matrix F composed of the viscous friction coefficients of each joint. vs ; According to the velocity vector of the robotic arm The diagonal matrix F is composed of the Coulomb friction coefficients of each joint after treatment. cs The processed diagonal matrix F, composed of the viscous friction coefficients of each joint. vs Calculate the friction torque data τ fs : Based on the acceleration vector of the robotic arm and the processed diagonal matrix I composed of the rotor inertia parameters of each joint. as The data τ of the rotor inertial torque were calculated. as : Based on the torque vector τ s And the data of frictional torque τ fs The data of rotor inertial torque τ as Calculate the effective torque data related to the required identification parameters, i.e., the torque vector τ: τ=τ s -t fs -t as 。 5. The method according to claim 1, characterized in that, Solving the equation using the least squares method yields the values of the dynamic parameter vector matrix, including: The value of the dynamic parameter vector matrix π is estimated using the Moore-Penrose pseudoinverse: Singular value decomposition of the overall regression matrix Y yields the following form: Y=U∑V T Where U and V are orthogonal matrices, ∑ is a diagonal matrix, and the Moore-Penrose pseudoinverse of the overall regression matrix Y is: Y + =VΣ + U T Where, ∑ + Let $\mathbf{a}$ be the Moore-Penrose pseudoinverse of $\mathbf{a}$. Since $\mathbf{a}$ is a diagonal matrix, we can obtain $\mathbf{a}$ by transposing it and taking the reciprocals of all its non-zero elements. + ; Get Y + The value of the dynamic parameter vector matrix π is then estimated: π=Y + t When π = Y + When τ, ||τ-Yπ|| 2 Obtain the minimum value.
6. The method according to claim 5, characterized in that, Perform singular value decomposition on the overall regression matrix to obtain the null space matrix N of the overall regression matrix, including: Singular value decomposition of the overall regression matrix Y yields Y = U∑V T V T It is composed of the row space matrix R and the null space matrix N of the overall regression matrix Y. R T The number of rows is equal to the number of non-zero elements in the ∑ matrix, from V T Extract the null space matrix N.
7. The method according to claim 1, characterized in that, Adjusting the dynamic parameter vector using the null space matrix N includes: Analyze the values of the dynamic parameter vector matrix π, find the parameters with values less than zero that represent the moment of inertia or mass, and find an unknown vector μ such that π * =π + Nμ, where π * This is the adjusted dynamic parameter vector, and π * Both the moment of inertia and mass in the sample are positive.
8. The method according to claim 7, characterized in that, Find an unknown vector μ such that π * =π + Nμ, where π * The adjusted dynamic parameter vector includes: The torque vector π is modified by replacing the elements that should be positive but are actually negative with a positive value, resulting in the modified torque vector. use Subtracting π gives analyze Let x be the number of non-zero elements in a vector, and let i1, i2, ..., i3 be the corresponding indices. x ; Will The vectors corresponding to i1, i2, ..., i x Extract the elements to form a new vector At the same time, the corresponding i1, i2, ..., i in the null space matrix N will also be... x Extract the rows to form a new matrix The vector μ is obtained by solving the following equation: Substitute μ into π * =π + Nμ to obtain π * The adjusted dynamic parameter vector is obtained, and the adjusted dynamic parameter vector π is obtained. * The numbers in the middle correspond to i1, i2, ..., i x The elements and the modified torque vector The numbers in the middle correspond to i1, i2, ..., i x The elements are equal, that is, the adjusted dynamic parameter vector π. * All values in the table are positive.
Citation Information
Patent Citations
Step-by-step identification method of mechanical arm dynamics parameters of mechanical structure
CN108297093A
Foot type robot kinetic parameter identification method
CN113001588A