Robot dynamic parameter identification method, device, equipment and medium

Parameter identification of robot dynamic model through nonlinear optimization method solves the problem of linear optimization of dynamic model in the prior art, simplifies modeling and data acquisition, and improves the accuracy and efficiency of parameter identification.

CN115480483BActive Publication Date: 2025-08-08TENCENT TECHNOLOGY (SHENZHEN) CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202110605017.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-05-31
Publication Date
2025-08-08
Estimated Expiration
2041-05-31

AI Technical Summary

Technical Problem

In the prior art, robot dynamic parameter identification requires linear optimization of dynamic models, which makes parameter identification difficult and requires professional mathematical and robot knowledge.

Method used

The nonlinear optimization method is used to determine geometric information through the robot's kinematic model, build a dynamic model, and identify the target parameters, including mass parameters, center of mass position parameters and rotational moment of inertia parameters.

Benefits of technology

It reduces the difficulty of modeling and data acquisition of dynamic models, simplifies the parameter identification process, and improves the accuracy and efficiency of parameter identification.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115480483B_ABST
    Figure CN115480483B_ABST
Patent Text Reader

Abstract

This application discloses a method, apparatus, device, and medium for identifying the dynamic parameters of a robot, relating to the field of robot control. The method comprises: determining the robot's geometric information based on its kinematic model; constructing a dynamic model of the robot based on the geometric information; and employing a nonlinear optimization method to perform parameter identification on target parameters in the dynamic model to obtain identified values of the target parameters, wherein the target parameters include at least one of the robot's mass parameter, center of mass position parameter, and moment of inertia parameter.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robot control, and in particular to a method, device, equipment and medium for identifying the dynamic parameters of a robot. Background Art

[0002] Parameter identification technology is a technique that combines theoretical models and experimental data for prediction. Robot dynamic parameter identification is the process of processing the robot's dynamic model to obtain the numerical values of the dynamic parameters of the robot's links.

[0003] In related technologies, it is usually necessary to design a robot's motion trajectory that satisfies multiple constraints in order to achieve linear optimization of the dynamics model, and then perform parameter identification on the linearly optimized dynamics model to obtain the corresponding dynamics parameters.

[0004] The linear optimization of the dynamic model requires the experimenters to have more professional knowledge of mathematics and robotics, which makes parameter identification more difficult. Summary of the Invention

[0005] The present invention provides a method, apparatus, device, and medium for identifying the dynamic parameters of a robot, which can achieve parameter identification of the dynamic model using a nonlinear optimization method without linear optimization of the dynamic model. The technical solution is as follows:

[0006] According to one aspect of the present application, a method for identifying dynamic parameters of a robot is provided, the method comprising:

[0007] Determine the robot's geometric information based on its kinematic model;

[0008] Construct the robot's dynamic model based on geometric information;

[0009] A nonlinear optimization method is used to perform parameter identification on target parameters in the dynamic model to obtain identification values of the target parameters, where the target parameters include at least one of the mass parameter, center of mass position parameter and moment of inertia parameter of the robot.

[0010] According to one aspect of the present application, a kinetic parameter identification device is provided, the device comprising:

[0011] A determination module, used for determining geometric information of the robot according to a kinematic model of the robot;

[0012] A construction module is used to construct a dynamic model of the robot based on geometric information;

[0013] The identification module is used to use a nonlinear optimization method to perform parameter identification on the target parameters in the dynamic model to obtain identification values of the target parameters, where the target parameters include at least one of the mass parameter, center of mass position parameter and moment of inertia parameter of the robot.

[0014] According to one aspect of the present application, a computer device is provided, which includes a processor and a memory, wherein the memory stores at least one program code, and the program code is loaded by the processor and executes the kinetic parameter identification method as described above.

[0015] According to one aspect of the present application, a computer-readable storage medium is provided, in which at least one program code is stored. The program code is loaded and executed by a processor to implement the kinetic parameter identification method as described above.

[0016] The beneficial effects of the technical solutions provided in the embodiments of the present application include at least:

[0017] The target parameters in the dynamic model are identified through nonlinear optimization methods. There is no need to perform linear optimization on the dynamic model. The motion trajectory of the robot under normal working conditions can provide the information required for parameter identification, which reduces the difficulty of modeling the robot's dynamic model and the difficulty of data acquisition, thereby reducing the difficulty of parameter identification. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0019] Figure 1 This is a schematic diagram of an application scenario provided by an exemplary embodiment of the present application;

[0020] Figure 2 is a flow chart of a method for identifying dynamic parameters of a robot provided by an exemplary embodiment of the present application;

[0021] Figure 3 is a flow chart of a method for identifying dynamic parameters of a robot provided by an exemplary embodiment of the present application;

[0022] Figure 4 is a flow chart of a method for identifying dynamic parameters of a robot provided by an exemplary embodiment of the present application;

[0023] Figure 5 is a structural diagram of a robot provided by an exemplary embodiment of the present application;

[0024] Figure 6 is a simplified diagram of a coordinate system of a robot provided by an exemplary embodiment of the present application;

[0025] Figure 7 is a structural diagram of a robot provided by an exemplary embodiment of the present application;

[0026] Figure 8 is a structural diagram of a robot provided by an exemplary embodiment of the present application;

[0027] Figure 9 is a flow chart of a method for identifying dynamic parameters of a robot provided by an exemplary embodiment of the present application;

[0028] Figure 10 is a structural diagram of a robot provided by an exemplary embodiment of the present application;

[0029] Figure 11 is a flow chart of a method for identifying dynamic parameters of a robot provided by an exemplary embodiment of the present application;

[0030] Figure 12 is a structural diagram of a robot dynamic parameter identification device provided by an exemplary embodiment of the present application;

[0031] Figure 13 It is a structural block diagram of a computer device provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0032] In order to make the objectives, technical solutions and advantages of this application clearer, the implementation methods of this application will be further described in detail below with reference to the accompanying drawings.

[0033] Artificial Intelligence (AI) refers to the theories, methods, techniques, and application systems that use digital computers or machines controlled by digital computers to simulate, extend, and expand human intelligence, to perceive the environment, acquire knowledge, and use that knowledge to achieve optimal results. In other words, AI is a comprehensive technology within computer science that seeks to understand the essence of intelligence and produce new intelligent machines that can respond in a manner similar to human intelligence. AI also studies the design principles and implementation methods of various intelligent machines, enabling them to possess the capabilities of perception, reasoning, and decision-making.

[0034] Artificial intelligence (AI) technology is a comprehensive discipline encompassing a wide range of fields, encompassing both hardware and software technologies. Foundational AI technologies generally include sensors, specialized AI chips, cloud computing, distributed storage, big data processing, operating / interaction systems, and mechatronics. AI software technologies primarily encompass computer vision, speech processing, natural language processing, and machine learning / deep learning.

[0035] When artificial intelligence technology is applied to the control of robots, Figure 1 A schematic diagram of an application scenario of dynamic parameter identification of a robot provided in an embodiment of the present application is shown.

[0036] The robot 100 and the computer device 200 are in communication connection, the computer device 200 sends the desired mapping model to the robot 100, and the robot 100 controls the movement of the robot according to the desired mapping model.

[0037] Specifically, the robot 100 may be a robot of any configuration, including but not limited to at least one of a serial robot, a parallel robot, a legged robot, a wheeled robot, and a tracked robot.

[0038] The following takes the robot 100 as an example, which is a wheel-legged robot.

[0039] A wheel-legged robot is a robot structure that uses a wheel structure to control the motion of the robot body. Since the contact points between the wheel-legged robot and the ground only include the contact points between the wheels and the ground, there is a problem of balance control when the wheel structure arrangement itself is unstable.

[0040] In this embodiment of the present application, the wheel-legged robot is implemented as a wheeled bipedal robot as an example. That is, the wheeled bipedal robot includes two wheels for movement, and the two wheels are respectively connected to the leg structure, and the leg structure is connected to the robot body, so that the two wheels drive the robot body to achieve motion control. However, it should be understood that the wheel-legged robot in this application is not limited to the above structure. Any wheel-legged robot should be understood as any robot that includes a wheeled structure.

[0041] Indicatively, Figure 1 As shown, the robot 100 includes a base portion 110 and wheel and leg portions 120 .

[0042] The base portion 110 is connected to the wheel leg portion 120, and the wheel leg portion 120 includes two wheels 121 and a leg structure 122 for connecting the wheels 121 and the base portion 110. Figure 1As shown, the robot 100 includes four leg structures 122 , and two of the four leg structures 122 are connected to one wheel 121 , respectively.

[0043] Schematically, there are leg structure A, leg structure B, leg structure C and leg structure D, and leg structure A and leg structure B are connected to the left wheel, and leg structure C and leg structure D are connected to the right wheel.

[0044] The two-legged parallel structure of the wheel-legged robot, consisting of leg structures A and B and the left wheel, and leg structures C and D and the right wheel, forms the parallel structure of the two legs. These parallel legs have five rotational joints, each with two degrees of freedom in the lateral and vertical directions. Compared to serial mechanisms, this parallel mechanism offers a compact structure, high rigidity, and greater load-bearing capacity. This allows the robot to leap higher and flexibly overcome obstacles.

[0045] Schematically, the robot dynamic parameter identification method can be applied to robots of any configuration.

[0046] Combined with the above content, Figure 2 This is a flow chart of a method for identifying the dynamic parameters of a robot provided by an embodiment of the present application. This method can be implemented in Figure 1 In the application scenario shown in FIG. Taking the robot dynamic parameter identification method executed by the computer device 200 as an example, the schematic diagram is as follows Figure 2 As shown, the method includes the following steps:

[0047] Step 102: Determine the geometric information of the robot based on the kinematic model of the robot.

