Fuzzy logic in Autonomous Robot Navigation

Similar documents
Scaling the Dynamic Approach to Autonomous Path Planning: 3401 Walnut Street, Room 301C Kungliga Tekniska H gskolan

Techniques. IDSIA, Istituto Dalle Molle di Studi sull'intelligenza Articiale. Phone: Fax:

A Type-2 Fuzzy Planner with Semi Qualitative World Model for Robocup Domain

Learning Fuzzy Rules by Evolution for Mobile Agent Control

CARMEL vs. Flakey: A Comparison of Two Robots. Clare Bates Congdon Marc Huber David Kortenkamp. Clint Bidlack Charles Cohen Scott Human Frank Koss

joint 3 link 3 link 2 joint 1

Networks for Control. California Institute of Technology. Pasadena, CA Abstract

Hybrid Motion Control by Integrating. Deliberative and Reactive Strategies. Jianwei Zhang, Alois Knoll

User Interface. Global planner. Local planner. sensors. actuators

A Fuzzy Local Path Planning and Obstacle Avoidance for Mobile Robots

Fuzzy if-then rules fuzzy database modeling

CHAPTER 5 FUZZY LOGIC CONTROL

Elastic Bands: Connecting Path Planning and Control

SIM GPS. Reactive Executor GIS. Vision. position. requests. road. results. & skill. data. vision. skill configuration calls. data

Skill. Robot/ Controller

A Predictive Controller for Object Tracking of a Mobile Robot

Topological Modeling with Fuzzy Petri Nets for Autonomous Mobile Robots

Rapid Simultaneous Learning of Multiple Behaviours with a Mobile Robot

A New Fuzzy Neural System with Applications

A Gradient Method for Realtime Robot Control Kurt Konolige SRI International 333 Ravenswood Avenue Menlo Park, CA USA

Chapter 4 Fuzzy Logic

Improving the Wang and Mendel s Fuzzy Rule Learning Method by Inducing Cooperation Among Rules 1

Fuzzy Hierarchical Control for Autonomous Vehicles

Localization, Where am I?

Lecture 18: Planning and plan execution, applications

Topological Navigation and Path Planning

Robotic Behaviors. Potential Field Methods

Fast Local Mapping to Support Navigation and Object. Localization. R. James Firby David Christianson Tom McDougal. University of Chicago

Model-Free Execution Monitoring in Behavior-Based Mobile Robotics

An Architecture for Automated Driving in Urban Environments

A Path Tracking Method For Autonomous Mobile Robots Based On Grid Decomposition

GENERATING FUZZY RULES FROM EXAMPLES USING GENETIC. Francisco HERRERA, Manuel LOZANO, Jose Luis VERDEGAY

CHAPTER 4 FREQUENCY STABILIZATION USING FUZZY LOGIC CONTROLLER

Image-Based Memory of Environment. homing uses a similar idea that the agent memorizes. [Hong 91]. However, the agent nds diculties in arranging its

Fast Local Planner for Autonomous Helicopter

Mobile Robots: An Introduction.

Multi-objective Evolutionary Fuzzy Modelling in Mobile Robotics

Introduction to Mobile Robotics Path Planning and Collision Avoidance

AUTONOMOUS mobile robots are those robots that have

Behavior-Based Control for Autonomous Mobile Robots

COS Lecture 13 Autonomous Robot Navigation

Using Local Trajectory Optimizers To Speed Up Global. Christopher G. Atkeson. Department of Brain and Cognitive Sciences and

Self-Optimisation of a Fuzzy Controller with B-Spline Models. Jianwei Zhang and Khac Van Le. Faculty of Technology, University of Bielefeld,

ARTIFICIAL INTELLIGENCE. Uncertainty: fuzzy systems

Reinforcement Control via Heuristic Dynamic Programming. K. Wendy Tang and Govardhan Srikant. and

Easing of Fuzzy Multiplexing in Complex Robot Arbitration by FBSP Grouping

Published on August 16, 1999 by Linkoping University Electronic Press Linkoping, Sweden Linkoping Electronic Articles in Computer and Informati

Instant Prediction for Reactive Motions with Planning

A B. A: sigmoid B: EBA (x0=0.03) C: EBA (x0=0.05) U

