4 IMPLEMENTATION
This section illustrates the proposed approach from a
practical point of view. The framework proposed in
sections (2) and (3) was applied to assist the driving
of an indoor mobile robot equipped with a telemetric
sensors belt.
The OAM has been implemented on an external stan-
dard PC which wireless controls a Pioneer robot. This
robot is equipped with a eight sonars belt. Telemetric
data are acquired at f
e
= 10Hz. The control inputs
are also cadenced at f
e
. Telemetric data are collected
as eight range values, associated respectively to each
sensor. None filtering is processed on these data and
none uncertainty on measures is taken into account.
4.1 Virtual Zones
The two virtual zones ̺
z
and ̺
s
are chosen as two
concentric circles. The diameter of the security zone
is set to φ
s
= 0.6m. In this way, ̺
s
surrounds every
sightless zone between two consecutive sensors. The
parameter ε is fixed to 0.3m. The diameter φ
z
of ̺
z
linearly depends on u
1
c
. It is a priori limited by the
maximum range of sensors (i.e 3m). However, the
maximum value of φ
z
is set to φ
zmax
= 1m in order
to not constrain the robot motion when the obstacles
are far away from ̺
z
. Let u
1
cmax
be the maximum
longitudinal velocity of the robot then φ
z
is given by:
φ
z
= (φ
s
+ 2ε)
1 −
u
1
c
u
1
c
max
+φ
z
max
u
1
c
u
1
c
max
4.2 Planning of a Straight Line
Although it is possible to interpolate the data at
each sample to obtain a smooth curve which roughly
delimits the set of obstacles observate by the sonars,
we refer the avoidance algorithm to a simple straight
line. This line determines ̺
o
. ̺
o
is defined by the
point M and a vector ∆
o
. M is obtained from the
observations at time k : σ
k
= [σ
1
k
, σ
2
k
, . . . , σ
8
k
]
as the closest point to O
R
within the circle ̺
z
. ∆
o
depends on the navigation module outputs.
Let Ω
c
=
u
2
c
f
e
be the instantaneous steering
angle which should have directed the robot if it was
only guided by the navigation module. The vector
Ω
c
z
R
, where z
R
is the unitary vector which directs
the axis Z
R
, represents the directing vector of the
instantaneous robot motion. Let σ
i
k
be the range
data holden to estimate the point M. Another range
data is needed to determine a second point N to
build ̺
o
. The choice falls on σ
i+1
k
if θ
M
≥ Ω
c
or
σ
i−1
k
otherwise. Then let θ
MN
be the argument of
the vector
−−→
MN . If θ
MN
> Ω
c
, then ∆
o
=
−−→
MN .
Otherwise, ∆
o
= Ω
c
z
R
. In this way, we take care
that the OAM does not servo the robot on a line from
which the navigation module would have a tendancy
to get the robot out of the way. If M is obtained from
σ
1
k
or σ
8
k
, N may not exist. Then ∆
o
is forced to
be Ω
c
z
R
.
In the case of a straight line following, we have
∀s, c (s) = 0 which implies a simplification of the
control design exposed in section (3.2). Equation (11)
leads to the following simple control law:
u
2
z
= −u
1
z
cos e
ϕ
3
K
p
e
ρ
− | u
1
z
cos e
ϕ
3
| K
d
tan e
ϕ
This law ruled the robot motion during the experi-
ments which results are presented in the next section.
4.3 Results
We have validated the OAM with two kind of experi-
ments.
The first one consists on a very simple robotic task. It
consists on going forward, with U
c
= [v, 0]
⊤
, where
v is a constant. We have tried for v a range of longitu-
dinal velocities from 0.1m.s
−1
to 0.5m.s
−1
, which is
a respectable value for an indoor robot. Initially, the
robot is placed in order to be directed to a wall, with
an incidence angle of approximately −
π
6
rad. The di-
ameter of the circular security zone is fixed to 0.6m
while ε is set to 0.3m. In these conditions, the OAM
works as it is forecast in such a simple case.
The second task is more interesting. The robot is tele-
operated in offices and corridors of our laboratory and
the operator can not directly see the robot. He only
can see the image provided by an embedded frontal
camera which has an angle of view of 60deg. Im-
ages are wireless transfered, what implies some un-
expected and non constant delays on the visual feed-
back. In this case the OAM ensures the robot secu-
rity and assists the operator. However, circular virtual
zones rapidely appear unadequated. When an obsta-
cle comes closer to the robot from a side, the OAM
tends to correct the trajectory and unexpected oscil-
lations of the robot trajectory are induced. Elliptic
zones should be a solution to this issue.
5 CONCLUSION
This paper has presented the design and an implemen-
tation of an obstacle avoidance module (OAM) which
aims to act on the robot control inputs in order to pre-
serve the security of the robot when it is driven by
a navigation module which does not take explicitely
into account the possible presence of unexpected ob-
stacles.
The OAM is based on an original obstacle avoidance
A PATH PLANNING STRATEGY FOR OBSTACLE AVOIDANCE
443