You are on page 1of 11

Robotics and

Autonomous
Systems
ELSEVIER Robotics and Autonomous Systems 12 (1994) 143-153

Fuzzy logic techniques for mobile robot obstacle avoidance


Patrick Reignier *
LIFIA, IMAG, 46, Av. FElix Viallet, 38031 Grenoble, France

Abstract

This paper is concerned with the problem of reactive navigation for a mobile robot in an unknown clustered
environment. We will define reactive navigation as a mapping between sensory data and commands. Building a
reactive navigation system means providing such a mapping. It can come from a family of predefined functions (like
potential fields methods) or it can be built using 'universal' approximators (like neural networks). In this paper, we
will consider another 'universal' approximator: fuzzy logic. We will explain how to choose the rules using a behaviour
decomposition approach. It is possible to build a controller working quite well but the classical problems are still
there: oscillations and local minima. Finally, we will conclude that learning is necessary for a robust navigation
system and fuzzy logic is an easy way to put some initial knowledge in the system to avoid learning from zero.

Key words: Mobile robot; Reactive navigation; Fuzzy logic

1. Introduction fine the perceptual space as the space where each


axis represents a sensor value (input) and the
This p a p e r is concerned with the problem of c o m m a n d space as the space where each axis
reactive navigation for a mobile robot in an un- represents a c o m m a n d variable (output), a reac-
known clustered environment. The navigation task tive navigation system is a mapping between these
we will consider is reaching an absolute point two spaces. Let us call M one of the mappings
(x, y). This point can be provided by a h u m a n able to guide the robot to its goal (there is not
operator or by a path planner for instance. This only one possible reaction in front of an obstacle).
navigation is reactive because there is no plan- T h e r e are two major problems:
ning stage. The system uses only its estimated • first, the mapping proposed by a navigation
position, the goal position and the depth mea- system must be locally a good approximation of
sures coming from the sensors (like ultrasonic M. Local means valid in a region of the percep-
sensors) to provide a c o m m a n d at each cycle tual space. For instance, the robot must turn
time. We will not consider that the robot can away in front of a wall;
memorise any of these values to use t h e m later. • it must approximate M over the whole percep-
Each c o m m a n d generation is done using only tual space (it must provide a good reaction for
input values available at this moment. If we de- each sensory data, for each perceptual situa-
tion).
The second problem is difficult because a robot
while moving has to face a wide variety of situa-
* E-mail: Patrick.Reignier@imag.fr, Fax: + 33 76 57 4602. tions associated with a wide variety of different

0921-8890/94/$07.00 © 1994 Elsevier Science B.V. All rights reserved


SSDI 0 9 2 1 - 8 8 9 0 ( 9 3 ) E 0 0 3 9 - P
144 P. Reignier / Robotics and Autonomous Systems 12 (1994) 143-153

reactions. As it is difficult to imagine the real 2.1. Potential fields methods