[0048] The kinematic model is used to describe the changes in the robot's position, velocity, and acceleration over time from a geometric perspective. It does not involve information such as the physical properties of the robot itself and the forces applied to the robot.

[0049] Based on this, the geometric information of the robot can be determined according to the kinematic model.

[0050] Illustratively, the geometric information includes but is not limited to at least one of the following information: joint angles of the robot and link shape and position information. Link shape and position information refers to geometric information related to the robot's links, including at least one of shape and position.

[0051] Optionally, geometric information includes joint angles, link lengths, and relative pose descriptions between joints. Pose refers to the robot's position and posture. Robots are typically composed of a series of components and kinematic joints, enabling complex motions and predetermined operations in three-dimensional space. The relative pose description between joints describes the motion between two joints.

[0052] Schematically, the kinematic model can be constructed based on the transformation matrix between adjacent links of the robot.

[0053] Step 104: Construct a dynamic model of the robot based on the geometric information.

[0054] The robot's dynamics model describes the relationship between the robot's forces and the object's motion. Dynamics models can be expressed in a variety of ways, such as using the Lagrange equations or the Newton-Euler equations.

[0055] In order to describe the relationship between the robot's force and the object's motion, it is necessary to obtain information such as the robot's position and joint angles.

[0056] Based on the above, the robot's geometric information can be determined based on the kinematic model. This geometric information includes, but is not limited to, at least one of the following: the robot's joint angles and the robot's link geometry. Link geometry refers to geometric information related to the robot's links, including at least one of their shape and position.

[0057] Based on this, the dynamic model of the robot can be constructed.

[0058] Optionally, the dynamic model of the robot can be constructed in the following manner: constructing a static model of the robot based on the robot's geometric information; and constructing an inertia and friction model of the robot based on the robot's static model.

[0059] The statics model, schematically, describes the forces acting on the robot when it is in static equilibrium. This equilibrium state is defined with the Earth as the reference frame and refers to the state of an object at rest or in uniform linear motion relative to an inertial reference frame, i.e., a state of zero acceleration. The inertia and friction model describes the forces acting on the robot due to joint friction and can be constructed based on a subset of the parameters in the statics model.

[0060] Step 106: Using a nonlinear optimization method, perform parameter identification on the target parameters in the dynamic model to obtain identification values of the target parameters.

[0061] Parameter identification refers to the identification of unknown parameters in the theoretical model based on the theoretical model and experimental data to obtain the definite values of the unknown parameters, so that the numerical results obtained through the theoretical model can achieve a better fitting effect.

[0062] This is equivalent to performing parameter identification on the dynamic model, and obtaining the identification value of the model parameter. The identification value will make the numerical result obtained according to the dynamic model closer to the true value.

[0063] Schematically, the target parameters may also be referred to as dynamic parameters. The target parameters are part or all of the model parameters in the dynamic model. The target parameters include at least one of the robot's mass parameters, center of mass position parameters, and moment of inertia parameters.

[0064] Among them, the quality parameter can be m i Indicates that the center of mass position parameter can be used r ci Indicates that the moment of inertia parameter can be used c Indicates that i is used to indicate the i-th link, and c is used to indicate the coordinate system where the center of mass is located.

[0065] Specifically, the center of mass position parameter refers to the coordinate value of the center of mass in three-dimensional space, which can be expressed as The moment of inertia is a measure of the inertia of a rigid body when it rotates around an axis (the property of a rotating object to maintain its uniform circular motion or remain stationary). It means that it includes six variables, that is, the moment of inertia parameters include six parameters.

[0066] Equivalently, the target parameter refers to at least one of a mass parameter, three center of mass position parameters and six moment of inertia parameters.

[0067] In step 106, the target parameters in the dynamic model are identified using a nonlinear optimization method, which refers to performing nonlinear optimization processing on the dynamic model. The nonlinear optimization processing may be performed using a nonlinear optimization algorithm.

[0068] Optionally, after obtaining the identification values of the model parameters, the accuracy of the identification values of the model parameters may be determined, and when the model parameters meet the accuracy requirements, the identification values of the target parameters in the dynamic model are determined.

[0069] To sum up, in the robot dynamic parameter identification method provided in the embodiment of the present application, the target parameters in the dynamic model are identified by a nonlinear optimization method, and there is no need to perform linear optimization on the dynamic model. The motion trajectory of the robot under normal working conditions can provide the information required for parameter identification, which reduces the modeling difficulty and data acquisition difficulty of the robot's dynamic model, thereby reducing the difficulty of parameter identification.

[0070] Combined with the above content, Figure 3 The flow chart of the kinetic parameter identification method provided in the embodiment of the present application is shown. The method can be implemented in Figure 1 In the application scenario shown in FIG, taking the robot dynamic parameter identification method executed by the computer device 200 as an example, the method includes the following steps:

[0071] Step 202: Determine the geometric information of the robot based on the kinematic model of the robot.

[0072] Schematically, the kinematic model can be constructed based on the transformation matrix between adjacent links of the robot.

[0073] According to the above content, the geometric information includes but is not limited to at least one of the following information: the robot's joint angles and the connecting rod shape and position information. The connecting rod shape and position information refers to the geometric information related to the robot's connecting rod, including at least one of the shape and position.

[0074] Schematically, step 202 is the same as step 102 and can be used for reference only and will not be described in detail.

[0075] Step 204: Construct a dynamic model of the robot based on the geometric information.

[0076] The robot's dynamics model describes the relationship between the robot's forces and the object's motion. Dynamics models can be expressed in a variety of ways, such as using the Lagrange equations or the Newton-Euler equations.

[0077] Optionally, the dynamic model of the robot can be constructed in the following manner: constructing a static model of the robot based on the robot's geometric information; and constructing an inertia and friction model of the robot based on the robot's static model.

[0078] To describe the relationship between the robot's force and the object's motion, it is necessary to obtain information such as the robot's position and joint angles. Based on the above content, the robot's geometric information can be determined based on the kinematic model.

[0079] Schematically, step 204 is the same as step 104 and can be used for reference only and will not be described in detail.

[0080] Step 206: Collect data information for parameter identification.

[0081] Parameter identification refers to the identification of unknown parameters in the theoretical model based on the theoretical model and experimental data to obtain the definite values of the unknown parameters, so that the numerical results obtained through the theoretical model can achieve a better fitting effect.

[0082] This is equivalent to performing parameter identification on the dynamic model, and obtaining the identification value of the model parameter. The identification value will make the numerical result obtained according to the dynamic model closer to the true value.

[0083] According to the above content, the dynamic model includes multiple unknown model parameters. At the same time, the dynamic model also includes other parameters that are known to be constants. These parameters need to be collected before parameter identification so that the dynamic model only includes unknown model parameters.

[0084] Based on this, data information includes identification data and verification data.

[0085] The identification data is used to identify the parameters of the dynamic model, and the verification data is used to verify the identification values of the model parameters.

[0086] Specifically, identification data and verification data can be collected based on the robot's motion trajectory. The robot's motion trajectory is also called an excitation trajectory. Optionally, the excitation trajectory includes, but is not limited to, one of the following: a sinusoidal excitation trajectory and a Fourier series excitation trajectory.

[0087] Specifically, during the robot's execution of the excitation trajectory, the joint angle q and joint angular velocity can be collected. Joint angular acceleration and multiple sets of data of the current value of the motor current i, of which the identification data and the verification data are one or more sets respectively.

[0088] Step 208: Based on the data information, perform nonlinear optimization processing on the model parameters in the dynamic model to obtain identification values of the model parameters.

[0089] Among them, nonlinear optimization processing refers to the identification processing of model parameters in the dynamic model using nonlinear optimization methods.

[0090] Optionally, the nonlinear optimization process uses a nonlinear optimization algorithm. Schematically, the nonlinear optimization algorithm includes at least one of the following algorithms: maximum likelihood estimation method, iterative algorithm, variable scaling method, least squares method, simplex search method, complex search method, and random search method.

[0091] Schematically, the model parameters include target parameters. That is, the dynamic model includes multiple unknown model parameters, and the multiple unknown model parameters can form a parameter set, and the target parameter is a part of the parameter set.

[0092] According to the above content, the target parameters can also be called dynamic parameters. The target parameters are part or all of the model parameters in the dynamic model. The target parameters include at least one of the robot's mass parameters, center of mass position parameters and moment of inertia parameters.

[0093] Illustratively, step 208 may be implemented as follows:

[0094] Substitute the joint motion parameters and current values into the dynamic model to obtain an updated dynamic model;

[0095] The updated dynamic model is processed using a nonlinear optimization algorithm to obtain the identification values of the model parameters.

[0096] Among them, the nonlinear optimization algorithm includes at least one of the following algorithms: maximum likelihood estimation method, iterative algorithm, variable scaling method, least squares method, simplex search method, composite search method, and random search method.

[0097] The data information used for parameter identification includes joint angle q, joint angular velocity Joint angular acceleration and current value i as an example, that is, the joint angle q, joint angular velocity Joint angular acceleration The current value i is substituted into the kinetic model to obtain an updated kinetic model, which only includes unknown model parameters. Subsequently, a nonlinear optimization algorithm is used to process the updated kinetic model.

[0098] This is equivalent to using the arg(f) function to obtain the identification values of the model parameters in the dynamic model, where the model parameters include a single parameter or a set of parameters.

[0099] The arg(f) function is a function that finds a parameter or set of parameters of an objective function (f). Specifically, the argmin(f) function is a function that finds a parameter or set of parameters when the objective function (f) takes its minimum value.

[0100] Step 210: When the identified values of the model parameters meet the preset accuracy, determine the identified values of the target parameters.

[0101] After the parameters of the dynamic model are identified, the identification values of the model parameters can be obtained. In order to improve the accuracy of the model parameters, it is necessary to perform accuracy judgment on the identification values of the model parameters.