Chapter 7 Fuzzy Logic Controller

Localization and Map Building

Document Image Restoration Using Binary Morphological Filters. Jisheng Liang, Robert M. Haralick. Seattle, Washington Ihsin T.

Mobile Robots Path Planning using Genetic Algorithms

Overview of the Navigation System Architecture

Lecture notes. Com Page 1

st chromosome. 2nd n-th ... 1': 1: 2: n: 2': n': part 1 part 2 part i part p. One part is randomly chosenn

m Environment Output Activation 0.8 Output Activation Input Value

Improving Robot Path Planning Efficiency with Probabilistic Virtual Environment Models

Motion Control in Dynamic Multi-Robot Environments

Meta- Heuristic based Optimization Algorithms: A Comparative Study of Genetic Algorithm and Particle Swarm Optimization

Neural Networks for Obstacle Avoidance

Interpolative Fuzzy Reasoning and Fuzzy Automata in. Adaptive System Applications

Software Architecture. Lecture 4

AUTONOMOUS VEHICLE NAVIGATION AND MAPPING WITH LOCAL MINIMA AVOIDANCE PARADIGM IN UNKNOWN ENVIRONMENTS

AUTOMATIC PARKING OF SELF-DRIVING CAR BASED ON LIDAR

Robotics Project. Final Report. Computer Science University of Minnesota. December 17, 2007

Semantic Mapping and Reasoning Approach for Mobile Robotics

Spatio-Temporal Stereo Disparity Integration

CHAPTER 1 INTRODUCTION

Introduction to Autonomous Mobile Robots

Mobile Robot Mapping and Localization in Non-Static Environments

Big Picture: Overview of Issues and Challenges in Autonomous Robotics + Impact on Practical Implementation Details

FUZZY INFERENCE. Siti Zaiton Mohd Hashim, PhD

CHAPTER 3 FUZZY RULE BASED MODEL FOR FAULT DIAGNOSIS

Design and Implementation of a Real-Time Autonomous Navigation System Applied to Lego Robots

Path Planning and Decision-making Control for AUV with Complex Environment

Introduction to Mobile Robotics Path Planning and Collision Avoidance. Wolfram Burgard, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

AST: Support for Algorithm Selection with a CBR Approach

Visually Augmented POMDP for Indoor Robot Navigation

AUTONOMOUS BEHAVIOR-BASED EXPLORATION OF OFFICE ENVIRONMENTS

Collecting outdoor datasets for benchmarking vision based robot localization

Int. Conf. on Intelligent Autonomous Systems July 2527, Venezia (IT). pp Planning Safe Paths for Nonholonomic Car-Like Robots Navigating

Vol. 21 No. 6, pp ,

Clustering Sequences with Hidden. Markov Models. Padhraic Smyth CA Abstract

A Reactive Bearing Angle Only Obstacle Avoidance Technique for Unmanned Ground Vehicles

Model-Based Reconguration of. Schema-Based Reactive Control Architectures. Ashok K. Goel, Eleni Stroulia, Zhong Chen, Paul Rowland

Autonomous Mobile Robots, Chapter 6 Planning and Navigation Where am I going? How do I get there? Localization. Cognition. Real World Environment

A Modular, Hybrid System Architecture for Autonomous, Urban Driving

Image Enhancement Using Fuzzy Morphology

Mobile robots control architectures

Intermediate Desired Value Approach for Continuous Transition among Multiple Tasks of Robots

Intelligent Methods in Modelling and Simulation of Complex Systems

Why Fuzzy Fuzzy Logic and Sets Fuzzy Reasoning. DKS - Module 7. Why fuzzy thinking?

AUTONOMOUS ROBOT NAVIGATION BASED ON FUZZY LOGIC AND REINFORCEMENT LEARNING

Geometric Path Planning McGill COMP 765 Oct 12 th, 2017

Navigation and Metric Path Planning

Fuzzy Logic Control of Autonomous Vehicles for Parallel Parking Maneuver

Kernel Density Construction Using Orthogonal Forward Regression

Evaluating the Performance of a Vehicle Pose Measurement System

Multiple camera fusion based on DSmT for tracking objects on ground plane

Transcription:

Fuzzy logic in Autonomous Robot Navigation a case study Alessandro Saotti IRIDIA, Universite Libre de Bruxelles 5 av. F. Roosevelt, CP 194/6, B-15, Brussels, Belgium http://iridia.ulb.ac.be/saotti asao@ulb.ac.be November 1995 Revised: August 1997 Technical Report TR/IRIDIA/95-25 Abstract The development oftechniques for autonomous navigation constitutes one of the major trends in the current research on mobile robotics. In this case study, we discuss how fuzzy computation techniques have be used in the SRI International mobile robot Flakey to address some of the dicult issues posed by autonomous navigation: (i) how to design basic behaviors (ii) how to coordinate behaviors to execute full navigation plans and (iii) how to use approximate map information. Our techniques have been validated in both in-house experiments and public events. The use of fuzzy logic has resulted in smooth motion control, robust performance in face of errors in the prior knowledge and in the sensor data, and principled integration between dierent layers of control. The content of this note will appear as Chapter G6.1 \Autonomous Robot Navigation" in the Handbook of Fuzzy Computation, E. Ruspini, P. Bonissone and W. Pedrycz, Eds. (Oxford University Press, 1998, forthcoming).

1 Overview By autonomous robot navigation we mean the ability of a robot to move purposefully and without human intervention in environments that have not been specically engineered for it. Autonomous nagivation requires a number of heterogeneous capabilities, including the ability to execute elementary goal-achieving actions, like reaching a given location to react in real time to unexpected events, like the sudden appearance of an obstacle to build, use and maintain a map of the environment to determine the robot's position with respect to this map to form plans that pursue specic goals or avoid undesired situations and to adapt to changes in the environment. A number of dierent architectures for autonomous robot navigation have been proposed in the last twenty years. These include hierarchical architectures, that partition the robot's functionalities into high-level (model and plan) and low-level (sense and execute) layers behavior-based architectures, that achieve complex behavior by combining several simple behavior-producing units and hybrid architectures, that combine a layered organization with a behavior-based decomposition of the execution layer. While the use hybrid architectures is gaining increasing consensus in the eld, a number of technological gaps remain. Among these, we emphasize: How to design simple behaviors that guarantee robust operation in spite of the limited knowledge available at design time e.g., designing an obstacle avoidance behavior that is eective in face of unknown obstacle congurations. How to coordinate the activity of several, possibly competing behaviors in order to perform a complex task e.g., coordinating goal-achieving and obstacle avoidance behaviors to reach a target position while avoiding unforeseen obstacles. How toensure coherence between representations used at dierent layers e.g., registering perceptual information with map information. Fuzzy techniques have already been used to address some of these problems (Sugeno and Nishida 1985 Takeuchi et al. 1988 Maeda et al. 1991). In this case study, we discuss how we have used them in the SRI International mobile robot Flakey. More details on our work on Flakey can be found in (Saotti et al. 1993a Saotti et al. 1995 Saotti and Wesley 1996). Figure 1 shows a partial view of the architecture that we have developed for Flakey the modules where we have employed fuzzy techniques are marked by thick borders. The Local Perceptual Space (LPS) collects and integrates all the information relevant to immediate sensing and acting, represented in a Cartesian plane centered on the robot. This includes information coming from the sensors, at dierent levels of abstraction and interpretation, and information coming from an approximate map. Action routines are packed 1

Approximate Map Self-Localization Planner High-level perception Low-level perception Local Perceptual Space Goal-directed behaviors Reactive behaviors Sensing Controls Figure 1: The architecture used in our test-bed (partial view). into behaviors: implementations of basic skills aimed at achieving or maintaining a particular goal. Behaviors are activated and combined according to the indications contained in a plan. Behaviors do not take their input directly from the sensors, but use the information maintained in the LPS. Typically, reactive behaviors, like obstacle avoidance, use low-level data (e.g., occupancy information) while goal-oriented behaviors, like wallfollowing or door-crossing, use more abstract representations, or descriptors, built by the higher-level perception routines or taken from the map (e.g., a representation of the door to cross). Descriptors are a convenient way to bring prior knowledge into the controller (Saotti et al. 1995). 2 Design We have used fuzzy techniques to (i) implement robust, uncertainty tolerating basic behaviors (ii) coordinate the execution of multiple behaviors to achieve anoverall goal and (iii) maintain the robot self-localized with respect to an approximate map. 2.1 Basic behaviors We describe each behavior B in terms of a desirability function (Ruspini 1991) Des B : State Control! [ 1] that measures, for each state s (i.e., conguration of the LPS) and for each control vector c, the desirability Des B (s c) of applying the control c when the state is s from the point of view of B. The task of the controller is to compute, in state s, the value of Des B (s c) for each control c, and to use these values to choose one control ^c for actual execution. In 2

