A METHOD FOR THE DESIGN OF NEURO-FUZZY CONTROLLERS; AN APPLICATION IN ROBOT LEARNING THÈSE No 1602 (1997) PRÉSENTÉE AU DÉPARTEMENT D'INFORMATIQUE ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE PAR Jelena GODJEVAC Ingénieur en électricité, diplômée de l'université de Belgrade, Yougoslavie de nationalité yougoslave acceptée sur proposition du jury: Prof. J.-D: Nicoud, directeur de thèse Prof. M. Mataric, corapporteur Prof. D. Mlynek, corapporteur Prof. N. Steele, corapporteur Lausanne, EPFL 1997
Abstract Fuzzy logic gained interest in the scientific community in the last years. One of the main reasons is the huge success of the Japanese industry with home appliances, based on fuzzy controllers, reaching a market of $2 billion in 1990. Fuzzy logic was a simple mean to handle the sensors included in these products. Fuzzy systems belong to the class of knowledge based systems. Their main goal is to implement human know-how or heuristic rules in the form of a cornputer program. Fuzzy logic provides a mathematical formalism for this goal. Fuzzy controllers mode1 human experience in the form of linguistic if-then rules; a fuzzy inference engine computes the control actions for each given situation. The main drawback of fuzzy controllers is the lack of a systematic methodology for their design. In this thesis, we propose a method for the design and analysis of fuzzy controllers. An introductory chapter formalises the mathematical notions of fuzzy logic and approximate reasoning, the fundamentals of fuzzy control. The presented concepts are emphasised by numerous examples. The design parameters of fuzzy controllers are then discussed. It is argued that the design of a fuzzy controller is a complex task because of the large number of parameters to be adjusted and because of the non-linear effects they have on the system response. An original method for the design and analysis of a fuzzy controller is proposed. The main idea is to apply an on-line adaptive algorithm to automatically adjust the parameters of the fuzzy controller, depending on its inputs and desired outputs. Its validity has been tested on a function approximation problem. It is shown that a fuzzy controller can learn to approximate non-linear functions arbitrarily well. We also introduce a new method for the extraction of linguistic rules from the adapted parameters. The knowledge acquired during learning can be represented in a clear and intuitive syntax. This gives the designer a comprehensive understanding of the new rule base, i.e., the controller features. Since the proposed adaptive algorithm belongs to a class of supervised learning methods, a major feature of artificial neural networks, neural and fuzzy controllers are compared. It is shown that a fuzzy controller, under some restrictions, is functionally equivalent to a particular class of neural networks (Radial Basis Functions), but has better learning capacities. Moreover, the fuzzy paradigm offers the possibility to infer the functional properties of RBF neural network. In the last part of this thesis, the application of fuzzy controllers to the navigation of a mobile robot is investigated. Several experiments with the miniature mobile Khepera are reported. First it is been demonstrated that simple tasks can be achieved with simple fuzzy controllers. Then, the proposed design method for fuzzy controller is tested, showing that it provides the vii
viii ABSTRACT designer with a technique to handle complex tasks: the robot can successfully learn the desired behaviours, even with noisy sensors and large rule bases. The extraction of rules reveals to be extremely useful for practical applications because it helps the engineer to learn more on the complete system. This thesis concludes with a discussion about the perspectives opened by this work.
Résumé La logique floue a connu un important intérêt dans la communauté scientifique au cours des dernières années. L'une des raisons principales est l'énorme succès des équipements domestiques produits par l'industrie japonaise, utilisant des régulateurs flous: ce marché atteignait 2 milliard de dollars en 1990. La logique floue constituait une manière simple de gérer les capteurs contenus dans ces nouveaux produits. Les systèmes flous appartiennent à la classe des "systèmes à base de connaissance". Leur but principal consiste à implémenter un savoir faire humain, ou des règles heuristiques, sous la forme d'un programme informatique. La logique floue fournit un formalisme mathématique pour réaliser ce but. Les régulateurs flous modélisent l'expérience humaine sous la forme de règles linguistiques "si... alors..."; un moteur d'inférences calcule les actions de commande pour chacune des situations données. L'inconvénient majeur des régulateurs flous est l'absence d'une méthodologie systématique pour leur conception. Dans cette thèse, nous proposons une méthode pour les concevoir et les analyser. Le chapitre introductif présente les bases théoriques fondamentales du contrôle flou: notions de logique floue et de raisonnement approximatif, ainsi que leur formalisation mathématique. Les concepts sont appuyés par de nombreux examples. Les paramètres de conception des régulateurs flous sont ensuite indiqués. Nous soutenons que la conception d'un régulateur flou est une tâche difficile en raison du grand nombre de paramètres à ajuster, et à cause de leurs effets non-linéaires sur la réponse du système. Nous proposons une méthode originale pour la conception et l'analyse d'un régulateur flou. L'idée centrale consiste à appliquer un algorithme adaptatif en ligne pour ajuster automatiquement les paramètres du régulateur, en fonction de ses entrées et de ses sorties désirées. Sa validité a été testée sur un problème d'approximation de fonctions. Nous montrons que le régulateur flou peut apprendre à approximer des fonctions non-linéaires avec le degré de précision souhaité. Nous introduisons également une nouvelle méthode pour l'extraction de règles linguistiques à partir des paramètres adaptés. La connaissance acquise durant l'apprentissage peut être représentée dans une syntaxe claire et intuitive. Cela donne au concepteur une compréhension d'ensemble de la nouvelle base de règles, c'est-à-dire les caractéristiques du régulateur. Comme la méthode proposée fait partie des méthodes d'apprentissage supervisé, une des Caractéristiques essentielles des réseaux de neurones artificiels, nous comparons ensuite les régulateurs neuronaux et Aous. Nous montrons qu'un régulateur flou, sous quelques restrictions, est fontionnellernent équivalent à une classe de réseaux de neurones particuliers (les réseaux à fonctions à bases radiales - RBF), mais que sa capacité d'apprentissage est meilleure. De plus, les propriétés
fonctionnelles d'un réseau neuronal ne peuvent être inferrées d'une étude de ses paramètres (les poids synaptiques), alors que le paradigme de la logique floue le permet. Dans la dernière partie de la thèse, l'application des régulateurs flous à la navigation d'un robot mobile est étudiée. Plusieurs expériences impliquant le robot Khepera sont rapportées. Tout d'abord nous montrons que des tâches simples peuvent être réalisées à l'aide de régulateurs simples. Ensuite, la méthode de conception proposée est mise en oeuvre, et s'avère être une technique qui permet au concepteur de traiter des problèmes plus complexes. Le robot est capable d'apprendre avec succès les comportement désirés, même en présence de capteurs bruités et de bases de règles de plus grande tailles. L'extraction de règles se révèle extrêmement utile pour des applications pratiques car elle permet à l'ingénieur d'apprendre plus sur le système complet. Cette thèse se conclut par une discussion des perspectives ouvertes par ce travail.
Contents Abstract Résumé Acknowledgements vii ix xix 1 Introduction 1 1.1 Aims of the Thesis... 3 1.2 A Guided Tour 3... 2 Approximate Reasoning 7 2.1 A Historical Perspective... 7 2.2 Set Theory... 8 2.2.1 ASet... 8 2.2.2 Operations on Sets... 10 2.2.3 Relations... 10 2.3 Boolean Logic... 11 2.4 Fuzzy Set Theory... 12 2.4.1 Fuzzy Set... 12 2.4.2 Representation of Fuzzy Sets... 13 Membership Function... 13 Geometrical Representation of Fuzzy Sets... 14 2.4.3 Operations on Fuzzy Sets... 14 Complement... 15 Intersection... 16 Union... 17 Geometrical Representation of Operations on Fuzzy Sets.... 18 Linguistic Hedges or Modifiers of Fuzzy Sets... 19 2.4.4 Fuzzy Relations... 19 2.4.5 Operations on Fuzzy Relations... 20 Intersection and Union... 20 Projection... 21 Cylindrical Extension... 22 Composition of Fuzzy Relations... 23 2.5 Approximate Reasoning... 24 2.5.1 Linguistic Variable... 24 2.5.2 Fuzzy Proposition... 26
xii CONTENTS............ 2.5.3 Generalised Modus Ponens 28 2.5.4 Linguistic Rule 29 2.5.5 Set of Linguistic Rules 34 2.6 Summary 37 3 Fuzzy Control 39 3.1 Structure of a Fuzzy Controller... 39 3.1.1 Fuzzification... 40 3.1.2 Knowledge Base... 40 3.1.3 Decision Making Unit... 41 3.1.4 Defuzzification... 41 Centre of Gravity 42... Centre of Sums... 43 Height... 43 Middle of Maxima... 45 3.2 Comparison between Classical and Fuzzy Controllers... 47 3.2.1 Description of the Control Problem... 48 3.2.2 Classical Control Approach... 49 3.2.3 Fuzzy Control Approach... 50 3.2.4 Simulation Results... 51 Influence of Scaling Factors 51... Distribution of Membership Functions... 54 Different Types of Fuzzy Reasoning and Defuzzification Methods... 54 3.3 Discussion... 57 3.4 Summary... 58 4 A Design Method for Fuzzy Controllers 61 4.1 Related Work... 62 4.2 Takagi and Sugeno's Fuzzy Controller... 63 4.2.1 Linguistic Rules... 63 4.2.2 Membership Functions 63... 4.2.3 Fuzzy Inference... 64... 4.3.1 General Algorithm... 66 4.3.2 Adaptation of Parameters of Takagi and Sugeno's Controller... 68 4.3.3 Iterative Procedure... 70 4.3.4 Numerical Examples... 70 Method... 70 Layout of Tables... 71 Results... 75 4.3 Learning Method 65 4.3.5 Discussion... 77 4.4 Extraction of Linguistic Rules... 79 4.4.1 The Inversion Problem... 80 4.4.2 Extraction of the Antecedent Parts of the Rules... 80 4.4.3 Distance Between Two Fuzzy Sets... 81 4.4.4 Algorithm... 82 4.4.5 Discussion 84...
CONTENTS... XUI... 4.5 Summary 86 5 Cornparison of Learning in Fuzzy and Neural Systems 89 5.1 Biological Neurons... 89 5.2 Artificial Neuron... 90 5.3 Muiti-Layer Neural Network... 91 5.3.1 Examples of Learning... 91 5.4 Radial Basis Function Neural Network... 93 5.4.1 Learning Method... 95 5.4.2 Examples of Learning... 95 Layout of the Table... 95 Results... 97 5.4.3 Discussion... 97 5.4.4 Equivalence Between Neuro-Fuzzy Network and RBFNN... 98 5.5 Summary... 98 6 Navigation of Mobile Robots using Fuzzy Controllers 101 6.1 The Khepera Mobile Robot... 102 6.2 Fuzzy Controller for Obstacle Avoidance... 103 6.3 Braitenberg Vehicle... 106 6.4 Neuro-fuzzy Controller for the Navigation of the Khepera... 107 6.4.1 Learning Experiments... 107 The Learning Task... 107 Layout of Tables... 108 Results... 111 6.4.2 Discussion... 111 6.4.3 Extraction of Rules... 112 6.5 Summary... 114 7 Conclusions 117 Curriculum Vitæ 121