[0102] Illustratively, the preset accuracy is used to determine the accuracy of the identified values of the model parameters.

[0103] As mentioned above, target parameters, also known as dynamic parameters, are part or all of the model parameters in the dynamic model. Target parameters include at least one of the robot's mass parameter, center of mass position parameter, and moment of inertia parameter. In other words, target parameters are part or all of the model parameters.

[0104] According to step 208, the identification values of the model parameters of the dynamic model can be obtained. Based on this, the accuracy of the model parameters is judged. If the identification values of the model parameters meet the accuracy requirements, the numerical value corresponding to the target parameter is determined as the target identification value.

[0105] To sum up, in the method for identifying the dynamic parameters of a robot provided in the embodiment of the present application, the model parameters in the dynamic model are nonlinearly optimized to obtain the identification values of the model parameters. There is no need to perform linear optimization on the dynamic model. The motion trajectory of the robot under normal working conditions can provide the information required for parameter identification, which reduces the modeling difficulty and data acquisition difficulty of the robot's dynamic model, thereby reducing the difficulty of parameter identification; and when the identification value of the model parameter meets the preset accuracy, the identification value corresponding to the target parameter is determined, which reduces the modeling difficulty of the robot's dynamic model, reduces the difficulty of adjusting the parameter weight, and thus reduces the difficulty of parameter identification.

[0106] According to the above content, there are many ways to construct the dynamic model of a robot. The embodiment of the present application provides an optional construction method: constructing the static model of the robot based on the robot's geometric information; constructing the inertia and friction model of the robot based on the static model of the robot.

[0107] Indicative, Figure 4 A flowchart of a method for identifying the dynamic parameters of a robot provided by another embodiment of the present application is shown. The method can be implemented in Figure 1 In the application scenario shown in FIG, taking the robot dynamic parameter identification method executed by the computer device 200 as an example, the method includes the following steps:

[0108] Step 302: Determine the geometric information of the robot according to the kinematic model of the robot.

[0109] Schematically, the kinematic model can be constructed based on the transformation matrix between adjacent links of the robot.

[0110] According to the above content, the geometric information includes but is not limited to at least one of the following information: the robot's joint angles and the connecting rod shape and position information. The connecting rod shape and position information refers to the geometric information related to the robot's connecting rod, including at least one of the shape and position.

[0111] Schematically, step 302 is the same as step 102 and can be used for reference only and will not be described in detail.

[0112] Step 304: Construct a static model of the robot based on the geometric information.

[0113] Schematic,static model, used to describe the force conditions when the robot is in static equilibrium.

[0114] Among them, the equilibrium state is determined with the earth as the reference system, which means that the object is in a state of rest or uniform linear motion relative to the inertial reference system, that is, the state of zero acceleration.

[0115] Illustratively, step 304 may be implemented as follows:

[0116] Determine the mass parameters and center of mass position parameters based on the geometric information;

[0117] Generate the center of mass parameter of the robot according to the mass parameter and the center of mass position parameter. The center of mass parameter is used to describe the equilibrium state of each link in the robot.

[0118] A statics model is constructed based on the center of mass parameter terms and the center of mass dynamics equation.

[0119] Among them, the quality parameter can be m i Indicates that the center of mass position parameter can be used r ci Taking the geometric information including joint angle and connecting rod shape information as an example, the mass parameter and center of mass position parameter can be expressed by the matrix p G To express, where the matrix p G is the position of the robot's center of mass in the world coordinate system. The world coordinate system is the robot's absolute coordinate system, and other coordinate systems can be converted to and from the world coordinate system.

[0120] Indicatively, Figure 5 As shown, taking the wheel-legged robot as an example, the wheel-legged robot includes a base portion 110 and a wheel-leg portion 120 .

