A control scheme known as a hybrid position force
controller of (Raibert and Craig, 1981) allows to spec-
ify for each DOF the type of control. The frame in
which the segment is controlled is positioned such
that the direction, in which the position is controlled,
is perpendicular to the direction in which the force is
controlled. This frame is called the constraint frame.
In our case the constraint frame is aligned with the
two thrust cylinder frames (see Fig. 7). In this sit-
uation, the yaw, y, and the pitch, z, DOFs are con-
strained. We choose for the y degree of freedom a
force controller to assure contact. For the other po-
sition constrained degrees of freedom an impedance
controller is chosen which guarantees compliant be-
havior.
The controller consists of four blocks: feedback
linearization, transformation of sensor data (kinemat-
ics, Jacobian and coordinate transform), selection ma-
trix and the controllers (see Fig. 8).
The coordinate-transform block transforms the data
f, x, R, v and ω from the base frame to the constraint
frame and vice versa, where f is the measured force, x
is the position of the segment, R is the rotation matrix
which defines the orientation of the segment, v is the
linear speed of the segment and ω is the angular speed
of the segment. The inputs of the force controller are
f
d
and
˙
f
d
, which are the desired force and it’s deriva-
tive. The inputs of the position controller are x
d
,
˙
x
d
and
¨
x
d
, which are the desired position, velocity and
acceleration respectively. The vector a is the resolved
acceleration vector and τ is the torque/force vector
for the manipulator.
3.1 Feedback linearization
The following controller is used for feedback lin-
earization (Siciliano and Villani, 1999)
τ =
ˆ
D(q)u +
ˆ
C(q,
˙
q)
˙
q +
ˆ
F
v
˙
q +
ˆ
φ(q) + J
b4
0
(q)
T
f
(9)
where u is the new acceleration control input. Sub-
stituting (9) into (1) and assuming perfect modeling
results in the following system
¨
q = u (10)
The goal of the controller is to control the manipulator
in the constraint frame to its desired values.
The Jacobian transforms the joint velocities to the
linear and rotational speeds. The Jacobian is given by
·
v
b4
0
ω
b4
0
¸
= J
b4
0
(q)
˙
q (11)
Differentiating (11) gives
·
˙
v
b4
0
˙
ω
b4
0
¸
=
¨
x = J
b4
0
(q)
¨
q +
˙
J
b4
0
(q)
˙
q (12)
which represents the relationship between the joint
acceleration and the segment’s linear and rotational
speed. A new control input can now be chosen as
u = (J
b4
0
(q))
−1
³
a −
˙
J
b4
0
(q)
˙
q
´
. (13)
Substitute (13) into (10) and the result into (12), as-
suming perfect modeling and perfect force measure-
ment, leads to the following total plant model
¨
x = a = a
p
+ a
f
(14)
where a is the resolved acceleration in the base frame
and a
p
, a
f
are the outputs of the position controller
and force controller in the base frame. The vector a
p
can be partitioned into linear acceleration a
l
and an-
gular acceleration a
o
. Likewise, a
f
can be partitioned
into linear acceleration a
fl
and angular acceleration
a
ft
:
a
p
=
·
a
l
a
o
¸
a
f
=
·
a
fl
a
ft
¸
. (15)
3.2 Transformation of sensor data
The different positions and speeds are measured in the
joints of the manipulator. The force is measured us-
ing a force sensor, located in the manipulator head. To
control the manipulator in Cartesian space these mea-
surements must be transformed to a Cartesian frame.
This is done with the kinematic matrix and the Jaco-
bian matrix. The frame in which the manipulator is
controlled is the constraint frame.
3.3 Selection matrix
The DOF for position control and for force control
can be selected. This is done by multiplying the
force/torque vector by a diagonal selection matrix S
and the position/velocity vector by I − S, with I the
identity matrix. For a DOF that is position controlled
S
i
= 0 and for a force controlled DOF S
i
= 1. For a
manipulator moving in free space the selection matrix
is a zero matrix, meaning position control.
To make sure that the switch between the two sit-
uations is in a controlled manner, the switch function
of the selection matrix must be smooth. The time of
switching in unknown, so the switch should be trig-
gered by the contact force (Zhang et al., 2001).
Φ
i
(f
i
) =
½
f
i
− f
i
ref 1
, if f
i
≥ 0
f
i
ref 2
− f
i
, if f
i
< 0
(16)
The smooth switch function can now be defined as
S
i
=
½
0, if Φ
i
(f
i
) < 0
1 − sech(αΦ
i
(f
i
)), otherwise
(17)
HYBRID CONTROL DESIGN FOR A ROBOT MANIPULATOR IN A SHIELD TUNNELING MACHINE
189