4 JOINT FRICTION MODEL
For feed-forward dynamic compensation purposes
and robot inertia identification techniques it is com-
mon to model friction in robot joints as a torque τ
(f)
which consists of a Coulomb friction torque and an
additional viscous friction torque for non-zero veloc-
ities (Swevers et al., 1996; Calafiore et al., 2001).
These so-called static or kinematic friction models
are valid only at sufficiently high velocities because
they ignore the presliding regime. At zero velocity
they show a discontinuity in the friction torque which
gives rise to numerical integration problems in a for-
ward dynamic simulation. To avoid this problem we
apply the LuGre friction model (Wit et al., 1995), that
accounts for both the friction in the sliding and in the
presliding regime.
In the LuGre friction model there is an internal state
z that describes the average presliding displacement,
as introduced by Heassig et al. (Haessig and Fried-
land, 1991). The state equations with a differential
equation for the state z and an output equation for the
friction moment τ
(f)
are
˙z = ˙q −
| ˙q |
g( ˙q)
z, (17)
τ
(f)
= c
(0)
z + c
(1)
˙z + c
(2)
˙q . (18)
Note that a subscript j = 1 . . . 7 should be added to all
variables to distinguish between the separate friction
torques in the robot model, but it is omitted here for
better readability. For each joint friction model with
j = 1..6 the input velocity equals the joint velocity ˙q
j
.
For the extra friction model τ
(f)
7
the input velocity is
defined as the sum of the joint velocities of joints 5
and 6.
In general, the friction torque in the pre-sliding
regime is described by a non-linear spring-damper
system that is modelled with an equivalent stiffness
c
(0)
for the position–torque relationship at velocity re-
versal and a micro-viscous damping coefficient c
(1)
.
At zero velocity, the deformation of the non-linear
spring torque is related to the joint (micro) rotation
q.
The viscous friction torque in the sliding regime is
modelled by c
(2)
˙q, where c
(2)
is the viscous friction
coefficient. In addition, at a non-zero constant veloc-
ity ˙q, the internal state z, so the average deformation,
will approach a steady state value equal to c
(0)
g( ˙q).
The function g( ˙q) can be any function that represents
the constant velocity behaviour in the sliding regime.
In this paper the Stribeck model will be used, which
models the development of a lubricating film between
the contact surfaces as the relative velocity increases
from zero. The Stribeck model is given by
c
(0)
g( ˙q) = τ
(c)
+ (τ
(s)
− τ
(c)
)e
−(| ˙q|/ω
s
)
δ
, (19)
where τ
(c)
is known as Coulomb friction torque, τ
(s)
is the static friction torque and ω
s
and δ are shaping
parameters. The values for the static friction torque
τ
(s)
and Coulomb friction torque τ
(c)
may be differ-
ent for positive and negative velocities and are there-
fore distinguished by the subscripts + and −, respec-
tively.
For each friction torque in the robot model, the
parameters describing the sliding regime of the Lu-
Gre friction model are estimated separately using
dedicated joint torque measurements combined with
non-linear parameter optimisation techniques (Wai-
boer, 2004). The parameters describing the pre-
sliding regime are approximated by comparing the
pre-sliding behaviour in simulation with measure-
ments.
5 CLOSED-LOOP ROBOT
MODEL
The SPAC A R model of the manipulator mechanism,
the controller, the friction models and the robot drives
are assembled into a complete model of the closed-
loop robot system, Fig. 4.
The CS7B controller used in the St
¨
aubli RX90B
is an industrial PID controller based on the Adept
V+ operating- and motion control system. The con-
troller includes six SISO controllers, one for each
servo-motor. A trajectory generator computes the set-
points ¨q
(r)
, ˙q
(r)
and q
(r)
at a rate of 1 kHz. The
actual joint position q is compared with the set-point
q
(r)
and the error ² is fed into the P I-block of the
controller, which includes the proportional part and
the integrator part. The acceleration set-points
¨
q
(r)
and velocity set-points
˙
q
(r)
are used for accelera-
tion feed-forward and friction compensation, both in-
cluded in the F F -block. The friction compensation
includes both Coulomb and viscous friction. The ve-
locity feedback
˙
q is fed into the D-block, represent-
ing the differential part of the control scheme. The
block C represents the current loop, including the
power amplifier. Note that the position loop runs
at f
(1)
s
= 1 kHz and the velocity loop and current
loop run at f
(2)
s
= 4 kHz. The transfer functions
of the different blocks have been identified and im-
plemented in a SI MULINK block scheme of the robot
controller (Waiboer, 2004).
The current vector i is fed into the drive model
where the joint torques are computed. The LuGre
friction models compute the friction torques from
the joint velocities
˙
q. The net joint torque τ
(n)
in
(14) is the input for the non-linear manipulator model
(SPACAR). The output of the manipulator model con-
tains the joint positions, and velocities, denoted by q
REALISTIC DYNAMIC SIMULATION OF AN INDUSTRIAL ROBOT WITH JOINT FRICTION
51