[0121] The base portion 110 is connected to the wheel leg portion 120, and the wheel leg portion 120 includes two wheels 121 and a leg structure 122 for connecting the wheels 121 and the base portion 110. Figure 1 , the robot 100 includes a total of four leg structures 122 ( Figure 5 (not shown), two of the four leg structures 122 are connected to a wheel 121. Schematically, there are leg structure A, leg structure B, leg structure C, and leg structure D, where leg structure A and leg structure B are connected to the left wheel, and leg structure C and leg structure D are connected to the right wheel.

[0122] Optionally, the wheel-legged robot further includes a tail 130 , which is connected to the main body 110 and is used to provide balance support for the wheel-legged robot, assist the wheel-legged part 120 in walking, or for other purposes.

[0123] Indicative, Figure 6 is based on Figure 5 A simplified diagram of the coordinate system of the constructed robot.

[0124] Among them, O mocap Represents the world coordinate system of the motion capture system (Mocap), which is used to measure the position or posture of the robot. i Used to identify the joint coordinate system of the robot's i-th link, M iUsed to indicate snap points fixed to the robot.

[0125] For example, M0 is used to indicate the snap point fixed on the main part, and M3 is used to indicate the snap point fixed on the end link. Figure 5 and Figure 6 M3 has three points, which are fixed on the ends of the left and right wheels 121 and the tail 130.

[0126] Matrix p G That is the position of the robot's center of mass under the motion capture system.

[0127] For matrix p G Performing an XOR operation (^ operation) yields That is, the center of mass parameter item of the robot is generated according to the mass parameter and the center of mass position parameter.

[0128] Optionally, the centroid parameter term can be expressed as follows:

[0129] Among them, m i is the quality parameter, r ci is the center of mass position parameter, matrix p G is the position of the robot's center of mass in the world coordinate system, and the center of mass parameter term is the matrix p G The diagonal matrix obtained by performing an XOR operation.

[0130] In the case of robot motion, there is a dynamic equation for the robot's center of mass, which can be expressed as follows: In this formula, the first three lines are Newton's laws, and the last three lines are Euler's equations. The two together describe the relationship between the robot's motion and the external forces it receives.

[0131] Where m is the total mass of the robot, g is the acceleration due to gravity, is the matrix p G The second derivative of L is the angular momentum of the robot body about the center of mass, I 3×3 is the 3D identity matrix, r i is the position of the ith contact point between the robot and the ground in the world coordinate system (absolute coordinate system), f i is the force at the i-th contact point.

[0132] According to the above, in equilibrium, the object is at rest or in uniform linear motion relative to the inertial reference frame, that is, the statics model is constructed under the state of zero acceleration. That is, when the various links in the robot are in equilibrium, Usually 0.

[0133] Based on this, when the robot remains stationary, there is

[0134] According to the center of mass parameter term and the center of mass dynamics equation, Substituting the center of mass dynamics equation into the equation, a statics model can be constructed. The statics model can be expressed as follows:

[0135] Where m is the total mass of the robot, g is the acceleration due to gravity, L is the angular momentum of the robot body about the center of mass, and N C is the number of contact points, I 3×3 is the 3D identity matrix, r i is the position of the ith contact point between the robot and the ground in the world coordinate system (absolute coordinate system), f i is the force acting on the ith contact point, is the centroid parameter item.

[0136] Schematically, the construction of the statics model needs to meet the constraints. Depending on the configuration of the robot, there are many kinds of constraints for the statics model, which are described in detail as follows:

[0137] 1. General constraints.

[0138] Illustratively, the static model satisfies at least one of a geometric constraint and a first physical constraint.

[0139] Among them, the geometric constraint is used to constrain the position of the center of mass of each link of the robot; the first physical constraint is used to constrain the mass of a single link of the robot and the sum of the masses of some links.

[0140] Schematically, the geometric constraints can be expressed as follows: min <r ci <r max That is, the center of mass of each link of the robot is within its size bounding box.

[0141] Schematically, the first physical constraint can be expressed as follows: Where m is the mass of the connecting rod, i and j are used to indicate the i-th and j-th connecting rods, respectively. The first physical constraint is also called the non-negative mass constraint.

[0142] 2. Constraints corresponding to wheel-legged robots.

[0143] refer to Figure 5 and Figure 7 Taking the wheel-legged robot as an example, the wheel-legged robot includes links 01 and 02 on the left and right sides, and the links on the left and right sides are of the same type. Based on this, the static model satisfies the first symmetry constraint.

[0144] Among them, the first symmetry constraint is used to constrain at least one of the mass and center of mass position of the same connecting rod of the wheel-legged robot.

[0145] Schematically, the first symmetry constraint can be expressed as follows: Where m is the mass of the connecting rod, r is the center of mass of the connecting rod, and L and R are used to indicate the left or right side of the wheel-legged robot.

[0146] Step 306: Construct the inertia and friction model of the robot based on the statics model.

[0147] Schematically, the inertia and friction model is used to describe the force situation of the robot under the influence of joint friction, and can be constructed based on part of the parameter information in the statics model.

[0148] Based on this, step 306 can be implemented as follows:

[0149] According to the mass parameters and center of mass position parameters in the statics model and the dynamic equations of the robot, the inertia and friction model is constructed.

[0150] Schematically, the kinetic equation can be expressed as follows:

[0151] Where q is the joint angle, is the joint angular velocity, is the joint angular acceleration, H(q) is the inertia matrix of the robot, is the centrifugal force matrix of the robot, G(q) is the gravity matrix of the robot, τ is the driving torque required for the robot to maintain the current state, is the Jacobian matrix of the i-th contact point, f i is the force at the i-th contact point.

[0152] Schematically, the inertia matrix, centrifugal force matrix and gravity matrix can be set according to actual needs and are not limited here.

[0153] According to the above content, the mass parameters and center of mass position parameters can be obtained through the statics model.

[0154] Combining mass parameters, center of mass position parameters, and dynamic equations, the inertia and friction model can be expressed as follows:

[0155] Among them, func ID It is the abbreviation of the inverse dynamics equation (see below for details), func ID According to the kinetic equation, I c is the moment of inertia parameter, sign is the sign function, is the joint angular velocity, i is the motor current, r i is the position of the robot’s ith contact point with the ground in the world coordinate system, f i is the force at the i-th contact point.

[0156] Based on this, the steps are to construct an inertia and friction model based on the mass parameters and center of mass position parameters in the statics model and the dynamic equations of the robot, which can be implemented as follows:

[0157] According to the dynamic equation, determine the inverse dynamic equation of the robot. The inverse dynamic equation is used to describe the moment of inertia of each link in the robot under the center of mass system.

[0158] Determine a joint friction model of the robot and a mapping model corresponding to a motor current of the robot;

[0159] An inertia and friction model is generated according to mass parameters, center of mass position parameters, inverse dynamics equations, joint friction model, and mapping model.

[0160] Optionally, based on the specific expression of the dynamics equation, the inverse dynamics equation can be expressed as follows:

[0161] Where q is the joint angle, is the joint angular velocity, is the joint angular acceleration, m i is the quality parameter, r ci is the center of mass location parameter, I c is the moment of inertia parameter, τ is the driving torque required for the robot to maintain its current state, is the Jacobian matrix of the i-th contact point, f i is the force at the i-th contact point.

[0162] Specifically, the quality parameter m i and the center of mass location parameter r ci It can be obtained through the statics model. Therefore, in the inverse dynamics equation, the mass parameter and the center of mass position parameter can be expressed as a fixed value or as an unknown parameter. In the formula shown above, the mass parameter and the center of mass position parameter are expressed as fixed values.

[0163] Schematic,joint friction model used to describe the joint friction force of the robot joint.

[0164] Depending on the robot's configuration, the corresponding joint friction forces of the robot's joints vary. Specifically, joint friction forces are generated by factors such as the robot's transmission method, machining and assembly errors of joint parts, and the degree of wear and tear. These factors all affect joint motion data. Illustratively, joint motion data includes at least one of the following: joint angles of the robot's joints, joint angular velocities of the robot's joints, and joint angular accelerations of the robot's joints.

[0165] Therefore, according to the causes of joint friction, it can be seen that joint friction is related to the joint angle, joint angular velocity, and joint angular acceleration of the robot joint. In other words, joint friction is affected by the joint motion data.

[0166] Alternatively, the joint friction model can be expressed as follows: Among them, τ f is the joint friction force, sign is the sign function, is the joint angular velocity.

[0167] Schematically, the joint friction model can be described using a polynomial basis, a trigonometric function basis, an exponential function basis, etc. of any order. The above formula is only an example and this application does not limit it.

[0168] Schematically, the mapping model corresponding to the motor current of the robot is used to describe the mapping relationship between the output torque of the robot joint and the motor current, and the mapping relationship can be nonlinear or linear.

[0169] Optionally, the mapping model can be expressed as follows: m =k1i. Where, τ m is the output torque, k i is the torque coefficient, and i is the motor current.

[0170] Schematically, similar to the joint friction model, the mapping model can also be described in the form of any order. The above formula is only an example and this application does not limit it.

[0171] During the robot control process, according to the principle of conservation of energy, part of the output torque of the robot joint is used to generate friction and part is used to generate motion.

[0172] That is, the robot joints need to meet the following constraints: Among them, τ m is the output torque, τ f is the joint friction, is the Jacobian matrix of the robot’s i-th contact point, f i is the force acting on the robot's i-th contact point. The output torque is equivalent to the sum of the joint friction, driving torque, and the forces acting on multiple contact points.

[0173] When the mass parameter and the center of mass position parameter are expressed as fixed values, according to the above constraints and the inverse kinematics equation, τ m =τ f +func ID (I c ).

[0174] Simultaneous joint friction model, mapping model and τ m =τ f +func ID (I c ) can be obtained from the inertia and friction model, which can be expressed as follows:

[0175] Among them, func ID is the inverse dynamics equation, I c is the moment of inertia parameter, sign is the sign function, is the joint angular velocity, i is the motor current, r i is the position of the robot’s ith contact point with the ground in the world coordinate system, f i is the force at the i-th contact point.

[0176] Similar to the statics model, the construction of the inertia and friction model also needs to meet the constraints. Depending on the configuration of the robot, there are many different constraints for the inertia and friction model, which are explained in detail as follows:

[0177] 1. General constraints.

[0178] Illustratively, the inertia and friction model satisfies at least one of a first boundary constraint and a second physical constraint.

[0179] The first boundary constraint is used to constrain the boundaries of the moment of inertia of each link of the robot; the second physical constraint is used to constrain the rotation axis corresponding to the moment of inertia of each link of the robot.

[0180] Schematically, the first boundary constraint can be expressed as follows: in, is the moment of inertia of the i-th link, and k, a, b, c, and d are model parameters of the inertia and friction model. This is equivalent to limiting the range of values of the robot's moment of inertia and the parameters in the inertia and friction model.

[0181] Schematically, the second physical constraint can be expressed as follows: in, and Used to indicate the rotation axis corresponding to the moment of inertia.

[0182] 2. Constraints corresponding to wheel-legged robots.

[0183] refer to Figure 5 and Figure 7 Taking a wheel-legged robot as an example, the wheel-legged robot includes links 01 and 02 on the left and right sides, and the links on the left and right sides are of the same type. Based on this, the inertia and friction model satisfies the second symmetry constraint.

[0184] Among them, the second symmetry constraint is used to constrain the moment of inertia parameter value of the same link of the wheel-legged robot.

[0185] Schematically, the second symmetry constraint can be expressed as follows: Where m is the mass of the connecting rod, r is the center of mass of the connecting rod, and L and R are used to indicate the left or right side of the wheel-legged robot.

[0186] Step 308: Using a nonlinear optimization method, perform parameter identification on the target parameters in the statics model and the inertia and friction model to obtain identification values of the target parameters.

[0187] According to the above content, parameter identification of the statics model and the inertia and friction model can obtain identification values of the model parameters, which will make the numerical results obtained according to the statics model and the inertia and friction model closer to the true values.

[0188] Optionally, after obtaining the identification value of the model parameter, the accuracy of the identification value of the model parameter may be determined, and when the model parameter meets the accuracy requirement, the identification value of the target parameter is determined.

[0189] Schematically, the target parameters can also be called dynamic parameters. The target parameters are part or all of the model parameters in the static model and the inertia and friction model. The target parameters include at least one of the robot's mass parameters, center of mass position parameters, and moment of inertia parameters. Among them, the mass parameters can be expressed as m i Indicates that the center of mass position parameter can be used r ci Indicates that the moment of inertia parameter can be used c express.

[0190] Specifically, the target parameter in the statics model includes at least one of a mass parameter and a center of mass position parameter, and the target parameter in the inertia and friction model includes a rotational inertia parameter.

[0191] Using a nonlinear optimization method to identify target parameters in the statics model and the inertia and friction model refers to performing nonlinear optimization processing on the statics model and the inertia and friction model respectively. The nonlinear optimization processing can be performed using a nonlinear optimization algorithm.

[0192] Illustratively, step 308 may be implemented as follows:

[0193] Perform parameter identification on the mass parameters and center of mass position parameters in the statics model to obtain the identification values of the mass parameters and center of mass position parameters; perform parameter identification on the moment of inertia parameters in the inertia and friction model to obtain the identification value of the moment of inertia parameters;

[0194] or,

[0195] Parameter identification is performed on the mass parameters and center of mass position parameters in the statics model to obtain identification values of the mass parameters and center of mass position parameters; when the identification values of the mass parameters and center of mass position parameters meet the preset accuracy, parameter identification is performed on the moment of inertia parameters in the inertia and friction model to obtain identification values of the moment of inertia parameters.

[0196] This is equivalent to performing parameter identification on each of the statics model and the inertia and friction model after they are constructed separately; or, after the statics model is constructed, performing parameter identification on the statics model first, and then performing parameter identification on the inertia and friction model when the identification values of the obtained mass parameters and center of mass position parameters meet the preset accuracy.

[0197] The specific process of parameter identification is described as follows:

[0198] 1. Parameter identification of static model.

[0199] Alternatively, the statics model can be expressed as:

[0200] Where m is the total mass of the robot, g is the acceleration due to gravity, L is the angular momentum of the robot body about the center of mass, and N C is the number of contact points, I 3×3 is the 3D identity matrix, r i is the position of the ith contact point between the robot and the ground in the world coordinate system (absolute coordinate system), f i is the force acting on the ith contact point, is the center of mass parameter item, which includes the mass parameter m i and the center of mass location parameter r ci .

[0201] Based on this, the steps are to perform parameter identification on the mass parameters and center of mass position parameters in the statics model to obtain the identification values of the mass parameters and center of mass position parameters, which can be implemented as follows:

[0202] Collect static data of the robot;

[0203] According to the statics data, a nonlinear optimization process is performed on first model parameters in the statics model to obtain identification values of the first model parameters, where the first model parameters include a mass parameter and a center of mass position parameter;

[0204] When the identified value of the first model parameter satisfies the preset accuracy, it is determined as the identified value of the mass parameter and the center of mass position parameter.

[0205] Illustratively, the first model parameters include a mass parameter and a center of mass position parameter.

[0206] According to the above content, the statics model includes multiple parameters, in addition to the center of mass parameter item including mass parameter and center of mass position parameter In addition, it also includes the total mass m of the robot, the angular momentum L of the robot body about the center of mass, the contact point position r i The force f at the contact point i The above parameters can be considered as part of the statics data of the robot. That is, the statics data includes but is not limited to at least one of the total mass of the robot, the angular momentum of the robot body about the center of mass, the position of the contact points, and the force acting on the contact points.

[0207] Schematically, there are many ways to collect static data. For example, the total mass of the robot can be obtained by weighing.

[0208] Optionally, the step of collecting static data of the robot may be implemented as follows: acquiring static data based on detection data provided by an external detection instrument. The external detection instrument includes at least one of the following: a laser tracker, a visual camera, a motion capture system, and a force plate.

[0209] refer to Figure 8 Taking the case where the robot is a wheel-legged robot as an example, the contact point position and the force acting on the contact point can be obtained through the force plate 03.

[0210] Place the wheel-legged robot on the force plate 03 and change the configuration of the wheel-legged robot, for example, from configuration 1 to configuration 2, and measure the force f at the contact point between the wheel-legged robot and the force plate 03. i .

[0211] At the same time, based on the six-dimensional contact force information provided by the force plate 03, the contact point position of the wheel-legged robot on the force plate 03 in the current configuration can also be calculated.

[0212] For schematic purposes, the coordinate system definition of force plate 03 can be found in Figure 6 Contact point position r i It can be expressed by the following formula: and r iz = 0. Among them, M yand M x They are the torque outputs of the force plate 03 in the y direction and the x direction, f iz is the support force of the force plate 03 on the robot (equivalent to the force f at the contact point i ) on the weight of Z discovery.

[0213] After the statics data is collected, the statics data is substituted into the statics model to obtain an updated statics model; then, a nonlinear optimization algorithm is used to process the updated statics model to obtain an identification value of a first model parameter.

[0214] Schematically, the updated statics model can be expressed as follows:

[0215]

[0216] The arg(f) function is a function that finds a parameter or set of parameters of an objective function (f). Specifically, the argmin(f) function is a function that finds a parameter or set of parameters when the objective function (f) takes its minimum value.

[0217] That is, according to the updated statics model, in the objective function The identification value of each parameter in the parameter set when the minimum value is taken. Among them, the parameter set includes the quality parameter m i and the center of mass location parameter r ci .

[0218] 2. Parameter identification of inertia and friction models.

[0219] Alternatively, the inertia and friction model can be expressed as:

[0220] Among them, func ID is the inverse dynamics equation, I c is the moment of inertia parameter, sign is the sign function, is the joint angular velocity, i is the motor current, r i is the position of the robot’s ith contact point with the ground in the world coordinate system, f i is the force at the i-th contact point.

[0221] Based on this, the step of performing parameter identification on the moment of inertia parameter in the inertia and friction model to obtain the identification value of the moment of inertia parameter can be implemented as follows:

[0222] Collect robot joint motion data and motor current;

[0223] performing nonlinear optimization processing on second model parameters in the inertia and friction model according to the joint motion data and the motor current to obtain identification values of the second model parameters, wherein the second model parameters include rotational inertia parameters;

[0224] When the identified value of the second model parameter satisfies the preset accuracy, the identified value of the moment of inertia parameter is determined.

[0225] Schematically, the second model parameters include moment of inertia parameters.

[0226] According to the above content, similar to the parameter identification of the static model, in addition to the moment of inertia parameters, the inertia and friction model also includes the joint angle q, joint angular velocity Joint angular acceleration and motor current i should be constant. Among them, joint angle q, joint angular velocity and joint angular acceleration Included in joint motion data.

[0227] Optionally, the step of collecting the robot's joint motion data and motor current can be implemented as follows: collecting joint motion parameters and current values according to the robot's motion trajectory.

[0228] The robot's motion trajectory is also called the excitation trajectory. Optionally, the excitation trajectory includes but is not limited to one of the following trajectories: a sinusoidal excitation trajectory, a Fourier series excitation trajectory. Specifically, during the robot's execution of the excitation trajectory, the joint angle q, the joint angular velocity, and the Joint angular acceleration and the value of the motor current i.

[0229] After collecting the joint motion parameters and current values, they are substituted into the inertia and friction model to obtain an updated inertia and friction model; then, a nonlinear optimization algorithm is used to process the updated inertia and friction model to obtain the identification values of the second model parameters.

[0230] Schematically, the updated inertia and friction model can be expressed as follows:

[0231]

[0232] The arg(f) function is a function that finds a parameter or set of parameters of an objective function (f). Specifically, the argmin(f) function is a function that finds a parameter or set of parameters when the objective function (f) takes its minimum value.

[0233] That is, according to the updated inertia and friction model, in the objective function The identification value of each parameter in the parameter set when the minimum value is taken. Among them, the parameter set includes the moment of inertia parameter I c .

[0234] To sum up, the embodiment of the present application provides a specific method for constructing the dynamic model of the robot. First, the static model of the robot is constructed, and then the inertia and friction model of the robot is constructed. According to the specific construction method of the dynamic model, two optional parameter identification methods are provided.

[0235] Specifically, by first performing parameter identification on the statics model and then constructing the inertia and friction models for parameter identification, the embodiment of the present application decouples the robot parameters into a statically identifiable part and a dynamically identifiable part for separate identification, thereby reducing the amount of parameter adjustment required for parameter identification and thus reducing the difficulty of parameter identification.

[0236] Combined with the above content, Figure 9 A flowchart of a method for identifying the dynamic parameters of a robot provided by another embodiment of the present application is shown. The method can be implemented in Figure 1 In the application scenario shown in FIG, taking the robot dynamic parameter identification method executed by the computer device 200 as an example, the method includes the following steps:

[0237] Step 502: Determine the transformation matrix between adjacent links of the robot.

[0238] A robot is typically composed of a series of components and kinematic joints. Each joint corresponds to a joint coordinate system, depending on the robot's joints. For example, the i-th joint corresponds to the i-th joint coordinate system, and the i-1-th joint corresponds to the i-1-th joint coordinate system.

[0239] Schematically, the transformation matrix between adjacent links is used to realize the position conversion of the links in two adjacent joint coordinate systems. That is, the position of a joint of the robot is represented differently in different joint coordinate systems, and the transformation matrix A matrix that can be used to describe the change in the position of a point from the i-joint coordinate system to the i-1-joint coordinate system.

[0240] Optionally, the transformation matrix can be expressed as follows:

[0241] Among them, i and i-1 are used to indicate the i-th joint and the i-1-th joint. In addition, q i is the joint angle of the i-th joint, is a matrix used to describe the position of the origin in the i-1 joint coordinate system, I 3×3 is the 3D identity matrix, is the rotation matrix of the i joint coordinate system relative to the i-1 joint coordinate system.

[0242] Schematically, the rotation matrix It can be determined in various forms, including but not limited to at least one of Euler angles, rotation vectors, and quaternions.

[0243] refer to Figure 6 The coordinate system diagram shown is as follows. Taking Euler angle as an example, the rotation matrix can be expressed as follows: Here, X, Y, and Z are used to indicate corresponding coordinate axes, and α, β, and γ are used to indicate rotation angles.

[0244] Step 504: Construct a kinematic model of the robot according to the transformation matrix.

[0245] The kinematic model is used to describe the changes of the robot's position, velocity, and acceleration over time from a geometric perspective.

[0246] refer to Figure 6 As well as the transformation matrix obtained in step 502, the pose transformation equation is needed to construct the kinematic model.

[0247] Illustratively, step 504 may be implemented as follows:

[0248] A kinematic model is constructed based on the transformation matrix and the robot's posture transformation equation.

[0249] Among them, the pose transformation equation is used to convert the position of the target point in a certain joint coordinate system into the pose in the base coordinate system.

[0250] Alternatively, the pose transformation equation can be expressed as follows: in, is the position of the target point c in the base coordinates, is a matrix used to describe the change in the position of the target point c from the i joint coordinate system to the i-1 joint coordinate system. is the position of the target point c in the i-joint coordinates.

[0251] Then, the pose transformation equation is rewritten as a function containing the kinematic error term, which can be expressed as follows: Where q is the joint angle, Δq is the joint angle error of the robot, ΔP is the relative position error between adjacent joint coordinate systems, and Δα, Δβ, and Δγ describe the RPY Euler angle form of the rotational deviation between adjacent joint coordinate systems.

[0252] refer to Figure 5 and Figure 6 , O i Used to identify the joint coordinate system of the robot's i-th link, M0 is used to indicate the capture point fixed on the main part, and M3 is used to indicate the capture point fixed on the end link. Figure 5 and Figure 6 M3 has three points, which are fixed on the ends of the left and right wheels 121 and the tail 130.

[0253] A kinematic model can be constructed based on the position or attitude measurement data provided by external measurement instruments, combined with the transformation matrix and posture transformation equations.

[0254] Schematically, the kinematic model can be expressed as follows: in, is the capture value, which is used to indicate the capture point M3 relative to the robot base coordinate system O at any time. O location; is the measured value, which is calculated according to the above functional form.

[0255] Similar to the statics model, inertia and friction model, the construction of the kinematic model also needs to meet constraints. Depending on the configuration of the robot, there are many kinds of constraints for the kinematic model, which are described in detail as follows:

[0256] 1. General constraints.

[0257] Schematically, the kinematic model satisfies the second boundary constraint.

[0258] The second boundary constraint is used to constrain the boundary of the error term corresponding to the structural installation of the robot.

[0259] Schematically, the second boundary constraint can be expressed by the following formula: min<Δq,ΔP,Δα,Δβ,Δγ<max.

[0260] 2. Constraints corresponding to wheel-legged robots.

[0261] refer to Figure 10 Taking the robot as a wheel-legged robot as an example, the kinematic model satisfies at least one of the first shape and position constraints and the second shape and position constraints.

[0262] Among them, the first shape and position constraint is used to constrain the equilibrium state of the open-chain connecting rod of the wheel-legged robot; the second shape and position constraint is used to constrain the closed configuration of multiple connecting rods of the wheel-legged robot.

[0263] Schematically, the first shape and position constraint can be expressed as follows: Among them, M3 is used to indicate the target point of the wheel-legged robot, O0 is used to indicate the base coordinates of the wheel-legged robot, and L and R are used to indicate the open-chain mechanism of the front or hind legs of the wheel-legged robot.

[0264] Schematically, the second shape constraint can be expressed as follows: Wherein, θ is an internal angle of the wheel-legged robot, Δθ is the error value of the internal angle, and L and R are used to indicate the left or right side of the wheel-legged robot.

[0265] Step 506: Perform parameter identification on the kinematic model to obtain geometric information.

[0266] According to the above content, the geometric information includes but is not limited to at least one of the following information: the robot's joint angles and the connecting rod shape and position information. The connecting rod shape and position information refers to the geometric information related to the robot's connecting rod, including at least one of the shape and position.

[0267] Illustratively, step 506 may be implemented as follows:

[0268] Determine the capture value and measurement value of the target joint point of the robot;

[0269] performing nonlinear optimization processing on third model parameters in the kinematic model according to the captured values and the measured values to obtain identification values of the third model parameters, wherein the third model parameters include parameters corresponding to the geometric information;

[0270] When the identified value of the third model parameter satisfies a preset accuracy, the geometric information is determined.

[0271] Specifically, refer to Figure 5 and Figure 6 , the capture point M3 is regarded as the target joint point, and its capture value can be obtained by measuring the motion capture system.

[0272] The measured values are determined as follows:

[0273] When the robot moves along any planned trajectory, the joint angle value of the robot can be obtained by reading the joint encoder; since the capture point is usually attached to the determined position of the robot's connecting rod by designing high-precision additional calibration parts, the capture point M3 is at the accurate position of the corresponding joint coordinate system. It can be obtained through corresponding instruments, such as directly through CAD; then, and joint angle values The measured value can be calculated.

[0274] Schematically, the step of performing nonlinear optimization processing on the third model parameter in the kinematic model according to the captured value and the measured value to obtain the identification value of the third model parameter can be implemented as follows:

[0275] Substituting the captured values and the measured values into the kinematic model to obtain an updated kinematic model;

[0276] The updated kinematic model is processed using a nonlinear optimization algorithm to obtain the identification values of the third model parameters.

[0277] The third model parameter includes geometric information of the robot.

[0278] Similar to the parameter identification process of the static model, inertia and friction model, the captured values and measured values are substituted into the kinematic model to obtain the updated kinematic model. Schematically, the updated kinematic model can be expressed as follows: The third model parameters in the updated kinematic model include parameters corresponding to the geometric information.

[0279] Combining the above content, similar to the statics model and the inertia and friction model, the updated kinematic model is subjected to nonlinear optimization to obtain the identified values of the third model parameters. Subsequently, the accuracy of the identified values of the third model parameters is determined, and if the preset accuracy is met, the geometric information is determined.

[0280] Step 508: Construct a dynamic model of the robot based on the geometric information.

[0281] The robot's dynamics model describes the relationship between the robot's forces and the object's motion. Dynamics models can be expressed in a variety of ways, such as using the Lagrange equations or the Newton-Euler equations.

[0282] Optionally, the dynamic model of the robot can be constructed in the following manner: constructing a static model of the robot based on the robot's geometric information; and constructing an inertia and friction model of the robot based on the robot's static model.

[0283] To describe the relationship between the robot's force and the object's motion, it is necessary to obtain information such as the robot's position and joint angles. Based on the above content, the robot's geometric information can be determined based on the kinematic model.

[0284] Schematically, step 508 is the same as step 104 and can be used for reference only and will not be described in detail.

[0285] Step 510: Using a nonlinear optimization method, perform parameter identification on the target parameters in the dynamic model to obtain identification values of the target parameters.

[0286] The parameter identification of the dynamic model can obtain the identification value of the model parameter, which will make the numerical results obtained according to the dynamic model closer to the true value.

[0287] Schematically, the target parameters can also be called dynamic parameters. The target parameters are part or all of the model parameters in the dynamic model. The target parameters include at least one of the robot's mass parameters, center of mass position parameters, and moment of inertia parameters. Among them, the mass parameters can be expressed as m iIndicates that the center of mass position parameter can be used r ci Indicates that the moment of inertia parameter can be used c express.

[0288] Optionally, after obtaining the identification values of the model parameters, the accuracy of the identification values of the model parameters may be determined, and when the model parameters meet the accuracy requirements, the identification values of the target parameters in the dynamic model are determined.

[0289] Schematically, step 510 is the same as step 106 and can be used for reference only and will not be described in detail.

[0290] Figure 11 A flowchart of another method for identifying the dynamic parameters of a robot is shown. Figure 1 In the application scenario shown in FIG, the robot dynamic parameter identification method is executed by the computer device 200 as an example, and includes the following steps:

[0291] Step 601: Collect kinematic identification data and verification data.

[0292] Illustratively, the identification data is used to perform parameter identification on the kinematic model, and the verification data is used to verify the identification value of the first model parameter in the kinematics.

[0293] Specifically, the identification data and the verification data may be collected or determined based on external measuring instruments.

[0294] Step 602: Perform parameter identification of the kinematic model.

[0295] The kinematic model is used to describe the changes in the robot's position, velocity, and acceleration over time from a geometric perspective. It does not involve information such as the physical properties of the robot itself and the forces applied to the robot.

[0296] Illustratively, parameter identification of a kinematic model refers to processing the kinematic model using a nonlinear optimization method. The nonlinear optimization method may be a nonlinear optimization algorithm. Illustratively, the nonlinear optimization algorithm includes at least one of the following: maximum likelihood estimation, iterative algorithm, variable scaling method, least squares method, simplex search method, complex search method, and random search method.

[0297] Step 603: Determine whether the identification parameters meet the accuracy requirements.

[0298] After the kinematic model is parameter-identified, the identified values of the first model parameters can be obtained. In order to improve the accuracy of the model parameters, the identified values of the first model parameters need to be subjected to accuracy judgment.

[0299] Illustratively, the first model parameters include parameters corresponding to geometric information.

[0300] Based on this, in step 603, if the identification value of the model parameter meets the accuracy requirement, the parameter identification of the kinematic model is completed, the geometric information of the robot can be determined, and step 604 is executed; if the identification value of the model parameter does not meet the accuracy requirement, step 602 is continued.

[0301] Step 604: Collect static identification data and verification data.

[0302] Illustratively, the identification data is used to perform parameter identification on the statics model, and the verification data is used to verify the identification values of the first model parameters in kinematics.

[0303] Step 605: Perform parameter identification of the statics model.

[0304] The statics model describes the forces acting on a robot when it is in static equilibrium. This equilibrium state is defined with the Earth as the reference frame and refers to a state where an object is at rest or in uniform linear motion relative to an inertial reference frame, i.e., where acceleration is zero.

[0305] Illustratively, parameter identification of a static model refers to processing the static model using a nonlinear optimization method. The nonlinear optimization method may be a nonlinear optimization algorithm. Illustratively, the nonlinear optimization algorithm includes at least one of the following algorithms: maximum likelihood estimation, iterative algorithm, variable scaling method, least squares method, simplex search method, complex search method, and random search method.

[0306] Step 606: Determine whether the identification parameters meet the accuracy requirements.

[0307] After the static model is parameter-identified, the identified values of the second model parameters can be obtained. In order to improve the accuracy of the model parameters, it is necessary to perform accuracy judgment on the identified values of the second model parameters.

[0308] Illustratively, the second model parameter includes at least one of a mass parameter and a center of mass position parameter.

[0309] Based on this, in step 606, if the identification values of the model parameters meet the accuracy requirements, the parameter identification of the static model is completed, the identification values of the robot's mass parameters and center of mass position parameters can be determined, and step 607 is executed; if the identification values of the model parameters do not meet the accuracy requirements, step 605 is continued.

[0310] Step 607: Collect identification data and verification data of inertia and friction.

[0311] Illustratively, the identification data is used to perform parameter identification on the inertia and friction models, and the verification data is used to verify the identification values of the first model parameters in kinematics.

[0312] Specifically, the identification data and the verification data can be collected according to the motion trajectory of the robot.

[0313] The robot's motion trajectory is also called an excitation trajectory. Optionally, the excitation trajectory includes but is not limited to one of the following trajectories: a sinusoidal excitation trajectory and a Fourier series excitation trajectory.

[0314] Specifically, during the execution of the excitation trajectory by the robot, multiple sets of data including joint angles, joint angular velocities, joint angular accelerations and motor currents i may be collected, of which the identification data and the verification data are one or more sets respectively.

[0315] Step 608: Perform parameter identification of the inertia and friction model.

[0316] The inertia and friction model is used to describe the force conditions of the robot under the influence of joint friction.

[0317] Illustratively, parameter identification of the inertia and friction model involves processing the inertia and friction model using a nonlinear optimization method. The nonlinear optimization method may be a nonlinear optimization algorithm. Illustratively, the nonlinear optimization algorithm includes at least one of the following: maximum likelihood estimation, iterative algorithm, variable scaling method, least squares method, simplex search method, complex search method, and random search method.

[0318] Step 609: Determine whether the identification parameters meet the accuracy requirements.

[0319] After performing parameter identification on the inertia and friction model, the identification value of the first model parameter can be obtained. In order to improve the accuracy of the model parameters, it is necessary to perform accuracy judgment on the identification value of the first model parameter.

[0320] Based on this, in step 609 , if the identified values of the model parameters meet the accuracy requirements, the parameter identification of the inertia and friction model is completed; if the identified values of the model parameters do not meet the accuracy requirements, step 608 is continued.

[0321] In summary, the embodiments of the present application provide a specific method for constructing a kinematic model of a robot, and by identifying the parameters of the kinematic model, geometric information is obtained to construct a dynamic model.

[0322] Figure 12 This is a block diagram of a robot dynamic parameter identification device provided by one embodiment of the present application. The device includes:

[0323] a determination module 1220 for determining geometric information of the robot based on a kinematic model of the robot;

[0324] A construction module 1240 is used to construct a dynamic model of the robot based on the geometric information;

[0325] The identification module 1260 is used to perform parameter identification on the target parameters in the dynamic model using a nonlinear optimization method to obtain identification values of the target parameters, where the target parameters include at least one of the mass parameter, center of mass position parameter and moment of inertia parameter of the robot.

[0326] In an optional embodiment, the identification module 1260 is used to collect data information for parameter identification; based on the data information, nonlinear optimization processing is performed on the model parameters in the dynamic model to obtain identification values of the model parameters, which include target parameters; when the identification values of the model parameters meet the preset accuracy, the identification values of the target parameters are determined.

[0327] In an optional embodiment, the identification module 1260 is used to substitute the data information into the dynamic model to obtain an updated dynamic model; and process the updated dynamic model using a nonlinear optimization algorithm to obtain identification values of the model parameters.

[0328] In an optional embodiment, the construction module 1240 is used to construct a static model of the robot based on the geometric information; and to construct an inertia and friction model of the robot based on the static model.

[0329] In an optional embodiment, a construction module 1240 is used to determine mass parameters and center of mass position parameters based on geometric information; generate center of mass parameter items of the robot based on the mass parameters and center of mass position parameters, and the center of mass parameter items are used to describe the equilibrium state of each link in the robot; and construct a static model based on the center of mass parameter items and the center of mass dynamics equation.

[0330] In an optional embodiment, the construction module 1240 is used to construct an inertia and friction model based on the mass parameters and center of mass position parameters in the statics model and the dynamic equations of the robot.

[0331] In an optional embodiment, a construction module 1240 is used to determine the inverse dynamics equation of the robot based on the dynamics equation, which is used to describe the moment of inertia of each link in the robot under the center of mass system; determine the joint friction model of the robot and the mapping model corresponding to the motor current of the robot; and generate an inertia and friction model based on the mass parameters, center of mass position parameters, the inverse dynamics equation, the joint friction model, and the mapping model.

[0332] In an optional embodiment, the identification module 1260 is used to perform parameter identification on the mass parameters and center of mass position parameters in the statics model to obtain identification values of the mass parameters and center of mass position parameters; perform parameter identification on the moment of inertia parameters in the inertia and friction model to obtain identification values of the moment of inertia parameters; or perform parameter identification on the mass parameters and center of mass position parameters in the statics model to obtain identification values of the mass parameters and center of mass position parameters; when the identification values of the mass parameters and center of mass position parameters meet preset accuracy, perform parameter identification on the moment of inertia parameters in the inertia and friction model to obtain identification values of the moment of inertia parameters.

[0333] In an optional embodiment, the determination module 1220 is configured to determine a transformation matrix between adjacent links of the robot; construct a kinematic model of the robot based on the transformation matrix; and perform parameter identification on the kinematic model to obtain geometric information.

[0334] In an optional embodiment, the determination module 1220 is configured to construct a kinematic model based on the transformation matrix and the robot's posture transformation equation.

[0335] In an optional embodiment, the determination module 1220 is used to determine the capture value and measurement value of the target joint point of the robot; based on the capture value and measurement value, the third model parameter in the kinematic model is nonlinearly optimized to obtain the identification value of the third model parameter, and the third model parameter includes a parameter corresponding to the geometric information; when the identification value of the third model parameter meets the preset accuracy, the geometric information is determined.

[0336] In an optional embodiment, the determination module 1220 is used to substitute the captured value and the measured value into the kinematic model to obtain an updated kinematic model; and process the updated kinematic model using a nonlinear optimization algorithm to obtain an identification value of the third model parameter.

[0337] It should be noted that the apparatus provided in the above embodiments is merely exemplified by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus provided in the above embodiments is based on the same concept as the method embodiment described above. The specific implementation process is detailed in the method embodiment and will not be repeated here.

[0338] Figure 13 A structural block diagram of an electronic device 1300 provided by an exemplary embodiment of the present application is shown.

[0339] The electronic device 1300 can be a portable mobile terminal, such as a smartphone, tablet computer, MP3 player (Moving Picture Experts Group Audio Layer III), MP4 player (Moving Picture Experts Group Audio Layer IV), laptop computer, or desktop computer. The electronic device 1300 may also be referred to as a user device, portable terminal, laptop terminal, desktop terminal, or other similar terminology. In the embodiments of the present application, the electronic device 1300 is implemented as a control device portion of a robot.

[0340] Typically, the electronic device 1300 includes a processor 1301 and a memory 1302 .

[0341] The processor 1301 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 1301 may be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), or PLA (Programmable Logic Array). The processor 1301 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 1301 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 1301 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0342] The memory 1302 may include one or more computer-readable storage media, which may be non-transitory. The memory 1302 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash memory storage devices. In some embodiments, the non-transitory computer-readable storage medium in the memory 1302 is used to store at least one instruction, which is used to be executed by the processor 1301 to implement the robot dynamic parameter identification provided by the method embodiment of the present application, or the parameter identification method of the expected mapping model.

