A Graph Theory-Based Method for Dynamic Modeling and Parameter Identiﬁcation of 6-DOF Industrial Robots

: At present, the absolute positioning accuracy and control accuracy of industrial serial robots need to be improved to meet the accuracy requirements of precision manufacturing and precise control. An accurate dynamic model is an important theoretical basis for solving this problem, and precise dynamic parameters are the prerequisite for precise control. The research of dynamics and parameter identiﬁcation can greatly promote the application of robots in the ﬁeld of precision manufacturing and automation. In this paper, we study the dynamical modeling and dynamic parameter identiﬁcation of an industrial robot system with six rotational DOF (6R robot system) and propose a new method for identifying dynamic parameters. Our aim is to provide an accurate mathematical description of the dynamics of the 6R robot and to accurately identify its dynamic parameters. First, we establish an unconstrained dynamic model for the 6R robot system and rewrite it to obtain the dynamic parameter identiﬁcation model. Second, we establish the constraint equations of the 6R robot system. Finally, we establish the dynamic model of the constrained 6R robot system. Through the ADAMS simulation experiment, we verify the correctness and accuracy of the dynamic model. The experiments prove that the result of parameter identiﬁcation has extremely high accuracy and the dynamic model can accurately describe the 6R robot system mathematically. The dynamic modeling method proposed in this paper can be used as the theoretical basis for the study of 6R robot system dynamics and the study of dynamics-based control theory.


