Professional Documents
Culture Documents
Autonomous
Systems
ELSEVIER Robotics and Autonomous Systems 12 (1994) 143-153
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.
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-
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
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:
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
.,,
l Ai ~ Bi A Ai '~ Bi
ivation strength [
s] / _ . _ ~ _>~ ~/B'i=s. Bi
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
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
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.