Identification of Dynamic Parameters for Robots with Elastic Joints

This paper presents a novel method for identifying dynamic parameters of robot manipulators with elastic joints. A procedure based on the Lagrangianm formulation of the dynamic model is proposed. Each term is inspected to search for a linear relationship with the dynamic parameters, thus enabling the linearization of robot dynamic model. Hence, the torque vector is expressed as the product of a regressor matrix, suitably defined by the vector of dynamic parameters. A parametric identification based on a least-squares technique is applied to determine dynamic parameters of robots with elastic joints. The correctness of the proposed procedure has been tested in simulation on two robotic structures with elastic joints of different complexity, that is, a 2-degree-of-freedom (dof) and a 6-dof manipulator, controlled with a PD control in the joint space.


Introduction
Robot dynamics describes the relationship between motion and forces by means of a number of parameters, including link and motor masses, inertias, and friction. Dynamic parameters can be grouped into the following three main categories, based on the contribution they provide to generate motor torques [1]: (i) unidentifiable parameters: if a variation of the parameter does not modify the robot dynamic behavior; (ii) linearly independent parameters: if a variation of the parameter modifies the robot dynamic behavior in a way that is not repeatable by varying another parameter (or a set of other parameters); (iii) linearly dependent parameters: if a variation of the parameter modifies the robot dynamic behavior in a way that is repeatable by varying another parameter (or a set of other parameters).
The knowledge of robot dynamic parameters is helpful for simulation purposes [2], for control purposes [3,4], and for mechatronic design purposes (i.e., to optimize robot design by studying the interaction between the robot and its environment [5]). Notwithstanding, a proper estimation is often unavailable. Hence, the need emerges of resorting to methods for estimating them; for clarity, a schematic classification of these methods is provided in Figure 1, with a brief description.
This paper is focused on one specific branch of the tree in Figure 1, that is, the Parameters identification procedures belonging to the category of offline estimation.
They consist of "exciting" the dynamics of a manipulator making it move along optimized trajectories through proper torque commands [1,6]. These methods are generally used to identify parameters of open kinematic chains, generally neglecting coupled dynamics and transmission elasticity. They are grounded on three possible approaches. The first approach exploits the Newton-Euler formulation (N.-E.) of the dynamic model [1,7,8]. The second approach is based 2

Advances in Mechanical Engineering
The manipulator is disassembled and each component is individually measured and scaled.
Dynamic parameters are extracted from geometrical and material properties of components.
The set of parameters is obtained when the manipulator dynamic model fits the observation.
Estimation of dynamic parameters is iteratively updated. Convergence is not guaranteed.
Weights of the neural network are related to dynamic parameters. Neural network approaches Figure 1: Methods for dynamic parameters identification (readapted from [26]).
on the Lagrangian formulation of the dynamic model [9,10]. The third one exploits again energetic considerations [11,12], as in the second approach based on the Lagrangian formulation. However, it evaluates the energy of each configuration without relating the external torques to the Lagrangian of the system. In [13] a comparative analysis of the computational burden of the Lagrangian formulation with respect to the energetic formulation is provided. All the aforementioned approaches are formulated for robots with rigid joints and links and cannot be easily extended to the case of robots with mechanical elasticity because of the different dynamic model. On the other hand, when existing, elastic phenomena cannot be neglected because of the degradation of robot performance they may cause [3,14,15].
It is worth noticing that only a few works cope with the identification of the elasticity in single joints due to the transmission systems and, to our knowledge, no work does exist on the identification of the complete dynamics of robots with mechanical elasticity. For instance, in [16] a method to estimate one actuator elasticity is proposed, but motor inertia is supposed to be known. The work in [17] presents the parameter identification of one elastic joint based on a nonlinear model, and at least four series of experiments are needed to apply the proposed approach.
This paper intends to propose a novel procedure for identifying the dynamic parameters of robots with elastic joints. It is grounded on the Lagrange formulation of the dynamic model of the manipulator, thus accounting for robot elastic energy in addition to kinetic and gravitational energy contributions. Open kinematic chains and absence of coupled dynamics are supposed. Furthermore, joint elasticity is assumed to be concentrated in the transmission system between the motor and the joint. This entails that 14 dynamic parameters should be estimated for each joint. They are link mass, three coordinates of the center of mass, six components of the inertia tensor, motor inertia, static and viscous friction coefficients (assuming the Coulomb friction model for static friction), and transmission elasticity. Special attention is paid to the extraction of the regressor matrix, in order to linearize robot dynamic model and facilitate parametric identification. Also a method is proposed to identify the category to which a parameter belongs (i.e., unidentifiable, linearly dependent, or else independent).
The paper is structured as follows. Section 2 introduces the notation that is adopted in this paper. In Section 3, linearization of robot dynamic model with respect to dynamic parameters is presented. The regressor matrix relating external and actuation torques with dynamic parameters is extracted in Section 4. Parameter identification is carried out in Section 5; it also proposes a method to discriminate the category to which a parameter belongs. Finally, the proposed procedure is validated on two simulated robots (a planar and a 6-dof robot) in Section 6. Section 7 summarizes the main achievements of this work, presenting conclusions and future works.