Introduction
For the manufacturing industry, which uses industrial robots for processing and production, especially large-scale manufacturing such as aircraft manufacturing, there is a dilemma whereby the absolute positioning accuracy of industrial robots is low and cannot meet the accuracy requirements, which at the same time limits the development of robots and manufacturing. The key to solving this problem is to establish an accurate dynamic model of the robot, so as to achieve precise control and improve accuracy. Therefore, the research of robot dynamics is of great significance both in theory and application.
Nowadays, with the development of the robot industry, the mobility, collaboration, and adaptability of robots have become stronger, and the manufacturing industry, which is the main application scenario of industrial robots, has shown a trend towards intelligence [1]. As a large-scale manufacturing industry, many processes in the aviation industry currently rely on manual work by workers [2], and the following problems need to be resolved: the high labor intensity of workers leads to poor consistency, the limited working time leads to low efficiency, and the fatigue caused by long-term labor leads to low precision. To meet the requirements of long life, fast cycle, high precision and low cost of aircraft, industrial robots are urgently needed to replace workers' positions [3,4]. The main task of the aircraft manufacturing industry is to process and assemble aircraft components. Aircraft components have the characteristics of complex structure and large size. Accordingly, the robots require high precision and large working space [5,6]. The accuracy of the robot can be divided into two categories: absolute positioning accuracy and repeated positioning accuracy. Industrial robots can be divided into two types: serial robots and parallel robots. The absolute positioning accuracy and repetitive positioning accuracy of parallel robots are very high, but the working space is small; the repetitive positioning accuracy of serial robots is high and the working space is large, but the absolute positioning accuracy is low [7,8]. The shortcoming of the small working space of the parallel robot cannot be improved, so it cannot meet the requirements of the aircraft industry. In contrast, serial robots can meet these requirements by improving their absolute positioning accuracy [9]. Therefore, research into serial robots is of great significance to the manufacturing industry.
To ensure the processing quality of aircraft components, requirements for precise control and vibration reduction have been put forward for serial robots [10]. An accurate dynamic model is one of the theoretical foundations for serial robots meeting the above requirements. On the one hand, control systems based on accurate dynamic models will have high precision [11], thus improving the absolute positioning accuracy of the robot, and at the same time, the vibration reduction of the robot can also be achieved by active control [12]. On the other hand, the dynamic model can be used to identify the dynamic parameters of the robot system, that is, the mass and principal moment of inertia of each rigid body. The dynamic parameters and stiffness are the input conditions of the modal analysis, and the modal analysis is used for the vibration reduction of the robot system. Therefore, vibration reduction is one of the application prospects of dynamic models. Therefore, the research on the dynamics of serial industrial robot is very important for the application prospect of robot in manufacturing industry. Zhang, L et al. [13] proposed a WOA-GA method to establish a six-degrees-of-freedom (DOF) robot dynamic model, thereby improving the robot's motion accuracy. Koopaee, M et al. [14] used Euler-Lagrange equations to establish a dynamic model of a planar serial robot and adaptively control it so that the robot can successfully avoid obstacles without knowing the exact location of the obstacle. Cui et al. [15] established the Hamilton dynamics model of the multi-joint serial robot and then realized the precise tracking control of the robot. Liu, S et al. [16] established a dynamic model of a dual-arm robot for capturing objects based on the Lagrange formula and then studied the structural vibration problem in the capturing process. Xu, W et al. [17] established the dynamic equations of a 7-DOF robot arm and realized the vibration reduction of the robot's elastic structure by the dynamic analysis of the coupling effect of rigid motion and elastic vibration direction. H. Wu et al. [18] proposed two methods to reduce the vibration of a serial robot, namely passive control and active control. Passive vibration control is achieved by designing a parallel mechanism to increase the stiffness of the robot. Active vibration control is realized by proposing a hybrid control method of feedforward control and nonlinear feedback control.
Dynamic parameter identification is an important application of the dynamic model. Generally speaking, dynamic parameters can be measured by physical experiment, that is, the robot is disassembled into rigid bodies and then the mass is obtained by weighing and the principal moment of inertia is measured by the pendular motions [19]. However, obtaining the dynamic parameters of the serial industrial robot requires the use of a parameter identification method. The reason is that industrial robots used in large-scale manufacturing industries require high rigidity to ensure the stability and processing quality of their working process. The high rigidity requirements make industrial robots heavy. Moreover, as a precision instrument, industrial robots are not easy to disassemble. All this makes it difficult to obtain the dynamic parameters of industrial robots by measurement methods. Dynamic parameter identification is a calculation method for obtaining dynamic parameters by measuring the data of variables other than the dynamic parameters in the equations where the dynamic parameters appear. The equations in which dynamic parameters appear are mainly momentum conservation equations and dynamic equations. The momentum conservation equations are only applicable to free-floating space robots, and ground-fixed robots need to use dynamic equations [20]. There are many calculation methods, such as the least squares method, the gradient correction method, the maximum likelihood method and the prediction error method. The fundamental idea of parameter identification is to perform "input/output" analysis on the mathematical models where the dynamic parameters appear and to estimate the parameter value by minimizing the difference between the real dynamic parameters and the dynamic parameters of the mathematical model. The calculated dynamic parameters have high accuracy [21]. The identification process includes modeling, designing experiments, collecting data, signal processing, parameter estimation and model verification [11]. Dynamic parameters are very important for control algorithms based on dynamic models and verification of simulation results [22]. Accurate dynamic parameters are the premise of accurate dynamic models, and accurate control can be achieved on the basis of accurate dynamic models [23,24]; precise control determines the application prospects of robots in the field of automation [25,26]. Therefore, as an important application of the dynamic model, dynamic parameter identification is of great significance to the application of industrial robots in manufacturing. Gaz, C et al. [27] established the Newton-Euler dynamics equations of the Panda robot and used the least squares method to identify its dynamic parameters. Urrea, C et al. [28] established the 5-DOF Lagrange dynamics model of the industrial SCARA robot and obtained the dynamic parameters of the SCARA robot by measuring the acceleration, velocity, position, and voltage using parameter estimation technology. Olsen et al. [29] proposed a maximum likelihood method for identifying robot dynamics parameters. Physical experiments proved that the maximum likelihood method has the same identification effect as the weighted least squares method. Gautier, M et al. [30] proposed an error method called the DIDIM method to identify the dynamic parameters of the dynamic equations and the new method was proved to be effective through an experiment with a 2-DOF rigid body robot.
The dynamic model is established based on vector mechanics or analytical mechanics [31]. The modeling methods mainly include the Newton-Euler method [32] and the screw method [33], which are based on vector mechanics, as well as the Lagrange method [34], the Hamilton method [35,36], the Udwadia-Kalaba method [37] and the Birkhoff method [38], which are based on analytical mechanics. There are also some methods that combine the characteristics of vector mechanics and analytical mechanics, such as the Kane method [39]. Khalil, W et al. [40] established the dynamic model of the Gough-Stewart parallel robot by using the Newton-Euler method; Shao, P et al. [41] established the dynamic model of the Helix robot with the screw method; Mancisidor, A et al. [42] used the Lagrange method to establish a dynamic model of a multi-purpose upper limb rehabilitation robot; Huang, P et al. [43] used Hamilton method to establish a dynamic model of a rope-net space robot; Nielsen, M. C, et al. [44] used the Udwadia-Kalaba method to establish a dynamic model of a modular underwater robot; and Xu, F et al. [45] used the Kane method to establish a dynamic model of a soft robot.
At present, a large number of scholars have conducted in-depth research on the twodimensional dynamics of industrial robots with few DOFs. However, the research on three-dimensional multi-DOF dynamics is relatively weak and it is very rare to use graph theory to describe industrial robots to establish dynamic models. Compared with the two-dimensional dynamics problem with few DOFs, the three-dimensional multi-DOF dynamics problem has a significant increase in the number of variables and equations, resulting in a very complicated and long expression, which is difficult to calculate and solve. Therefore, the traditional method is no longer applicable [46] and needs to be improved. We consider that the key to solving this problem lies in the expression of the system of dynamic equations formed by the combination of many dynamic equations in the form of a matrix. The matrix expression needs to decouple the dynamic parameters of the rigid bodies that make up the robot system to realize the modularization of the dynamic equations, which is convenient for computer solving and control. We believe that the use of graph theory to describe the robot system can meet the requirements well. This paper selects the most commonly used industrial robot-an industrial robot with six rotational DOFs (6R robot system)-as the research object. The 6R robot system is composed of six rigid bodies and has six rotational DOFs, as shown in Figure 1. In this paper, a three-dimensional dynamic model of the 6R robot system is established based on graph theory. On this basis, a new method of dynamic parameter identification is proposed. A simulation experiment is designed by ADAMS software. The experimental results show that the result of parameter identification is extremely accurate and the dynamic model is accurate enough for the mathematical description of the 6R robot system. This proves the correctness and applicability of the dynamic theory and method used in this article. The 6R robot dynamics modeling theory and method proposed in this paper can realize the accurate 3D dynamic modeling of the 6R robot system. At present, there are very few studies in this area, so our exploratory research is very meaningful. At the same time, we propose for the first time a 6R robot dynamic parameter identification algorithm. The dynamic parameters obtained by this algorithm have extremely high precision, which is a meaningful innovation. The 6R robot dynamics modeling theory and method proposed in this paper can be used as the theoretical basis for precision manufacturing and precise control and it is of great significance to improve the automation and production efficiency of the manufacturing industry. bodies that make up the robot system to realize the modularization of the dynamic equations, which is convenient for computer solving and control. We believe that the use of graph theory to describe the robot system can meet the requirements well. This paper selects the most commonly used industrial robot-an industrial robot with six rotational DOFs (6R robot system)-as the research object. The 6R robot system is composed of six rigid bodies and has six rotational DOFs, as shown in Figure 1. In this paper, a three-dimensional dynamic model of the 6R robot system is established based on graph theory. On this basis, a new method of dynamic parameter identification is proposed. A simulation experiment is designed by ADAMS software. The experimental results show that the result of parameter identification is extremely accurate and the dynamic model is accurate enough for the mathematical description of the 6R robot system. This proves the correctness and applicability of the dynamic theory and method used in this article. The 6R robot dynamics modeling theory and method proposed in this paper can realize the accurate 3D dynamic modeling of the 6R robot system. At present, there are very few studies in this area, so our exploratory research is very meaningful. At the same time, we propose for the first time a 6R robot dynamic parameter identification algorithm. The dynamic parameters obtained by this algorithm have extremely high precision, which is a meaningful innovation. The 6R robot dynamics modeling theory and method proposed in this paper can be used as the theoretical basis for precision manufacturing and precise control and it is of great significance to improve the automation and production efficiency of the manufacturing industry. The rest of this paper is organized as follows. Section 2 introduces the dynamic modeling method and dynamic parameter identification method of the 6R robot system. In Section 3, an ADAMS simulation experiment is designed. The dynamic parameters and Lagrange multipliers of the 6R robot system are obtained by the calculation and identification of the experimental data and the calculation results are analyzed and discussed. Section 4 gives conclusions.