situation corresponding to any region of the per-
ceptual space, it is hard to provide the reaction The common characteristic of all the methods
attached to every point in this region. Most of the described in this section is that they all propose a
navigation systems are built using the opposite family of functions for the mapping. They all
approach: classical real situations are considered suppose that inside this family, there is at least
(like following a wall, going through a door, navi- one mapping close to M selected with coeffi-
gating in a corridor, etc). But there is no guaran- cients tuning. This selection can be done manu-
tee that the regions corresponding to these situa- ally (with no on-line changing) or automatically
tions will cover the whole perceptual space and (with machine learning type algorithms). The po-
will not overlap. Overlapping implies commands tential field approach has been first proposed by
fusion or arbitration for instance. Khatib [8]) as an on-line collision avoidance
A particular reaction is associated to a particu- method. The robot is moving in a field of forces
lar situation. To solve the first problem (local derived from a potential function. It is attracted
approximation of M), we must provide the com- by the goal (with a potential function propor-
mands that will generate the reaction. In most tional to the goal distance) and repulsed by obsta-
cases, it is very difficult and almost impossible to cles (with a potential function inversely propor-
build a precise model of the vehicle and the tional to the square distance of the obstacles).
sensors (for the vehicle, non-linear differential The gains associated to those functions can be
equations or different floor surfaces producing tuned to select one. Another example can be
different wheels sliding, and for ultrasonic sen- found in [12]. The robot is controlled with its
sors for instance, shape and composition of the acceleration. The goal potential is proportional to
obstacles, air temperature, etc.). It is not possible the time necessary to reach it. The obstacles
to extract the mapping function using an exact potential is the inverse of the 'reverse avoiding
approach based on a mathematical description of time', that is the time the robot still has to
the situation. Approximations must be used. In decelerate before a collision.
this paper, we will first consider some previous Wallner proposed a default mapping for the
reactive navigation methods, proposing a family whole perceptual space. When a problem is de-
of mappings and then extracting one (potential tected (the default mapping is not 'capable'
fields approaches), or trying to build the mapping enough to command the robot in a particular
from zero using 'universal approximators' (as situation), the mapping is adapted on-line [17].
neural networks). We will then present the navi- For instance, if the robot detects it is trapped
gation reactive controller build in LIFIA, using into a local minima (the goal is behind a wall or it
another 'universal approximator': a fuzzy logic wants to enter a narrow corridor), it can generate
controller. a random movement to escape or adjust the po-
tential function weights. But the problem is not
solved. The singular point is only moved away
2. Classical mapping generation methods for nav- from the robot position. The local minima still
igation exist but in another place. Arkin proposed spe-
cialized mappings valid for particular perceptual
Classical reactive navigation methods can be situations [1]. These mappings are called scheme.
split into two categories: The results coming from each active scheme are
• The mapping is selected among a family of combined to provide the final commands.
possible mappings (potential fields methods). Koren has shown in [9] that problems like
• The mapping is built using a 'universal function oscillations or local minima are inherent in the
approximator' (neural networks methods). potential functions commonly used. They are not
I am going now to give brief examples of both adapted to approximate M.
approaches. Instead of trying to extract a function from a
P. Reignier/ Robotics and Autonomous Systems 12 (1994) 143-153 145

family, and doing so presupposing that M has a Instead of telling the robot how to do it, an-
particular form, another approach consists of other learning approach consists of letting it try
building this mapping using a 'universal approxi- and telling it when it is right or wrong. You tell
mator' like neural networks. the robot what to do but you let if find out how to
do it. This is a half way solution between unsu-
2.2. Neural networks methods pervised and supervised learning. These tech-
niques are called reinforcement learning. It has
Neural networks estimate sampled functions. been successfully applied to solve robotic control
The difference with traditional statistical-estima- problems [3,16]. But such systems start to learn
tion and adaptative-control approaches is that from zero and it is very important and very diffi-
they are model-free estimators. You do not need cult to select a good criticism function (judging
a mathematical description of how the output what the robot is doing) and to tune the different
functionally depends on the input. And this is a gains. The quality of the learnt mapping relies on
very important characteristic for the problem we that.
want to solve. There are three categories of learn- Neural networks, as 'universal' function esti-
ing processes: unsupervised, reinforced, and su- mators, must be able to solve the reactive naviga-
pervised. tion problem. Their major drawback is that they
Unsupervised means that you only give the start learning with no initial knowledge, and to
input as samples to your system and you let it have a good learning result (a good mapping),
cluster them. It is used for data preprocessing but samples must be very significant.
not for command generation ([10,3]).
On the opposite, a supervised system learns a
mapping from (input, output) samples. It learns 3. Fuzzy control for navigation
these points, and it must be able to give an
answer for points outside the learning set. The Neural networks are used to try to approxi-
samples must be representative of the structure mate an unknown function through some known
of the function they represent (more samples if points. Fuzzy logic tries to achieve the same goal
the function has a complex shape) and should be but with a different approach. In particular, it
equally spread over the input space. Selecting does not have the main Neural Network disad-
them is a difficult task. They must contain the vantage which is the black box aspect and it has
answer to the question 'how to do it?'. Such an the same advantage which is interpolation. In the
approach has been successfully applied when neural network approach, the user gives some
driving a car [15]. Watching a hiaman driver, the particular points and the system will learn the
network is learning a mapping between camera function which is behind. In the fuzzy logic ap-
images and commands. proach, the user gives the points and the knowl-