Notation
In this paper, the following notation is used. All the parameters are defined in the robot base frame, that is, "0" frame, if not specified by other apexes. Regarding kinematic parameters we have the following: (ii) : angular position of link , which is different from due to transmission elasticity; (iii) p ,ṗ , R , : position, velocity, rotation matrix, and angular velocity of reference frame on link ; (iv) z : rotation axis of rotor of motor , expressed in frame − 1.
For defining robot dynamic parameters, it is useful to introduce the concept of "body." Body is the system composed of link and the stator of the motor rigidly Advances in Mechanical Engineering 3 connected to it. Thus, the following notation applies to dynamic parameters: (i) : mass of body ; (ii) c : product of mass and center of mass of body , represented in frame ; (iii) I : inertia tensor of body represented in frame and relatively to its frame origin; (iv) Υ : inertia of rotor of motor ; (v) : elasticity of transmission ; (vi) f , f V : static and viscous friction coefficients of motor . Coulomb friction model is assumed. Friction is supposed to be concentrated in motors, as proposed in the literature [18,19]. In other words, it is assumed that all the components of link prone to friction rotate with angular velocity .

Dynamic Model of Robot Manipulators with Elastic Joints
The following assumptions are provided: (1) The robot has an open kinematic chain of rigid bodies, driven by electrical actuators through elastic joints undergoing small deformations in the domain of linear elasticity.
(2) Rotors of motors are rigid bodies with uniform density around their rotation axes.
Robot kinetic energy , gravitational potential energy , and elastic potential energy can be computed as follows: where is the number of robot joints and g 0 represents the gravity vector. For the analytical formulation of , refer to [20] and Appendix A; for , refer to [20]; for , refer to [21]. By applying the Lagrangian formulation, dynamic model of robots with elastic joints can be expressed as [3,21] = B (q)q + C (q,q )q + f Vq + f sign (q ) is the generalized vector of external forces, and u ∈ R ( ×1) is the actuation torque vector; q = [q ] ∈ R (2 ×1) is the generalized joint vector, and (1) B(q) ∈ R (2 ×2 ) is the inertia matrix, related to total robot kinetic energy as follows: (2) matrix C(q,q ) ∈ R (2 ×2 ) is the centrifugal and Coriolis torque matrix, related to elements of B(q) as (4) g(q) = / q is the gravity vector, where is the gravitational potential energy; (5) K q = / q is the contribution of elasticity, being K expressed as [21] where is the elastic potential energy and K = diag{ 1 , . . . , } is the joints elasticity matrix.
As shown in Appendix A, by exploiting the relationships between linear and angular velocity with joint velocity, inertia matrix B(q) can be written as follows: 4

Advances in Mechanical Engineering
where It is worth observing that submatrix B (q) is linear with body masses , B (q) is linear with products of body masses and body centers of mass c , B (q) is linear with body inertia tensors I , and submatrices B (q) and B Υ are linear with rotor inertias Υ .
Once matrix B(q) is defined, matrices H ( ) (q) can be easily evaluated as where being and Finally, coefficient of gravity vector g(q) can be easily shown to be equal to where g(q) , = − ∑ =1 g 0 J ( ) , depends only on masses, while g(q) , = −∑ =1 g 0 (J ( ) , ) [ ] R c depends only on products of masses and centers of gravity.

Linearization of Robot Dynamic Model
Formulation of robot dynamics as in Section 3 makes each term depend only on one dynamic parameter. This has the consequent advantage of simplifying the linearization of the dynamic model and the evaluation of regressor matrix Y(q,q ,q ), which relates the measured generalized external torques to the robot dynamic parameters. Hence, robot dynamic model in (2) can be linearized as where Y (q,q ) is the regressor of the inertia matrix, Y (q,q ) is the regressor of the centrifugal and Coriolis torque matrix, Y oth (q,) is the regressor of all the remaining terms in (2), and is the parameter vector composed of the subvectors of mass

