[Previous] [Home] [Next]

5. Discussion

We used fuzzy techniques in Flakey in three main areas. The first one was the design of basic behaviors. Fuzzy control is credited to be an adequate methodology to design non-linear 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 efficient implementations, including hardware solutions. These characteristics fit 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:

Recently, an increasing number of robots have 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. Both conditions may fail for of autonomous robots; in these cases, our solution may offer a valuable alternative.

The main practical difficulty that we encountered in the development was the empirical tuning of the behavior rules. However, this difficulty 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.

[Previous] [Home] [Next]
Last updated: August 7, 1997, by A. Saffiotti