IF Target-Left ^:Out-of-Reach THEN Turn-Left(8) IF Target-Right ^:Out-of-Reach THEN Turn-Right(8) IF Target-Left ^ Out-of-Reach THEN Turn-Right(4) IF Target-Right ^ Out-of-Reach THEN Turn-Left(4) IF Target-Ahead THEN Go-Straight Figure 2: Fuzzy rules for the Reach behavior. Flakey, this choice is made using centroid defuzzication: ^c = R c DesB (s c) dc R DesB (s c) dc : (1) In practice, we approximate the desirability function associated with each behavior B by a set of fuzzy rules of the form IF A i THEN C i where A i is a fuzzy logic formula built from fuzzy predicates over state variables using the fuzzy connectives ^ (min), _ (max) and : (complement to 1) and C i is a fuzzy set of controls. For example, the rules in Figure 2 implement the Reach behavior, intended to bring the robot to a given target position at a xed speed. Rule consequents are triangular fuzzy sets centered on the value given as a parameter. The predicates in the antecedents depend on the current position of the target with respect to the robot, stored in LPS variables. \Out-of-Reach" says that the target is too close on one side to be directly reached at the desired speed given Flakey's turning velocity. In this case, the robot must rst move away from the target, and then turn towards it. Given a rule-set R = fr1 ::: R n g for a behavior B, the fuzzy controller rst computes DesR(s c)=(a1(s) ^ C1(c)) (A n (s) ^ C n (c)) (2) in the current LPS state s, and then chooses a preferred control ^c using (1). This computation corresponds to the one performed by a classical (Mamdani type) fuzzy controller note, however, that we allow each antecedent A i to be an arbitrarily complex fuzzy logic formula, and not just a conjunction. As an illustration, Figure 3 shows the control surface obtained from the Reach ruleset using (2) and (1). ( ) is the target's position in robot polar coordinates. The eect of the \Out-of-Reach" predicate on the shape of the surface is clearly visible. It should be noted that centroid defuzzication can produce undesired results when the output desirability is not unimodal for example, the robot, having the option of avoiding an obstacle from the right or from the left, may decide to go straight. 3 Our

Turn (deg) 8 6 4 2-2 -4-6 -8-18 -9 Theta (deg) 9 18 5 1 15 2 Rho (mm) 25 3 Figure 3: Control surface of the Reach behavior. empirical strategy is to design the rule sets so as to avoid production of multi-modal desirabilities roughly, we insist that rules that propose opposite controls have mutually exclusive antecedents. Other authors (Baxter and Bumby 1993 Yen and Puger 1995) have relied on alternative defuzzication schemes. (See (Goodridge et al. 1997) for a more cognitive approach.) 2.2 Behavior coordination Consider now the case where several behaviors are simultaneously active. Ideally, we would like the robot to select the controls that best satisfy all the active behaviors. This may not be possible, though, if some behaviors prefer opposite actions. The key observation is that behaviors are not equally applicable to all situations: for instance, corridor following is most applicable when we are in a corridor and the path is clear, while obstacle avoidance is more applicable when there is an obstacle on the way. Correspondingly, we associate to each behavior B acontext of applicability, expressed by a fuzzy logic formula Cxt B. Given a set B = fb1 ::: B k g of behaviors, we dene their context-dependent blending (CDB) to be the composite behavior described by the following desirability function DesB(s c) =(Cxt1(s) ^ Des1(s c)) (Cxt k (s) ^ Des k (s c)): (3) The controller computes all the needed Des i (s c) using (2), blend them according to (3), and nally choses one control value by (1). We represent CDB of behaviors syntactically by using fuzzy meta-rules, or context rules. For instance, the following context rules can be used to blend the target reaching 4