[0343] In some embodiments, electronic device 1300 may optionally include a peripheral device interface 1303 and at least one peripheral device. Processor 1301, memory 1302, and peripheral device interface 1303 may be connected via a bus or signal lines. Each peripheral device may be connected to peripheral device interface 1303 via a bus, signal lines, or circuit boards. Specifically, the peripheral device may include at least one of a radio frequency circuit 1304, a display screen 1305, a camera assembly 1306, an audio circuit 1307, and a power supply 1308.

[0344] The peripheral device interface 1303 can be used to connect at least one I / O (Input / Output)-related peripheral device to the processor 1301 and the memory 1302. In some embodiments, the processor 1301, the memory 1302, and the peripheral device interface 1303 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 1301, the memory 1302, and the peripheral device interface 1303 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.

[0345] The RF circuit 1304 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 1304 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 1304 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals into electrical signals. Optionally, the RF circuit 1304 includes an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, and the like. The RF circuit 1304 can communicate with other terminals via at least one wireless communication protocol. Such wireless communication protocols include, but are not limited to, the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or Wi-Fi (Wireless Fidelity) networks. In some embodiments, the RF circuit 1304 may also include circuits related to Near Field Communication (NFC), which is not limited in this application.

[0346] The display screen 1305 is used to display a UI (User Interface). The UI may include graphics, text, icons, videos, and any combination thereof. When the display screen 1305 is a touch screen display, the display screen 1305 also has the ability to collect touch signals on the surface or above the surface of the display screen 1305. The touch signal can be input as a control signal to the processor 1301 for processing. At this time, the display screen 1305 can also be used to provide virtual buttons and / or virtual keyboards, also known as soft buttons and / or soft keyboards. In some embodiments, there can be one display screen 1305, which is set on the front panel of the electronic device 1300; in other embodiments, there can be at least two display screens 1305, which are respectively set on different surfaces of the electronic device 1300 or in a folding design; in other embodiments, the display screen 1305 can be a flexible display screen, which is set on the curved surface or folding surface of the electronic device 1300. Even the display screen 1305 can be set to a non-rectangular irregular shape, that is, a special-shaped screen. The display screen 1305 can be made of materials such as LCD (Liquid Crystal Display) and OLED (Organic Light-Emitting Diode).