product of mass and center of mass parameters
, and elasticity parameters Π = [ 1 ⋅ ⋅ ⋅ ] . Body inertia I * is expressed as , ] , where the first three parameters represent the inertia moments and the last three parameters represent the inertia products.
In the following the expression of the regressor matrix related to each term of the dynamic model is presented.
First, product B(q)q is considered. It can be rewritten as The regressor matrices in (15) can be obtained from (8) as 1 From (16) Analogously, product C(q,q )q can be written as (see Appendix B) where where 6 Advances in Mechanical Engineering where vectors r are defined as in (11). As regards the remaining conservative terms, that is, g(q) + K q, and the dissipative terms, that is, f Vq + f sign(q ), they can be written as where being both Y (q) and Y (q) upper triangular matrices On the other hand, Y , Y V , and Y are diagonal matrices defined as

Parametric Identification Procedure
A parametric identification procedure for robots with elastic joints is proposed to identify vector of dynamic parameters Π.
As for the rigid case [7,10], it exploits the property of linearity of robot dynamic model with respect to the vector of dynamic parameters in (13). The parametric identification procedure requires recording manipulator actuation torques u, and motion variables q,q , andq , while moving the robot in the free space along suitable trajectories. For each measurement and vector T = [0 u ] ∈ R 2 ×1 can be evaluated and, by resorting to (13), the following relation can be written: or, alternatively, where If matrix W is of full rank and the number of rows is greater than (or at least equal to) the number of columns, parameter vector Π can be identified as where It is worth noticing that, regarding relation (36) as a system of 2 equations in 14 variables, at least 7 measurements are required for the identification of the vector Π; thus ≥ 7.
Otherwise, if rank of matrix W is not full, it is possible to identify the category to which a single parameter belongs [1] with the procedure explained as follows.
(1) If column of matrix W is a null vector, then parameter is unidentifiable and does not affect robot dynamics.
(2) If column of matrix W is not null, but it can be obtained as a linear combination of other columns, then parameter is identifiable only in linear combination with other parameters.
(3) If column of matrix W is not null and cannot be obtained as a linear combination of other columns, then parameter is independently identifiable.
In order to evaluate whether parameters are independently identifiable or not, Gauss-Jordan elimination procedure can be applied to evaluate a base matrix L for matrix W, that is, a set of linearly independent columns of matrix W. Then, matrix K can be introduced, composed of not-null columns of matrix W which are not columns of matrix L. Thus, each column K of matrix K can be written as a linear combination of columns L of matrix L as follows: where is the number of vectors composing the base of W.
Eventually, by grouping vector Π into two subvectors Π L and Π K , the following relations can be obtained: and, due to relation (39), where is the matrix composed of columns A , and Π * = Π L + AΠ K is the vector of parameters to be identified. Thus, parameter Π L is independently identifiable if row of matrix A is a null vector; otherwise, parameter Π L is identifiable only in linear combination with some parameters of vector Π K . Parameters of vector Π K are identifiable only in linear combination. Further, vector Π * can be computed through a leastsquares approach as

