Fuzzy Controllers:

How to Design Them?

How They Work?


PREFACE

Since fuzzy logic was introduced by Lotfi Zadeh in 1965 a lot of successful applications mostly in control have appeared. This "fuzzy" boom has caused strong interest in this area and is accompanied by the boom in studying and teaching fuzzy theory and technology. Although a few books which can be used for teaching and learning are available on the market what is still missed is the introductory textbook suitable for both under- and postgraduate students as well as for a beginner’s self-learning.

The aim of the book is to teach a reader how to design a fuzzy controller and to share some experience in design and applications. It can be used as a textbook by both teachers and students. Being an introductory one this book tends to explain things starting from the roots and does not require any preliminary knowledge in fuzzy theory and technology. I wanted to make this book not similar to other books in this area available on the market. My goals were:

The structure of the book includes a description of the theoretical fundamentals of fuzzy logic as well as study of practical aspects of fuzzy technology. Consideration of all topics is practically oriented. It means that contents of all the chapters work on achieving the final goal: to give a reader the knowledge necessary to design a fuzzy control system. To become a real textbook which can be used for self-assessment and to facilitate the teaching process this book contains the list of problems, assignment topics and design projects for the students.

The style of the book is being changed from a textbook at the beginning (when it discusses theoretical aspects of fuzzy control) to a handbook at the end (when it describes software and hardware tools which can be used in a fuzzy controller design). It allows to improve communication with a reader after the last one acquires some knowledge and ability to work independently. The book is written (especially at the beginning) as a discussion between a teacher and students who come from various educational and practical backgrounds and are supposed to be interested in different aspects of fuzzy control theory and technology.

I intended to make this book dull and boring as little as possible. So I wanted to apply an ordinary (not scientific) language but not to loose a correctness of mathematical determinations. It was very hard sometimes. That's why a few chapters (especially chapter 2) contain a number of mathematical definitions and other constructions. However, I tried to provide a reader with some explanation about what all this mathematical stuff meant.


Contents

Foreword
Preface
Introduction or Quick Start of Design...

Part I. How Does It Work? or 
	The Theory Of Fuzzy Control.

    1. Fuzzy Sets, Logic, and Control: What? Where? When? Why?
	1.1. Why do we need to learn this new theory? or
	        Advantages of fuzzy control
	1.2. Where does it come from? or
	        Sources and history of fuzzy logic
	1.3. Where does it come to? or
	        Main areas of fuzzy logic applications

 2. Basic Mathematical Concepts of Fuzzy Sets
	2.1. Fuzzy sets versus crisp sets
	2.2. Operations on fuzzy sets
	2.3. Extension principle and fuzzy algebra
		2.3.1. Extension principle
		2.3.2. Fuzzy numbers
		2.3.3 Arithmetic operations with intervals of confidence
		2.3.4 Arithmetic operations with fuzzy numbers
	2.4. Linguistic variables and hedges
	2.5. Fuzzy relations

 3. The structure and operation of a fuzzy controller.
	3.1. The reasons to apply fuzzy controllers
	3.2. Fuzzy rules processing
            3.2.1. Mamdani type fuzzy processing
            3.2.2. Linguistic variables
            3.2.3. Fuzzy rules firing
            3.2.4. Calculating the applicability degree
            3.2.5. Clipping and scaling a fuzzy output
            3.2.6. Sugeno type fuzzy processing
	3.3. Fuzzy controller operation
	3.4. Structure of a simple open-loop fuzzy controller
	3.5. Structure of a feedback PID-like fuzzy controller
            3.5.1. Fuzzy controller as a part of a feedback system
            3.5.2. PD-like fuzzy controller
            3.5.3. Rules table notation
            3.5.4. PI-like fuzzy controller
            3.5.5. PID-like fuzzy controller
            3.5.6. Combination of fuzzy and conventional PID controllers
	3.6. Stability and performance problems for a fuzzy control system	
            3.6.1. Stability and performance evaluation by observing the response
            3.6.2. Stability and performance indicators
            3.6.3. Stability evaluation by observing the trajectory
            3.6.4. Hierarchical fuzzy controllers

