The complete dynamic model in cartesian space is de-
scribed by:
H
x
(x)¨x + h
x
(x, ˙x)=u − f
e
(1)
The vectors x, u and f
e
∈
n
(n×1) represent the
end-effector position in the suitable reference coor-
dinate frame, the force control signal, and the force
exerted by the manipulator on the environment, re-
spectively. The term h
x
is given by C
x
(x, ˙x) ˙x +
g
x
(x)+d
x
( ˙x), where C
x
(x, ˙x), g
x
(x) and d
x
( ˙x)
are the Coriolis matrix, gravity and friction vectors,
respectively. Generally, a task frame attached to the
constrained surface is selected, when the robot ma-
nipulator tip moves in a force control task, so as to
easily describe the desired position x
d
and force f
d
trajectories. The internal joint coordinates q, ˙q and ¨q
must be transformed in external cartesian ones x, ˙x
and ¨x, by means of the forward kinematics, where x
is the position of the tip manipulator in the task frame
coordinates. Regarding the external forces, let’s de-
compose the force vector f
e
, given by the force sen-
sor in all of its components and already transformed
in the task frame: a normal component f
n
in the per-
pendicular direction to the surface environment and
a tangential component f
t
, in the velocity tip manip-
ulator direction. Let’s also assume that the friction
coefficient µ between the manipulator tip and the en-
vironment is known. Thus, it is possible to calcu-
late exactly the perpendicular direction
n to the envi-
ronment surface, implicitly given by the force sensor.
Thus, without lost of generality, only three elements
in force and position, f
e
and x, defined in its com-
ponents as f
e
=[f
n
,f
t
, 0]
T
and x =[x
1
,x
2
,x
3
]
T
,
respectively, are going to be considered. The force
control is exerted along the first component and the
position control is done on the other two components.
In what concerns the environment characteristics, sev-
eral models have been proposed, based on elementary
mechanic components (spring, dump and mass), with
one or two degree of freedom (Epping and Seering,
1987). In this article, the environment is modelled as
a spring mechanical element with stiffness coefficient
k
e
.
3 THE OVERALL CONTROL
STRUCTURE
The proposed control structure can be defined as
a position based explicit force control, such that in
the inner loop a position based controller is feeded, in
part, with position errors by a controller in the exter-
nal loop (Fig. 1).
In the external loop, the controller is of fuzzy adap-
tive type, which transforms the force error in a po-
sition adjustment. The main objective of the fuzzy
Fuzzy
Adaptive
Controller
Fuzzy Sliding
Mode-Based
Impedance
Controller
Robot
d
f
e
f
d
x
1
d
x
c
x
x
Figure 1: Block diagram of the overall control structure.
adaptive controller is to compensate environment un-
certainties, like stiffness and geometric location. As
referred above, the fuzzy adaptive controller feeds in
part the inner position controller, because it corrects
only the manipulator tip position x
1
in the perpen-
dicular direction to the contact surface, based on the
force error e
f
. Moreover, the inner position controller
will compensate for uncertainties in the manipulator
dynamic model. The inner position controller, is a
fuzzy sliding mode-based impedance algorithm, with
an inverse dynamics control law. As the dynamic
model of the manipulator is not exactly known, an
impedance error will appear. This impedance error
defines a sliding surface, which, when the system is
in sliding mode, after it has reached the surface, the
state trajectory continues to be on it.
3.1 Fuzzy sliding mode-based
impedance controller
Let’s consider the following impedance control law:
σ = M
d
(¨x
d
− ¨x)+B
d
( ˙x
d
− ˙x)+
K
d
(x
d
− x) − f
e
, (2)
where M
d
, B
d
and K
d
are the inertial, damping and
stiffness positive definite matrices, respectively, and
x
d
is the desired position. The second term in (2) van-
ishes when no uncertainties are present in the manip-
ulator dynamic model. When uncertainties are con-
sidered, the second member in (2) assumes a value
with some norm different from zero. As σ = 0 does
not represent a manifold in the state space (x, ˙x), in-
tegrating σ a sliding surface s = 0, can be defined as
(Lu and Goldenberg, 1995):
s = ˙x − ˙x
d
+ M
d
−1
B
d
(x − x
d
)+M
d
−1
t
0
f
e
dτ
+M
d
−1
K
d
t
0
(x − x
d
)dτ (3)
When the system is in sliding mode, after it has
reached the surface, the state trajectory continues to
be on the sliding surface (s = 0) so that (
˙
s = 0)
and σ = −M
d
˙
s = 0 is obtained. This indicates that
ICINCO 2004 - ROBOTICS AND AUTOMATION
202