Context Rules Local Perceptual Space behavior 1 behavior 2... behavior N Defuzzify Effectors Figure 4: The hierarchical fuzzy controller used in Flakey. behavior Reach and the obstacle avoidance behavior KeepOff. IF obstacle-close IF (: at-target ^ : obstacle-close) THEN KeepOff THEN Reach (4) Intuitively, the robot's actions are biased by the desirability functions of Reach and of KeepOff, in a combination that depends on the distance from a detected obstacle. We have implemented CDB in Flakey using the hierarchical structure shown in Figure 4, inspired by (Berenji et al. 199). A few observations should be made. First, it is essential that defuzzication be performed after combination. Second, we could include each context rule inside the corresponding behavior this solution would be more amenable to a distributed implementation. Third, CDB can be iterated: we can use the structure in Figure 4 to implement each individual behavior, and combine several such (complex) behaviors using a second layer of context rules and so on. Some of Flakey's behaviors have been built in this fashion. CDB can be used to execute a full navigation plan, represented by asetofcontext rules telling which behaviors should be used in which situation. The rules shown (in a simplied form) in Figure 5 constitute a navigation plan eachbehavior is parameterized by the object it should be applied to. If executed in an environment with the right topological relations, like the one shown in Figure 9 below, this plan will get Flakey into Room4 by rst following corridors Corr1 and Corr2, and then crossing door Door4. The plan also incorporates an avoidance behavior to go around possible obstacles. Section 4 will show an actual execution of this plan. Thanks to the logical format, context rules can be easily generated by a symbolic planner. When Flakey is given a new navigation goal, it uses a simple goal-regression planner to synthesize a set of context rules that achieves it, and uses CDB to execute these rules. The plan in Figure 5 has been generated in this way. 5

IF obstacle IF :obstacle ^ at(corr1) ^:at(corr2) IF :obstacle ^ at(corr2) ^:near(door4) THEN Keep-Off THEN Follow(Corr1) THEN Follow(Corr2) IF :obstacle ^ near(door4) ^:at(room4) THEN Cross(Door4) IF at(room4) THEN Stop Figure 5: A plan for reaching Room4 in the environment in Figure 9 2.3 Using map information In order to build plans that involve objects beyond what can be immediately perceived, Flakey uses a topological map that includes the stable features of the environment, like doors and walls, and their approximate locations. We represent approximate locations by fuzzy subsets of a given metric space, read under a possibilistic interpretation: if P is a fuzzy set representing the approximate location of an object, we read P (~x) asthe degree of possibility that that object be located at ~x. Approximate locations can model dierent aspects of locational uncertainty. Figure 6 shows four approximate locations in one dimension: in (a), the object is located at approximately 5 (\vagueness") in (b), it can possibly be anywhere between 5 and 1 (\imprecision") in (c), it can be either at 5 or at 1 (\ambiguity") in (d), we are told that the object is at 5, but the source may be wrong, and there is a small possibility that it be located just anywhere (\unreliability"). To use the metric information in the map, the robot needs to know its own position with respect to this map. We have developed a recursive self-localization algorithm for Flakey based on fuzzy locations. The outline of the algorithm is as follows. At each time-step t the robot has an approximate hypothesis of its own location in the map, represented by a fuzzy set H t of the map frame. During navigation, the perceptual apparatus recognizes relevant features, and the map is searched for matching objects using a fuzzy measure of similarity. Each matching pair is used to build a fuzzy localizer: a fuzzy set representing the approximate location in the map where the robot should be in order to see the object where the feature has been observed. The shape of this set depends on the characteristics 1 P(x) (a) 1 P(x) (b) 1 P(x) (c) 1 P(x) (d) 5 1 X 5 1 X 5 1 X 5 1 X Figure 6: Representing dierent types of approximate locations by fuzzy sets. 6