Dynamic Modeling of 6R Robot System
The 6R robot system consists of six rigid bodies (including the end effector) and six revolute joints, each rigid body has six DOF when it is unconstrained, that is, three DOF for movement and three DOF for rotation. The inside joint of a rigid body imposes five constraints on the rigid body, including three movement constraints and two rotation constraints and the constrained single rigid body has one rotational DOF. By extension, the unconstrained 6R robot system has a total of 36 DOF for the six rigid bodies and a total of 30 constraints provided by the six revolute joints, so that the constrained 6R robot system has a total of six rotational DOFs. That is, the number of DOF of the unconstrained 6R robot system minus the number of constraints on the system is equal to the number of DOF of the system. The rest of this paper is organized as follows. Section 2 introduces the dynamic modeling method and dynamic parameter identification method of the 6R robot system. In Section 3, an ADAMS simulation experiment is designed. The dynamic parameters and Lagrange multipliers of the 6R robot system are obtained by the calculation and identification of the experimental data and the calculation results are analyzed and discussed. Section 4 gives conclusions.

Dynamic Modeling of 6R Robot System
The 6R robot system consists of six rigid bodies (including the end effector) and six revolute joints, each rigid body has six DOF when it is unconstrained, that is, three DOF for movement and three DOF for rotation. The inside joint of a rigid body imposes five constraints on the rigid body, including three movement constraints and two rotation constraints and the constrained single rigid body has one rotational DOF. By extension, the unconstrained 6R robot system has a total of 36 DOF for the six rigid bodies and a total of 30 constraints provided by the six revolute joints, so that the constrained 6R robot system has a total of six rotational DOFs. That is, the number of DOF of the unconstrained 6R robot system minus the number of constraints on the system is equal to the number of DOF of the system. First, the mathematical description of the 6R robot is defined based on graph theory and then the dynamic equations of the unconstrained 6R robot system are established. Taking a single rigid body as the object of study, the active force of the joint is regarded as the joint force element and the joint force element and gravity are the external forces on the rigid body. The virtual power principle is used to establish the kinetic equations for a single rigid body. The dynamic equations of the six rigid bodies are combined into a matrix form, that is, the dynamic equations of the unconstrained 6R robot system. Here, by rewriting the dynamic equation of the unconstrained 6R robot system, the mass and the principal moment of inertias of the rigid body are separated as the dynamic parameters to be identified, and we identified the dynamical parameters of the 6R robot system by using least squares method.
Second, the revolute joints provide five scleronomic and holonomic constraints (A constraint that restricts only the pose and does not contain time is called a scleronomic and holonomic constraint) on the outside connecting body, thereby the constraint equations of a single rigid body are established. The constraint equations of the six rigid bodies are combined to form the constraint equations of the 6R robot system.
Finally, the constrained equations of the 6R robot system are twice derived with respect to time and changed into the second-order derivative form in generalized coordinates, The Lagrange multiplier method is then used to combine the constraint equations with the dynamics equation of the unconstrained 6R robot system to become the dynamics equation of the constrained 6R robot system.

