Dynamic parameter identification method for robotic arms with static friction modelling


ACTA IMEKO 
ISSN: 2221-870X 
September 2021, Volume 10, Number 3, 44 - 50 

 

ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 44 

Dynamic parameter identification method for robotic arms 
with static friction modelling 

Dániel Szabó1, Emese Gincsainé Szádeczky-Kardoss 1 

1 Department of Control Engineering and Information Technology, Budapest University of Technology and Economics, Budapest, Hungary 

 

 

Section: RESEARCH PAPER  

Keywords: Identification; dynamics; manipulator 

Citation: Dániel Szabó, Emese Gincsainé Szádeczky-Kardoss, Dynamic parameter identification method for robotic arms with static friction modelling, Acta 
IMEKO, vol. 10, no. 3, article 8, September 2021, identifier: IMEKO-ACTA-10 (2021)-03-08 

Section Editor: Bálint Kiss, Budapest University of Technology and Economics, Hungary  

Received January 15, 2021; In final form September 6, 2021; Published September 2021 

Copyright: This is an open-access article distributed under the terms of the Creative Commons Attribution 3.0 License, which permits unrestricted use, 
distribution, and reproduction in any medium, provided the original author and source are credited. 

Corresponding author: Dániel Szabó, e-mail: szabo.daniel@iit.bme.hu  

 

1. INTRODUCTION 

Automation is playing an increasingly important role in 
industry, where manipulators are used to solve various types of 
problems. Precise control algorithms are required to meet the 
need for speed and accuracy, and an accurate dynamic model is 
needed to use these control algorithms, such as the computed 
torque method [1]. Although the robot manufacturer can provide 
the necessary values, they are usually either inaccurate or non-
existent; thus, the dynamics of the manipulator have to be 
determined through an identification process. 

An independently identifiable parameter vector and a 
regression matrix are required to create an identifiable model. 
The barycentric parameters [2] or the modified recursive 
Newton–Euler formula [3] can be used to solve this problem. 

 In general, the friction effect of the joints is not negligible, 
hence the dynamic model of the robot, determined according to 
the structure of the manipulator, has to be extended with the 
friction model. There are plenty of existing friction models that 
can be used in the identification of the dynamic model, but there 
has to be a trade-off between model accuracy and computational 
complexity. 

In the simplest case, only the Coulomb and viscous friction 
effects need to be considered in the dynamic model [4]. Although 
this can be sufficient in some cases, the stiction effect in the joint 
remains unmodelled, and the nonlinearity has to be compensated 
for by the controller. 

A dynamic friction model can be applied if a high level of 
precision is needed in the model, but in this case, the model 
cannot be converted into a linear-in-parameters model [5]. This 
method can be used only if the dynamic model is known and 
only friction compensation is needed. 

Discontinuities of the sign function can be eliminated by 
using the arctangent function to approximate the step at which 
the velocity changes its sign. The continuity of this function is 
necessary when using the identified model in the controller for a 
smooth control signal when the velocity reaches zero. In [6], 
both static and dynamic friction identification were presented 
but only for cases where the other dynamic parameters were 
known. It is possible to convert the static friction model into a 
linear-in-parameters form. 

The optimisation of the excitation trajectory is important for 
generating a well-conditioned regression matrix. The finite 
Fourier series [7] and the polynomial functions [8] are used 
frequently as excitation trajectories. 

ABSTRACT 
This paper presents an identification method for robotic manipulators. It demonstrates how a dynamic model can be constructed with 
the help of the modified Newton–Euler formula. To model the friction of the joints, static friction modelling is used, in which the friction 
behaviour depends only on the actual velocity of the given joint. With these techniques, the model can be converted into a linear-in-
parameters form, which can make the identification process easier. Two estimators are introduced to solve the identification problem, 
the least-squares and the weighted least-squares estimators, and the determination of the independently identifiable parameter vector 
to make the regression matrix maximal column rank is presented. The Frobenius norm is used as the condition of the regression matrix 
to optimise the excitation trajectories, and the form of the trajectories has been selected from the finite Fourier series. The method is 
tested in a simulated environment to achieve a three-degrees-of-freedom manipulator. 

mailto:szabo.daniel@iit.bme.hu


 

ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 45 

The proper estimator for a problem can be selected by 
investigating the rate of the noise corrupting the measurements 
[7]. In this study, the least-squares (LS) and weighted-LS (WLS) 
estimation methods were assessed. As was shown in [9], the 
maximum likelihood estimation gives better results in 
simulations when there are corrupted joint value measurements, 
but usually, in real-life scenarios, this noise is negligible compared 
with the noise of the torque measurements. 

