Fuzzy Logic User Adaptive Navigation Control System For Mobile Robots In Unknown
Environments
Miguel Angel OlivaresMendez Juan AntonioFemaindez
Madrigal
ComputerVision Group ISA
Universidad
Politecnica
de Madrid Universidad deMailaga
Madrid, Spain
Mailaga, Spain
[email protected] [email protected]
Abstract - This paper presents a software implementation of a "fuzzysets" was1965 by LoftiA. Zadeh. Since then, theuseof user adaptive fuzzy control system for autonomous navigation in fuzzy logic techniques in the robotic field hasbecome a common mobile robots for unknown environments. This system has been
approach.
tested in apioneermobile robot and on a roboticwheelchair,fitted Ir
with PLS laser sensor to detect the obstacles andodometry sensors In the following paper we propose a set of improvements for localization of robots and the goal positions. The system is like, a more comprehensive sector for the definition of each able to drive the robots to their goal position avoiding static and fuzzy-variable and a user adaptive learningalgorithm using the dynamic obstacles, without using any pre-built map. Our approach synapses-weight idea of the brain operation. For this purpose learn from user behaviors in the way it can resolve different
situations against obstacles or walls.We propose and implement we
createavrti ftware caledMOs
(iuliares
twoupdates for the fuzzy system. For the implementation of the Fuzzy Software) with fuzzy logic techniques that can learn from learning algorithm we use a weighting scheme giving a value for experience regardlesstheintelligentsystemarchitecture.
eachfuzzy-rule, this value is based on the synapse-weight idea and In the next section of this paper the autonomous fuzzy represent the contribution of each rule in the system output. We
navigation
control system is detailed. Section III define the also createof a moreimportantsectorin thedefinition of thefuzzy-av ation cont
sysemis detaled.ISection Id
variables, based on astatistics systemthatmeasuretheusesofall u
the sets of the variables in order to contract the size of the rule-base. describes the fuzzy-software implementation. Section V show the experimental results. Section VI conclusion and future works.
KeVwords-Fuzzylogic,autonomous navigation, adaptivecontrol,
fuzzy control, mobilerobots, collision avoidance, reactive naviga- 1 AUTONOMOUs Fuzzy NAvIGATION CONTROL SYSTEM tion
Inorderto express ina more flexible way our approachwe I. INTRODUCTION have developed an autonomous fuzzy navigation system. The structureof thefuzzycontrol is dividedinthreeinputs variables The autonomous navigation of mobile robots is one of the for interaction with the environment andoneoutput. The datawe most investigated problems in the robotic community. The use tocheck each situation is definedby the distance (in meters) usual way to face this problem is with reactive, delivered between the robot and the near obstacle, the angle direction or hybrid methods. One of the biggest problem on those between obstacles and the angle to the goal from the robot systems are thecomputationalandmemory cost. Weapproach position (in degrees). The angles and distance are recovered the computational cost avoiding and reducing the use of using a 180 range laser sensor and an odometry system. The environmentmaps, with the additional advantagethat itcan be system output is the direction and orientation that the robot used regardless of the place. To approachthe computational cost should follow in order to reach its goal position. Different we use fuzzy logic techniques for the interaction between the velocities are declared as a constants depending how dangerous robot and surroundings. The first publication of fuzzy logic, the situation is based on the distance of the near obstacle. The about characterizing non-probabilistic uncertainties, called system scans the environment 3 times per second.
1-4244-0830-X/07/$20.OO ©2007IEEE.
The fuzzification of the inputs and outputs are defined by using atriangular membership function. Given is the onethat offer the bestcomputationalcost-simplicityratio. This function has been used in many robotics applications for navigation purposes [2],[9] [6], [5], [10], [3].
(a) Distancetothenearobsta- (b) Angletothenearobstacle cle
\<
/ V -' --,
(a) Distancetoobstacle
A A,| A
,________\/_\,___________'
/ _/,_________\/______ (c) Angletogoal position (d)Motorcommand(output)(b)Angletoobstacle
Fig. 2. STATISTICSOF THE NUMBER OF TIMES THAT THE DIFFERENT FUZZY-SETS HASBEENUSED.
section. For the defuzzification part itself, we use the Height (c) Angle to the goal Method [2], [10], [4], [5], [8], but with an adaptation with the fuzzy-rules weights (Eq. la, lb), where wl is the rule weight and Wisthemaximus
weight possible.
ii: 2 y
Z>il-'mim0~B'Y~'))
147(la)
(d) Motorcommand Z=1Lmiw(,uB,Qyl))w
Fig. 1. FUZZYSETS AND MEMBERSHIP FUNCTIONS FORTHEMOBILE M
ROBOT: (A)DISTANCE TOTHENEAR OBSTACLE (0,4/5)METERS(B)ANGLE
Z1-1
YH (,UB' (i))
W(BETWEENROBOT ANDTHENEAROBSTACLE,(0,180) (C)ANGLEBETWEEN Y - wl (lb)
THEROBOT AND GOALPOSITION, (-180,180)(D)MOTOR COMMAND Z1=1 HJ'B' KY))w
(OUTPUT),THEDIRECTION TOTAKE,(-180,180)
III. USERADAPTIVE LEARNINGALGORITHM
Weproposetoimprovethesystemdefininga moreimportant
andcomprehensivesectorinavariable with the aim of increase This algorithm is based on the idea of the synapse-weight, the number offuzzy-sets just in the sector where the variable defining a weight variable for each rule, that represent the has been invoked. With thisimprovementweavoidtoincrease contribution of each rule in the system output. The default value the number offuzzy-sets inallspace ofavariable whenafault ofthe weights is 0.3 and the maximum value is 3. The decision occursinonesector, as shown inFig. 1. This isveryimportant ofthe user will make the weight increase or decrease of the rules because there exist situations where the number offuzzy-rules that represent the situation and according with the system output.
areincreasedmakingthesystemmoreslower. For each situation 8 rules are selected, given the fact that we use a Inorderto define themostimportant sectorof each variable simple overlap in thevariables.Abigger overlapindex had been we trained the system moving it around taking values of the tested without better behavior against theobstacles, but with a variables to make a statistical study of it (Fig 2). Figure 2 time increment of 50% in the creation process of the system, show the relation between the different fuzzy-sets of each and withatime increment of
8%
inthe environment evaluation variable and the number of times that each variable has been process. Inthe training period the system compares each rule used. To compare the same system response without this new outputand theuserdecision, which had been fuzzificatedby the improvement, the rule-based size was increased by40%,
this same way. In case of theruleoutputand the user decision are yieldedto a78%
of increment in thecomputational time, 1.26s different thesystemwilldecrease theweight of the rule in0.35, (improved) vs2.25s (notimproved). Inregardtothe time spent and in case of the rule weight isnegative thesystemwillchange to check each situations the system spent17%
more, (0,059s the outputofthe rule bythesetof theuserdecision that has the (improved) vs0,06903s(notimproved). highest value. Remember that every real value is transformed Fortheinference process (in thedefuzzification) we used an in two fuzzy-setsby the fuzzification. Incase oftherule output adaptation of theminimum andproductclassic method [2], [5], is like one of the two sets of the user decision the system will [10], [1], [8], [7], with theconsiderationoftheweights assigned increase the weight by the reason ofthe fourth part of the set at each fuzzy-rules. This idea will be explained in the next membership value. So with this method the system will adaptIrl I
I~~~~~~~~~~~~~~
1019~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1
m -20
I ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~30
4X I | I I 500 s0 100 150 200 250 300 0
Fig. 4. OUTPUTSMODIFICATIONS.
Fig. 3. LEARNINGPATHS 2.7
2.6
its behaviortotheuser behavior. In the training phase theuser 2.5 just needsto make some tours and the system will learn about
this, evaluating all the situations that theusermakes in thetour.
Taking intoaccountof the difficulty of thetoursthesystemwill 2.3
learn early. 2.2
This algorithm will be used intwophases of thesystem, one is the explained training phase and in the execution phase, when
theuserisn't makingadecision,sothesystemcontinues learning 2 _
basedonthe rules that havehigher weights, whichrepresentthe 1.9 50 100 150 200 250 300 350 userbehavior, in thewaythat thesystem comparestheoutputof
the situation selected rules with theoutputof thesystem, inthe Fig. 5. WEIGHTMODIFICATIONS.
sameway asinthetraining phase.
Infigures111, 4, 5alearning example with the frighteneduser
are shown. Inthe
Fig.
IIIthe differentpath
of thelearning
testbeginningtsnthe rom ly, bakn this
isshown. Atfirst, thesystemmakesapathvery near tothewall
pr ndpdepending
aon
thesizeno therul-baet
(themagenta one,themostright),thenwemake
just
onepathinus
trainingmode(thegreen one,the secondoneby theright),where this inafeworlittlemoretoursor uses. Forthis initial
training
thesystemmodified theweightof the rules and theiroutputsinit is possible
tointroduce
apattern lpst.
Inthis paper
wemakean order to modifyisbinitial
rule base and thenwe use itforadaptation oftwo users.odistaner betowm its robehavio toe makelthelturn.bylettingmor With this initial
rulebase, where theweight
of all the rules are distanceInFig.
between the robot and the4 the error between thewall.system output and the user reset at the defaultreset a weight, we can make a basic adaptation in 4 decision (cyan color), and the other colors represent the rules or5 tours,taking
into account itscomplexity,
with the robotic- output change is shown, divided by proximity to the obstacle.wheelchair.
When the learning algorithm makes the rules' output change For the updates of the software we can make it in all the ways the system reduces the error. The more characteristic weight of the fuzzy-logic parts, like introducing different membership
changes
arerepresentinFig.
5.functions, fuzzy
inferencetypes
orintroducing
another kind ofdefuzzificationmode.
IV. SOFTWARE IMPLEMENTATION FuyModel
The softwarewastotally implemented by our ownunder the platform of c++. We defined one class for each part of the
fuzzy-logicenvironment in ordertofacilitate the futureupdates hipCFucMembers fon Defuz and to be easy working with it. There are different classes
for variables, rules, membership functions and defuzzification
modes(Fig. 6). Depending onthesystem we want to create we iTriangleFunct.
can define the number ofinputs and outputs that weprefer or
make some different system in serial mode, where the output of |Pld||Mnlu
one system can be the input of another. In the same waywe can E
define the different characteristics of the variables, the type of the
fuzzification inference type or the defuzzification mode. At the Fig. 6. SOFTWARE DEFINITION.
V. EXPERIMENTS RESULTS Forthe realtestphasewe use tworobots, thepioneer-2 and a robotic wheel-chair. Both of them have a 180 laser scanner Thetest partisdivided intwophases; simulation and the real (PLS), which is the only sensor we use. We have no problems testwithtworobots. using the different rules-bases from the simulation phase, but For the two phases we create a full rule base with random in the same way than the simulation phase we learn from the output for each one. With this strategy we obtain areduction beginning usingthe controller and with the systeminlistening in time for creation of all system components. So we start to mode,withouttakinganyaction, justhearingtheuserdecisions do different path, where we control the robot movement and and learning from them. Then we make the adaptation to the the system doesn't do any action. At the beginning with the same two users. In
Fig.
10and 9twopaths
madeby
the robotic- user adaptive learning algorithm the system evaluated all the wheelchair bythetwo users areshown. Thosemapshave been situations but doesn't makeanyaction. Insteadof,it learns from catched for therepresentationof thepathsand for theodometry
the userdecisions, it starts tomodify the weights of the rules control, but they are not used by the autonomousnavigation
whicharewrong, and then the value of theoutput. Inthatway, control system. A zoom on the most characteristic part of weconsider adefaultweight minor than the decrease value, inorder tochange, at first, the initial random values of the rules.
The
velocity
that the system learnsdepends
on the size of the rules-base. In the simulation phase, at first, we try to get aFig.9. REALTEST WITH THE FRIGHTENED USER.MAP IN METERS.
I@ I A1I
~~~~~~~~~~~~I I.
Fig.7. FRIGHTENEDUSER PATHS UNDER THE SIMULATOR. Fig.10. REALTEST WITH THE RECKLESSUSER.MAPINMETERS.
the paths, the door crossing, is shown in figures
11(a), 11(b)
anda comparisonbetween them is shown infigure11(c).
The4
Io
E ' n | proximity to the door is measured by the charts shown in figures12(a),
for thefrightened
user, and12(b),
for the recklessone. In thosegraphics
it havetotaken in accountthat the width of the 4 | | 9 | wheelchair is 50cm, the PLS-laser is positioned inthe middle ofit, and the width of the door is 110cm. Sotounderstand the graphics,we mustsaid that the distances between the wheelchairm 1 11 and thetwosidesof the doorare,for the
frightened
user, 31cmand 24cm, nevertheless, for the reckless user, the distances are
/ l 4cmn | 1and 51cm tothe door. In the
Fig
13areshowntwopicturesI
/ about thisI ,
;I precise
moment.I In
this
phase we can test thedynamic
obstaclesavoidance
withoutanyproblemwith thepioneermobile robot for thetwo Fig. 8. RECKLESS USER PATHS UNDERTHESIMULATOR. users. Thosepaths are shown infigures 15 and 14. Where the
dynamic
obstaclesisapersonwalking against
the robot direction basic rules-base, which the robot can avoid the obstacles and in the map point (0, 9) for the frightened user and in the point get tothegoal. Over this basic rules-basewe start to make the (0,10) for the other one.adaptation to two different users, thefrightenedone, who tries to Finally, the efficient of the system is evaluated taking into pass as far as possible from the obstaclesandwalls (Fig 7), and account the efficiencyof the system, it evaluated each situation the reckless one,whotries to fit the path very near the obstacles, and gives the action to do in 0,059 seconds and create the system going through thepathmore directly (Fig 8). (create variables andthe rule-base) in 1,26 seconds.
, ,. ~~T
I | Fig. 14. REALTEST WITH DYNAMICS OBSTACLES AND FRIGHTENED USER.
(a) Zoomof theFig9 (b) Zoomof the Fig (c) Compared zoom MAP INMETERS.
10 ofthetwousers
Fig. 11. REAL TESTPATHS' ZOOM.
Fig.15. REAL TEST WITH DYNAMICS OBSTACLES AND RECKLESS USER.
MAPINMETERS.
systems. We have achieved an important capability for this system which is the
quick adaptation
to different users. The (a) Frightened user (b) Reckless user approach developed has proven its versatility and scalability in thewayitcanbe used for differentintelligentsystemthat learnFi.R (F1.
M S. (1)ANO FITH
I I(A))BETWEEN
THERO)BO)T AND
THE about theexperienceand/or to adapttodifferent
users. WejustDISTANCE BETWEEN THE LASER OF THE WHEELCHAIR AND THE NEARLY redefined the system by the inputs and outputs that we need,
OBSTACLE, ANDTHEX-AXIS REPRESENTSTHESAMPLES. addingmodules or code segmentswhere is needed.
Forfutureworks,wehaveplannedtoscalemorethe software with different methods of fuzzy-inference, defuzzification or VI. CONCLUSIONS ANDFUTURE WORKS membership functions. We plan to include new behaviors to the autonomous navigation control system like following In this paper, a fuzzy-based navigator system for mobile walls, scape from blind
roads,
etc. This can be achievedby
robots has beenproposed for obstacle avoidance andnavigation storing different rule-base and including more capabilities for problems in unknown environments. Thesystemshasalearning recognitionof these situationsorjustchangingof the rules when algorithm that is capable to adapt to different users. The thesystemhastoomany continuouserrors. We areconsidering
approachhas been tested intworobots in different environments toincludemore sensorsand/or real-timemapcreation thatstoreswith static and dynamics obstacles. The main goal of this repetitive
paths, using
SLAMtechniques.
approach was the reduction of the computational and memory
Additionally
we intend to use the software in a different costs of the system in the evaluation of each situation. Our type of robotic system that have nonavigation
task as a main system has achieved, in regard to others reactive navigationobjective,
like medicalrobots,
car shock absorber systems orcontrol tested in the same platform, an average computational other
security
carsystems.time of 0.59 seconds, 90% less when comparedwithprevious
ACKNOWLEDGMENT
The authors would like to thanks Dr. Pascual Campoy, Juan Fernando Correa, Ivan Mondragon, Dr. Luis Mejias, Carol Martinez and Jan Treiber for support and
help
in thedevelopment
ofthis work. We also thanks Jose Luis Blanco, C. Galindo and M. E. Cruz Marti'n for the initial collaborationduring
this work.REFERENCES
[1] ARAUJTO, R NUNES,F U., AND) DE ALMETDA, A. FuzzyV-baseid
|_ ~~~~~~~~~~~~~~~~~~~~~reinforcementlearning of a robot force control skill. In 1in Proc. of IEEE (a)Frghend se () ecles,se International Symposium on Industrial Electronics (ISIE'96) (Warsaw,
(a) FrlghtenedusertoJ Reckless user
~~Poland,
17-20 1996), pp. 453-458.[2] CASTELLANOA, G., AND FANELLI, A. A self-organizing neural Fig. 13.DOOR CROSSING MOMENT. fuzzy inference network. In in Proc.of IEEE-INNS-ENNSInternational
JointConference on Neural Networks (IJCNN 2000) (Como, Italy, 24- 27 2000), pp.14-19.
[3] DE OLIVEIRA, J. V., AND LEMOS, J. M. "acomparision ofsome
adaptive-predictive fuzzy-control strategies". IEEE. Transactions on Systems, Man andCybernetics (2000).
[4] DEL BRO, B. M., AND MOLINA, A. S. Redes Neuronales y Sistemas Borrosos. Ed. Ra-Ma, 2001.
[5] HUANG, S.-J.,ANDHu,C.-F. "predictive fuzzy controller for robotics motioncontrol". IEEE(1995).
[6] KASABOV, N. K. "learning fuzzy rules throught neural networks".
IEEE(1993).
[7] PESONEN, A., AND WOLSKI, A. "quatified and temporal fuzzy reasoning foractive monitoring in rapidbase". TOOLMET (2000).
[8] THONGCHAI, S. "behavior-based learning fuzzy rules for mobile robots". IEEE (2000).
[9] Wu, C.-J. "fuzzy robot navigation in unknown enviroments".
National Yunlin Instituteof Technology(1995).
[10] ZAVLANGAS, P.G., TZAFESTAS, S. G.,ANDALTHOEFER,K. "fuzzy obstacle avoidance andnavigation for omnidirectional mobile robots".
IEEE(2000).