Friction Identification in Robotic Manipulators: Case Studies
M.R. Kermani†, R.V. Patel‡, M. Moallem§†[email protected], ‡[email protected], §[email protected]
Department of Electrical and Computer EngineeringUniversity of Western Ontario
London,Ontario,Canada
Abstract— In this paper, friction identification in robotic ma-nipulators are studied. A single state dynamic model of thefriction force is utilized for the friction compensation algorithm.A practical method for obtaining parameters of the modelwhich pertains to robotic manipulators is presented. In orderto evaluate the competence of this method, two differentmanipulators with different friction characteristics are exam-ined. A 2-DOF manipulator used for high-speed, micro-meterprecision manipulation and a 4-DOF macro-manipulator usedfor long-reach positioning tasks are considered. It is shown thatdespite the different nature of the two manipulators, the samemethod can effectively improve the speed and performance ofmanipulation in both cases.
I. INTRODUCTION
Friction compensation can play an important role in diverse
control applications. This includes applications that involve
high-precision and fast motion control as well as those
containing heavy and sluggish servomechanisms with slow
tracking velocities. In each case, the friction force needs to be
adequately compensated for in order to improve the transient
performance and reduce the steady-state tracking errors. This
also ensures a smooth control signal without resorting to
high feedback gains. However, the nature of friction force is
not completely understood and finding a model that captures
all characteristics of friction such as Stribeck, stiction and
sliding, is difficult. In addition, friction also includes dynamic
effects which are highly nonlinear and depend on time,
position and velocity. In this regard, many researchers have
studied this phenomenon and suggested a number of models.
Dahl was the first to present a systematic model for Coulomb
and sliding friction [5]. This model has been widely used
for dynamic and adaptive friction compensation by other
researchers. A dynamic model of friction was proposed by
Olsson et al. [10]. The model, also known as LuGre model,
incorporates a single continuous state to model pre-sliding
displacement. Ehrich at al. [7] studied an adaptive model of
friction for low-velocity position tracking systems. Dupont
at al. [6] introduced a drift-free model of friction for precise
motion control tasks.
In order to implement any of the aforementioned models, the
parameters of the model need to be identified experimentally.
Friction identification is also another challenging part of the
†This research was supported by grants STPGP215729-98, RGPIN1345and RGPIN227612 from the Natural Sciences and Engineering ResearchCouncil (NSERC) of Canada.
friction compensation process. It can be achieved either off-
line or online as part of a system’s operation. In off-line
identification, the motion through which the data is gathered
can be deliberately specified. Online identification must use
data from normal system operations. In this paper, off-line
identification is studied and a practical method for measuring
the friction force, particularly in robotic manipulators is
presented. It is shown that a dynamic model of friction
force based on initial measurements results in very accurate
motion control without the necessity of resorting to high
feedback gains. The main motivation for the present work
arose after unsuccessful attempts at controlling industrial
manipulators within a certain accuracy. Friction can cause
more than 50% error in some heavy industrial manipulators
while any changes in control parameters in order to improve
the performance of the systems is usually unsuccessful.
Adding a steady-state model of friction, provided that such
a model is obtainable, can alleviate the problem to a certain
extent. The final remedy for this problem involves utilizing a
dynamic model of the friction force. In order to identify the
parameters of the friction force, the suggested methods in the
current literature are not feasible for robotic manipulators [3],
[9]. This is due to the fact that in most robotic manipula-
tors with limited workspace, running a joint with constant
velocity may not be possible. In this regard, a new method
for obtaining the model parameters using a low frequency
sinusoidal torque is suggested.
The organization of this paper is as follows. In section II, a
dynamic model of friction force is studied. In section III, a
generalized method for measuring friction force in manipula-
tors is discussed. Finally, in section IV, experimental results
are presented for two different types of manipulators.
II. MODELING
Consider the following dynamics of a robot manipulator:
M(q)q + C(q, q)q + G(q) = τ − τF (1)
where q = (q1, q2, . . . , qn)T is the joint angle vector, M(q)is the mass matrix, C(q, q)q is the Coriolis and centrifugal
term, G(q) is the gravity term, and τ and τF are vectors
of applied forces/torques and the friction forces/torques,
respectively. Henceforth, the term force is used to refer to
both force and torque. Each element of τF is the friction
force between two adjacent joints of the manipulator which
Proceedings of the2005 IEEE Conference on Control ApplicationsToronto, Canada, August 28-31, 2005
WA1.1
0-7803-9354-6/05/$20.00 ©2005 IEEE 1170
are moving with relative velocity q with respect to each
other. The friction force at each joint, e.g., joint j of the
manipulator, can be dynamically modeled as follows [4]:
dz
dt= qj − σ0|qj |
s(qj)z (2)
τFj= σ1
dz
dt+ σ0z + σ2qj
where z is assumed as an average deflection of bristles
between the two surfaces with friction, τFjis the joint j
friction force, σ0, σ1 and σ2 are the stiffness, damping
and viscous coefficients, respectively, and s(qj) is a scalar
function given by
s(qj) = Fc + (Fs − Fc)e−α|qj |. (3)
In equation (3), Fc is the Coulomb force, Fs is the stiction
force and the α determines the variation of s(qj) between
Fs and Fc. As seen, the friction force is characterized
by six parameters, namely Fc, Fs, σ0, σ1, σ2 and α, from
which Fc, Fs and α describe the steady-state part of the
model whereas, σ0 and σ1 describe dynamic properties of
the friction force. The values of these parameters, for each
joint of the manipulator can be estimated experimentally. In
a system with viscous friction, the necessary and sufficient
condition for passivity [1] of the model is given by: ε2 �ε1(1 + σ2
σ1), where ε1 = 1
s(qj)|qj=0and ε2 = 1
s(qj)|qj→∞.
III. FRICTION IDENTIFICATION
The first step in identifying friction parameters of a manipu-
lator’s joint is to obtain a map between the friction force and
the joint velocity. However, obtaining such friction-velocity
map by running the joint at different constant velocities and
measuring friction force is not always feasible [3], [9]. Thus,
an alternative method in which the joint angle is kept within
the manipulator’s workspace is desirable. To this end, a low
frequency sinusoidal torque is applied to each joint of the
manipulator while other joints are locked and the correspond-
ing velocity is measured. The amplitude and the frequency of
the applied signal should be deliberately selected so that the
effect of Coriolis and centrifugal forces are negligible, and
the joint angles remain within the manipulator’s workspace.
Nonetheless, if the manipulator is moved too slowly it may
not be possible to capture all friction characteristics as the
system always remains in pre-sliding state. In the end, finding
an appropriate signal is a matter of trial and error. In the
sequel, this notion will be exemplified. Provided that the
above conditions are met, the equation of motion for each
joint of the manipulator (e.g., joint j) can be rewritten as
follows:
Mjj qj + Gj = τj − τFj(4)
where Mjj is the moment of inertia of joint j around its zaxis, τj = τMj
sin(ωjt) + Gj is the applied torque and τFj
is the joint friction force. By calculating qj after numerical
differentiation of joint velocity and assuming perfect gravity
cancelation, τFjcan be obtained from (4) as follows:
τFj= τMj
sin(ωjt) − Mjj qj (5)
The value of the friction force (τFj) is next plotted versus
joint velocity in order to obtain a typical friction-velocity
map as depicted in Fig. 1. All parameters in (3) including σ1
and σ2 can be derived from this graph. Fig. 1 illustrates the
relationship between the desired parameters and the graph.
In most applications, the exact value of Mjj depends on the
Fig. 1. Friction force/torque versus velocity.
manipulator configuration, and using an estimated value of
this parameter for measuring the friction force is inevitable.
Small values of qj can reduce the sensitivity of the measure-
ment (friction force) to the exact value of Mjj . However, as
mentioned earlier, moving a manipulator too slowly does not
reveal all friction characteristics. Thus, finding an appropriate
input signal for an unknown system requires a few trials.
To show the effect of Mjj on the friction-velocity graph
we followed the above procedure of applying a sinusoidal
signal to simulate the friction-velocity map of a system given
by (4). The friction force was simulated according to (2) for
the nominal values Fc = 1.2, Fs = 2.0, σ0 = 103, σ1 =400, σ2 = 0.4, α = 0.2 and Mjj = 1. To plot the friction-
velocity graph, instead of using the simulated values of the
friction force, we calculated the friction force using (5),
similar to a practical case. The results are summarized in
Fig. 2. The solid line shows the friction-velocity graph for
nominal values of the parameters and the dashed lines show
the graphs for the perturbed values of Mjj from its nominal
value. It is observed that the value of Mjj not only affects
the shape of the graph but it also changes the direction in
which the graph is followed. A similar effect on the friction-
velocity graph is observed for overestimated values of Mjj ,
except that the direction of the graph remains unchanged.
In the following, the relationship between parameters of the
model, i.e., Fc, Fs, α, σ2, and the above graph is discussed.
First, it should be pointed out that the starting point of the
model (2), assuming that the system is in pre-sliding mode,
represents the stress-strain curvature of the average bristle
deflections. Thus, the value of σ0 can be measured from the
slope of the friction force graph versus displacement at the
origin (see for example [2], [10]).
For a large value of the joint velocity the average bristle
deflections can be assumed constant. This is due to the fact
1171
Fig. 2. The effect of mass/inertia perturbation on the friction-velocitygraph.
that in lubricated contacts, a fluid layer of lubricant is built
up at high velocities and consequently, friction is determined
by the viscous characteristics of the lubricants [10]. Because
of the small value of the lubricant viscous coefficient, the
average deflection of bristles can be considered constant or
equivalently dzdt � 0. In this case the friction force is given
by,
0 = qj − σ0|qj |s(qj)
z (6)
⇒ z = sgn(qj)s(qj)σ0
⇒ τFj= sgn(qj)s(qj) + σ2qj
Without losing generality, let us assume that qj is positive.
Additionally, for the large values of the joint velocity where
αqj � 1, (3) yields
s(qj) = Fc + (Fs − Fc)e−α|qj | � Fc (7)
Now, substituting (7) in (6) renders the friction force as,
τFj= Fc + σ2qj (8)
Thus, for the large values of the joint velocity, the friction
force is given by a straight line whose slope and y-intercept
are equal to σ2 and Fc respectively. This is illustrated in
Fig. 1.
On the other hand, while dzdt � 0, small values of the joint
velocity for which αqj � 1 results in,
τFj � Fs + σ2qj � Fs (9)
The stated conditions (αqj � 1 and dzdt � 0) represent
the pre-sliding condition in the system and depending on
the system’s direction, i.e., leaving or approaching the pre-
sliding condition, two different situations can be observed.
Let us first look at the behavior of the system qualitatively.
Consider the system in pre-sliding condition. As the input
signal increases the value of the friction force is increased.
At this so called elastic stage the friction behaves as a spring.
After rupturing this elastic bond, the system enters the sliding
mode. Upon transition of the system from pre-sliding to
sliding condition, because of the assumed friction dynamics,
the value of the friction force may exceed the stiction force
(static friction) value. In this case, the friction-velocity graph
as depicted Fig. 1 has an overshoot. The amplitude of the
overshoot depends on the stiffness and damping coefficients
i.e., σ0 and σ1, as well as the amplitude of the input signal.
Thus, upon leaving the origin of the friction-velocity graph
(entering sliding condition), the value of the friction force
does not necessarily represent the stiction force. On the other
hand, prior to approaching the origin of the friction-velocity
graph, the system is in sliding condition and, as a result, the
average bristle deflection is relatively constant and dzdt � 0
(the stated conditions). Hence, the value of the friction force
represents the stiction force. In order to illustrate this fact
quantitatively, let us consider the linearized model of the
system in (2) with the dynamics (4) around the equilibrium
point of the system as follows [8]:
qj(s)τj(s)
=1
Mjjs2 + (σ1 + σ2)s + σ0(10)
τFj= σ0qj + (σ1 + σ2)qj , qj = z
To study the transition of the system from pre-sliding to slid-
ing condition, the response of the the linearized model (10)
to the input τMjsin(ωjt) � Ajt, where Aj = τMj
ωj , is
calculated. It has been shown that the linearized model,
despite the non-smooth behavior of the system at the origin,
is valid for both positive and negative velocities [8]. Thus,
the complete response of the system is given by,
qj(t) = wj(t) + hj(t) (11)
where wj(t) and hj(t) are the zero state and zero input
responses as follows:
wj(t) = K1es1t + K2e
s2t + at + b (12)
hj(t) = K3es1t + K4e
s2t
s1,2 = −ζ ±√
ζ2 − ω20︸ ︷︷ ︸
ωd
, ζ =σ1 + σ2
2Mjj, ω2
0 =σ0
Mjj
K1,2 = ±Aj
ω40
(ζ ± ωd)2
2ωd, a =
Aj
ω20
, b =−2ζAj
ω40
K3,4 = ± qj(0) + (ζ ± ωd)qj(0)2ωd
It is clear that the response of the system in pre-sliding
condition is characterized by the values σ0, σ1, σ2 and Mjj .
For the large values of ζ (ζ � ω0), the roots of the system,
s1,2 tend to 0− and −∞, respectively. As a result, qj , qj and
τFjgiven by (10), approach their final values at + b, a and
σ0(at+b)+(σ1 +σ2)a, more gradually. Now, depending on
the values of s1,2 two different situations are recognizable.
Let us call the time that the input signal reaches Fs by
ts = Fs
Aj. Calculating τFj
at ts yields,
τFj = σ0qj(ts) + (σ1 + σ2)qj(ts) (13)
Now, if ζ is such that, at ts the exponential terms in qj and
qj expressions are near zero then,
τFj= σ0(ats + b) + (σ1 + σ2)a (14)
1172
Substituting from (12) in (14) yields,
τFj = Fs
Therefore, upon transition of the system from pre-sliding to
sliding condition the friction force is equal to Fs. However
if due to the large values of ζ the exponential terms in qj
and qj are nonzero, then
τFj = Fs + �
where
� � σ0(K1es1ts+K3e
s1ts)+(σ1 + σ2)(K1s1e
s1ts + K3s1es1ts)
In this case, the friction force is larger than Fs prior to
entering the sliding condition.
The above discussion indicates that the value of the friction
force in the friction-velocity graph while entering the sliding
condition, may be different than the stiction force depending
on the values of σ0, σ1 and input signal. The transitions of
the friction-velocity graph between pre-sliding and sliding
conditions are depicted in Fig. 3 for three different values of
ζ and the nominal values used for plotting Fig. 2.
Fig. 3. Transition between pre-sliding and sliding conditions.
As mentioned earlier, in the sliding condition and just before
entering the pre-sliding condition, dzdt � 0, and the low values
of the velocity guarantees that the friction force is equal to
Fs as given in (9). Thus, the values of Fs and σ1 can be
measured from the friction force graph as illustrated in Fig. 1.
To obtain the coefficient α, let us calculate the slope of the
friction force graph in the vicinity of the origin. From (6)
we have,
∂τFj
∂qj= −α(Fs − Fc)e−αqj + σ2 (15)
Having measured the values of Fs, Fc and σ2, α can be
obtained from (15) by measuring the slope of the graph near
the origin, (κ1 in Fig. 1) as follows:
α � −κ1 − σ2
Fs − Fc(16)
In Fig. 3, all three graphs have slope κ1 � 0 at qj = 0.2,
which, using (16), yields α = 0.5. Note that finding an exact
value of the velocity at which α can be calculated is a tedious
task. Having obtained an estimated value of α, the fine tuning
of this parameter can be achieved by finding a good match
between the friction-velocity map from the model and the
measured one.
IV. CASE STUDIES
In order to evaluate the validity of the results presented in
the previous section, experiments were performed on two
different robotic manipulators. In each case, following the
identification of the parameters of the friction model, the
closed-loop performance for tracking a desired trajectory
using a PD controller was studied.
A. Micro-Manipulator
A 2-DOF manipulator which is used for high-speed and
accurate manipulation, was studied. This manipulator con-
sists of a a linear stage carrying a revolute joint. Both
joints are actuated with direct drive motors. This makes the
identification results more accurate in the sense that no error
is introduced in measurements because of the gearbox. The
system has micro-meter accuracy and is capable of moving
as fast as 1.98 m/s linearly and 2.5 rad/s angularly. The
mass and inertia of the linear stage and the revolute joint
are known. Moreover, their values do not depend on the
manipulator configuration.
In order to identify the friction force at each joint, a
sinusoidal signal was applied to the motors one at a time
while the other motor was locked. The friction-velocity map
for each joint was obtained, from which the parameters of
the friction force model were extracted. Table I lists the
estimated parameters of the friction force for each motor.
The evaluation procedure for the estimated results included
TABLE I
FRICTION FORCE PARAMETERS
Fc Fs α σ0 σ1 σ2
Linear 2.4 4.9 6.7 104 500 11.1
Units [N] [N] [ sm ] [ N
m ] [ N.sm ] [ N.s
m ]
Rotary 0.12 0.15 0.1 102 2 0.075
Units [Nm] [Nm] [ srad ] [ Nm
rad ] [ Nm.srad ] [ Nm.s
rad ]
two parts. In the first part, a friction force model based on the
identified parameters was simulated and its friction-velocity
map was compared with that from the experiment. Fig. 4
illustrates the experimental friction-velocity map superim-
posed on its simulation counterpart.
It is worth noting that in cases similar to the rotary motor
in which the values of the static and the Coulomb frictions
(Fs and Fc) are close, it is difficult to calculate the value of
α from (16). Fortunately, in such cases the incorrect values
of α do not affect the results since the variation of friction
force between its two values, i.e., Fs and Fc is very small. It
is clear that despite different friction force characteristics of
the two motors, accurate selection of the model parameters
creates an accurate friction-velocity map.
1173
Fig. 4. Simulation and experimental friction-velocity map.
In the second part, the friction model was evaluated by
observing the closed-loop performance of the manipulator for
tracking a desired trajectory. In this regard a PD controller
was utilized and the estimated values of the friction force
were added to the control signal to compensate for the actual
friction of the system. Fig. 5 compares the experimental
results for the position and tracking error of each motor with
friction compensation, to those without compensation.
Fig. 5. Tracking performance of linear and rotary motors with and withoutfriction compensation.
B. Macro-Manipulator
In the second case, a 4-DOF macro-manipulator was studied
(Fig. 6). Unlike the previous case, the macro-manipulator
cannot move fast. It has a much larger load capacity and
workspace. The macro-manipulator includes two sections,
each of which consists of a revolute joint with a vertical
axis in series with a∏
-joint, producing a 2 DOF motion.
The whole system has 4-DOF and is used for positioning a
platform at the end point of the manipulator. The platform
is capable of carrying a load of up to 70 Kg (e.g., a
PUMA 560). The macro-manipulator has a reach of 3.8 m
in its fully stretched configuration. The manipulator is a
relatively heavy mechanism and the maximum speed of its
joints are less than 0.4 rad/sec. The joints of the manipulator
are attached to electric servomotors using gearboxes with
gear ratios, J1 1:489.14, J2 1:600, J3 1:310 and J4 1:324.2,
respectively. The presence of gears makes the friction force
measurement very difficult. It has been shown that gear
transmission systems can be a source of chaotic behavior in
multibody systems [11]. In fact, this can be a failure mode
in an identification process. However, a good understanding
of friction helps to arrive at reasonably accurate results. The
presence of such chaotic motion in the fiction-velocity map
of the macro-manipulator is noticeable.
(A) (B)
Fig. 6. (A) The schematic of the 4-DOF macro-manipulator, (B)The upper section of the macro manipulator.
The macro-manipulator system is quite different than previ-
ous example. The inertias of the manipulator’s joints depend
on the joint angles. The joints are under gravity force. A gear
transmission system has been used at each joint. Moreover,
at low velocity, the gear pitches show considerable mismatch
(backlash) which results in a sudden change of velocity
(chaos). At higher velocity this effect is reduced and allows
for measurement of friction parameters. The procedure of
applying a sinusoidal torque was followed in order to identify
the friction force at each joint of the manipulator. Except
for α, which specifically requires low velocity information
of the system, the other parameters were identified using
the same procedures. The final value of α was selected to
produce a good match between the friction-velocity map
from experiments and simulations. In showing the chaotic
effect of the gear, Fig. 7 depicts the friction-velocity map
for the first joint for two velocity levels. Note that the first
joint of the manipulator is not under gravity force and has a
constant inertia. The discrepancies between the two graphs
are merely due to the use of gearbox.
As observed, by selecting an appropriate input signal, a
friction-velocity graph whose parameters are measurable can
be obtained. The process was repeated for all four joints.
The results of the identification are summarized in Table II,
and the friction-velocity map for the second joint of the
manipulator is shown in Fig. 8. Note that this joint has the
maximum gravity force and its inertia depends on the joint
angle.
The closed-loop performance of the manipulator for tracking
a desired trajectory was also examined after including the
1174
Fig. 7. Friction-velocity map for two velocity levels at joint 1.
Fig. 8. Simulation and experimental friction-velocity map at joint 2.
TABLE II
FRICTION FORCE PARAMETERS
Fc[Nm] Fs[Nm] α[ srad ] σ0[
Nmrad ] σ1[
Nm.srad ] σ2[
Nm.srad ]
Joint 1 1500 1614 18 106 8900 11262
Joint 2 1380 1546 11 106 8500 10914
Joint 3 105 116 5 105 800 1878
Joint 4 564 610 10 105 800 3450
friction model in the control algorithm. A PD controller
was utilized for controlling each joint and in addition to
the gravity force, the estimated values of the friction force
were added to the control feedback signal. Fig. 9 compares
the experimental results for the second joint of manipulator,
in tracking a desired trajectory with and without friction
compensation.
V. CONCLUSIONS
In this paper, friction compensation in robotic manipulators
was studied. A single-state model of friction force was
utilized and its parameters were identified. To that end, a
practical method for measuring friction force in manipulators
was discussed. Two different manipulators with different
friction characteristics were examined. The closed loop per-
formance of each system for tracking a desired trajectory
Fig. 9. Tracking performance of joint 2 with and without frictioncompensation .
with and without friction compensation was evaluated. Ex-
perimental results showed that including the friction force in
the control algorithm improved the accuracy of manipulation
to a significant degree, without sacrificing the speed and
smoothness of the manipulation.
REFERENCES
[1] N. Barabanov and R. Ortega, “Necessary and sufficient conditionsfor passivity of the LuGre friction model,” IEEE Transactions onAutomatic Control, vol. 45, no. 4, pp. 830–832, 2000.
[2] P. A. Bliman, “Mathematical study of the Dahl’s friction model,”European Journal of Mechanics, vol. 11, no. 6, pp. 835–848, 1992.
[3] C. Canudas de Wit and P. Lischinsky, “Adaptive frition compensationwith partially known dynamic friction model,” International Journalof Adaptive Control and Signal Processing, vol. 11, pp. 65–80, 1997.
[4] C. Canudas de Wit, H. Olsson, K. J. Astrom, and P. Lischinsky, “Anew model for control of systems with friction,” IEEE Transactionson Automatic Control, vol. 40, no. 3, pp. 419–425, 1995.
[5] P. R. Dahl, “A solid friction model,” The Aerospace Corporation, ElSegundo, CA, Tech. Rep. TOR-158(3107-18), 1968.
[6] P. Dupont, V. Hayward, B. Armstrong, and F. Altpeter, “Singlestate elasto-plastic friction models,” IEEE Transactions on AutomaticControl, vol. 47, no. 5, pp. 787–792, 2002.
[7] N. Ehrich Leonard and P. Krishnaprasad, “Adaptive friction compen-sation for bi-directional low-velocity position tracking,” in Proc. ofIEEE Conference on Decision and Control, Tucson, AZ, 1992, pp.267–273.
[8] R. H. A. Hensen, M. Molengraft, and M. Steinbuch, “Frequencydomain identification of dynamic friction model parameters,” IEEETrans. on Control Systems Technology, vol. 10, no. 2, pp. 191–196,2002.
[9] R. Kelly, J. Llamas, and R. Campa, “A measurement procedure forviscous and Coulomb friction,” IEEE Transactions on Instrumentationand Measurement, vol. 49, no. 4, pp. 857–861, 2000.
[10] H. Olsson, K. J. Astrom, C. Canudas de Wit, M. Gafvert, andP. Lischinsky, “Friction models and friction compensation,” EuropeanJournal of Control, vol. 4, no. 3, pp. 176–195, 1998.
[11] F. Pfeiffer, “Unsteady processes in machines,” Chaos, vol. a, no. 4,pp. 693–705, 1994.
1175