In [10], the dynamics of the payload were determined by an 
identification process that measured actuator currents. In this 
method, the dynamic parameters of the manipulator were 
known. 

The present study compares two methods to estimate the 
parameters of a robot dynamic model with static friction in each 
joint. It demonstrates how the reduced row echelon form of the 
regression matrix can be used to find the independently 
identifiable variables. The results in [9] are extended in this paper 
by presenting a method incorporating the friction model into the 
identification process. 

The paper is organised as follows. In Section 2, the form of 
the dynamic model is introduced, and this section describes how 
the modified Newton–Euler formula and the static friction 
model are used to obtain its linear-in-parameters form. Section 3 
describes the configuration of the measurements, and the 
method to determine the independently identifiable parameters 
is explained in Section 4.1. The LS and the WLS estimators are 
then described. After that, Section 0 introduces the optimisation 
of trajectory parameters and the criterion for this optimisation 
method. The results of the simulation are in Section 6, and 
finally, the conclusions are set out in Section 7. 

2. MODEL EVALUATION 

2.1. Dynamics of the manipulators 

A manipulator can be modelled with an open kinematic chain, 
which is composed of links connected by joints. The Denavit–
Hartenberg parameters can be used to define the kinematics of a 
given manipulator [11], and the homogeneous transformation 
matrices can be defined to calculate the actual position and 
orientation of the end effector. 

The dynamic model of a manipulator is given by the nonlinear 
multiple-input and multiple-output function, which clarifies the 
relationship between the joint positions, their first- and second-
order derivatives and the joint torques/forces. The following 
equation shows this relationship: 

𝝉 = 𝑯(𝒒)�̈� + 𝒉(𝒒,�̇�) + 𝒄(𝒒), (1) 

where 𝐪 denotes the 𝑛-by-1 vector of the joint variables (for an 
𝑛 degree-of-freedom manipulator), 𝛕 is the vector of joint 
torques (or forces), 𝐇 is the 𝑛-by-𝑛 symmetric, positive-definite 
joint-space inertia matrix, the Coriolis and centrifugal forces are 

modelled by vector 𝐡 and the gravitational effects are given by 
vector 𝐜. 

Although the model in (1) provides a good physical 
interpretation of the system, it cannot be used effectively during 
the identification process. To solve this problem, the linear-in-
parameters form of the model can be used: 

𝝉 = 𝜱(𝒒,�̇�, �̈�)𝜣,  (2) 

where 𝛷 denotes the regression matrix and 𝛩 is the parameter 
vector. 

The values of the inertia matrix, the mass of the link (𝑚𝑗) and 
the first moment of the links are contained in 𝛩: 
𝛩 = [𝛩1

𝑇
𝛩2

𝑇
… 𝛩𝑛

𝑇]𝑇

𝛩𝑗 = [𝐼𝑥𝑥
𝑗

𝐼𝑦𝑦
𝑗

𝐼𝑧𝑧
𝑗

𝐼𝑥𝑦
𝑗

𝐼𝑥𝑧
𝑗

𝐼𝑦𝑧
𝑗

…

𝑚𝑗 𝑚𝑗𝑠𝑥
𝑗

𝑚𝑗𝑠𝑦
𝑗

𝑚𝑗𝑠𝑧
𝑗
]
𝑇
,

 (3) 

where 𝐼𝑘𝑙
𝑗

 parameters are the entries of the symmetric inertia 

matrix and 𝐬𝑗 = [𝑠𝑥
𝑗

𝑠𝑦
𝑗

𝑠𝑧
𝑗
]
𝑇
 denotes the position of the 

centre of mass of the 𝑗-th link measured in the frame belonging 
to the 𝑗-th joint. 

To solve the identification problem, it is necessary to calculate 
the regression matrix. This can be achieved, for example, with 
the Lagrangian formula, which provides a good physical view of 
the system; but it is computationally expensive. Hence, a better 
solution is the Newton–Euler formula, which has a 

computational complexity of 𝒪(𝑛) [3].  
First, using the Newton-Euler formula, the kinematics of each 

frame of the joints are calculated and transformed into the frame 
of the end effector. This is done with forward recursion, and the 
velocities, angular velocities, accelerations and angular 
accelerations are determined for each frame. Then, the forces 
and moments are transformed with backward recursions from 
the end-effector frame to the base frame. The applied 
torque/force of the given joint is determined by the following 
equation in a given step of the backward recursion: 