Part II. How To Make It Work? or
	Design and Implementation Of Fuzzy Controllers

    4. Fuzzy Controller Parameter Choice
	4.1. Practical examples
		4.1.1. Fuzzy autopilot for a small marine vessel
		4.1.2 Smart heater control
		4.1.3 Active noise control
	4.2. Iterative nature of a fuzzy controller design process
	4.3. Scaling factor choice
		4.3.1. What is a scaling factor?
		4.3.2. Where to start tuning?
		4.3.3. Application example
	4.4. Membership function choice
		4.4.1. How to distribute membership functions on the                        Universe of discourse?
		4.4.2. An evaluation of the membership function width
		4.4.3 Application example
	4.5. Fuzzy rule formulation
		4.5.1. Where to get rules from?
		4.5.2. How to get rules?
		4.5.3. How to check if the rules are OK?
		4.5.4. Application examples
	4.6. Choice of the defuzzification procedure
		4.6.1. Center-of Area/Gravity
		4.6.2. Center-of-Largest-Area
		4.6.3  First-of-Maxima/ Last-of-Maxima
		4.6.4. Middle-of-Maxima
		4.6.5 Mean-of-maxima
		4.6.6. Height
		4.6.7. Attempt to compare different defuzzification procedures

 5. Fuzzy Controller Parameter Adjustment
        5.1. Self-organising, adaptive, and learning fuzzy controllers: main principles and methods
            5.1.1. What do we need an adjustment for?
            5.1.2. Self-organising fuzzy controllers
            5.1.3. Performance/robustness problem and solutions
            5.1.4. Adaptive fuzzy controllers
            5.1.5. Features of different controller types
            5.1.6. Learning fuzzy controllers
        5.2. Tuning of the fuzzy controller scaling factors
            5.2.1. On-line and off-line tuning
            5.2.2. Off-line tuning of the output scaling factors
            5.2.3. On-line tuning of the input and output scaling       factors
            5.2.4. Application example
        5.3. Artificial neural networks and neuro-fuzzy controllers
            5.3.1. What is a Neural Network?
            5.3.2. ANN structure
            5.3.3. ANN types
            5.3.4. ANN application in fuzzy controller design
            5.3.5. ANFIS architecture
            5.3.6. Adaptive neuro-fuzzy controller
            5.3.7. Application examples
        5.4. Adjustment procedures with Genetic/Evolutionary Algorithms
            5.4.1. How does it work?
            5.4.2. GA and EA application in fuzzy controller design
            5.4.3. Application example

 6. Fuzzy System Design Software Tools
	6.1. Fuzzy technology products classification
        6.2. Main features of the fuzzy software tools
        6.3. Realisation examples

 7. Fuzzy  Controller  Implementation
        7.1. How to realise a fuzzy controller?
        7.2. Implementation on a digital general purpose processor
        7.3. Implementation on a digital specialised processor
        7.4. Specialised processor development system
        7.5. Implementation on analog devices
	7.6. Integration of fuzzy and conventional control hardware

Part III. What Else Can I Use? or 
	    Supplementary Information for Teaching And Learning

8. Fuzzy Controller Design - Brief Manual
	8.1. When to apply fuzzy controllers?
        8.2. When not to apply fuzzy controllers?
        8.3. Fuzzy controller operation
        8.4. Which fuzzy controller type to choose?
        8.5. Fuzzy controller structure and parameter choice
	8.6. How To Get Membership Functions?
	8.7. How To Get Rules?
        8.8. How to implement a fuzzy controller?
        8.9. How to test a fuzzy controller?
        8.10. How to fix up a fuzzy controller? (Fuzzy controller design troubleshooting)
        8.11. Which design package to choose?

 9. Problems and assignment topics

    10. Design projects

    11. Glossary

    12. Bibliography

    Index
Leon Reznik
mailto:Leon.Reznik@vu.edu.au

Back to Leon Reznik's Home Page

Copyright © 1997 Leon Reznik
This Home Page was created by WebEdit, Sunday, 9 February 1997
Most recent revision Sunday, 31 August 1997 17:06:31