Negative Zero Positive y

2~

-2 -1 0 I 2 a x

Fig. 1. T h e left figure is an example of a membership function. T h e right figure is a fuzzy controller as patches for approximating a
function.
146 P. Reignier / Robotics and Autonomous Systems 12 (1994) 143-153

edge he has of the process to sculpt the shape of A I B b


j -
Coder ~
~ K n o w l-e-d- g e base ~ Decoder
the curve which will approximate the function. " ] (fuzzifier)
l _ ' ....... ! (Ai,_Bi) / ~1 (defuzzifler) I
This part is done in a static way. It is then
possible to do some learning to try to improve the
a
controller but we will not consider that in this
paper. I am now going to present briefly fuzzy set L J

theory [18] and its application to control prob- Fig. 2. General architecture of a fuzzy controller.
lems [11].

3.1. Fuzzy logic value comes from a sensor, then the measure
noise must be added. The classical membership
The purpose of fuzzy sets is to extend the functions used are the triangular, trapezoidal and
definition of the classical membership function to bell-shaped (see Fig. 3). The input fuzzy set A is
a continuous function: then presented to the knowledge base (the sec-
ond box) which is a set of relations (Ai, Bi). A i
m : X ~ [0,1]
and B i are called linguistic terms. This simple
VxEX, mA(X ) =O=x~A scheme can be complicated using fuzzy logic con-
VX E X , mA(X ) = 1.0 ~X cA
nectives like and, or, not, introduced by Zadeh:

V x , 0 < x < 1, m A( X ) = degree x belongs to A . m A ^ B ( x ) = min(rnA(x), m B ( x ) ) V x ~ X

Fig. 1 represents three membership functions mAv B(x) = max(mA( x), mB( x) )Vx ~ X
associated respectively to the three sets Negative, m ~ A ( X ) = 1 --mA(X)Vx ~ X .
Zero and Positive. For the Zero set, the member-
For instance: if X is A i and Y is B i then Z is Bi.
ship value is 1 if x = 0 and 0 if x < - 1 or x > 1,
Giving the input A, the output B i is computed
which means that every value outside the [ - 1, 1]
with an inference process. The two mainly used
interval is definitively not 0 and every value inside
are explained in Fig. 4. Some theoretical justifica-
[ - 1, 1] is almost zero with a certain degree given
tions (using neural network results) can be found
by the membership function.
in [11]. There is an important point to notice. An
A Fuzzy logic controller (or Fuzzy associative
input vector A will activate all the rules (Ai, B i)
memory) is a mapping between input variables
but with different degrees. If A only partially
and output variables (those variables are of course
'satisfies' A i, the consequent Bi will be only
fuzzy sets and not numerical values as with a
partially activated. If A does not satisfy A~ at all,
classical transfer function). In a very simple way,
B i does not activate at all (the fuzzy set result of
we can say that we know a couple of points
the rule is empty, which means that its member-
(input, output) belonging to the function we want
ship function is the null function). A Neural
to model. We are supposing here that this func-
Network behaves differently. With an input A, it
tion is continuous, which means that if we know
one point (input, output), we can say: 'around
input the function value is close to output'. The
function is modeled with a collection of fuzzy sets // j , A
relations (Fig. 1). All fuzzy controllers have a /l\~ / i Ii
general architecture which can be described in L ~i\ / l
' ~ J //
terms of three boxes: codification, knowledge
base, decodification (Fig. 2). The first box is the
0 / I "
a 0 a
0+:i a
codification part. If the numerical input value a is Triangular Trapezoidal Bell-shape
noiseless, it can be avoided. You will consider in Fig. 3. Fuzzyfication process. The measure noise is added
fact that the a value is a conventional set A with using for instance a triangular, a trapezoidal or a bell shape
just one number inside a. If the numerical input m e m b e r s h i p function.
P. Reignier / Robotics and Autonomous Systems 12 (1994) 143-153 147

