From: erik@maui.til.com (Erik Horstkotte)
Subject: Re: Fuzzy Control
Keywords: fuzzy control
Organization: Togai InfraLogic, Inc.
Date: Tue, 15 Sep 1992 19:15:48 GMT

In article <68037@hydra.gatech.EDU>, gm26@prism.gatech.EDU
(MCMURRAY,GARY V) writes:
|> 

[ ... introduction deleted ...]

|>   My question is 1) Are there any papers that detail a fuzzy
|> control
|> system; 2) I am having trouble understanding how the membership
|> function
|> is created in order to create linguistic control rules and the
|> defuzzification
|> rules.  Thanks for all of your help and I hope that this group is a
|> big
|> success!!

1. There are *lots* of papers that detail fuzzy control systems. 
Check
out some of the following:

    3rd IFSA Congress - Proceedings of the Congress, 1989.

        This was a publication of the International Fuzzy Systems
        Association.  I unfortunately have no address or phone number
for
        IFSA.  The book is simply packed with both theoretical and
        practical papers.

    IEEE International Conference on Fuzzy Systems 1992, IEEE catalog
    number 92CH3073-4, ISBN 0-7803-0236-2.

Generally, look into IFSA (the International Fuzzy Systems
Association),
NAFIPS (the North American Fuzzy Information Processing Society), and
perhaps IJAR (the International Journal of Approximate Reasoning). 
Sorry,
but I don't have references for any of them.

2. Figuring out your membership functions and rules is always the
hard
part of developing a fuzzy expert system of any kind, but especially
for
fuzzy control systems (I haven't run across the terminology
"linguistic
control rules" and "defuzzification rules" before, however.  Were did
you
run across this?).  This seems to me to be due to the number of
degrees of
freedom you have in setting the control system up.  For a first cut,
I
tend to arbitrarily make some decisions - I start with
piecewise-linear
membership functions, either three or five per input variable,
equally
spaced around the zero point.  I make all the membership functions for
a
given variable the same width, with adjacent ones crossing over at the
0.5
membership level.  I set the widths of the membership functions by
spacing
their peaks equally and making the highest and lowest membership
functions
peak at the highest and lowest possible values of the associated
variable.
I use either the MAX-PRODUCT (aka MAX-DOT) or SUM-PRODUCT inference
method,
and the centroid defuzzification method.  This gives me a starting set
of
membership functions.

Getting a starting set of rules is somewhat more difficult.  It
requires
knowing at least *some* points on the control surface you want to
generate.  Where possible, I try to create a PD or PID controller,
even a
very poor one, for the system to be controlled, and then
mathematically
construct the rules (and output membership functions) from the PD or
PID
equation.  I'll try to put together a posting on how to do this in
the
next week or so, but it's not difficult.

The general technique is to put together a rough controller, and then
to
tune the rough controller to improve it, either in place or in
simulation.

PS: Togai InfraLogic is a company that specializes in fuzzy
technology. 
We do development systems for both conventional and dedicated fuzzy
processors, hardware, and engineering services.  For more information
on
the company, or fuzzy logic and fuzzy expert systems, send email to
info@til.til.com (...!uunet!til!info).
-- 
Erik Horstkotte, Manager, Software Development, Togai InfraLogic,
Inc.
erik@til.til.com, uunet!til!erik - (714) 975-8522
Standard disclaimer: the preceding are my opinions, not TIL's.
Newsgroups: sci.engr.control