Validation and Results
Simulation tests have been performed to validate the proposed identification procedure of dynamic parameters on robots with elastic joints. To this purpose, two robotic structures of different complexity have been modeled. The former is a planar manipulator with 2 dofs and elastic joints (see Figure 2). The latter is a 6-dof manipulator modeled as a PUMA 560 with additional elastic joints. The planar manipulator moves in the vertical plane; hence, gravitational acceleration g 0 is directed along axis − 0 with respect to the base reference system (g 0 = [0 −9.81 0] m/s 2 ).
Kinematic and dynamic parameters of the planar robot are as follows: 1 = 2 = 0.
In accordance with model in (5), only the static and viscous components of the friction torque are taken into account, thus neglecting the nonlinear effects as shown, for example, in Figure 3 for the Coulomb friction. In the identification procedure, static and viscous components will be identified (as shown in (32) and (33)), while the nonlinear effects will be regarded as external disturbances.
The PD control proposed in [3] has been used to control robot motion in the free space. Excitation trajectories based on fifth order B-splines, as in [23], have been used as reference trajectory for each joint.
Joint angular positions have been sampled at 1 kHz and quantized to simulate a real scenario, by assuming to have a high resolution encoder (1250000 counts/round). Data have been filtered through a Butterworth IIR low-pass filter of fifth-order and cut-off frequency of 20 Hz. Motor and joint angular velocities and accelerations have been computed through a first-order numerical differentiation. Additionally, the effect of sensor noise on the performance of the proposed identification procedure has been evaluated. To this purpose, a Gaussian noise with zero mean value has been added to motor and joint position, velocity, and acceleration and the error percentage between real and estimated dynamic parameters has been measured for five different levels of signal-to-noise ratio (i.e., SN = 20, SN = 70, SN = 80, SN = 100, and SN = 200), in addition to absence of noise. Motion variables have been obtained by means of the robot forward dynamics also accounting for the friction model in (43). In Figure 4 motor torques applied to the simulated manipulator are shown, with the corresponding motion in the joint space. As shown in Figure 5, the maximum difference between link and motor position is 0.39 ∘ and 0.10 ∘ for first and second joint, respectively. A total of 8900 measurements have been performed, thus constructing observation matrix W and torque vector T in (36). In order to reject nonlinear friction effects, measurements where joint velocity was lower than a threshold value of 0.5 rad/s have been discarded (a total of 1334 measurements have been discarded). A systematic approach to define this threshold value is presented in [24]. By inspecting matrix W, vector Π * of 14 identifiable parameters (or linear combination of parameters) has been extracted by means of relation (41), and matrix L has been computed. The obtained values of parameters in Π * in absence of measurement noise are reported in Table 1, where c = [ , , , ] (in SI units). As one can easily observe in Table 1, the error between the obtained estimated parameters and the real ones is very low. The normalised mean error is 0.103; it becomes 0.00862    (i.e., 0.862 per cent as percentage error) without the static friction, thus pointing out that probably the neglected nonlinear terms of the adopted model may cause an increase of the error. Furthermore, Table 2 reports the normalised mean error between the estimated parameters and the real ones in the case of noisy measurements of position, velocity, and acceleration, for five different levels of signal-to-noise ratio (i. e., SN = 20, SN = 70, SN = 80, SN = 100, and SN = 200).  One can observe that for high values of signal-to-noise ratio, up to SN = 80, the error still remains small and comparable to the absence of noise. For lower values of signal-to-noise ratio, the error becomes very high. As aforementioned, the proposed identification procedure of dynamic parameters has also been applied to a 6-dof robot manipulator with elastic joints. It has been modeled as a PUMA 560 with elastic joints. Robot dynamic parameters (except for joint elasticity) are reported in [25]. On the other hand, transmission elasticity for each joint has been assumed to be as = 2000 N ⋅ m/rad for = 1, . . . , 6.
By analogy with the planar case, excitation trajectories based on fifth-order B-splines have been planned in the joint space and the PD control in [3] has been used to regulate robot position. Motor torques applied to the simulated manipulator and resulting motion in the joint space are reported in Figure 6. For brevity, only the maximum difference between link and motor position for joints 1 and 2 is shown in Figure 7. However, the mean value over the six joints resulted to be 0.09 rad.
As for the planar case, observation matrix W and torque vector T in (36) have been constructed. The complete vector of 84 dynamic parameters (i.e., Π) has been estimated through the proposed procedure. The obtained parameters are reported in Tables 3, 4, 5, and 6 together with the values of the real dynamic parameters related to joint elasticity, masses, centers of mass, inertia tensors, motor inertias, and friction. Afterwards, vector Π * of 62 identifiable parameters (or linear combination of parameters) and matrix L have been extracted. The normalised mean error between estimated and real parameters resulted to be 0.123, that is, very closed to the value obtained in the planar case. The provided simulation tests prove the correctness of the proposed methodology. As future work, the performance on a real robot will be measured.

Conclusions
A novel procedure for identifying dynamic parameters for robots with elastic joints has been proposed. The proposed procedure is based on the Lagrangian formulation of the dynamic model of the manipulator, accounting for robot elastic energy, in addition to kinetic and gravitational energy contributions. This feature represents the actual main novelty of this work, since no systematic approaches for parameter identification have been reported in the literature for robots with elastic joints.
Each term of the dynamic model has been analyzed in order to linearize it and express the vector of external and motor torques as the product of a regressor matrix by a vector of dynamic parameters to identify. Special attention has been paid to the extraction of the regressor matrix, in order to facilitate parametric identification. Also a method is proposed to identify the category (unidentifiable, linearly dependent, or else independent) to which a parameter belongs. Two robotic structures with elastic joints of different complexity have been simulated in order to validate the procedure of parametric identification, that is, a 2-dof planar manipulator and a 6-dof manipulator. The PD control in [3] has been used to move the robot in the free space; the simulation of the forward dynamics of the manipulator has permitted to collect joint and motor positions, velocities, and accelerations during motion and consequently apply the identification procedure with and without measurement noise.
The obtained results have shown that the proposed procedure leads to a correct identification of the manipulator dynamic parameters with a very low error; the mean normalised error between actual parameters and estimated ones is 0.103 for the planar manipulator and 0.123 for the 6dof manipulator. The percentage error decreases to a value around 0.862 percent if the static friction is excluded (which is more affected from the neglected nonlinearities of the adopted friction model). In presence of measurement noise, the error is still low for signal-to-noise ratios higher than 80. The correctness of the analytical formulation of the regressor matrix and, consequently, of the parametric identification procedure is thus assessed and the application on a real robot with elastic joints can be envisaged as future activity.