Ai ~ Bi /~ A Ai ~ Bi
/~ activatlonstren~hI / ~
/_ __~__~- t _~// B'i
.,,

a Min inferencewith crisp input Min inferencewith fuzzy input

l Ai ~ Bi A Ai '~ Bi
ivation strength [
s] / _ . _ ~ _>~ ~/B'i=s. Bi

a Product inferencewith crisp input Product inferencewith fuzzy input

Fig. 4. Inference processes. Note: the product inference keeps the membership function shape.

will try to reconstruct a full B i even if A and A i Once all the rules have been applied and com-
mismatch severely. That means that the fuzzy bined, the final result (if it is a set) must be
expert is more prudent than the Neural Network translated into a number to be sent to the plant
one. It will admit in certain situations that it does (the third box in Fig. 2). This is the decodification
not know the answer (an empty fuzzy set) instead (or defuzzyfication) phase. There are a lot of
of trying to guess it, which is a secure behavior techniques. One of the solutions called mean of
for a control process. maximum, computes the mean of all the points
Instead of having a constant fuzzy set on the which will maximize the membership function.
right side of the rule (Bi), it is possible to have a One of the drawbacks is that it does not take
combination of the input variables (which must much into account the shape of the curve. An-
then be numerical values and not fuzzy sets), for other frequently used solution is the Center of
instance: if x I is A'I and x 2 is A~ . . . t h e n y =p~
+ p~x 1 + pi~x 2 + ... +pi x,. In this case, the rule
answer is a number and not a fuzzy set.
Several rules will give a result for a particular
mlel role2
output variable. Those intermediate results must
be combined to give the final result. If the rule
answers are fuzzy sets, they can be combined
using a max operator on the membership func-
tion, or using a normalized sum operator (see Fig. Max combining
5 for details). If the rule answer is a number (a
function of the input variable), then the final
result is a weighted sum of the intermediate rulel rule2
results:

~-~WiX i
Z~---i=l~ ,
l
Sum combining
wi
i=1 Fig. 5. Two combining rule techniques. If several rules give
the same result, it will appear in the final result in case of a
where wi is the activation strength of the rule i. Sum combination but not with a Max combination.
148 P. Reignier / Robotics and Autonomous Systems 12 (1994) 143-153

to have something more precise like [very slow,


slow, normal, fast, very fast}. In general, it is
better to have a high granularity level around the
equilibrium point so that it is possible to have a
vL +z smooth control. The second problem, which is
having an approximation all over the perceptual
Mean of Maximum Center of Area
space, is solved if at least one rule is active for
Fig. 6. Defuzzyfication techniques. The mean of maximum
each sensor value. If no rule is active (which
techniques does not take the shape of the curve much into
account. means that all the activation strengths are null),
then no commands are sent and the plant will
follow its own dynamic.
Area Method. The result is given by the formula: After this short fuzzy logic control presenta-
q tion, we are going now to explain the navigation
E zjm(Zj) system we have done on our mobile robot in
j=l LIFIA.
Z = q

E m(zj) 3.2. The LIFIA fuzzy navigation controller


