[1.3] Fuzzy Control Unscharfe Regler und dessen Anwendungen Ein Vortrag im Rahmen des mathematischen Seminars Stochastik TU-Freiberg SS2002 Ronny Vorpahl Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 1 Gliederung 1. Wiederholung Fuzzy Scharfe und unscharfe Mengen Gebräuchliche Fuzzy-Mengen Operationen auf Fuzzy-Mengen (UND, ODER, NICHT) Linguistische Variable 2. Fuzzy-Control Der Fuzzy-Controller Ein einfaches Beispiel „FLOP“ (Winfact 6) Alternative Verarbeitungsmethoden 3. Der Hintergrund Allgemeines Anwendungsgebiete Einsatzziele 4. Ein Beispiel mit JAVA 5. Quellen Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 2 1. Wiederholung als Einstieg (Wurde alles bereits in vorherigen Vorträgen erzählt) 1.1 Scharfe und unscharfe Mengen Bsp.: Der Modellierung der Menge (x sehr viel größer als 1) x : ( x) {x X | x 1} Herkömmliche scharfe Menge (nach Boole) Unscharfe Fuzzy-Menge (nach Zadeh) Nicht sinnvoll x=9.9 nicht viel größer als 1 aber x=10 ist viel größer als 1 Daher sinnvoll Die unscharfe Menge mit stetig steigendem Wahrheitsgehalt Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 3 1.2 Gebräuchlichste Fuzzy-Mengen Wegen der einfacheren Handhabung bei Berechnungen werden praktisch fast nur lineare Mengen genutzt. Die Arten: Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 4 1.3 Die einfachsten Operationen Logisches UND , Logisches ODER , Logisches NICHT (Im Folgenden werden ausschließlich die von Zadeh definierten Normen verwendet, sind auch die gebräuchlichsten. ) Wahrheitsgrad 2er Aussagen, die durch UND verknüpft sind (Minimumoperator für den Durchschnitt zweier Fuzzy-Sets) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 5 Wahrheitsgrad 2er Aussagen, die durch ODER verknüpft sind (Maximumoperator für die Vereinigung zweier Fuzzy-Sets) Wahrheitsgrad der Negation (Komplement C eines Fuzzy-Set A) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 6 1.4 Begriff Linguistische Variable Einer linguistischen Variable hier „Temperatur“ wird ein Satz von linguistischen Termen (sehr_niedrig bis sehr_hoch) samt Fuzzy-Mengen zugeordnet wird, die den zu betrachtenden Wertebereich abdecken. Üblich sind je 3,5 oder 7 Fuzzy-Mengen pro linguistische Variable. (Linguistische Terme sind Adjektive aus der Umgangssprache) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 7 2. Fuzzy-Control 2.1 Der Fuzzy-Controller Prinzip: Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 - einer oder mehrere scharfen Einganswerte (X1..Xn) gehen hinein, - werden unscharf gemacht (Fuzzifizierung) - Mit WENN / DANN-Regeln unscharf behandelt (Interferenz) - scharf gemacht (Defuzzifizierung) - der scharfer Ausgangswert (Y) geht hinaus. 8 2.2 Ein einfaches Beispiel 2.2.1 Die Ausgangssituation Regelung einer Bremsanlage eines Autos auf einer Autobahn Eingänge : A - Abstand zum Vordermann G - aktuelle Geschwindigkeit Ausgang : K - Bremskraft Scharfe Eingangswerte: A = 175 m G = 190 km/h Gesucht ist die scharfe Ausgangsgröße K=?% Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 9 2.2.2 Fuzzifizierung - Überführung eines scharfen Signalwertes auf den dazugehörigen Fuzzy-Signalwert - allgemein A*=( µsehr_niedrig(A); µniedrig(A); µmittel(A); µhoch(A); µsehr_hoch(A) ) G*=( µsehr_niedrig(G); µniedrig(G); µmittel(G); µhoch(G); µsehr_hoch(G) ) hier : A*=( 0; 0,75; 0,25; 0; 0 ) G*=( 0; 0; 0; 0; 1) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 10 2.2.3 Interferenz Verarbeitungsvorschriften hier nur der Einfachheit 2 Regeln die auch beide aktiv sind, meist sind es aber ganze Gruppen WENN / DANN -Prinzip R1: WENN A=mittel UND G=sehr_hoch DANN K=dreiviertel R2: WENN A=niedrig UND G=sehr_hoch DANN K=voll Ermittlung der einzelnen Ausgangs-Fuzzy-Mengen Dies ergibt H1= MIN ( µA mittel(175m); µG sehr_hoch(190 km/h ) )= MIN (0,25; 1) = 0,25 H2= MIN ( µA niedrig(175m); µG sehr_hoch(190 km/h ) )= MIN (0,75; 1) = 0,75 Das heißt K= „dreiviertel“ (K=70%) hat einen Wahrheitsgehalt von 0,25 K= „voll“ (K=100%) hat einen Wahrheitsgehalt von 0,75 Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 11 Max-Min-Interferenz Die Fuzzy-Menge K= „dreiviertel“ wird bei 0,25 abgeschnitten Die Fuzzy-Menge K= „voll“ wird bei 0,75. abgeschnitten. Zusammenfassen der resultierenden Fuzzy-Mengen zu einer resultieren mit dem MAX-Operator (Vereinigung). Dies ergibt die resultierende Ausgangs-Fuzzy-Menge µK res(dunkel eingefärbt) Aus dieser Menge muss man nun einen scharfen Ausgangswert bestimmen: Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 12 2.2.4 Defuzzifizierung am Beispiel der genäherten Schwerpunktmethode Es gibt noch eine Handvoll anderer Methoden, das ist aber das gebräuchlichste mehr dazu im Nächsten Teil] Aus der gilt es mit der Defuzzifizierung einen scharfen Wert zu machen. - Allgemein m H yres = i 1 m i H i 1 yi i hier Kres y1 *H1 y 2 * h 2 70 % * 0,25 100 % * 0,75 = = H1 H 2 ( 0,25 0,75) = 92,5 % K= 92,5 % ist dann die aus den scharfen Eingangswerten resultierende Bremskraft. Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 13 2.2.5 Das ganze Beispiel mal in Kurzform Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 14 2.3 „FLOP“ (Fuzzy Logic Operating Program) Winfact selbst ist eine komplette Entwicklungsumgebung für den Entwurf, und die Simulation komplexer Regler. Flop ist ein Teilprogramm von Winfact und speziell für Fuzzy-Regler gedacht. Das Programm ist dabei sehr anschaulich und übersichtlich. Dummerweise erlaubt die Demo nicht das speichern von erstellten Beispielen . Deshalb ein ähnliches Beispiel wie oben, lediglich andere Wertebereiche und mehr Regeln. Das vorherige Beispiel war auf 2 Regeln beschränkt beide aktiv hier sind volle 25 Regeln vorhanden (2 Eingänge à 5 FuzzyMengen = 25 mögliche Regeln). Folgendes Bild Das Hauptfenster von FLOP - Links die Modellübersicht - Eingänge: Abstand und Geschwindigkeit ( l.o., r.o. ) - Ausgang : Bremskraft (l.u.), - Kennfeld der Bremskraft in Abhängigkeit von Abstand und Geschwindigkeit (r.u.) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 15 Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 16 Regelbasen (Abstand und Geschwindigkeit sind mit UND verknüpft) z.B. WENN Abstand= „mittel“ UND Geschwindigkeit = „mittel“ DANN Bremskraft= „halb“ Einstellung der Parameter der einzelnen Fuzzy-Sets (Typ: Dreiecksförmig, Trapezförmig, Singleton) z.B. hier: Abstand=“sehr_niedrig“ ist dreiecksförmig und geht von 0 bis 25 (Meter) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 17 2.4 Alternative Methoden der Verarbeitung: Regelverknüpfung Verknüpfung der Regeln mit den Verschiedenen UND / ODER Normen Die Normen wurden ausführlich bereits im 1. Vortrag erläutert. (Menu : Interferenz / Operatoren) Interferenzmechanismen Max-Min-Interferenz (wurde gezeigt) MAX-PROD- Interferenz (ist eher unüblich) Resultierende Fuzzy-Menge wird oberhalb des Erfüllungsgrades Hi abgeschnitten Resultierende Fuzzy-Menge wird mit dem Erfüllungsgrad Hi multipliziert (Menu : Interferenz / Interferenzmechanismus) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 18 Weitere Defuzzifizierungsmethoden Defuzzifizierungsmethoden die FLOP anbietet (Menu : Interferenz / Defuzzifizierung) Die letzten 4 Methoden lassen sich leicht nachvollziehen. Die Näherung der Scherpunktmethode siehe oben. Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 19 Auf weitere Methoden einzugehen würde hier zu weit gehen, nur soviel sei gesagt: Unterschiedliche Methoden haben alle spezifische Eigenschaftem, und Vor- und Nachteile. Je nach dem resultiert der typische Einsatz. Beispiel Unterschiede in der Defuzzifizierung Anhand des E/A-Diagramms Schwerpunktmethode Ideal für STETIGE Stellwerte Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 Methode der maximalen Höhe Ideal für DISKRETE Stellwerte 20 3. Der Hintergrund 3.1 Allgemeines zu Fuzzy-Control - Fuzzy-Controller Sie weisen meist ein relativ lineares Verhalten beim Regeln auf. (Siehe Kennfelder in FLOP) - Aufgrund des simplen Konzepts sind sie sehr robust gegenüber Störeinflüssen - Mit Relativ wenig Aufwand lassen sich komplexe Regler günstig und einfach Implementieren, - Sie bieten ein sehr gutes Preis-Leistungsverhältnis jedoch auf Kosten der Genauigkeit der Regelung. Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 21 3.2 Anwendungsgebiete - Bei Konsumartikeln Bei ganz gewöhnlichen Artikeln des täglichen Konsums sitzt das größte Potential für Fuzzy-Control weil Mit Fuzzy-Control einfache und GÜNSTIGE Lösungen bietet. In Japan existieren schon seit längerem eine Vielzahl von Anwendungen in allen möglichen Konsumartikeln, in anderen Ländern ist die Entwicklung eher zögerlich. Beispiel Waschmaschine : Es ist möglich, dass eine Waschmaschine anhand von 2 Systemgrößen ( Beladung der Maschine, Verschmutzungsgrad des Wassers) und ganzen 6 Regeln das optimale Waschprogramm berechnet. Außerdem: Unwuchtkontrolle mit Fuzzy-Logik. Weiterhin: verwackelsichere Camcorder, basierend auf einer Fuzzy- gestützten Entfernungseinstellung, Staubsauger mit Verschmutzungserkennung, Eierkocher usw. - In der Fahrzeugtechnik Bei Antiblockiersystemen, Tempomaten , intelligenten Kupplungen für Automatikgetriebe - In der Robotik - In der Prozesstechnik Meist nichtlineare, kompliziertere Systeme. Die Modellbildung meist nur strukturell möglich (Dafür gibt’s Experten) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 22 3.3 Einsatzziele von Fuzzy-Control: - Indirekte Messung von Systemgrößen - Identifikation von Systemen, z.B. in der Mustererkennung Man kann nach den oben genannten Schema mit minimalsten Aufwand mit guter Zuverlässigkeit Muster identifizieren. Dies spielt auch in der Überwachung von Prozessen eine große Rolle. - Verbesserung der Systemdynamik durch Steuerung und Regelung - Überwachung technischer Prozesse (Fuzzy-Supervision) Hier werden oft Prozesse die vorher oft "nach Erfahrung" reguliert wurden, in Fuzzy-Control umgesetzt. Meist kann dadurch das Systemverhalten deutlich optimiert werden. Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 23 4. Ein Beispiel in JAVA Die Aufgabe : Steuerung des Roboters durch den Raum. Dabei werden selbst gesetzte Hindernisse erkannt und umgangen. Eingangsgrößen: Abstand zum nächsten Hindernis, Auftreffwinkel in Grad Regeln : 9 Stück, mit UND verknüpft Ausgangsgrößen: Richtungsänderung in Grad Bedeutung der linguistischen Terme: NB NM NS Z PS PM PB Negative Big Negative Medium Negative Small Zero Positive Big Positive Medium Positive Small (international am geläufigsten linguistischen Terme) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 24 Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 25 5. Quellen: 1. Fuzzy Logic - Fuzzy Control (Kahlert / Frank) 2. Winfact 6 Demo, speziell das Tool FLOP von http://www.kahlert.de 3. Skript Neuronale Netze und Fuzzy- Control- Systeme (Prof. Jürgen Sauer) http://rfhs8012.fh-regensburg.de/~saj39122/ 4. JAVA-Applet der Robotersteuerung (neben rund 30 weiteren) http://rfhs8012.fh-regensburg.de/~saj39122/vhb/NN-Script/script/gen/k0301020302.html 5. Einführung in die Fuzzy-Methoden (Bandemer / Gottwald) 6. Fuzzy-Logic and Fuzzy-Control (Driankov / Eklund / Ralescu) Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 26 Zusatz (wegen Zeitmangels weggelassen) Aufbau eines Regelkreises Ziel: Die Anpassung des Sollwertes an den Istwert - Führungsgröße w (Sollwert) - von der Messeinrichtung gemessene Messwert x - Vergleicher (Differentiator) bestimmt die Abweichung xw=x-w - Steuer- und Regeleinrichtung berechnet daraus den Stellwert y - Störgrößen z beeinflussen diesen - Ausgangswert (Regelwert) - geht raus Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 27 Der Fuzzy-Controller im Regelkreis Fuzzy-Regelungssysteme weisen grundsätzlich die gleichen Strukturen auf, wie konventionelle Regelkreise Der Fuzzy-Controller besteht aus den Komponenten Fuzzifizierung, Interferenzmechanismus, Defuzzifizierung Fuzzy Control, Ronny Vorpahl, Stand 30.6.2002 28