Graphical Description of the 6R Robot System
The six rigid bodies that make up the 6R robot system are simply represented as homogeneous cylinders, denoted as B i (i = 1, 2, · · · , 6), the length of B i is denoted as l i and the radius is denoted as R i , the center of mass of each rigid body is its geometric center, denoted as O ci (i = 1, 2, · · · , 6). Establish the body-fixed base of each rigid body at the center of mass of each rigid body, denoted as (O i , e − (i) )(i = 1, 2, · · · , 6) (The underscore First, the mathematical description of the 6R robot is defined based on graph theory and then the dynamic equations of the unconstrained 6R robot system are established. Taking a single rigid body as the object of study, the active force of the joint is regarded as the joint force element and the joint force element and gravity are the external forces on the rigid body. The virtual power principle is used to establish the kinetic equations for a single rigid body. The dynamic equations of the six rigid bodies are combined into a matrix form, that is, the dynamic equations of the unconstrained 6R robot system. Here, by rewriting the dynamic equation of the unconstrained 6R robot system, the mass and the principal moment of inertias of the rigid body are separated as the dynamic parameters to be identified, and we identified the dynamical parameters of the 6R robot system by using least squares method. Second, the revolute joints provide five scleronomic and holonomic constraints (A constraint that restricts only the pose and does not contain time is called a scleronomic and holonomic constraint) on the outside connecting body, thereby the constraint equations of a single rigid body are established. The constraint equations of the six rigid bodies are combined to form the constraint equations of the 6R robot system.
Finally, the constrained equations of the 6R robot system are twice derived with respect to time and changed into the second-order derivative form in generalized coordinates, The Lagrange multiplier method is then used to combine the constraint equations with the dynamics equation of the unconstrained 6R robot system to become the dynamics equation of the constrained 6R robot system.

Graphical Description of the 6R Robot System
The six rigid bodies that make up the 6R robot system are simply represented as homogeneous cylinders, denoted as ( 1, 2, , 6) i B i   , the length of i B is denoted as i l and the radius is denoted as i R , the center of mass of each rigid body is its geometric center,   Since B 0 is firmly connected to the ground, in order to simplify the model and facilitate calculations, its volume and mass are both considered to be 0, its body-fixed base is The generalized coordinates of B i are determined by the Cartesian coordinates x i , y i , z i of O ci with respect to O 0 and the Cardano angles The pose of B i is recorded in the form of a coordinate matrix as: (1) where r . .. .
The generalized coordinate column matrix of the multibody 6R robot system is composed of the coordinate column matrix of each single rigid body B i and expressed as a 36-dimensional coordinate column matrix: Some basic concepts of 6R robotics are defined according to graph theory: The relationship between a joint and a rigid body is called an incidence. A rigid body B i reaches B j via a series of rigid bodies and joints without repetition and the rigid bodies and joints B i passes through are called the path from B i to B j . A system with only a unique path between any two joint points is called a system with tree structure. The system with tree structure and the structure diagram of the system with tree structure of the 6R robot system are shown in Figure 3.
The system with the tree structure and the structure diagram of the system with the tree structure of the 6R robot system. (a) The system with the tree structure of the 6R robot system; (b) the structure diagram of the system with the tree structure of the 6R robot system.
The system with the tree structure and the structure diagram of the system with the tree structure of the 6R robot system. (a) The system with the tree structure of the 6R robot system; (b) the structure diagram of the system with the tree structure of the 6R robot system.
If B j is on the path from B 0 to B i , then B j is called the inside body of B i and B i is called the outside body of B i . In particular, if the inside rigid body B j has incidence with B i , then B j is called the inside connecting body of B i and the O i connecting B j and B i is called the inside joint of B i . For B j , B i is called the outside connecting body of B j and O i is called the outside joint of B j .
Based on the above basic concepts, we established the incidence matrix, the matrix of body-joint vector, the path matrix of force element and the vector matrix of force element of the 6R robot system by graph theory, and deduced the resultant force and the resultant moment of the force element received by the rigid body.
First, the incidence matrix S of the 6R robot system is established.
Assuming that the robot system has n rigid bodies, define an element: The n × n square matrix composed of S ij is called the incidence matrix of the system, denoted as S.
For the 6R robot system, Second, the matrix of body-joint vector C of the 6R robot system is established. The vector pointing from O ci to any joint O j that has incidence with B j B i is called the body-joint vector, denoted as c ij . The multiplication of c ij and S ij is called the weighted body-joint vector, denoted as C ij . The direction of C ij is away from B 0 and points to the outside. In particular, c 01 = C 01 = 0. The n × n square matrix composed of C ij is called the matrix of the body-joint vector of the system, denoted as C. C reflects the distribution of joints that has incidence with the rigid bodies of the system.
For the 6R robot system, The body-joint vector is shown in Figure 4.
The body-joint vector is shown in Figure 4. The distribution of body-joint vectors of the 6R robot system is shown in Fi Third, the path matrix of force element for the 6R robot system is establishe resultant force of the force elements on the rigid body are derived.
The force element is the internal force doing work in the system, noted as The force elements in this paper are only the joint force elements, that is, t forces of the inside joint and the outside joint on the rigid body. The distribution of body-joint vectors of the 6R robot system is shown in Figure 5.
The body-joint vector is shown in Figure 4. The distribution of body-joint vectors of the 6R robot system is shown in Figu Third, the path matrix of force element for the 6R robot system is established a resultant force of the force elements on the rigid body are derived.
The force element is the internal force doing work in the system, noted as k E The force elements in this paper are only the joint force elements, that is, the forces of the inside joint and the outside joint on the rigid body. Third, the path matrix of force element for the 6R robot system is established and the resultant force of the force elements on the rigid body are derived.
The force element is the internal force doing work in the system, noted as E k . The force elements in this paper are only the joint force elements, that is, the active forces of the inside joint and the outside joint on the rigid body.
The k-th joint force element, E k , has incidence with a pair of rigid bodies, the inside connecting body of the hinge is also called the inside connecting body of the force element and is denoted as B e + (k) . The outside connecting body of the joint is also called the outside connecting body of the force element and is denoted as B e − (k) . The points of action of E k on the outside connecting body and outside connecting body are noted as P + k and P − k , respectively. As shown in Figure 6. The force of E k on a body is denoted as F e k (k = 1, 2, · · · , n e ). The force F e k of B e + (k) on B e − (k) points from P + k to P − k and the force −F e k of B e − (k) on B e + (k) points from P − k to P + k .
Appl. Sci. 2021, 11, 10988 9 of 27 on the outside connecting body and outside connecting body are noted as k P  and k P  , respectively. As shown in Figure 6. The force of k E on a body is denoted as points from k P  to k P  . Assuming that the robot system has e n force elements, define an element: 1 has incidence with 1, 2, , 1 has incidence with 1, 2, , 0 has no incidence with or The e n n  square matrix composed of e ik S is called the path matrix of force element of the system, denoted as e S . For the 6R robot system, The resultant force of all the joint elements on i B is denoted as The e n -order vector column matrix Assuming that the robot system has n e force elements, define an element: The n × n e square matrix composed of S e ik is called the path matrix of force element of the system, denoted as S e . For the 6R robot system, The resultant force of all the joint elements on B i is denoted as Fê i (i = 1, 2, · · · , n).
The n e -order vector column matrix F e formed by F e k (k = 1, 2, · · · , n e ) and the n-order vector column matrix Fê formed by Fê i (i = 1, 2, · · · , n) have the following relationship: For the 6R robot system, Finally, the vector matrix of force element of the 6R robot system is established and the resultant moment of the force elements on the rigid body are derived.
The vectors pointing from the centers of mass of rigid bodies B e + (k) and B e − (k) to the action points P + k and P − k of E k , respectively, are called force element vectors and are denoted as c e ik (i = e + (k) or e − (k)). The weighted force element vector is defined as: C e ik that has incidence with B i is directed from the inside to the outside, and C e ik that has no incidence with B i is zero.
The n × n e square matrix composed of C e ik is called the vector matrix of force element of the system, denoted as C e . C e is used to describe the distribution of force elements in each rigid body of the system. For the 6R robot system, Therefore, the moment Mê i (i = 1, 2, · · · , n) of the force element that has incidence with B i to the center of mass O ci is expressed as: For the 6R robot system, Mê i (i = 1, 2, · · · , 6).

Dynamical Modeling of Unconstrained 6R Robot System
The vector of O ci relative to O 0 is denoted as r i , the angular velocity of B i relative to (O 0 , e − (0) ) is denoted as ω i , the mass and central inertia tensor of B i are denoted as m i and J i , respectively, and each component e Here, k is the active resultant moment of the joints that has incidence with B i on B i . For the 6R robot system, M a i (i = 1, 2, · · · , 6). Therefore, for the 6R robotics system, T is the column matrix composed of M i (i = 1, 2, · · · , 6). We call Equation (22)  First, the center of mass motion equation, Equation (22), is written in matrix form: A − (0i) is the coordinate transformation matrix expressed by Cardano angles.
Then, the posture motion equation, Equation (23), is expressed in matrix form relative to (O i , e − (i) ) as: Here, the matrix symbolã − with tilde denotes the following three-order antisymmetric Express posture motion equation, Equation (30), by generalized angular coordinates as follows: Here, .
The dynamic equation of the rigid body expressed by generalized coordinates is obtained by combining Equations (28) and (32) as follows: Equation (35) is abbreviated as: Here, The dynamic equation for the unconstrained 6R robot system is derived as: Here, A − is a 36-order square matrix and B − is a 36-order column matrix.

Dynamic Parameter Identification of 6R Robot System
The dynamic parameters of the 6R robot include the mass m i of each rigid body and the three principal moments of inertia J The force element F i (i) exerted by each joint and the moment M i (i) of the force element F i (i) to the center of mass and the angular velocity and angular acceleration of each rigid body and the acceleration of the center of mass of each rigid body are regarded as known quantities, dynamic parameters are regarded to be unknown quantities. We rewrote the dynamic equation into parameter identification form and identified it by using the least squares method.
First, the center of mass motion equation Equation (22) is rewritten. The expansion of F i in Equation (22) is written as: Here, F e k1 , F e k2 and F e k3 are the components of F e k on e Since gravity F g i is a function of the unknown quantity m i to be identified, move it to the left. Equation (41) is rewritten in parameter identification form as follows: Equation (42) is written in matrix form as follows: Here, Second, the posture motion equation, Equation (30), is rewritten. The expansion of Equation (30) is written as: and ω Equation (46) is abbreviated as the following form: Here, Finally, the rewritten center of mass motion equation, Equation (43), and the rewritten posture motion equation, Equation (47), are combined and expressed as the following form, that is, a dynamic equation with parameter identification form.
Equation (49) is abbreviated as the following form: Here, This is the dynamic equation with the parameter identification form of B i and id X i is the dynamic parameter to be identified. id Y i and id Z i are known parameters obtained by sampling the system, sampling at multiple times to obtain multiple sets of data. The dynamic parameter id X i of the 6R robot system is identified by using the least squares method.
For time t j , the dynamic equation with parameter identification form is expressed as: Assuming that there are n sets of data, that is, 1 ≤ j ≤ n, corresponding to times t j (j = 1, 2, · · · , n) respectively, then the following equation is formed.
Equation (53) is abbreviated as the following form: Here, Then the least squares solution of Equation (54) is: This means that the dynamic parameters of the rigid body can be identified by using least squares method by sampling the acceleration of the center of mass and the angular velocity and angular acceleration and the data of the joint force element of the rigid body at multiple times.
The above is our method for identifying the dynamic parameters of a single rigid body, from which we can further derive a method for identifying the dynamic parameters of the 6R robot system. The 6R robot system is a combination of rigid bodies, therefore the dynamic equation with parameter identification form is written as: Equation (57) is abbreviated as the following form: Here, Among them, id X is the dynamic parameter to be identified, id Y and id Z are the known data obtained by sampling the system. Sampling at multiple times to obtain multiple sets of data, the dynamic parameter id X of the 6R robot system is identified by the least square method.
For time t i , the dynamic equation with parameter identification form is expressed as: Assuming that there are n sets of data, that is, 1 ≤ i ≤ n, corresponding to times t i (i = 1, 2, · · · , n), respectively, the following equation is formed.
Equation (61) is abbreviated as the following form: Here, Then the least square solution of Equation (62) is as follows: This means that the dynamic parameter of the 6R robot system can be identified by using the least squares method by sampling the data of the center of mass acceleration and the angular velocity and the angular acceleration and the data of the joint force elements of rigid bodies at multiple times.

Constraint Equations for 6R Robotic Systems
Each joint of the 6R robot is a single DOF revolute joint and each revolute joint provides five holonomic kinematic constraints. The revolute joints O j (j = 1, 2, · · · , 6) that links rigid body B j to its inside connecting body B i(j) has a base vector p j of shaft axis, as shown in Figure 7, the arrows represent the directions of the vectors and the circles represent the joint points in Figure 7. Equation (61) is abbreviated as the following form: Here, Then the least square solution of Equation (62) is as follows： This means that the dynamic parameter of the 6R robot system can be identified by using the least squares method by sampling the data of the center of mass acceleration and the angular velocity and the angular acceleration and the data of the joint force elements of rigid bodies at multiple times.

Constraint Equations for 6R Robotic Systems
Each joint of the 6R robot is a single DOF revolute joint and each revolute joint provides five holonomic kinematic constraints. The revolute joints  Then the kinematic constraints imposed by the joint j O acting on the 6R robot system are embodied as follows: (1) The joint point on rigid body j B coincides with the joint point on its inside connecting body as a point.
(2) The base vector of shaft axis of rigid body j B coincides with the base vector of shaft axis of its inside connecting body as the same vector j p .
Constraint condition (1) is expressed as follows: Then the kinematic constraints imposed by the joint O j acting on the 6R robot system are embodied as follows: (1) The joint point on rigid body B j coincides with the joint point on its inside connecting body B i(j) as a point. Constraint condition (1) is expressed as follows: Equation (65) is written in matrix form as follows: Equation (66) projecting to (O 0 , e − (0) ) produces three scalar equations, namely three constraints as follows: Constraint condition (2) is expressed as follows: The basis vector p j is projected in three directions to obtain three projection equations as follows: Since the relationship between the projection components p j1 , p j2 , p j3 of p j is as follows: There are 30 constraint equations in Equation (105) and its derivative is calculated twice with respect to time to obtain the following equation: Here, the 30 × 36 matrix φ q is the Jacobi matrix of φ(q − ), which is defined as: Then, the constraint equation in the form of the generalized acceleration coordinate is obtained as follows: The 30-order column matrix ζ − is defined as: Introduce 30 Lagrange multipliers λ k (k = 1, 2, · · · , 30) and write them in column matrix form λ − = (λ 1 , λ 2 , · · · , λ 30 ) T .
Then the Lagrange equation of first kind of the unconstrained dynamic equation is obtained as follows: Equation (110) is combined with the constraint equation, Equation (108), and then write them in a unified form as follows: This is the dynamic equation of the 6R robot system with complete constraints expressed in generalized coordinates. The expression of this equation is compact and unified. The ideal constraint force of the 6R robot system is re-added by Lagrange multipliers.
There are 66 equations included in Equation (111), which can solve up to 66 unknown variables.
On the basis of Equation (111), the control of the 6R robot system can be realized. The force control of the system can be realized by planning the trajectory curve of .. . This is the work to be carried out in the future.

ADAMS Simulation Verification and Calculation Example of 6R Robot System Dynamics Model
A simulation model of the 6R robot was established using ADAMS software. After the measurement and calculation of the parameters, the results show that the identified dynamic parameters have extremely high accuracy, which verifies the correctness and accuracy of the dynamic model and then the ideal constraint force of the 6R robot at a certain moment is analyzed qualitatively.
The simulation model was established based on the rigid body length parameters of the typical 6R robot KUKA KR500 and then the simulation model was used to verify the dynamic model.
First, the simulation model is established with ADAMS software; second, the required linkages and drivers are set, and the dynamic simulation is performed; third, the required parameters of the simulation process are measured; finally, the dynamic parameter identification model and the dynamic model are verified based on the measured parameters.
The structure parameters of the KR500 robot are shown in Figure 8.

ADAMS Simulation Verification and Calculation Example of 6R Robot System Dynamics Model
A simulation model of the 6R robot was established using ADAMS software. After the measurement and calculation of the parameters, the results show that the identified dynamic parameters have extremely high accuracy, which verifies the correctness and accuracy of the dynamic model and then the ideal constraint force of the 6R robot at a certain moment is analyzed qualitatively.
The simulation model was established based on the rigid body length parameters of the typical 6R robot KUKA KR500 and then the simulation model was used to verify the dynamic model.
First, the simulation model is established with ADAMS software; second, the required linkages and drivers are set, and the dynamic simulation is performed; third, the required parameters of the simulation process are measured; finally, the dynamic parameter identification model and the dynamic model are verified based on the measured parameters.
The structure parameters of the KR500 robot are shown in Figure 8.  The length of each rigid body B i (i = 1, 2, · · · , 6) is known. To simplify the dynamic model, each B i is regarded as a homogeneous cylinder and the radius of each B i is given, among them, the rigid body B 6 is the end effector and its size parameters are set to 0.3 m in length and 0.3 m in radius.
Then the material type of all rigid bodies B i is set to steel and the mass m i (i = 1, 2, · · · , 6) and the principal moment of inertias J (i = 1, 2, · · · , 6) of each rigid body are generated, then the ADAMS simulation model of the KR500 robot is established, as shown in Figure 9. The establishment and direction of each body-fixed base (O i , e − (i) ) (i = 1, 2, · · · , n) of the model is shown in Figure 2. To quantify each parameter, set the unit of each physical quantity. The unit of each physical quantity is shown in Table 1. The value of gravitational acceleration is set to 9.80665 and the direction is the  To quantify each parameter, set the unit of each physical quantity. The unit of each physical quantity is shown in Table 1. The value of gravitational acceleration is set to 9.80665 and the direction is the −e (0) 3 direction. The parameters of each rigid body in the ADAMS simulation model obtained from the units of each physical quantity are shown in Table 2. The rigid body sequence is from inside to outside. The principal moment of inertia J

Simulation Verification of Dynamic Parameter Identification Model
According to the rigid body dynamics model, Equation (49) To simultaneously identify the dynamic parameters of all rigid bodies with one simulation (only one movement), that is, the parameters collected in this movement can be used to identify each single rigid body, it is necessary for each rigid body to generate the above parameters at the same time in this movement to ensure that the data corresponding to each discrete time is real-time for each rigid body. This is the premise that the measured parameters can be used to identify the dynamic parameters of each rigid body at the same time.
To achieve the above purpose, the simulation is set to make the rigid body B 1 move along the e 1 direction (that is, the guide rail direction) with an acceleration of 2 m/s 2 , while the joint O 1 and the joint O 2 rotate around the joint axis at the angular acceleration of 9.5493 rad/s 2 (that is, 30 • /s 2 ), all other joints are locked so that they do not rotate around the joint axis.
Set the initial state to the static state, and the posture is shown in Figure 9, which is the posture shown in Figure 2. The simulation termination time is 2 s and the number of steps is 100. When the simulation is terminated, the robot posture is shown in Figure 10. The motion process generates various required parameters, and the ADAMS software is used to measure various parameters.
To achieve the above purpose, the simulation is set to make the rigid body 1 B move along the (0) 1 e direction (that is, the guide rail direction) with an acceleration of 2 2 / m s , while the joint 1 O and the joint 2 O rotate around the joint axis at the angular acceleration of 2 9.5493 / rad s (that is, 2 30 / s  ), all other joints are locked so that they do not rotate around the joint axis.
Set the initial state to the static state, and the posture is shown in Figure 9, which is the posture shown in Figure 2. The simulation termination time is 2 s and the number of steps is 100. When the simulation is terminated, the robot posture is shown in Figure 10. The motion process generates various required parameters, and the ADAMS software is used to measure various parameters. Figure 10. The termination posture of the KR500 robot ADAMS simulation. The 6R robot system will inevitably be disturbed during the movement, which will cause errors between the measured data and the true value. To reduce the identification accuracy error caused by data error when a single set of data is used for identification, multiple sets of data can be used to identify dynamic parameters according to the mathematical model of Equation (56) to improve the accuracy and stability of the obtained parameters. Theoretically, the more data is taken, the better the identification effects, but too much data will increase the complexity and time-consuming of calculation. In this experiment, five sets of parameters are selected, respectively, taking the parameters at the five times of 0.3 s, 0.6 s, 0.9 s, 1.2 s and 1.5 s (other arbitrary times can also be randomly selected).
The dynamic parameters of the 6R robot system are identified, as shown in Table 3. The 6R robot system will inevitably be disturbed during the movement, which will cause errors between the measured data and the true value. To reduce the identification accuracy error caused by data error when a single set of data is used for identification, multiple sets of data can be used to identify dynamic parameters according to the mathematical model of Equation (56) to improve the accuracy and stability of the obtained parameters. Theoretically, the more data is taken, the better the identification effects, but too much data will increase the complexity and time-consuming of calculation. In this experiment, five sets of parameters are selected, respectively, taking the parameters at the five times of 0.3 s, 0.6 s, 0.9 s, 1.2 s and 1.5 s (other arbitrary times can also be randomly selected).
The dynamic parameters of the 6R robot system are identified, as shown in Table 3.  2 direction, the mass cannot be identified in this direction. The absolute error between the dynamic parameters obtained by identifying rigid body B 6 , B 5 , · · · , B 1 from outside to inside and its true value is shown in Table 4. Table 4. The absolute error between the dynamic parameters of rigid body B 6 , B 5 , · · · , B 1 and its real value.

Rigid Body
Absolute Error There are two reasons for the error: 1. The dynamics identification model is a complex system. To obtain the final result, many calculations are required. The result of each calculation will cause absolute errors due to only taking part of the significant digits. Therefore, the greater the number of calculations, the bigger the absolute error accumulated. 2. Since the data measured by ADAMS software retains seven significant digits and the counting rules cannot be changed, the larger the measured number, the more digits of the integer and the fewer digits of the decimals, then the greater the absolute error produced.
It can be seen from Table 4 that the absolute error of the identified mass m i is very small. This is because the number of calculations for the identified mass is less. The absolute error of m 1 is larger than that of other m i (i = 2, 3, · · · , 6). This is because the force and moment of rigid body B 1 is larger than that of other B i (i = 2, 3, · · · , 6). The reduction in the number of decimal places of relevant data increases the absolute error.
The absolute error of the principal moment of inertia J i 33 (i = 2, 3, · · · , 6). This is because although the force and moment of B 1 are larger than those of other B i (i = 2, 3, · · · , 6), the simplification of the identification model of B 1 (only the equation in the e (1) 1 direction is retained) reduces the number of calculations.
In addition, the dynamic equation with parameter identification form is obtained by deforming the unconstrained dynamic equation, which is essentially the same equation, so the unconstrained dynamic equation is verified at the same time.

A simulation Example of the Dynamic Equation of the Constrained 6R Robot System
There are 66 equations in the constraint dynamic equation of the robot system, which can solve up to 66 unknowns, usually corresponding to 36 generalized coordinates and 30 Lagrange multipliers. Since the generalized coordinates were measured in the simulation motion, 30 Lagrange multipliers can be solved as unknowns.
Lagrange multipliers λ i (i = 1, 2, · · · , 30) are written as a Lagrange multiplier matrix λ − i (i = 1, 2, · · · , 6), which corresponds to rigid body B i (i = 1, 2, · · · , 6). Each multiplier matrix is a five-order column matrix. For ease of description, it is recorded as: λ ij (j = 1, 2, · · · , 5) denotes the five elements of B and each element has its physical meaning. Among them, λ i1 , λ i2 , λ i3 is proportional to the ideal constraint force of the rigid body in the e 3 direction and corresponds one to one. λ i4 , λ i5 is the function of the three Cardan angles α i , β i , γ i of B i , which is proportional to the ideal constraint moment represented by the Cardano angle α i , β i , γ i .
The data at 1.5 s time is taken, and the Lagrange multipliers are calculated. The result is calculated by Formula (111) Qualitative analysis of the data of λ − i (i = 1, 2, · · · , 6) at 1.5 s time shows that: To counteract the effect of gravity, the ideal constraint force of the rigid body B i (i = 1, 2, · · · , 6) in the e directions, so λ i3 (i = 1, 2, · · · , 6) is much greater than λ i1 , λ i2 (i = 1, 2, · · · , 6). The rigid body B i (i = 1, 2, · · · , 6) needs to bear all the gravity of B j (j > i) and the ideal constraint force of the rigid body in the e (0) 3 direction from the outside to the inside increases, so λ i3 (i = 1, 2, · · · , 6) increases with decreasing i number. The ideal constraint force of B i (i = 1, 2, · · · , 6) in the e 2 and do not need to bear the moment generated by the gravity of the outside body, so the ideal restraining moment of O 1 , O 2 , O 6 is small. Therefore, the value of λ i4 , λ i5 (i = 2, 3, 5) is much greater than λ i4 , λ i5 (i = 1,4,6). O 2 , O 3 has more outside bodies than O 5 and the moment generated by the gravity of the outside bodies is larger, so λ i4 , λ i5 (i = 2, 3) is greater than λ i4 , λ i5 (i = 5), the posture of the robot system at 1.5 s is shown in Figure 11. At this moment, the direction of the moment generated by the gravity of B 2 received by O 2 is opposite to the moment generated by the gravity of B i (i = 3, 4, 5, 6) received by O 2 , which cancels part of the moment that B i (i = 3, 4, 5, 6) enacts on O 2 . Therefore, the ideal constraint moment of O 2 is less than O 3 , so λ i4 , λ i5 (i = 2) is less than λ i4 , λ i5 (i = 3).
This qualitative analysis evaluates ideal constraint force and moment. It not only intuitively describes the force situation of the ideal constraint force and moment of each joint, but also accurately describes the magnitude relationship of each the ideal constraint force and moment by the value of the Lagrange multiplier. This provides a theoretical basis for the analysis of the structural strength and reliability of 6R robot systems. This qualitative analysis evaluates ideal constraint force and moment. It not only intuitively describes the force situation of the ideal constraint force and moment of each joint, but also accurately describes the magnitude relationship of each the ideal constraint force and moment by the value of the Lagrange multiplier. This provides a theoretical basis for the analysis of the structural strength and reliability of 6R robot systems.

Conclusions
6R robot dynamics research is of great significance to the application of robots in the manufacturing industry. Motivated by this, this article systematically studied the 6R robot dynamic model in three respects: modeling, experiment and solution.
First, we established the unconstrained dynamics equation of 6-DOF industrial robots based on graph theory. On this basis, we proposed a new method of dynamic parameter identification. The results of the ADAMS simulation experiment showed that the identified dynamic parameters have extremely high accuracy, with a maximum absolute error of 0.0424, verifying the correctness and accuracy of the dynamic equation.
Second, we established the system of constraint equations for the robot system, consisting of 30 constraint equations.
Finally, we used the Lagrange multiplier method to establish the constrained dynamics equation of the 6-DOF industrial robot and pointed out that the Lagrange multiplier was proportional to the ideal constraint force and moment.
By calculating the constraint dynamics equation at the time of 1.5 s, the values of the Lagrange multipliers were calculated, and from this, the ideal constraint force and moment of the 6R robot system was qualitatively analyzed. A method to evaluate the ideal constraint force and moment was proposed.
The results of experimental research and numerical calculation show that the modeling theory and method proposed in this paper are correct and effective, and the dynamic model has high accuracy.
In future work, we will realize force control and drive control based on the constrained dynamic equation of 6-DOF industrial robots.