j=l
(see Fig. 6). The prima team in LIFIA has developed an
A fuzzy controller is a universal continuous architecture for mobile robots (Fig. 7). It is a
function estimator. If the transfer function is hierarchy of layers, each one working asyn-
known, it is easy to find the rules that will fit the chronously, at its own speed, with its own level of
approximation accuracy degree that is necessary data abstraction. More details can be found in
to have. If the transfer function is unknown, [5,6,7,4]. The navigation module consits of a reac-
which it is in our case, it can be built in a very tive module based on fuzzy logic. The LIFIA
simple way by putting into the system the knowl- mobile robot has two independent powered
edge (rules) we have, not of the plant itself, but wheels. To be able to achieve coordinated mo-
of the way we are controlling it ourselves. That is tion, we have developed a standard vehicle con-
an important difference with neural networks troller providing asynchronous independent con-
techniques. Another great advantage of fuzzy trol of forward displacement and orientation [7].
controller is its robustness. For instance, let us The available commands for movements are move
consider the inverted pendulum. The controller (distance, speed, acceleration), turn (orientation,
developed for a certain stick length will still work speed, acceleration) and stop (). The output vari-
fairly well with a shorter or a longer one. If we ables used for the navigation module are the
add a platform at the top of the pendulum with a classical translation speed and orientation of the
living mouse on it, we will add high unpredictable vehicle. The depth measures are currently pro-
noise to the system. And the controller will still vided by a ring of 24 ultrasonic sensors dis-
be able to maintain the stick in the vertical posi- tributed around the robot. Each sensor could be
tion. considered as an input variable but it will give a
Let us consider again the two problems pre- very huge perceptual space. It is not easy to pilot
sented in the introduction. First, the local approx- the robot considering those 24 numerical values
imation accuracy degree. For a fuzzy controller, because it is hard to apprehend so many informa-
the 'quality' of the approximation depends on the tions. So, it will not be easy to write the rules.
level of granularity of the linguistic variables (the Some preprocessing is necessary to reduce the
A i and B,. variables), that is the number and the amount of data. Sensors are classified into four
size of the patches in Fig. 1. For instance, a speed groups: in front, behind, on the left, and on the
parameter can be described with only three terms right. For each group, we only keep the smallest
like {slow, normal, fast}. But, it may be necessary depth measure (Fig. 8). We have not yet given the
P. Reignier/ Robotics and Autonomous Systems 12 (1994) 143-153 149

tion from the robot. So, finally, we have 5 input


Man-Machine and 2 output variables.
Interface The next step is to build a linguistic database
to describe the values. For the depth measures
Supervisor for instance, we have a very low level of granular-
ity with only two sets: near and far. But, because
the danger is not the same, the near describing
1
the distance of an obstacle in front of the vehicle
Locomotion > Perception is not the same as the near describing the dis-
Actions Actions tance of an obstacle on the left, for instance.
The whole perceptual space must be covered
by the rules, which means that at least one rule
must have a non-zero activation strength for each
Vehicle < \ Local perceptual entry. A systematic way to do that is
Control ~\, > Modeling to create a rule for each combination of the
linguistic sets, that is if input variable A is de-
scribed by A 1, A 2 and B by B1, BE, then, there
are four rules (A1, B1, YI), (A1, BE, Y2),
Motor t I Sensor Data ( A 2 , B1, Y3) a n d ( A 2 , BE, Y4), w h e r e
Control Description
(Yl, Y2, Y3, Y4) are the linguistic sets for the out-
put variable Y. For our application, the number
Motors Range Sensors of rules is about 3,000, even with the low granu-
larity level of description used for distance (only
far and near). With a higher granularity level
1 : high level navigation (like 5 sets for each variable, a level often used in
2 : reactive navigation applications), there are over 1,000,000 rules. To
reduce this number, a solution is to suppress one
Fig. 7. The LIFIA mobile robot architecture.
or several variables on the left part of the rules.
Instead of producing directly a small cube, the
rules will then produce a whole slice in the per-
possibility to the vehicle to do some manoeuvres. ceptual space. The combination of those slices
The behind sensor group is not used in this when they overlap will produce the small cubes.
application. In Fig. 9, two rules are producing five cubes (five
The aim of the controller is to reach a Carte- rules). So there are less rules and less flexibility,
sian point. We add two other input variables too, for describing the surface. An intermediate
which are the goal distance and the goal orienta- result, computed without considering a parame-
ter value can be seen as the output of a behavior
and the rule fusion, combining the intermediate
results into the final one, can be seen as behavior
fusion. To provide some flexibility, each behavior
is assigned a weight (in [0,1]) to classify them
([13,14]). This weight is multiplied by the activa-
. X Sensor mca.sur~ tion strength of the rule (coming from the left
side) to give the final activation strength used to
+ +"',+,,~r'+,++~ compute the rule effect (the right side) (see Fig. 4
Robot
for the activation strength definition). An impor-
Fig. 8. Sensor input variables. The 24 s e n s o r s are divided into tant thing to notice is that, if we have a behavior
four groups: in front, behind, left, right. B 1 with a weight a~ and a behavior B 2 with a
150 P. Reignier / Robotics and Autonomous Systems 12 (1994) 143-153

