- Stuettler.org

Werbung
Fuzzy - Logic
V1.0
__________________________________________________________________________________________
Fuzzy Logic
1. Einführung
2. Analoge Logik
3. Fuzzy - Regler
4. Neuronale Netze und Fuzzy
5. Anhang ( Sugeno )
1. Einführung
Analoge Logik
Die Fuzzy Logic kann als effizienter u. einfach zu programmierender Regler eingesetzt werden. Fuzzy Logic ist
eine Erweiterung der binären Logik um Grauwerte. Zwischen wahr und falsch und 0 und 1 sind Zwischenwerte
möglich. Man spricht auch von analoger Logik oder von unscharfer Logik ( nicht dequalifizierend zu verstehen).
Während die binäre Logik nur Zwei-/Dreipunktregler ermöglicht, erlaubt die Fuzzy - Logic analoge Regelung.
Einsatzgebiete : Regler, Modellierung nichtlinearer Maschinen und Datenzusammenhänge, Mustererkennung
Fuzzy lebt von menschlicher Erfahrung
Fuzzy versucht menschliche Handlungsweisen, menschliches Schließen und Schlußfolgern, menschliche
Erfahrung technisch zu nützen. So ist ein Auto zu fahren für einen Menschen problemlos. Einen Regler zu
finden, der die richtigen Gänge einlegt ( dabei nicht permanent schaltet ), die Straßenverhältnisse berücksichtigt,
die Lenkung übernimmt usw. ist aber mit konventioneller Regelungstechnik schwierig. Ein Fuzzy - Regler ist
hingegen auch für komplexe Aufgaben oft leicht zu finden.
Beim Autofahren wissen wir aus Erfahrung :
wenn Linkskurve = scharf und Geschwindigkeit = hoch dann Lenkrad = starklinks
wenn Linkskurve = mittel dann Lenkrad = links
wenn Linkskurve = schwach oder Geschwindigkeit = niedrig dann Lenkrad = weniglinks
Solches menschliches Erfahrungswissen wird dem Fuzzy Regler vermittelt. Das Beispiel könnte ohne weiters
auf Rechtskurven und unterschiedliche Fahrbahnverhältnisse usw. ausgedehnt werden.
Warum Fuzzy
Fuzzy bietet oft eine Reihe von Vorteilen :
- einfache und schnelle Regler - Lösung erzielbar
- für nichtlineare und komplexe und Mehrgrößen - Probleme gut geeignet
- keine detaillierte Modellbildung nötig
- robust - unempfindlich gegenüber Änderung der Strecke und ungenauer Sensorik
- Stellgrößenbeschränkungen können einfließen
- mehrere Eingangsgrößen und Störgrößen können gleichzeitig wirken
- oft keine tiefen regelungstechnischen Kenntnisse nötig
Nachteile gegenüber konventioneller Regelungstechnik :
- große Rechenleistung nötig ( spezielle Fuzzy-Controller sind verfügbar, werden aber zunehmend verdrängt )
- nicht optimale Lösungen
- fehlende Modellbildung vermindert Verständnis für das System, Gefahr des irrtümlichen Schlusses nur mit
Simulation vermeidbar
- harte logische Schlüsse sind schlecht möglich u. müssen mit zusätzlicher konvent. Logik realisiert werden
__________________________________________________________________________________________
Stüttler PA
1/6
Fuzzy - Logic
V1.0
__________________________________________________________________________________________
Fuzzy in der Welt der Wissenschaft
Bei der Fuzzy - Logic handelt es sich um ein Subsystem der dynamischen Programmierung und auch um eine
Erweiterung von Prolog um grafische Eingabetools. Anwendung findet Fuzzy für Steuerungstechnik, zur
Mustererkennung, zur Modellierung von Systemen und zur Signalanalyse. Neuronennetz machen Fuzzy Systeme lernfähig . Somit wird dem Fuzzy -System die menschliche Erfahrung nicht einprogrammiert, sondern
es sammelt die Erfahrung wie auch der Mensch das tut : anhand von Beispielen ( Beispieldaten ).
Wo die dynamische Programmierung für jeden beliebigen Zustand im voraus günstige Stellgrößen überlegt und
im Speicher bereit hält, rechnet die Fuzzy Logic für jeden beliebigen Zustand in Echtzeit die Stellgröße anhand
vernünftiger Regeln. Während die dyn. Programmierung über den Zustandsraum direkt zum Raum der
Stellgrößen stößt, wird bei Fuzzy jede Zustandsvariable in einen mehrdimensionalen Raum ihrer
Zugehörigkeitsvariable ( linguistische Variable, Fuzzy Set ) transformiert und dort ihren Dimensionen, den
sogenannten Termen - je nach Zugehörigkeit, unscharf mit Zugehörigkeitsfunktionen ( membership functions
MF ) - zugeordnet. Die Terme aller Zugehörigkeitsvariable werden dann mit Regeln als
Transformationsvorschrift in den Raum der Stellgröße transformiert. Im Raum der Stellgrößen werden alle
Lösungen überlagert und liefern die endgültige Stellgröße.
Vorteile von Fuzzy gegenüber der dynamischen Programmierung sind:
- einfache, verbale und systematische Festlegung zweckmäßiger Stellgrößen mit Regeln
- minimaler Speicherbedarf
Nachteile : größerer Rechenleistungsbedarf
Matlab
Fuzzy - Entwicklungssysteme werden von einer Reihe von Firmen angeboten. Diese Unterlagen beziehen sich
weitestgehend auf die Matlab - Toolbox 'Fuzzy' von Roger Jang.
2. Operatoren analoger Logik
Binäre Logik
A
A
A
B
B
A and B
A or B
not A
Analoge Logik
A
B
A and B
A
B
A or B
AND
Min(A,B)
A
not A
OR
max(A,B)
NOT
(1-A)
Neben den klassischen Operatoren AND, OR, NOT und PROD (Product) gibt es eine Reihe anderer, die zum
Teil Zwischenstufen zwischen AND und OR darstellen, aber weniger gebräuchlich sind.
__________________________________________________________________________________________
Stüttler PA
2/6
Fuzzy - Logic
V1.0
__________________________________________________________________________________________
3. Fuzzy - Regler
Die Funktion wird anhand eines Fuzzy - Reglers für die Regelung des Lenkrades eines Autos demonstriert. Bei
dem vereinfachten Beispiel sind keine Rechtskurven, keine speziellen Fahrbahneigenschaften usw.
berücksichtigt. Unter den verschiedenen Möglichkeiten der Logikverknüpfung ist hier AND,OR, für die
Implication und die Aggregation ist hier MAX und für die Defuzzication ist hier CENTROID gewählt. Die
Begriffe werden nachfolgend erklärt. Sämtliche Fuzzy-Einheiten bilden zusammen das FIS (FuzzyInference_System ):
Auto-FIS :
1. fuzzification
1.
2. rule application
method ( OR )
3. implication
( MAX )
hoch
scharf
if Linkskurve=scharf and Geschwindigkeit=hoch then
Lenkrad = starklinks
2.
mittel
if
Linkskurve= mittel
then
Lenkrad = links
3.
schwach
niedrig
if Linkskurve=schwach or Geschwindigkeit=niedrig then
Lenkrad=weniglinks
4.Aggregation
( max )
5. Defuzzification
( centroid )
90
0
Linkskurve = 70°
100
0
Geschwindigkeit = 55km/h
Inputs
2
Lenkrad = 1.5U/s nach links
outputs
Alle den Zustand des Systems beschreibenden und für die Regelung des Systems wichtigen Zustandsgrößen
werden gemessen und sind die Eingangsgrößen des Fuzzy Reglers. Die Regelkreistopologie ist konventionell.
__________________________________________________________________________________________
Stüttler PA
3/6
Fuzzy - Logic
V1.0
__________________________________________________________________________________________
3.1. Fuzzifizierung ( fuzzyfication )
Dem Raum der Eingangsgrößen wird mit Zugehörigkeitsfunktionen ( membership - functions MF ) der Raum
der Zugehörigkeitsvariable ( linguistische Variable, Fuzzy Sets ) zugeordnet : Der Raum der
Zugehörigkeitsvariable setzt sich aus Termen zusammen und jedem Term wird eine MF zugeordnet. D.h. Terme
und zugeordnete MF transformierten die Eingangsgrößen in den Raum der Zugehörigkeitsvariablen.
Die Erstellung der MF geschieht händisch mit einem grafischen Editor. Es steht eine Vielzahl von Formen für
Zugehörigkeitsfunktionen zur Verfügung. Oft wird die Dreiecks- und die Trapezform verwendet.
Gauss
Bell
Z,PI,S - Polynome
0
10
gaussmf([0:0.1:10],[1,5]) gbellmf([0:0.1:10],[2,4,7])
zmf([0:0.1:10],[3,8])
Trapez
Dreieck
trapmf([0:0.1:10],[1,3,5,7]) trapmf([0:0.1:10],[7,9,10,10])
trimf([0:0.1:10],[2,4,6]) trimf([0:0.1:10],[8,10,10])
pimf([0:0.1:10],[1,4,6,9]) smf([0:0.1:10],[1,8])
3.2. Regelnabarbeitung ( rule application )
In den verbal formulierten Regeln werden die Zugehörigkeitsvariable mit den Stellgrößen - Variablen verknüpft
d.h. in den Stellgrößenraum transformiert. Jede Regel liefert einen Stellgrößenanteil. Die Regeln werden mit
einem Texteditor erstellt. Z.B.:
1. if (Linkskurve is scharf ) and (Geschwindigkeit is hoch)
2. if (Linkskurve is mittel
3. if (Linkskurve is schwach) or (Geschwindigkeit is niedrig)
then
then
then
(Lenkrad is starklinks)
(Lenkrad is links)
(Lenkrad is weniglinks)
Als Verknüpfungsoperatoren sind OR, AND, NOT und PROD gebräuchlich. Oft können Regeln auch gewichtet
werden ( 0 bis 1 ).
3.3.a Schlußfolgerung ( Implication ) nach Mamdani
Das Ergebnis der Regel hängt vom Fuzzyset des Ausgangssignales und dem wert der Regelauswertung ab. Es
gibt zwei Wahlmöglichkeiten :
-
Beschneidung des Ausgangs-Fuzzysets ( MIN )
Skalierung des Ausgangs-Fuzzysets ( PROD )
Die Mamdani-.Methode geht setzt voraus, daß auch den Ausgangsgrößen beliebige Fuzzysets zugeordnet
worden sind. Nicht so die Methode von Sugeno :
__________________________________________________________________________________________
Stüttler PA
4/6
Fuzzy - Logic
V1.0
__________________________________________________________________________________________
3.3.b Implication nach Sugeno
Als FuzzySet wird immer die Impulsfunktion verwendet. Ihre Höhe wird wie bei Mamdani vom Wert der
Regelauswertung bestimmt. Vorteil von Sugeno : geringerer Rechenaufwand. Ein Nachteil ist, daß nur die
Impulsfunktion als MF möglich ist. Siehe Anhang.
3.4. Überlagerung, Akkumulation ( Aggregation )
Die Stellgrößenanteile aller Regeln werden Max-überlagert und ergeben die Gesamtschlußfolgerung. Es gibt drei
Wahlmöglichkeiten :
-
Maximumüberlagerung ( MAX )
Summierende Überlagerung ( SUM )
Wahrscheinlichkeits-Oder ( OR )
3.5. Defuzzifizierung ( defuzzyfication )
Aus der Gesamtschlußfolgerung wird die Stellgröße mit einer der folgenden Methoden gewonnen :
som
bisector
centroid
mom
Flächenschwerpunktbildung ( centroid )
Bisektor ( bisector )
Mittelwert vom Maximum ( mom )
Ende Maximalwert ( lom )
Anfang Maximalwert ( som )
lom
-
20
0
4. Neuronetze und Fuzzy-Logic
Das Ziel dieser Erweiterung der Fuzzy-Technik ist die automatische Erzeugung der Fuzzysets und der Regeln
zur Modellierung nichtlinearer Maschinen und zur Modellierung von Datenkorrelationen. Die automatische
Erzeugung des FIS erfolgt in einem Lernprozesses anhand von Beispieldaten.
Die Matlab - Implementierung ANFIS ( Adaptive Neuro Fuzzy Inference system ) erlaubt ein Ausgangssignal
und nur die Sugeno-Implication. ANFIS verbessert ein gegebenes FIS iterativ anhand von Beispieldaten.
GENFIS1 ( GENerate FIS ) erstellt ein FIS für ANFIS aus Beispieldaten u. ist nur für wenige Eingänge geeignet.
GENFIS2 erzeugt ein FIS für ANFIS aus Beispieldaten u. ist nur für FIS mit vielen Eingängen geeignet.
Siehe auch Matlab - Dokumentation und Helpfiles.
__________________________________________________________________________________________
Stüttler PA
5/6
Fuzzy - Logic
V1.0
__________________________________________________________________________________________
Anhang : Implication nach Sugeno
1. fuzzification
1.
scharf
2. rule application
method ( OR )
3. implication
( MAX )
hoch
if Linkskurve=scharf and Geschwindigkeit=hoch then
Lenkrad = starklinks
2.
mittel
if
Linkskurve= mittel
then
Lenkrad = links
3.
schwach
niedrig
if Linkskurve=schwach or Geschwindigkeit=niedrig then
Lenkrad=weniglinks
4.Aggregation
( max )
5. Defuzzification
( centroid )
90
0
Linkskurve = 70°
100
0
Geschwindigkeit = 55km/h
2
Lenkrad = 1.4U/s nach links
Inputs
outputs
Sugeno benötigt gegenüber Mamdani weniger Rechenaufwand und ist qualitativ meist ähnlich gut.
__________________________________________________________________________________________
Stüttler PA
6/6
Herunterladen