The identification of a robot is a complex process composed by multiple steps very well defined by the research community. In this post I will try to explain the main steps in order to obtain the dynamic model of most robots. They could be either a serial manipulator or a manipulator with closed loops. Also I will introduce a mathematical mechanism to transform the main equation of the robot dynamics (See previous post) into a linear expression with the parameters. In this post, only the dynamics of the last link will be obtained. Later on, I will include the whole robotic structure.

When **modelling a real robot** one must consider the kinematics and dynamics of it. While the kinematic model only requires knowledge of the relative movement of each link and the links dimensions, a dynamic model needs more advance knowledge of the robot parameters. This model relates robot motion to joint torques, and describes the rigid-body dynamics of the robot including Coulomb and viscous friction in the joints. The additional parameters required for the proper construction of this model apart from the friction are: links’ masses, first mass moments, moments of inertia, position of the centre of gravity, and other considered non-linear effects.

Although inertia estimations can be derived from **CAD drawings**, robot manufactures usually do not provide these drawings for all parts of the robot, for example, parts manufactured by external suppliers. Also, it is common to find inaccurate models that for example do not include the voids in hollow links, leading to incorrect density calculations and thus incorrect inertias and centres of gravity. Dismantling the robot and carrying out links measurement is not always the most convenient option. Moreover, estimations of friction components are not provided by the manufacturer and they cannot be foreseen from the first principles.

**Experimental identification of the robot parameters** using motor torques and motion data is thus needed to cope with the lack of knowledge of some of the robot variables and the drifting of some of them during the time.

Traditionally this problem has been solved [1], [2], [3], [4] following the approach presented in Figure 1. The model equations are created based on the **Newton-Euler** algorithm, revealing a linear dependence on the inertial parameters. With this model, appropriate conditions are created for applying least mean squares for parameters estimation.

This procedure begins from an a priori knowledge of the robot in form of the kinematic configuration, links’ dimensions, specification and minimum requirements for the dynamic model. Although there are also techniques to calibrate the robot’s kinematic parameters [5], this is not considered as critical as identifying the dynamic condition since the kinematic configuration can be extracted easier from CAD models.

During the modelling stage, the key point is to transform the equation of the robot dynamics (See Post equation (1)) into a linear expression with the robot parameters. This is obtained applying the so called Modified Newton-Euler algorithm.

From the classical Newton-Euler equations in spatial vectors given by (1) [5], it can be expressed the spatial force acting on the last link of a robot and referred to its origin as:

(1)

Substituting for the spatial inertia , the spatial acceleration , and the spatial velocity , of a link operating and simplifying, yields to the matrices product expression (2) for the spatial force.

$latex f_n=\begin{bmatrix}0 & -S(\ddot{d_{on}}) & L(\ddot{\omega_n})+S(\omega_n)L(\omega_n) \\ \ddot{d_{on}} & S(\dot{\omega_n})+S(\omega_n) \cdot S(\omega_n) & 0 \end{bmatrix} \times

\left( \begin{array}{c}m_n\\ m_n c_n \\ l(\bar{I_n})\end{array} \right) $ (2)

Where indicates the skew-symmetric operator, is an operator which transforms a vector in a matrix as in (3) and is and operator which transforms a matrix in a vector with its elements following an increasing order.

$latex L(a)=\begin{bmatrix}a_1 & a_2 & a_3 & 0 & 0 & 0

\\ 0 & a_1 & 0 & a_2 & a_3 & 0 \\

0 & 0 & a_1 & 0 & a_2 & a_3 \end{bmatrix} $ (3)

(4)

Or, in a more compact form, the spatial force acting on that robotic link:

(5)

And with this expression it would be possible to estimate the inertial parameters of the last link and the load attached to the end–effector. However here the interest lays on identifying the inertial and mass parameters of the whole robotic structure and the effect of all links should be taken into account. This will be developed further in the next posts…Click here to go to the next post: Dynamic modelling of robots: parameters identification (II)

## Leave a Reply