of perceptual recognition and is decided by the designer. Each localizer is seen as a source of information about the actual position of the robot. All the localizers so built at time t, plus odometric information, are combined by fuzzy intersection to produce the new hypothesis H t+1, and the cycle repeats. More details can be found in (Saotti and Wesley 1996). 3 Development We have implemented the above techniques in the SRI International mobile robot Flakey. Flakey is a custom-built research robot, with a height of 1 meter and a diameter of 6 mm, driven by two independent wheels. Sensors include a ring of 12 sonars, bumpers, wheel encoders, plus other equipment not used in the experiments reported here. computation include a 2-processor Sparc 1. On-board The control software is distributed over several processes that operate in parallel with a basic cycle time of 1 msecs. The fuzzy controller uses up about 2 msecs with one behavior active, and about 1 msecs with 8 behaviors (on the average, 2 or 3 behaviors are simultaneously active during a typical navigation task). Although Flakey can run all the control software on-board, we usually run it remotely via a radio-link for programming convenience. As Flakey is mainly a research testbed, all the code is written from scratch in Lisp (with parts in C) putting a strong emphasis on code modularity. We have written fuzzy rules for about a dozen behaviors for Flakey (Saotti et al. 1993b). Each behavior typically comprises four to ten rules and two to six fuzzy predicates. Fuzzy predicates are coded by piecewise linear membership functions, built by combining ramp functions of the variables in the LPS. Fuzzy outputs and fuzzy locations are coded by triangular fuzzy sets. These choices proved to be a reasonable tradeo between expressiveness and computational tractability. Writing the control rules was based on the designer's \good intuition" of the intended behavior tuning and debugging was done by trials and errors. Most behaviors performed well after few debugging cycles however, behaviors which heavily rely on perception, like obstacle avoidance, required extensive debugging and ne tuning. The membership functions used for the fuzzy localizers only needed few adjustments to produce satisfactory results. 4 Experimental results We have validated our techniques in extensive indoor navigation experiments. Each behavior has been tested both individually and in various combinations with other behaviors. Figure 7 shows a few runs of the Reach behavior described above. Flakey was started at dierent positions, pointing to the right of the gure the target was the fuzzy location 7

2 Robot Y position (mm) 15 1 5-5 -2-15 -1-5 5 1 15 2 Robot X position (mm) Figure 7: Trajectories generated by the Reach behavior from several starting positions. centered at the origin and with a 2 mm radius cruising speed was 2 mm/sec. Note the eect of the \Out-of-Reach" predicate when Flakey is started at ( 5) and at ( 1). Figure 8 shows a run where the Reach and KeepOff behaviors are blended as in (4) above. At the bottom of the picture, we plot the evolution over time of the truth value of the two contexts, corresponding to the level of activation of the two behaviors in the blending. At start, Reach has full control of the robot. When the obstacle is detected by the robot's sonars (a), the preferences of KeepOff begin to dominate, and Flakey slows down and steers away from the obstacle until there is no more danger (b). KeepOff is reactivated when the second obstacle is detected (c). Note that the Reach behavior remains partially active when the danger of collision is not too high, thus biasing the avoidance maneuvers toward the target. Figure 9 shows the execution of a full navigation plan in an oce environment the corresponding behavior activations are plotted at the bottom. The context rules are those in Figure 5 above the Face behavior has been added to get the robot in a convenient position to start door crossing. Although no obstacle was represented in Flakey's internal map, the interaction between the goal-directed behaviors and reactive obstacle avoidance (KeepOff) produced a smooth trajectory around obstacles, as in (a) and (c). Moreover, the interplay between KeepOff and Cross (d) allowed Flakey to safely cross the oce door, although its position was slightly o from what was expected (due to map imprecision). Finally, blending the two Follow behaviors resulted in a smooth motion during corridor switching (b) without the use of an explicit turning behavior. A similar phenomenon can be observed in the transition between corridor following and door crossing. Total execution time was approximately 8 seconds at a top speed of 4 mm/sec. 8