𝛕𝑗 = {
𝐧𝑗

𝑇
(𝐀𝑗

𝑇
𝐳0) rotational

𝐟𝑗
𝑇
(𝐀𝑗

𝑇
𝐳0) translational

, (4) 

where 𝐧𝑗 and 𝐟𝑗 are the moment and the force exerted on link 𝑗 

by link 𝑗-1 and 𝐀𝑗 is the orthonormal rotation matrix that 
describes the rotation between the 𝑗-th and the 𝑗-1-th frame; 𝐳0 
is the base vector of the axis of rotation (or translation), which is 

selected by the convention [0 0 1]𝑇.  This results in linear 
terms in the inertias and the masses, while the centre-of-mass 
vector will be represented in either linear or quadratic terms. 

These quadratic terms can be eliminated by transforming the 

inertia tensor: let 𝒞𝑖 denote the coordinate system for the 𝑖-th 
link and 𝒞𝑖

∗ denote the frame of the centre of mass of the 𝑖-th 
link; let 𝐀𝑖,𝑖∗ be the orthonormal rotation matrix between 𝒞𝑖 and 

𝒞𝑖
∗. If 𝐈𝑖 is the inertia tensor around the centre of mass, then the 

inertia tensor 𝐈′𝑖 in 𝒞𝑖 is 

𝐈′𝑖 = 𝐀𝑖,𝑖∗𝐈𝑖𝐀𝑖,𝑖∗
𝑇 + 𝑚𝑖(𝐬𝑖

𝑇𝐬𝑖𝐈(3𝑥3) − 𝐬𝑖𝐬𝑖
𝑇), (5) 

where 𝐈(3𝑥3) is the 3-by-3 identity matrix. 

2.2. Friction modelling 

The model in (1) must be extended with the torque vector 𝝉𝒇 
to model the effect of the friction: 

𝝉 − 𝝉𝒇  = 𝑯(𝒒)�̈� + 𝒉(𝒒,�̇�) + 𝒄(𝒒). (6) 

There are several methods to model the vector of the friction 
torques. In this study, static friction modelling was used, 
including stiction, Coulomb and viscous friction effects, and the 
Striebeck effect, which was represented using the arctangent 
function [5]: 

𝝉𝒇  = 𝝉𝒔𝑆0(𝒗) + 𝝉𝒔𝒄
2

π
arctan(𝒗𝛿) + 𝝉𝒗 , (7) 



 

ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 46 

where 𝒗 denotes the vector of velocities (thus, the first-order 
derivative of the joint variables), 𝝉𝒔 represents stiction, 𝝉𝒔𝒄 is the 
difference between Coulomb friction and stiction, 𝛿 represents 
the shape of the Striebeck effect, 𝝉𝒗 denotes the coefficient of 
the viscous friction and the function 𝑆0 is used as the 
approximation of the 𝑠𝑖𝑔𝑛(𝒗) function: 

𝑆0(𝒗) =
2

π
arctan(𝒗𝐾𝑣), (8) 

where 𝐾𝑣 defines the shape of the function. 
In this case, the friction model can be transformed into a 

linear-in-parameters form, where the regression matrix and the 
parameters belonging to one joint are the following: 

𝛷fric
𝑗

= [
2

π
arctan(𝒗𝐾𝑣),

2

π
arctan(𝒗𝛿) ,𝑣]

𝛩fric
𝑗

= [𝜏𝑠
𝑗
, 𝜏𝑠𝑐
𝑗
, 𝜏𝑣
𝑗
]
𝑇
.

 (9) 

3. MEASUREMENT SETUP 

Simulations were used to perform the measurements in a 
MATLAB Simulink environment, but the proposed method 
could also be used with real measurements. To model the 
dynamics and the friction effect, the Simscape Toolbox was 
applied. 

At this stage, control of the manipulator was performed by 
computing the torques automatically using the simulation; 
furthermore, the torque measurements were corrupted with 
independent zero-mean Gaussian noise. The measurements were 
repeated with different variances for the specific joints, and the 
joint torques were corrupted with independent zero-mean 
Gaussian noise when each joint had different variances. The joint 
angles were also corrupted with noise, but this was negligible 
compared with the noise of the torque measurements [9]. 

4. IDENTIFICATION PROCESS 

4.1. Determination of the independent variables 

According to (2) and (9), the dynamics of the manipulator can 
be written in a linear-in-parameters form, but to use it during the 
identification process, some changes have to be applied because 
of the parameter vector described in (3). 

With these parameter vectors, the column-rank of the 

regression matrix 𝛷 will not be maximal. This means that 
unidentifiable parameters or parameters that are not 
independently identifiable also exist. 

Three parameter types can be defined [12]: 

1. If the 𝑖-th column of 𝛷 is a null vector, then the 𝑖-th 
parameter is unidentifiable and the dynamics are 

unaffected. In this case, this parameter and the 𝑖-th 
column of 𝛷 can be removed. 

2. If the 𝑖-th column of 𝛷 is not null and can be expressed 
as a linear combination of the other columns, then the 

𝑖-th parameter can be identified only in a linear 
combination with other parameters. 

3. If the 𝑖-th column of 𝛷 is not null and cannot be 
expressed as a linear combination of the other columns, 

then the 𝑖-th parameter is independently identifiable. 
First, all the columns of 𝛷 with only zeros should be 

eliminated; the number of independent parameters is then equal 

to the rank of 𝛷. These parameters can be expressed in a linear 
combination of the original parameters. 

To obtain the coefficients for the linear combinations, the 

reduced row echelon form of 𝛷 is required:  

[𝛷𝑟𝑟𝑒𝑓, 𝐣𝐋] = 𝑟𝑟𝑒𝑓(𝛷),  (10) 

where 𝐣𝐋 denotes the indexes of the columns with the leading 
values 1 in the reduced row echelon form. These indexes will give 

a basis in the columns of 𝛷 by indexing out the column of the 
regression matrix with 𝐣𝐋, and 𝐣𝐊 is the vector of the indexes that 
are not contained by 𝐣𝐋. 

Let 𝐋 and 𝐊 be the matrices with columns indexed by 𝐣𝐋 and 
𝐣𝐊 from 𝛷, respectively. In this way, a linear combination can be 
defined to express each column of 𝐊 with the columns of 𝐋, and 
the coefficients can be determined by the columns of 𝛷𝑟𝑟𝑒𝑓 

indexed by 𝐣𝐊: 

𝐊(: , 𝑖) = 𝛷𝑟𝑟𝑒𝑓(1, 𝐣𝐊(𝑖))𝐋(: ,1) + ⋯+

+𝛷𝑟𝑟𝑒𝑓(𝑚,𝐣𝐊(𝑖))𝐋(: ,𝑚),
 (11) 

where 𝑚 is the rank of 𝛷, i.e. the number of independent 
parameters. 

The matrix 𝐊 can therefore be expressed as 𝐊 = 𝐋𝐁, with the 
help of 𝐁 defined as: 

𝐁 = 𝛷𝑟𝑟𝑒𝑓(1:𝑚,𝐣𝐊). (12) 

Two vectors of the parameters are defined by indexing them 

with 𝐣𝐋 and 𝐣𝐊: 

𝛩𝐿 = 𝛩(𝐣𝐋)
𝛩𝐾 = 𝛩(𝐣𝐊)

. (13) 

Thus, a new form of the model can be introduced: 

𝛕 = 𝛷𝛩 = [𝐋 𝐊][
𝛩𝐿
𝛩𝐾
] =

= 𝐋[𝐼(𝑚𝑥𝑚) 𝐁][
𝛩𝐿
𝛩𝐾
] = 𝐋𝛩∗,

 (14) 

where 𝛩∗ = 𝛩𝐿 + 𝐁𝛩𝐾. Consequently, 𝛩𝐿(𝑖) is an 
independently identifiable parameter if, and only if, the 𝑖-th row 
of 𝐁 contains only zeros. 

4.2. LS estimation 

If the torques of the actuators are corrupted with zero-mean 

Gaussian noise (𝐧𝜏) with the same standard deviation, the 
following measurement model can be defined: 

𝛕𝑚(𝑘) = 𝛕(𝑘) + 𝐧𝜏(𝑘)
𝑒𝜏𝑖(𝛩

∗,𝑘) = 𝛕𝑚𝑖(𝑘) − 𝛕𝑖(𝛩
∗,𝑘) =

= 𝛕𝑚𝑖(𝑘) − 𝐋(𝑘, :)𝛩
∗,

 (15) 

where 𝛕𝑚 is the measured value of the torque vector, the error 
of the given joint is denoted by 𝑒𝜏𝑖 and 𝑘 denotes the index of 
the measurement. 

With this measurement model, the standard LS estimator can 
be used. The minimisation criterion of the estimator is the 
following: 

𝑉𝐿𝑆 = ∑∑(

𝑛

𝑖=1

𝑁

𝑘=1

𝑒𝜏𝑖(𝛩
∗,𝑘))2, (16) 

where 𝑁 is the number of measurements. 



 

ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 47 

The solution to the problem can be given in a closed form 

with the help of the Moore–Penrose pseudoinverse of 𝐋: 

�̂�𝐿𝑆 = 𝐋
+𝛕𝑚 = (𝐋

𝑇𝐋)−1𝐋𝑇𝛕𝑚. (17) 

4.3. WLS estimation 

If noises with different standard deviations (𝜎𝜏𝑖) are 
corrupting the measurements, the WLS estimator has to be 
applied. Here the error of the measurements in the optimisation 
criterion are weighted with the reciprocal of the variation of the 
noise for a given joint: 

𝑉𝑊𝐿𝑆 = ∑∑
(𝑒𝜏𝑖(𝛩

∗,𝑘))2

𝜎𝜏𝑖
2

𝑛

𝑖=1

𝑁

𝑘=1

. (18) 

Consequently, the problem can be solved as 

�̂�𝑊𝐿𝑆 = (𝐋
𝑇𝚺−1𝐋)−1𝐋𝑇𝚺−1𝛕𝑚, (19) 

where 𝚺 is the diagonal covariance matrix of the noise. 

5. TRAJECTORY OPTIMISATION 

The quality of the identification is dependent on the condition 

of the 𝐋 matrix, which can be optimised by using the correct 
excitation trajectories. There are several criteria to perform this. 

5.1. Optimisation criteria 

In several papers, the optimisation criterion to find the 

optimal excitation trajectories is the condition number of 𝐋𝑇𝐋 
[13], while in [14], the maximisation of the minimum singular 

value of 𝐋𝑇𝐋 is used as the optimisation criterion. However, 
faster convergence can be achieved if the Frobenius norm is used 
as the criterion [8]: 

CondF(𝐀) = ||𝐀||F||𝐀
−1||F

||𝐀||F = (∑∑𝐀𝑖𝑗
2

𝑝

𝑗=1

𝑝

𝑖=1

)

1/2

,
 (20) 

where 𝐀 is an 𝑝-by-𝑝 nonsingular matrix. 
Hence, the optimisation problem can be written in the 

following form: 

min 
𝛅

CondF(𝐋
𝑇𝐋)

such that

{
  
 

  
 

𝐪min < 𝐪 < 𝐪max
�̇�min < �̇� < �̇�max
�̈�min < �̈� < �̈�max

𝐪(0) = 𝐪0 𝐪(𝑡𝑓) = 𝐪𝑓
�̇�(0) = 0 �̇�(𝑡𝑓) = 0

�̈�(0) = 0 �̈�(𝑡𝑓) = 0

, (21) 

where 𝛅 vector contains the parameters of the trajectory and the 
𝐪𝑚𝑖𝑛,𝐪𝑚𝑎𝑥, etc. vectors are the minimal and maximal joint 
values, velocities and accelerations, respectively. By using 

equality constraints, the initial (𝐪0) and final (𝐪𝑓) conditions can 
be taken into consideration. The initial and final velocities and 
accelerations are selected as zero. 

The optimisation problem in (21) was solved in MATLAB 
using the fmincon function with the interior-point method as the 
solving algorithm. 

 
 

5.2. Trajectory parametrisation 

The form of the applied trajectories can be expressed as finite 
Fourier series. The definitions of the parametrisation for the joint 
variables and their first- and second-order derivatives are the 
following [15]: 

𝑞𝑖(𝑡) = ∑
𝑎𝑙
𝑖

𝜔𝑓𝑙

𝑀

𝑙=1

sin(𝜔𝑓𝑙𝑡) −
𝑏𝑙
𝑖

𝜔𝑓𝑙
cos(𝜔𝑓𝑙𝑡),

�̇�𝑖(𝑡) = ∑𝑎𝑙
𝑖

𝑀

𝑙=1

cos(𝜔𝑓𝑙𝑡) + 𝑏𝑙
𝑖sin(𝜔𝑓𝑙𝑡),

�̈�𝑖(𝑡) = ∑−

𝑀

𝑙=1

𝑎𝑙
𝑖𝜔𝑓𝑙sin(𝜔𝑓𝑙𝑡) + 𝑏𝑙

𝑖𝜔𝑓𝑙cos(𝜔𝑓𝑙𝑡),

 (22) 

where 𝜔𝑓 is the fundamental frequency of the Fourier series. 

The parameter vector can therefore be defined by an 𝑛 × 𝑀 
matrix ([𝑎1

1 … 𝑎𝑀
𝑛 𝑏1

1 … 𝑏𝑀
𝑛]) , where 𝑛 is the number 

of joints of the manipulator and 𝑀 denotes the number of 
harmonics in the Fourier series. 

6. EXPERIMENTAL RESULTS 

The implementation of the identification process was 
performed in MATLAB, while the dynamics and the friction 
modelling were evaluated in MATLAB Simulink (Section 3). 

The structure of the three-degrees-of-freedom manipulator 
used in this study is depicted in Figure 1, and its Denavit–
Hartenberg parameters are introduced in Table 1. The MATLAB 
Symbolic Toolbox was used to determine the dynamics of the 
manipulator. The simulated trajectories are shown in Figure 2. 
These trajectories were designed by the method described in 
Section 0. 

The results of the identification and the symbolic expressions 

of the final 𝛩∗ parameter vector are shown in Table 2. It can be 
seen that 24 identifiable variables were determined.  

 

 

Figure 1. Model of the three-degrees-of-freedom manipulator, defined by 
the Denavit–Hartenberg parameters in Table 1. 

Table 1. The Denavit–Hartenberg parameters of the modelled three-degrees-
of-freedom manipulator 

𝒊 𝜽𝒊 𝐢𝐧 rad 𝒅𝒊 𝐢𝐧 m 𝒂𝒊 𝐢𝐧 m 𝜶𝒊 𝐢𝐧 rad 

1 𝑞1 0.3 0 
π

2
 

2 𝑞2 +
π

2
 0 0.5 0 

3 𝑞3 0 0.5 0 



 

ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 48 

 

Figure 2. Measurements with optimised excitation trajectories, 𝜎𝜏 = [0.5,0.3,0.7] N·m. 

Table 2. Results of the estimations (𝜇: mean, 𝜎2: variance of the estimators)  

Symbolic expression Exact values 
LS WLS 

𝜇 𝜎2 𝜇 𝜎2 

𝐼𝑥𝑥
(2)
− 𝐼𝑦𝑦

(2)
−
𝑚(2)𝑠𝑥

(2)

2
 0.059 0.059 8.27 ⋅ 10

−04 0.059 6.25 ⋅ 10−04 

𝐼𝑥𝑥
(3)
− 𝐼𝑦𝑦

(3)
−
𝑚(3)𝑠𝑥

(3)

2
 0.059 0.057 8.09 ⋅ 10

−04 0.058 6.18 ⋅ 10−04 

𝐼𝑥𝑦
(2)

 0.000 0.002 3.23 ⋅ 10−04 0.001 2.27 ⋅ 10−04 

𝐼𝑥𝑦
(3)

 0.000 −0.000 2.04 ⋅ 10−04 −0.000 1.47 ⋅ 10−04 

𝐼𝑦𝑦
(1)
+ 𝐼𝑦𝑦

(2)
+ 𝐼𝑦𝑦

(3)
+
𝑚(2)𝑠𝑥

(2)

2
+
𝑚(3)𝑠𝑥

(3)

2
 −0.117 −0.115 5.25 ⋅ 10

−04 −0.115 4.30 ⋅ 10−04 

𝐼𝑥𝑧
(2)
−
𝑚(2)𝑠𝑧

(2)

2
−
𝑚(3)𝑠𝑧

(3)

2
 0.000 0.001 2.06 ⋅ 10

−04 0.000 1.50 ⋅ 10−04 

𝐼𝑥𝑧
(3)
−
𝑚(3)𝑠𝑧

(3)

2
 0.000 −0.001 1.60 ⋅ 10

−04 −0.000 1.14 ⋅ 10−04 

𝐼𝑦𝑧
(2)

 0.000 −0.001 1.32 ⋅ 10−04 −0.000 1.06 ⋅ 10−04 

𝐼𝑦𝑧
(3)

 0.000 0.001 7.56 ⋅ 10−05 0.001 5.49 ⋅ 10−05 

𝐼𝑧𝑧
(2)
+
𝑚(2)𝑠𝑥

(2)

2
 −0.059 −0.060 3.68 ⋅ 10

−04 −0.060 2.68 ⋅ 10−04 

𝐼𝑧𝑧
(3)
+
𝑚(3)𝑠𝑥

(3)

2
 −0.059 −0.057 3.30 ⋅ 10

−04 −0.058 2.21 ⋅ 10−04 

𝑚(2) + 2𝑚(2)𝑠𝑥
(2)
− 2𝑚(3)𝑠𝑥

(3)
 1.414 1.415 1.50 ⋅ 10

−04 1.414 6.01 ⋅ 10−05 

𝑚(3) + 2𝑚(3)𝑠𝑥
(3)

 0.707 0.706 3.82 ⋅ 10
−05 0.707 1.42 ⋅ 10−05 

𝜏𝑠
(1)

 2.000 1.998 7.97 ⋅ 10
−04 1.998 7.80 ⋅ 10−04 

𝜏𝑠
(2)

 1.000 0.999 1.42 ⋅ 10
−04 0.999 1.41 ⋅ 10−04 

𝜏𝑠
(3)

 2.000 1.998 2.36 ⋅ 10
−03 1.998 2.34 ⋅ 10−03 

𝜏𝑣
(1)

 0.500 0.505 8.26 ⋅ 10
−03 0.506 7.89 ⋅ 10−03 

𝜏𝑣
(2)

 0.277 0.243 9.26 ⋅ 10
−04 0.244 8.08 ⋅ 10−04 

𝜏𝑣
(3)

 0.030 0.034 1.60 ⋅ 10
−02 0.035 1.54 ⋅ 10−02 

𝜏𝑠𝑐
(1)

 −0.300 −0.302 1.45 ⋅ 10
−02 −0.303 1.39 ⋅ 10−02 

𝜏𝑠𝑐
(2)

 −0.200 −0.176 1.67 ⋅ 10
−03 −0.177 1.65 ⋅ 10−03 

𝜏𝑠𝑐
(3)

 −0.300 −0.306 3.56 ⋅ 10
−02 −0.307 3.45 ⋅ 10−02 

𝑚(2)𝑠𝑦
(2)

 0.000 0.000 3.82 ⋅ 10−06 0.000 2.24 ⋅ 10−06 

𝑚(3)𝑠𝑦
(3)

 0.000 0.000 4.67 ⋅ 10−06 0.000 2.37 ⋅ 10−06 



 

ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 49 

The dynamics have some independently identifiable 

parameters (𝐼𝑥𝑦
(2)

, 𝐼𝑥𝑦
(3)

, 𝐼𝑦𝑧
(2)

, 𝐼𝑦𝑧
(3)

, 𝑚(2)𝑠𝑦
(2)

, 𝑚(3)𝑠𝑦
(3)

) and some 

unidentifiable variables (e.g. the parameters of the inertia matrix 
of the first segment), which do not influence the robot dynamics. 
All the friction parameters are independently identifiable, and the 
other parameters can be identified in a linear combination with 
more parameters. 

It can be seen from the results that the LS and the WLS 
estimators performed well. With this method, the friction 
parameters were also identified with only one measurement 
configuration, which simplifies the measurement process. Figure 
3 depicts the efficiency of the WLS estimator in the case of the 
non-optimised trajectories, using a finite set of Fourier series as 
excitation. The difference between the approximated and the 
nominal value of the torque vector is negligible. 

7. CONCLUSION 

This paper presents two methods to solve the identification 
problem of the dynamic model of robotic manipulators. By 
modelling only the static friction behaviour, the whole dynamic 
model can be expressed in linear-in-parameters form. In this 
form, both LS and WLS estimators can be used effectively to 
approximate the unknown parameters of the robotic arm. 

As can be seen in Table 2, all the friction parameters can be 
identified independently, hence the method can also be used 
when the dynamic parameters are known, but only for friction 
compensation. 

The advantage of this method is that only one measurement 
configuration is needed to obtain all the desired parameters, but 
it is not required for moving only one joint at a time. These 
results can be used in advanced control algorithms. 

8. ACKNOWLEDGEMENT 

The research reported in this paper, carried out at the 
Budapest University of Technology and Economics, was 
supported by the ‘TKP2020, Institutional Excellence 

Programme’ of the National Research Development and 
Innovation Office in the field of artificial intelligence (BME IE-
MI-SC TKP2020). 

REFERENCES 

[1] R. Middletone, G. Goodwin, Adaptive computed torque control 
for rigid link manipulators, Proc. of the 25th IEEE Conference on 
Decision and Control, Athens, Greece, 10 – 12 December 1986, 
pp. 68-73.  
DOI: 10.1016/0167-6911%2888%2990033-3  

[2] B. Raucent, G. Campion, G. Bastin, J.-C. Samin, P. Y. Willems, 
Identification of the barycentric parameters of robot manipulators 
from external measurements, Automatica 28 (1992) pp. 1011-
1016. 
DOI: 10.1016/0005-1098(92)90155-9  

[3] P. Khosla, T. Kanade, An algorithm to estimate manipulator 
dynamics parameters, Int. J. Robotics and Automation, 2(3) 
(1987), pp. 127-135. 

[4] M. M. Olsen, H. G. Petersen, A new method for estimating 
parameters of a dynamic robot model, IEEE Transactions on 
Robotics and Automation 17 (2001) pp. 95-100. 
DOI: 10.1109/70.917088  

[5] M. R. Kermani, R. V. Patel, M. Moallem, Friction identification 
and compensation in robotic manipulators, IEEE Transactions on 
Instrumentation and Measurement 56 (2007) pp. 2346-2353. 
DOI: 10.1109/TIM.2007.907957  

[6] M. Indri, S. Trapani, A framework for static and dynamic friction 
identification for industrial manipulators, IEEE/ASME 
Transactions on Mechatronics (2020), vol. 25, no. 3, pp. 1589-
1599. 
DOI: 10.1109/TMECH.2020.2980435  

[7] J. Swevers, C. Ganseman, D. B. Tukel, J. De Schutter, H. Van 
Brussel, Optimal robot excitation and identification, IEEE 
Transactions on Robotics and Automation 13 (1997) pp. 730-740.  
DOI: 10.1109/70.631234  

[8] M. Gautier, W. Khalil, Exciting trajectories for the identification 
of base inertial parameters of robots, International Journal of 
Robotics Research 11 (1992) pp. 362-375. 
DOI: 10.1109/CDC.1991.261353  

[9] D. Szabó, E. G. Szádeczky-Kardoss, Parameter estimation process 
for the dynamic model of robotic manipulators, Proc. of the 23rd 

 

Figure 3. Comparison between the measured torques (𝝉𝒎), the value of the torque vector without noise (𝝉𝟎) and the estimated torque vector calculated from 
the identified model (�̂�) using the WLS estimator. The measured noise of 𝝉𝒎 is the same as that of Figure 2 (𝜎𝜏 = [0.5,0.3,0.7] Nm). The bottom graph shows 
the absolute value of the difference between 𝝉𝟎 and �̂�. 

https://doi.org/10.1016/0167-6911%2888%2990033-3
https://doi.org/10.1016/0005-1098(92)90155-9
https://doi.org/10.1109/70.917088
https://doi.org/10.1109/TIM.2007.907957
https://doi.org/10.1109/TMECH.2020.2980435
https://doi.org/10.1109/70.631234
https://doi.org/10.1109/CDC.1991.261353


 

ACTA IMEKO | www.imeko.org September 2021 | Volume 10 | Number 3 | 50 

International Symposium on Measurement and Control in 
Robotics (ISMCR), Budapest, Hungary, 15 – 17 October 2020, pp. 
1-6. 

[10] Y. Dong, T. Ren, K. Chen, D. Wu, An efficient robot payload 
identification method for industrial application, Industrial Robot: 
An International Journal (2018), vol. 45 No. 4, pp. 505-515. 
DOI: 10.1108/IR-03-2018-0037  

[11] M. W. Spong, S. Hutchinson, M. Vidyasagar, Robot Modeling and 
Control, John Wiley & Sons, Inc., 2006. 

[12] L. Zollo, E. Lopez, L. Spedaliere, N. Garcia Aracil, E. Guglielmelli, 
Identification of dynamic parameters for robots with elastic joints, 
Advances in Mechanical Engineering 7 (2015) p. 843186. 
DOI: 10.1155/2014/843186  

[13] F. Pfeiffer and J. Holzl, Parameter identification for industrial 
robots, Proceedings of 1995 IEEE International Conference on 
Robotics and Automation, 1995, vol. 2, pp. 1468-1476.  
DOI: 10.1109/ROBOT.1995.525483  

[14] J. Swevers, B. De Moor, H. Van Brussel, Stepped sine system 
identification, errors-in-variables and the quotient singular value 
decomposition, Mechanical Systems and Signal Processing 6 
(1992) pp. 121-134. 
DOI: 10.1016/0888-3270(92)90060-V  

[15] K.-J. Park, Fourier-based optimal excitation trajectories for the 
dynamic identification of robots, Robotica 24 (2006) p. 625. 
DOI: 10.1017/S0263574706002712  

 
 

https://doi.org/10.1108/IR-03-2018-0037
https://doi.org/10.1155/2014/843186
https://doi.org/10.1109/ROBOT.1995.525483
https://doi.org/10.1016/0888-3270(92)90060-V
https://doi.org/10.1017/S0263574706002712