input2 (dealing with the three sensor groups depth mea-


output sures). With the simple obstacle description we
have (three sensor groups and two linguistic sets
if inputl is A then output is Ol f a r and near), there are 8 perceptual situations
if input2 is B then output is 0 2
(see Fig. 10). Then, we associate a reaction to
02 each of these situations except for the 'far' situa-
tion where we do not want to do anything (and
O1 then, only the reach goal behavior will be active).
For instance, in a 'left-corner' case, we stop the
vehicle and turn it to the right. In a corridor
situation, we go straight ahead, etc. These 8 situ-
ations with their responses can be seen as behav-
A
inputl iors. Each one has a different weight. For in-
Fig. 9. Using several rules instead of just one. The combina- stance, the 'in front near' behavior has the maxi-
tion of 01 and 0 2 (the grey cube) on the overlapping zone mum weight of 1 because it is vital for the robot
between A x ~ and a~ X B should be equal to the result of to stop. The 'reach goal' behavior has the lowest
the rule if input 1 is A and input 2 is B then output is 0 3
(the grey cube). weight because it is more important to avoid
obstacles than to reach the goal. Let us suppose,
for instance, that every obstacle is far away. Then,
weight a 2 such that oq > a2, it means that B 1 only the 'reach goal' behavior will be active. The
will be more easily dominating B 2 but it will not robot is now approaching an obstacle to its left.
always dominate it. A behaviour with a strong The activation level of the 'left near' behavior
weight and a weak activation strength can finally will increase smoothly. This behavior will tell the
be less active than a behavior with a weak weight robot to stop and to turn right while the 'reach
and a strong activation strength. In the navigation goal' behavior will tell it to go on. So it will just
controller, we have created two main behaviors: reduce its speed and turn a little bit to the right.
one to reach the goal (dealing with the distance If it is not enough, the activation level of the
and the orientation of the goal in relation to the l e f t - n e a r will still increase, etc. If necessary, the
vehicle) and the other avoiding the obstacles l e f t - n e a r activation will take over the reach-goal

Far left near fight near left comer

fight corner infront near corridor blocked corridor

Fig. 10. There are 8 different perceptual situations. A different reaction is associated to each of these situations.
P. Reignier/ Robotics and Autonomous Systems 12 (1994) 143-153 151

each Goal

ft near

Goal

Robot

wall
Fig. 11. In the left figure, the robot oscillates because there is one predominant behavior at each time. In the right screen,
behaviors are merged and the robot can follow the wall staying parallel to it.