(d) (a) (b) (c) KeepOff Reach (a) (b) (c) (d) time Figure 8: Blending target reaching and reactive obstacle avoidance. Flakey consistently performed this sort of navigation tasks in the SRI buildings during normal oce activity. It successfully used the self-localization algorithm to stay localized with respect to its approximate map (see Saotti and Wesley, 1996, for examples). Flakey was also demonstrated at a few public events, including the rst international robotics competition of the AAAI, where Flakey placed second and gained special recognition for its smooth and reliable reactivity (Congdon et al. 1993). 5 Discussion We used fuzzy techniques in Flakey in three main areas. The rst one was the design of basic behaviors. Fuzzy control is credited to be an adequate methodology to design nonlinear controllers for systems for which a precise mathematical model cannot be easily obtained, while heuristic control knowledge can. The fuzzy interpolation mechanism helps to make fuzzy controllers robust with respect to noise in the sensor data and variability in the parameters. And fuzzy controllers lend themselves to ecient implementations, including hardware solutions. These characteristics t the needs of autonomous robotics, where: (i) a mathematical model of the environment is usually not available (ii) sensor data is uncertain and imprecise and (iii) real-time operation is of essence. Our experiments on Flakey have shown that the use of fuzzy control techniques resulted in robust, uncertainty tolerating navigation behaviors. The second area where we used fuzzy techniques is behavior coordination. While this issue remains the Achilles' heel of behavior-based robotics, we feel that the use of context-dependent blending (CDB) has several advantages: Unlike many popular arbitration schemes (Brooks 1986, Firby 1987), behaviors are 9

Room4 Door4 Corr2 (a) (b) (c) (d) Corr1 Stop Cross(Door4) Face(Door4) Follow(Corr2) Follow(Corr1) KeepOff (a) (b) (c) (d) time Figure 9: Execution of a navigation plan. 1

not switched on and o, but their preferences are weighted and fused into a trade-o control an advantage of this is that the preferences of goal-seeking behaviors are still considered during reactive maneuvers, thus biasing the control choices toward the achievement of the current goal. CDB subsumes other weighted combination schemes, like potential elds techniques (Khatib 1986, Arkin 199, Latombe 1991) CDB is, however, more general than potential elds, as these directly combine preference summaries (pseudo-forces), thus incurring in a potential loss of information (Saotti 1997). The fuzzy context rules used in CDB provide a means to write complex coordination strategies in a modular and hierarchical fashion using a logical format. Fuzzy context rules constitute a shared representation for plans across layers, as they can be generated by high-level reasoning processes and used by the low-level execution processes shared representations are pivotal to the integration between layers in hybrid architectures. Recently, an increasing numberofrobotshave been using some form of CDB for behavior coordination (Surmann et al. 1995 Voudouris et al. 1995 Tunstel 1996 Goodridge et al. 1997). Finally, we employed fuzzy techniques to represent and use approximate maps. Most of the approaches to representing spatial uncertainty in robotics are based on probabilistic techniques. These techniques are adequate when: (i) the underlying uncertainty can be given a probabilistic interpretation and (ii) the probabilistic data required by these techniques are available. cases, our solution may oer a valuable alternative. Both conditions may fail for of autonomous robots in these The main practical diculty that we encountered in the development was the empirical tuning of the behavior rules. However, this diculty was mitigated by the hierarchical structure of the behaviors: basic behaviors are easier to write and debug, because they are aimed at satisfying simple goals under restrictive conditions complex behaviors are obtained by combining basic ones specifying the relevant contextual conditions. We speculate that this approach should also make basic and complex behaviors easier to learn automatically. Acknowledgments The work on Flakey was done in collaboration with Enrique Ruspini and Kurt Konolige while the author was visiting the AI Center of SRI International. Support was partly provided by a grant from the Italian National Council for Research, and partly by SRI International. 11