[0347] The camera assembly 1306 is used to capture images or videos. Optionally, the camera assembly 1306 includes a front camera and a rear camera. Typically, the front camera is arranged on the front panel of the terminal, and the rear camera is arranged on the back of the terminal. In some embodiments, there are at least two rear cameras, which are any one of a main camera, a depth of field camera, a wide-angle camera, and a telephoto camera, so as to realize the fusion of the main camera and the depth of field camera to realize the background blur function, the fusion of the main camera and the wide-angle camera to realize panoramic shooting and VR (Virtual Reality) shooting function or other fusion shooting functions. In some embodiments, the camera assembly 1306 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash refers to a combination of a warm light flash and a cold light flash, which can be used for light compensation at different color temperatures.

[0348] The audio circuit 1307 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, and convert the sound waves into electrical signals to be input into the processor 1301 for processing, or to be input into the radio frequency circuit 1304 to achieve voice communication. For the purpose of stereo sound collection or noise reduction, there can be multiple microphones, which are respectively arranged in different parts of the electronic device 1300. The microphone can also be an array microphone or an omnidirectional collection microphone. The speaker is used to convert the electrical signals from the processor 1301 or the radio frequency circuit 1304 into sound waves. The speaker can be a traditional thin film speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can not only convert the electrical signals into sound waves audible to humans, but also convert the electrical signals into sound waves inaudible to humans for purposes such as ranging. In some embodiments, the audio circuit 1307 may also include a headphone jack.