A. Robot Kinetic Energy
This Appendix extends the formulation of kinetic energy in [20] to robots with elastic joints. Before presenting it, it is useful to introduce following notation.
(i) If not differently specified, positions are defined in the robot base frame, that is, the "0" frame, apart from motor axis vector z , which is defined in frame   (ii) Inertia tensor is defined as I ; it expresses the inertia tensor of body relatively to point and defined in reference frame . Symbol I indicates the inertia tensor when = = .
Moreover, the following relations hold.
Velocity Composition. If points p and p are rigidly connected, their velocities are related aṡ where is the angular velocity.
Steiner's Theorem for Tensors. Steiner's theorem relates inertia tensor I p of body relative to point p to inertia tensor I p relative to point p (defined in the same frame ) as follows: where is the mass of body .
Tensor Reference Frame. Tensor reference frame can be easily moved from frame to frame with the following relation: Kinetic energy of a robot with elastic joints is given by where is the energy of link and is the energy of rotor of motor . Stator of motor + 1 is supposed to be rigidly connected to link ; therefore, its contribution to kinetic energy is included in .
Energy of link is given by where p is the position of the center of mass of link , and 0 I is its inertia tensor. Indicating with p the position of the center of mass of body and exploiting relations (A.1) and (A.2), kinetic energy can be expressed as Energy of motor +1, rigidly connected to link , is given by For computing motor kinetic energy, it should be considered that rotor of motor + 1 rotates with angular velocity and that rotor inertia tensor of motor + 1 relatively to its center of mass and defined in a reference frame having its z +1 axis parallel to the rotation axis is given by being the rotor regarded as a rigid body rotating around axis z +1 . Further, according to (A.3) Advances in Mechanical Engineering   and, due to symmetry of inertia tensor, Thus, considering that (i) total inertia of body can be expressed as 0 I = 0 I + 0 I +1 , (ii) total mass of body can be expressed as = + +1 , (iii) center of mass of body related to centers of mass of link and motor + 1 as p = p + +1 p +1 , (iv) position of center of mass of body can be expressed in the th reference frame as p = R P + p , where I = I and c = P and body parameters , c , and I are related to link and motor parameters as follows (A.14) A.1. Formulation of Matrix B(q). Kinetic energy expressed as in (A.13) can be decomposed into five terms as = + + + Υ1 + Υ2 , where linearly depends on masses, linearly depends on products of masses and centers of gravity, linearly depends on inertia tensors, and Υ1 and Υ2 linearly depend on rotor inertias.
Correspondingly, four blocks of inertia matrix B(q) can be defined.

Dependence on Masses.
can be written as

Dependence on Products of Masses and Centers of Gravity.
can be written as Dependence on Inertia Tensors. One can write Dependence on Rotor Inertias. In (A.13) two terms can be identified, the first one is linearly varying and the latter one is quadratically varying with reduction gear . In particular, the first term is given by Note that matrix B(q) depends only on q.

B. Robot Centrifugal and Coriolis Torque Matrix
Elements of matrix C(q,q ) are related to elements of B(q) as being the Christoffel symbols. Thus, three matrices C (q,q ), C (q,q ), and C (q,q ) can be introduced, so that C (q,q ) = C (q,q ) + C (q,q ) + C (q,q ) . (B.2) Coefficients of matrices C , C , C are given by B.1. Regressor Matrices Y C (q,q ,) and Y H (q,q ,). Linear regressor Y C (q,q ,) allows expressing matrix C(q,q ) as follows: C (q,q )q = C (q,q )q + C (q,q )q + C (q,q )q = Y C (q,q ,) Π. which is equal to vector C (q,q )q as defined in (B.15). Consequently, regressor Y C (q,q ,) can be defined as (1) . . . (B.20)