Bibliography Arkin R. C. 199 Integrating behavioral, perceptual and world knowledge in reactive navigation Robotics and Autonomous Systems 6 15{122. Baxter J. M. and Bumby J. R. 1993 Fuzzy logic guidance and obstacle avoidance algorithms for autonomous vehicle control Procs of the Int Workshop on Int Autonomous Vehicles (Southampton, UK) 41{52. Berenji H., Chen Y.-Y., Lee C.-C., Jang J.-S., and Murugesan S. 199 A hierarchical approach to designing approximate reasoning-based controllers for dynamic physical systems Procs of the 6th Conf on Uncertainty in AI (Cambridge, MA) 362{369. Brooks R. A. 1986 A robust layered control system for a mobile robot IEEE Journal on Robotics and Automation RA-2(1) 14{23. Congdon C., Huber M., Kortenkamp D., Konolige K., Myers K., Ruspini E. H., and Saotti A. 1993 Carmel vs. Flakey: A comparison of two winners AI Magazine 14 (1) 49{57. Firby J.R.1987 An investigation into reactive planning in complex domains Procs of the 6th AAAI Conf (Seattle, WA) 22{26. Goodridge S. G., Kay M. G. and Luo R. C. 1997 Multi-layered fuzzy behavior fusion for reactive control of an autonomous mobile robot Procs of the 6th IEEE Int Conf on Fuzzy Systems (Barcelona, SP) 579{584. Khatib O. 1986 Real-time obstacle avoidance for manipulators and mobile robots The International Journal of Robotics Research 5(1) 9{98. Latombe J. 1991 Robot Motion Planning (Boston, MA: Kluver Academic Publishers). Maeda M., Maeda Y., and Murakami S. 1991 Fuzzy drive control of an autonomous mobile robot Fuzzy Sets and Systems 39 195{24. Ruspini E. H. 1991 On the semantics of fuzzy logic Int. J. of Approximate Reasoning 5 45{88. Saotti A. 1997 Fuzzy logic in autonomous robotics: behavior coordination. Procs of the 6th IEEE Int Conf on Fuzzy Systems (Barcelona, SP) 573{578. 12

Saotti A., Konolige K., and Ruspini E. H. 1995 A multivalued-logic approach to integrating planning and control Articial Intelligence 76(1-2) 481{526. Saotti A., Ruspini E. H., and Konolige K. 1993a Integrating reactivity and goal-directedness in a fuzzy controller Procs of the 2nd IEEE Int Conf on Fuzzy Systems (San Francisco, CA) 134{139. Saotti A., Ruspini E. H., and Konolige K. 1993b A fuzzy controller for Flakey, an autonomous mobile robot AI Center Technical Report 529 (Menlo Park, CA: SRI International). Saotti A. and Wesley L. 1996 Perception-based self-localization using fuzzy locations eds L. Dorst, M. van Lambalgen and F. Voorbraak Reasoning with uncertainty in robotics LNAI-193 (Berlin: Springer Verlag) 368{385. Sugeno M. and Nishida M. 1985 Fuzzy control of model car Fuzzy Sets and Systems 16 13{113. Surman M., Juser J. and Peters L. 1995 Guiding and controlling mobile robots with a fuzzy controler Procs of the 4th IEEE Int Conf on Fuzzy Systems (Yokohama, JP) 83{88. Takeuchi T., Nagai Y. and Enomoto N. 1988 Fuzzy control of a mobile robot for obstacle avoidance Information Sciences 43 231{248. Tunstel E. 1996 Mobile robot autonomy via hierarchical fuzzy behavior control Procs of the 1st World Automation Congress, ISRAM Track (Montpellier, FR) 837{842. Voudouris C., Chernett P., Wang C. J. and Callaghan V. L. 1995 Hierarchical behavioural control for autonomous vehicles Procs. of the 2nd IFAC Conf on Intelligent Autonomous Vehicles 267{272. Yen J. and Puger N. 1995 A fuzzy logic based extension to Payton and Rosenblatt's command fusion method for mobile robot navigation IEEE Trans on System, Man and Cybernetics 25(6) 971{978. 13

Further readings 1. Rosenblatt J. K. and Payton D. W. 1989 A ne-grained alternative to the subsumption architecture for mobile robot control Procs of the IEEE Int Conf on Neural Networks Vol 2 pp 317{324. The rst \naive" proposal of fuzzy command fusion, developed by two roboticists who were unaware of fuzzy logic. Restated in terms of fuzzy logic by (Baxter and Bumby 1993) and (Yen and Puger 1995). 2. Saotti A. 1997 Fuzzy Logic in the Autonomous Mobile Robot Flakey On-line bibliography athttp://iridia.ulb.ac.be/saffiotti/flakeybib.html A collection of on-line papers on the use of fuzzy logic in the robot Flakey, with links to related papers. 3. Saotti A. 1998 The Uses of Fuzzy Logic in Autonomous Robotics Soft Computing (in press). A survey on the uses of fuzzy computation techniques in autonomous robotics. Includes extensive bibliography. A constantly updated version is maintained on the Web at http://iridia.ulb.ac.be/flar/survey.html. 14