[0349] Power supply 1308 is used to power the various components of electronic device 1300. Power supply 1308 can be AC power, DC power, a disposable battery, or a rechargeable battery. When power supply 1308 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, while a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.

[0350] In some embodiments, the electronic device 1300 further includes one or more sensors 1310 , including but not limited to an acceleration sensor 1311 , a gyroscope sensor 1312 , a pressure sensor 1313 , an optical sensor 1314 , and a proximity sensor 1315 .

[0351] The accelerometer 1311 can detect the magnitude of acceleration along the three coordinate axes of the coordinate system established by the electronic device 1300. For example, the accelerometer 1311 can be used to detect the components of gravity acceleration along the three coordinate axes. The processor 1301 can control the display screen 1305 to display the user interface in a landscape or portrait view based on the gravity acceleration signal collected by the accelerometer 1311. The accelerometer 1311 can also be used to collect game or user motion data.

[0352] The gyroscope sensor 1312 can detect the orientation and rotation angle of the electronic device 1300. It can work in conjunction with the accelerometer 1311 to capture the user's 3D movements of the electronic device 1300. Based on the data collected by the gyroscope sensor 1312, the processor 1301 can implement the following functions: motion sensing (for example, changing the UI based on the user's tilt operation), image stabilization during shooting, game control, and inertial navigation.

