Professional Documents
Culture Documents
Dynamic Parameter Identification of The Universal Robots UR5 PDF
Dynamic Parameter Identification of The Universal Robots UR5 PDF
Abstract— In this paper, a methodology for parameter iden- matrix, c(q, q̇) ∈ RN stands for the vector of centripetal and
tification of an industrial serial robot manipulator is shown. Coriolis terms, and g(q) ∈ RN denotes the gravity vector.
The presented methodology relies on the fact that equations Furthermore, the vector QR ∈ RN stands for friction forces
describing motion of any mechanical system can be written in
a linear form with respect to some set of parameters. Based while QM ∈ RN denotes torques acting on bodies, i.e active
on experimental measurements done on the Universal Robots or control torques.
UR5, the presented technique is applied and the dynamical B. Friction model
parameters of the robot are determined by use of the Moore-
Penrose pseudoinverse. At the end, the ability of the determined Dissipative forces are modeled in the form of Coulomb’s
parameters to predict measurements other then the ones used dry and viscous friction, leading to
for the identification is shown.
QRi = rvi q̇i + rci sign(q̇i ) , i = 1 . . . N, (2)
I. INTRODUCTION
where rvi and rci are respectively coefficients of viscous and
af t
A mathematical model of a real physical system is as good
as it can predict what experiments show. In order to achieve a
dry friction. In order to avoid non-smooth functions in the
model, the sign function is approximated by the tangent
proper model both its structure, meaning taking into account hyperbolic function as
all relevant dynamics, and its parameters must be correct.
Some model parameters, like masses and lengths of robot q̇i
sign(q̇i ) ≈ tanh , (3)
links, can be measured, while others, such as temperature ε
dependent dry and viscous friction, axial and centrifugal where ε is a very small number chosen to make the slope
moments of inertia or position of center of mass of segments, of the tangent hyperbolic function steep around zero.
Dr
are almost always unknown and must be identified. However, C. Motor and gearbox dynamics
each parameter can not be separately identified but only
Assuming that at each joint a motor and a gearbox are
linear combinations of them. The vector whose elements
located leads to motor dynamics in the form
are linear combination of parameters that can be identified
is called vector of identifiable parameters or vector of base i2G,i CM,i q̈i = iG,i MMot,i = QM,i , i = 1 . . . N, (4)
parameters. where, CM,i stands for the i-th rotor’s axial moment of inertia
In this paper, the procedure for determination of base corresponding to the rotation axis and MMot,i denotes the
parameters and for their identification is explained. Then, motor torque. Note that the previous equations can be divided
using experimental measurements, the procedure is applied by iG,i , however between a motor and a body is the gearbox,
to parameter identification of the Universal Robots UR5 thus torque QM,i , acting on body i, is iG,i times greater
manipulator. At the end, in order to validate the obtained than the motor torque. Also, note that although the rotor
parameters, they are used for predictions of experimental in a motor rotates around an axis that itself is in motion
measurements not used for the identification. and thus making rotor’s motion complex in the parallel
II. MATHEMATICAL MODELING sense, dynamics of a motor and gearbox are modeled in a
A. Robot dynamics simplified form. Namely, assuming the known gear ratio iG,i ,
the rotor of a motor driving body i spins around the joint axis
Differential equations of motion describing dynamics of a
with angular velocity iG,i times greater than relative angular
serial robot consisting of N rigid bodies can be written in a
velocity of the corresponding bodies. Since this rotation is
well known form as
dominant compared to the motion of the joint axis itself,
M(q)q̈ + c(q, q̇) + g(q) + QR (q̇) = QM , (1) only it is taken into account.
where q ∈ RN denotes the vector of generalized coordinates, III. M ETHODOLOGY FOR IDENTIFICATION OF
M(q) ∈ RN,N denotes the symmetric positive definite mass DYNAMICAL PARAMETERS
pT M = ..
N . (11)
.
∑ ΘTi (q, q̇, q̈)pTi = ΘT (q, q̇, q̈)pT = Qo , (5) i2G,N CM,N
i=1
N,10N 10N
ΘT ∈ R , pT ∈ R , Dissipative forces defined in (2) are written in parameter
where the regressor matrix ΘTi is defined as linear form as
rv
ΘTi = FTKi × .1
" # QR = diag(q̇i ) diag(sign(q̇i )) .. = ΘR pR , (12)
ω̃˙ + ω̃ ω̃
v̇K + ω̃vK − g 0
, rcN
0 − v̇K + ω̃vK − g
∼ ˙ − ω̃ Ω̂,
Ω̇ + ω̃Ω | − Ω̂
where diag(·) denotes a diagonal matrix, and pR the param-
∂ K ω IK T T
∂ K vK T eter vector.
FKi = ∈ R6,N .
∂ q̇ ∂ q̇ i
(6)
C. Parameter linear form of the equations describing the
For the derivation of the previous equation see [7].
whole system
Parameter vector pTi is
T When equations describing all elements of the model, i.e.
pTi = m, mρSx , mρSy , mρSz , A, B,C, D, E, F i ∈ R10 , (7) rigid bodies, motors and friction, are written in parameter
∈ R10 ,
IV. U NIVERSAL ROBOTS UR5 pTi = m, mρSx , mρSy , mρSz , A, B,C, D, E, F i
i = 1 . . . 6,
pT M = i2G,1 CM,1 . . . i2G,6 CM,6 ∈ R6 ,
To demonstrate the previously described methodology for
parameter identification, the Universal Robots UR5 manip- pR = rv1 . . . rv6 rc1 . . . rc6 ∈ R6 ,
Dr
ulator is used, see Fig. 1. This manipulator has six degrees (29)
of freedom and is a lightweight collaborative robot. where ρSxi , ρSyi and ρSzi are projections of the center of mass
of body i onto the axis of the coordinate frame positioned at
the i-th joint.
Note that, since the motion of the first body is described
as pure rotation, only the column in the matrix Θ(q, q̇, q̈),
corresponding to axial moment of inertia for the axis of
rotation is not zero. All other columns in that regressor are
zero.
Sometimes, some parameters are known to be zero or they
are negligible compared to some other parameters. In that
case one can chose not to identify them so the corresponding
columns in matrix Θ are eliminated first and then the QR
decomposition is applied to the resulting matrix.
In this work, for the identification of parameters of the
UR5 manipulator, several parameters are assumed to be
negligible. Namely, centrifugal moments of inertia of links
are assumed to be much smaller than the axial moments of
inertia and thus are not going to be identified. Furthermore,
it is assumed that the position of the center of mass of
body i does not have all three projections onto the axis
of the coordinate frame positioned at the corresponding
joint, but only one. The motion of the first body in the
Fig. 1. Universal Robots UR5, taken from [6]. kinematic chain is pure rotation and thus only axial moment
of inertia corresponding to the rotation axis is identified. For
In Fig. 1, the UR5 robot is shown at initial configuration, the second body, it is assumed that the center of mass has
together with the coordinate systems of interest and distances projection only on the z axis. Similarly, center of mass of
between them. The red, green and blue axis in Fig. 1 the third body is assumed to be on z axis. For the forth and
correspond to x, y and z axis, respectively. Based on the the sixth body in chain, it is assumed that the corresponding
centers of mass are on y axis, respectively. Finally, for the and all others are zero. The remaining parameters of the
fifth body, center of mass is assumed to lie on the z axis. Fourier series are found by optimization. The identification
With the previous assumptions, substituting random values is done on a time interval of 20 seconds, however, only first
for vectors q, q̇ and q̈ in the matrix Θ(q, q̇, q̈), and applying 10 seconds are shown in figures. In Fig. 2 measured angles
the QR decomposition to the resulting matrix, results in the of the excitation used for the parameter identification are
base parameter vector pB ∈ R33 , where shown, while Fig. 3 shows measured motor currents for the
2 same trajectory.
iG,1 CM,1 +C1 +C2 +C3 +C4 + 0.01285 m2 +
+0.01191 m5 + 0.01191 m6
1
m2 ρSz2
q1 q2 q3 q4 q5 q6
A2 −C2
0.5
i2G,2 CM,2 + B2
0
Angle [rad]
m3 + m4 + m5 + m6 PSfrag replacements
0.3922 m + 0.3922 m + 0.3922 m + m ρ -0.5
4 5 6 3 Sz
A −C + 0.1539 m + 0.1539 m + 0.1539 m3
-1
3 3 4 5 6
B 3 + 0.1539 m 4 + 0.1539 m 5 + 0.1539 m 6
-1.5
0.1092 m5 + 0.1092 m6 + m4 ρSy4
-2
A4 + B5 −C4 + 0.008959 m6
-2.5
B4 + B5 + 0.008959 m6
0 1 2 3 4 5 6 7 8 9 10
0.09465 m + m ρ Time [s]
pB = 6 5 Sz5 .
A5 − B5 +C6
C5 +C6
m6 ρSy6
af t
Fig. 2. Persistent excitation trajectories used for the identification
A6 −C6
8
B6
I1 I2 I3 I4 I5 I6
2
iG,3 CM,3 6
i2G,4 CM,4 4
Current [A]
2
iG,5 CM,5
2
PSfrag replacements
Dr
2
iG,6 CM,6
0
rv1
-2
.. -4
.
-6
rc6
-8
(30) 0 1 2 3 4 5 6 7 8 9 10
Time [s]
Thus, the system of equations
Fig. 3. Motor current
Θ(q, q̇, q̈) p = QM , Θ ∈ R6,78 , p ∈ R78 , QM ∈ R6 (31)
is substituted with the new system In order to calculate torques acting on bodies, each motor
current is multiplied with the torque constant and the gear
ΘB ∈ R6,33 , pB ∈ R33 , QM ∈ R6
ΘB (q, q̇, q̈) pB = QM , ratio. Thus, body torques are Mi = iG,i ki Ii , i = 1 . . . 6. On the
(32) UR5 robot, there are two types of motors, one with motor
where all columns in the new regressor ΘB are mutually constant ki = 0.125 Nm/A, i = 1 . . . 3, and other with constant
independent. Note that elements of the vector pB are linear ki = 0.0922 Nm/A, i = 4 . . . 6. Also, all gears have the same
combinations of the model parameters. Also note that the gear ration, i.e. iG = iG,i = 101, i = 1 . . . 6.
zero columns from the regressor are not eliminated first, but In order to form the regressor ΘB , generalized velocities
the corresponding parameters are still not in the vector pB . and accelerations must be calculated from the measured val-
They are eliminated by use of the QR decomposition. In ues of generalized coordinates. When working with the UR5
what follows the base parameter vector (30) is going to be robot, generalized velocities are obtained from the controller,
identified. while generalized accelerations are calculated using filtering.
The transfer function of the filter used is
B. Identification results
s
For the identification of the base parameters, two persistent y= s u, (33)
w + 1
excitation trajectories are generated. One is used for param-
eter identification and the other one for validation of the where s denotes the Laplace variable, w = 2π f is the angular
obtained parameter vector. These trajectories are generated frequency with f = 10 Hz being the corner frequency of the
by solving the optimization problem (25), where the order filter. The values of the corner frequency is determined by
of the series in (24) is 5, and where the offset q2,0 = −π/2 inspecting the frequency content of the measured signals.
Using the filter and Matlab’s ”filtfilt” function, generalized
Torque 3 [Nm]
50
Torque 4 [Nm]
10
The results for the base parameters obtained by use of
the pseudoinverse are shown in Fig. 4, together with the 0
PSfrag replacements
corresponding standard deviations.
-10
0 1 2 3 4 5 6 7 8 9 10
12
Time [s]
Parameter value
10 Standard deviation Fig. 6. Measured and predicted torques.
8
Torque 5 [Nm]
10
6
4 0
2
-10
ag replacements 0 0 1 2 3 4 5 6 7 8 9 10
Torque 6 [Nm] Time [s]
-2 10
0 5 10 15
af t
20
Index in the base vector
25 30
PSfrag replacements
0
PSfrag replacements
q1 -1
q2
Torque 1 [Nm]
50
q3 -1.5
q4
0 q5 -2
q6
-2.5
-50 0 1 2 3 4 5 6 7 8 9 10
0 1 2 3 4 5 6 7 8 9 10
Time [s]
Time [s]
Torque 2 [Nm]
100
Fig. 8. Persistent excitation trajectories used for the parameter validation
0
ag replacements
Torque 1 [Nm]
50
-100
0 1 2 3 4 5 6 7 8 9 10
0
Time [s]
-50
Fig. 5. Measured and predicted torques. 0 1 2 3 4 5 6 7 8 9 10
Time [s]
Torque 2 [Nm]
100
Next, calculated vectors of the base parameters are used
for predicting torques obtained using the second excitation 0
trajectory, shown in Fig. 8. PSfrag replacements
For the trajectory in Fig. 8, and using the obtained base -100
0 1 2 3 4 5 6 7 8 9 10
parameters, predictions of torques are shown in Fig. 9, Time [s]
Fig. 10 and Fig. 11, while the normalized error is
Fig. 9. Validation of the obtained base parameter vector, trajectory from
eN = 0.0152. (35) Fig. 8.
Torque 3 [Nm]
10
transactions on robotics and automation, vol. 13, no. 5, pp. 730–740,
1997.
0
[10] J. Wu, J. Wang, and Z. You, “An overview of dynamic parameter iden-
tification of robots,” Robotics and computer-integrated manufacturing,
-10 vol. 26, no. 5, pp. 414–419, 2010.
0 1 2 3 4 5 6 7 8 9 10
Time [s]
Torque 6 [Nm]
10
0
af t
ag replacements
-10
0 1 2 3 4 5 6 7 8 9 10
Time [s]
Fig. 11. Validation of the obtained base parameter vector, trajectory from
Fig. 8.
Dr
V. C ONCLUSION
From the identification results several things can be seen.
First, although the obtained base parameters vector has neg-
ative parameters corresponding to moment of inertia of the
motor rotors, which is physically impossible, it can predict
measured torques very good. However, the consequence of
having physically impossible negative parameters is that the
mass matrix is, for some robot configurations, not symmetric
or negative definite and thus methods for mass matrix
inversion tailored for symmetric positive definite matrices,
like the Cholesky decomposition, can not be used.
At the end, note that on some figures showing torque
predictions there is an error at zero time. This error is because
of static friction which is greater than the dynamic one
identified in this work.
ACKNOWLEDGMENT
This work was financed by Dr.Kors - Dynamic recon-
figurability of collaborative robot systems project, funded
by FFG - Österreichische Forschungsförderungsgesellschaft,
project number 864892.
R EFERENCES
[1] G. Antonelli, F. Caccavale, and P. Chiacchio, “A systematic procedure
for the identification of dynamic parameters of robot manipulators,”
Robotica, vol. 17, no. 4, pp. 427–435, 1999.
[2] C. G. Atkeson, C. H. An, and J. M. Hollerbach, “Estimation of inertial
parameters of manipulator loads and links,” The International Journal
of Robotics Research, vol. 5, no. 3, pp. 101–119, 1986.