activation and the robot will not just slow down implemented in C. It permits to use various
but will really stop and turn right. Because of a fuzzyfication, inference and defuzzyfication meth-
fuzzy rules mechanism, there is a smooth transi- ods. Its period is 2 seconds but it could be much
tion between the behaviors which should gener- lower (fuzzy controllers are easy to program and
ate smooth movements. A similar approach has have (low computing cost).
been used in [2]. But, the different perceptual The final step is to tune the controller, which
situations are detected using a neural network means adjusting the shape of the membership
instead of rules. Only one is active at each time functions of the linguistic sets and adjusting the
with no smooth transition between 'behaviors'. weights of the behaviors. There is no theory on
The defuzzyfication method we have chosen is how to do that manually, especially if the func-
the center of area. The whole controller has been tion we want to approximate is unknown. It must

\ I--1

Fig. 12. Obstacle avoidance in an unknown cluttered environment.


152 P. Reignier /Robotics and Autonomous Systems 12 (1994) 143-153

be done through experiments. A compromise the upper right one. The robot has no a priori
must be found. Membership functions can be knowledge of this environment. It discovers it
adjusted so that there is only one predominant while moving using only the very simple sensory
behavior at each time. This is easy to do but there model described above (the three sensor groups).
are no smooth trajectories. Or membership func- But there are still some oscillations and it some-
tions can be adjusted so that there are always times falls into local minima (Fig. 13).
several behaviors competing. This is hard to tune,
but then there are smooth trajectories. For in-
stance, let us consider oscillations. We suppose 4. C o n c l u s i o n and future works
that there is only one predominant behavior at
each time. The goal is behind the wall (see Fig. Reactive navigation can be seen as a mapping
11). When the robot will be in front of the wall, between a perceptual and a command space. It
the 'in front' behavior will tell it to turn right can be determined either by selecting a mapping
until the wall is on its left. Then, the 'left turn' inside a whole family of functions (potential fields)
will tell it to turn right again. When the wall is or by trying to build it using 'universal approxi-
behind, the 'reach goal' will ask the robot to turn mators' (neural networks, fuzzy logic). The func-
left and so, to face the wall again etc. This causes tions proposed by the potential field approaches
oscillations. With multi-behaviors active at each have still problems like oscillations or local min-
time, the robot can reach (if the rules are tuned ima. Fuzzy logic gives the opportunity to sculpt
correctly) an equilibrium line where the turn right the mapping using the knowledge available of the
and turn left have the same strength. process control. Experiments with the mobile
Experiments have been carried out both on a robot show that it is possible to build quite easily
simulator and on the real robot. As our simulator a reactive navigation, but still the classical prob-
is a simple kinematic simulator with no dynamic lems remain (oscillations and local minima).
at all, the rules had to be tuned again when used Those two categories of approaches have their
on the real robot. The screen-dumps bellow are own problems. They are not easy to tune for a
from the simulator. Fig. 12 shows the robot navi- particular perceptual situation (avoiding oscilla-
gating through a cluttered environment, starting tions for wall following etc.) and as it is impossi-
from the left bottom corner and trying to reach ble to plan every situations, they do not propose a

'S
I I

,/
\ #

Fig. 13. Some traditional problems. In the left screen, the robot managed to get out and find another way with more free space. But
it could have have been trapped into this local minima. The right screen shows some oscillation problems.
P. Reignier / Robotics and Autonomous Systems 12 (1994) 143-153 153

mapping available for the whole perceptual space. [7] J.L. Crowley and P. Reignier, Asynchronous control of
A navigation system tuned in a particular envi- rotation and translation for a robot vehicle, Robotics and
Autonomous Systems 10 (1992) 243-251.
ronment (in a robotic room, for instance) can give [8] Oussama Khatib, Real-time obstacle avoidance for ma-
poor results in another place. A reliable naviga- nipulators and mobile robot, The International Journal of
tion system, working in 'every' situation needs a Robotic Research 5 (1) (1986) 90-98.
learning capability. First, it needs to learn the [9] Yoram Koren and Johann Borenstein, Potential field
shape of M in particular situations (how to react methods and their inherent limitations for mobile robot
navigation, Proc. IEEE Robotics and Automation, Sacra-
when following a wall, for instance) and then, it mento, CA (April 1991) 1398-1404.
needs to learn these reactions for every situation [10] Ben J.A. Kr6se and W.M. van Dam, Adaptative state
(every region of the perceptual space). Neural space quantisation for reinforcement learning of collision
network approaches have already given very im- free navigation, Proc. IEEE Int. Conf. on Intelligent Robots
pressive results like driving a car [15]. Supervised and Systems, Raleigh, NC (July 1992) 1327-1332.
[11] Bart Kosko, Neural Network and Fuzzy Systems (Pren-
learning poses the problem of generating exam- tice-Hall, Englewood Cliffs, NJ, 1992).
pies, but reinforcement learning seems very ade- [12] Bruce H. Krogh and Charles E. Thorpe, Integrated path
quate for these problems letting the robot make planning and dynamic steering control for autonomous
its experiments ([3, 16, 10]). The system is always vehicle, Proc. Int. Conf. on Robotics and Automation,
learning and should improve through time. As Scottsdale, AZ (May 14-19, 1986) 1664-1669.
[13] Francois G. Pin, Hiroyuki Watanabe, Jim Symon, and
learning from 'scratch' is not realistic, some ini- Robert S. Pattay, Autonomous navigation of a mobile
tial knowledge must be used. Fuzzy logic is a very robot using custom-designed qualitative reasoning vlsi
good candidate for that task. It is easy to build a chips and boards, Proc. Int. Conf. on Robotics and Au-
reactive navigation system that will make the tomation, Nice, France (May 1992) 123-128.
robot move in a room, and because of the intrin- [14] Francois G. Pin, Hiroyuki Watanabe, Jim Symon, and
Robert S. Pattay, Autonomous navigation of a mobile
sic structure of a fuzzy controller, it is possible to robot using custom-designed qualitative reasoning vlsi
code it as a neural network and then let the chips and boards, Proc. Int. Conf. on Intelligent Robots
learning process adjust it to reduce obstacle colli- and Systems, Raleigh, NC (July 1992) 790-794.
sions and to make the robot reach its goal. [15] Dean A. Pomerleau, Neural Network Perception for Mo-
bile Robot Guidance (Ph.D. thesis, Carnegie Mellon Uni-
versity, February 1992)
References [16] Nadine Tschichold-Gurman and Vlad. G. Dabija, Mean-
ing-based handling of don't care attributes in artificial
[1] Ronald C. Arkin, Motor schema based navigation for a neural networks, Proc. IEEE Int. Conf. on Neural Net-
mobile robot, Proc. Int. Conf. on Robotics and Automa- works, San Francisco, CA (April 1993).
tion, Raleigh, NC (April 1987) 264-271. [17] Frank Wallner, Potential field based locomotion reflexes
[2] H.R. Beom and H.S. Cho, A sensor-based obstacle avoid- (Master's thesis, LIFIA-INPG, June 1991)
ance controller for a mobile robot using fuzzy logic and [18] Lofti A. Zadeh, Fuzzy sets. Information and Control 8
neural network, Proc. IEEE Int. Conf. on Intelligent (1965) 338-353.
Robots and Systems, Raleigh, NC (July 1992) 1470-1475.
[3] K. Berns, R. Dillmann and U. Zachmann, Reinforce- Patrick Reignier completed the Di-
ment-learning for the control of an autonomous mobile plome d'Etude Approfondies in 1989 at
the Ecole Nationale Sup~rieure d'In-
robot, Proc. IEEE Int. Conf. on Intelligent Robots and formatique et de Math6matiques Ap-
Systems, Raleigh, NC (July 1992) 1808-1815. pliqu~es (ENSIMAG) on trajectory
[4] O. Causse, Planning and execution control for an au- planning and execution among mov-
tonomous mobile robot, Proc. Int. Workshop on Intelli- ing obstacles. He is currently complet-
ing his doctoral studies at the LIFIA
gent Robotic Systems, Zakopane, Poland (July 1993). laboratory of the INPG, under the
[5] J.L. Crowley, Coordination of action and perception in a direction of Professor Crowley. The
surveillance robot, Proc. Tenth IJCAI (August 1987). doctoral thesis of Patrick Reignier
[6] J.L. Crowley, Dynamic modeling of free-space for a mo- concerns reactive control of a mobile
robot in a dynamic environment. In
bile robot, Proc. Int. Workshop on Intelligent Robots and this thesis, he proposes a comparison between different for-
Systems (September 1989). malisms for locomotion behaviors.

You might also like