[0353] The pressure sensor 1313 can be set on the side frame of the electronic device 1300 and / or the lower layer of the display screen 1305. When the pressure sensor 1313 is set on the side frame of the electronic device 1300, it can detect the user's grip signal of the electronic device 1300, and the processor 1301 performs left and right hand recognition or shortcut operations based on the grip signal collected by the pressure sensor 1313. When the pressure sensor 1313 is set on the lower layer of the display screen 1305, the processor 1301 controls the operable controls on the UI interface based on the user's pressure operation on the display screen 1305. The operable controls include at least one of a button control, a scroll bar control, an icon control, and a menu control.

[0354] Optical sensor 1314 is used to detect ambient light intensity. In one embodiment, processor 1301 can control the display brightness of display screen 1305 based on the ambient light intensity detected by optical sensor 1314. Specifically, when the ambient light intensity is high, the display brightness of display screen 1305 is increased; when the ambient light intensity is low, the display brightness of display screen 1305 is decreased. In another embodiment, processor 1301 can also dynamically adjust the shooting parameters of camera assembly 1306 based on the ambient light intensity detected by optical sensor 1314.

[0355] Proximity sensor 1315, also known as a distance sensor, is typically located on the front panel of electronic device 1300. Proximity sensor 1315 is used to detect the distance between the user and the front of electronic device 1300. In one embodiment, when proximity sensor 1315 detects that the distance between the user and the front of electronic device 1300 is gradually decreasing, processor 1301 controls display screen 1305 to switch from the screen-on state to the screen-off state. When proximity sensor 1315 detects that the distance between the user and the front of electronic device 1300 is gradually increasing, processor 1301 controls display screen 1305 to switch from the screen-off state to the screen-on state.

[0356] Those skilled in the art will understand that Figure 13 The structure shown in the figure does not constitute a limitation on the electronic device 1300, and the electronic device 1300 may include more or fewer components than shown in the figure, or combine certain components, or adopt a different component arrangement.

[0357] An embodiment of the present application further provides a computer device, which includes a processor and a memory, wherein the memory stores at least one program code, and the program code is loaded and executed by the processor to realize the dynamic parameter identification of the robot as described above.

[0358] An embodiment of the present application further provides a computer-readable storage medium having at least one program code stored thereon, and the program code is loaded and executed by a processor to implement the dynamic parameter identification of the robot as described above.

[0359] Embodiments of the present application further provide a computer program product or computer program, which includes computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the above-described robot dynamic parameter identification.

[0360] Optionally, the computer-readable storage medium may include: a read-only memory (ROM), a random access memory (RAM), a solid-state drive (SSD), or an optical disk. The random access memory may include a resistance random access memory (ReRAM) and a dynamic random access memory (DRAM).

[0361] The serial numbers of the above embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0362] It should be understood that the term "plurality" used herein refers to two or more. "And / or" describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can mean: A exists alone, A and B exist simultaneously, or B exists alone. The character " / " generally indicates an "or" relationship between the associated objects.

[0363] Those skilled in the art will understand that all or part of the steps to implement the above embodiments may be accomplished by hardware, or by a program to instruct the relevant hardware, and the program may be stored in a computer-readable storage medium, which may be a read-only memory, a disk, or an optical disk, etc.

[0364] The above description is merely an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application shall be included in the scope of protection of the present application.

Claims

1. A method for identifying dynamic parameters of a robot, characterized in that: The method comprises: Determining geometric information of the robot according to a kinematic model of the robot; Determining a mass parameter and a center of mass position parameter based on the geometric information; generating a center of mass parameter item of the robot according to the mass parameter and the center of mass position parameter, wherein the center of mass parameter item is used to describe the equilibrium state of each link in the robot; Constructing a statics model of the robot according to the center of mass parameter term and the center of mass dynamics equation; constructing an inertia and friction model of the robot according to the statics model; A nonlinear optimization method is used to perform parameter identification on target parameters in a dynamic model to obtain identification values of the target parameters, wherein the dynamic model includes the inertia and friction model, and the target parameters include at least one of the mass parameter, the center of mass position parameter, and the moment of inertia parameter of the robot.

2. The method according to claim 1, characterized in that The method of using a nonlinear optimization method to perform parameter identification on the target parameters in the dynamic model to obtain the identification values of the target parameters includes: Collect data information for parameter identification; performing nonlinear optimization processing on model parameters in the dynamic model according to the data information to obtain identification values of the model parameters, wherein the model parameters include the target parameters; When the identified value of the model parameter meets the preset accuracy, the identified value of the target parameter is determined.

3. The method according to claim 2, characterized in that The step of performing nonlinear optimization processing on the model parameters in the dynamic model according to the data information to obtain identification values of the model parameters includes: Substituting the data information into the kinetic model to obtain an updated kinetic model; The updated dynamic model is processed using a nonlinear optimization algorithm to obtain identification values of the model parameters.

4. The method according to any one of claims 1 to 3, characterized in that: The step of constructing the inertia and friction model of the robot according to the statics model includes: The inertia and friction model is constructed according to the mass parameter and the center of mass position parameter in the statics model and the dynamics equation of the robot.

5. The method according to claim 4, characterized in that The inertia and friction model is constructed according to the mass parameter and the center of mass position parameter in the statics model and the dynamic equation of the robot, including: Determining an inverse dynamics equation of the robot based on the dynamics equation, wherein the inverse dynamics equation is used to describe the moment of inertia of each connecting rod in the robot in a center of mass system; determining a joint friction model of the robot and a mapping model corresponding to a motor current of the robot; The inertia and friction model is generated according to the mass parameter, the center of mass position parameter, the inverse dynamics equation, the joint friction model, and the mapping model.

6. The method according to any one of claims 1 to 3, characterized in that: The method of using a nonlinear optimization method to perform parameter identification on the target parameters in the dynamic model to obtain the identification values of the target parameters includes: Performing parameter identification on the mass parameter and the center of mass position parameter in the statics model to obtain identification values of the mass parameter and the center of mass position parameter; performing parameter identification on the moment of inertia parameter in the inertia and friction model to obtain an identification value of the moment of inertia parameter; or, Parameter identification is performed on the mass parameters and the center of mass position parameters in the statics model to obtain identification values of the mass parameters and the center of mass position parameters; when the identification values of the mass parameters and the center of mass position parameters meet preset accuracy, parameter identification is performed on the moment of inertia parameters in the inertia and friction model to obtain identification values of the moment of inertia parameters.

7. The method according to any one of claims 1 to 3, characterized in that: Determining the geometric information of the robot according to the kinematic model of the robot includes: Determining a transformation matrix between adjacent links of the robot; Constructing a kinematic model of the robot according to the transformation matrix; Parameter identification is performed on the kinematic model to obtain the geometric information.

8. The method according to claim 7, characterized in that The step of constructing a kinematic model of the robot according to the transformation matrix includes: The kinematic model is constructed according to the transformation matrix and the posture transformation equation of the robot.

9. The method according to claim 7, characterized in that The performing parameter identification on the kinematic model to obtain the geometric information includes: Determining a capture value and a measurement value of a target joint point of the robot; performing nonlinear optimization processing on third model parameters in the kinematic model according to the captured values and the measured values to obtain identification values of the third model parameters, wherein the third model parameters include parameters corresponding to the geometric information; When the identified value of the third model parameter meets a preset accuracy, the geometric information is determined.

10. The method according to claim 9, characterized in that The performing nonlinear optimization processing on the kinematic model according to the captured value and the measured value to obtain the identification value of the third model parameter includes: Substituting the captured value and the measured value into the kinematic model to obtain an updated kinematic model; The updated kinematic model is processed using a nonlinear optimization algorithm to obtain identification values of the third model parameters.

11. A robot dynamic parameter identification device, characterized in that: The device comprises: a determination module, configured to determine geometric information of the robot based on a kinematic model of the robot; A construction module is used to determine a mass parameter and a center of mass position parameter based on the geometric information; generating a center of mass parameter item of the robot according to the mass parameter and the center of mass position parameter, wherein the center of mass parameter item is used to describe the equilibrium state of each link in the robot; Constructing a statics model of the robot according to the center of mass parameter term and the center of mass dynamics equation; constructing an inertia and friction model of the robot according to the statics model; An identification module is used to use a nonlinear optimization method to perform parameter identification on the target parameters in the dynamic model to obtain an identification value of the target parameter, the dynamic model includes the inertia and friction model, and the target parameter includes at least one of the mass parameter, the center of mass position parameter and the moment of inertia parameter of the robot.

12. A computer device, characterized in that: The computer device includes a processor and a memory, wherein at least one program code is stored in the memory, and the program code is loaded and executed by the processor to implement the robot dynamic parameter identification method according to any one of claims 1 to 10.

13. A computer-readable storage medium, characterized in that At least one program code is stored in the computer-readable storage medium, and the program code is loaded and executed by the processor to implement the robot dynamic parameter identification method according to any one of claims 1 to 10.

14. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium. A processor reads and executes the computer instructions from the computer-readable storage medium to implement the above-mentioned method for identifying dynamic parameters of a robot as described in any one of claims 1 to 10.

Citation Information

Patent Citations

  • An industrial robot dynamic parameter identification method considering joint elasticity

    CN109583093A