54
11.04.2011 1_CI2_Deckblatt_Fuzzy2 Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider Versuch: Fuzzy-Klimaregelung in MATLAB

Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

11.04.2011 1_CI2_Deckblatt_Fuzzy2

Praktikum Computational Intelligence 2 Ulrich Lehmann, Johannes Brenig, Michael Schneider

Versuch: Fuzzy-Klimaregelung in MATLAB

Page 2: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus
Page 3: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Inhaltsverzeichnis

I-3

Inhaltsverzeichnis

Release 11.04.2011 1_Fuzzy_P1_Schn9

I Fuzzy-Klimaregelung in MATLAB .......................................................................... I-5

I.1 Versuchsanleitung ......................................................................................................... I-5 I.1.1 Lernziele ......................................................................................................................... I-5 I.1.2 Aufgabenstellung Fuzzy-Klimaregelung ........................................................................ I-5 I.1.3 Versuchsdurchführung Fuzzy-Klimaregelung ............................................................... I-6 I.1.3.1 Struktur des Fuzzy-Reglers ........................................................................................... I-6 I.1.3.2 Membership-Funktionen ................................................................................................ I-7 I.1.3.3 Regelwerk ...................................................................................................................... I-9 I.1.3.4 Plausibilitätstest Regelwerk ......................................................................................... I-10 I.1.3.5 Validierung der Funktion des Fuzzy-Reglers mit gleitenden Eingangsgrößen ........... I-12 I.1.3.6 Einbindung des Fuzzy-Reglers in die reale Regelstrecke und Ergänzung der

Modellregelstrecke ....................................................................................................... I-16

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“ ....................................... I-20 I.2.1 Fuzzy-Control-Toolbox ................................................................................................ I-20 I.2.2 Simulink für Fuzzy Control ........................................................................................... I-32

Glossar ..................................................................................................................................... I-45

Abbildungsverzeichnis ...................................................................................................................... I-50

Sachwortverzeichnis ......................................................................................................................... I-51

Literaturverzeichnis ............................................................................................................................ 54

Page 4: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Inhaltsverzeichnis

I-4

Page 5: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.1 Versuchsanleitung

I-5

I Fuzzy-Klimaregelung in MATLAB

I.1 Versuchsanleitung

I.1.1 Lernziele

1. Einführung in die Entwicklungsumgebung MATLAB 2. Einführung in die Toolboxen Fuzzy- Logic und Simulink 3. Erlernen der notwendigen Schritte zur Erstellung eines

Fuzzy-Blocks in Simulink 4. Testen eines Fuzzy-Reglers durch Vorgabe der Inputs und

Visualisierung mit ruleview 5. Implementierung eines Fuzzy-Reglers in das Simulations-

modell einer realen Regelstrecke 6. Optimierung des Fuzzy-Reglers durch Modifikation der

Fuzzyfizierung und des Regelwerkes

I.1.2 Aufgabenstellung Fuzzy-Klimaregelung

Es soll die Innentemperatur eines Bürogebäudes unter Berücksichti-gung der Außentemperatur und Innentemperaturänderung mit einem Fuzzy-Regler konstant auf 20°C geregelt werden. Das zulässige Tole-ranzband beträgt +/-5%.

Page 6: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-6

I.1.3 Versuchsdurchführung Fuzzy-Klimaregelung

Es soll ein Fuzzy-Klimaregler vom Typ „Mamdani“ programmiert werden.

I.1.3.1 Struktur des Fuzzy-Reglers

• 2 Eingangsgrößen (T, dT/dt) • 1 Ausgangsgröße (y_heizen_kühlen) • Mamdani-Typ

Auswahl der Operatoren 1. And method: min (UND-Operator) Die Zugehörigkeitsfunktion der Schnittmenge zweier unscharfer Mengen à und B̃ ist punktweise definiert durch: µÃ∩B̃ (x) = min (µÃ(x), µB̃ (x)) 2. Or method: max (OR-Operator) Die Zugehörigkeitsfunktion der Vereinigungsmenge zweier unschar-fer Mengen à und B̃ ist definiert als: µÃUB̃ (x) = max (µÃ(x), µB̃ (x)) 3. Implikation: min Logische Operation "daraus folgt". Anm.: Die Implikation kann zur Auswertung von WENN-DANN-Regeln verwendet werden (die Weiterleitung des Ausgangswertes einer Regel auf die Lösungsmen-ge, z.B. mit Min oder Prod). 4. Aggregation: max Prämissenauswertung: Bestimmung des Zugehörigkeitsgrades der Prämisse einer linguistischen Regel durch Verknüpfung der Zugehö-rigkeitsgrade aller linguistischer Teilprämissen mittels Fuzzy-Operatoren (Zusammenfassung der Beiträge aller Regeln zum Aus-gangssignal i.a. mit Fuzzy OR), Synonym Aggregation 5. Defuzzyfikation: centroid (Flächenschwerpunkt) Berechnung des Flächenschwerpunkts der Fuzzy-Ergebnismenge. Diese Methode ist präzise, aber auch rechenintensiv. 6. Konklusion: Schlußfolgerung (DANN-Teil) einer linguistischen Regel. Anm.: Die Konklusion kann aus einer oder mehreren linguistischen Teilkonklu-sionen bestehen (Fuzzy-Systeme vom Mamdani-Typ) oder ein funk-tionaler Zusammenhang der Eingangsgrößen sein (Fuzzy-Systeme vom Takagi-Sugeno-Typ).

Page 7: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.1 Versuchsanleitung

I-7

Fuzzy-System vom Mamdani-Typ: Fuzzy-System, das linguistische Regeln mit einer oder mehreren linguistischen Teilkonklusionen verwendet Fuzzy-System vom Takagi-Sugeno-Typ: Fuzzy-System, das linguistische Regeln mit einem funktionalen Zu-sammenhang der Eingangsgrößen als Konklusion verwendet Um die Struktur einzugeben, starten Sie die Fuzzy-Toolbox, indem Sie im Command Window von MATLAB das Kommando >> fuzzy eingeben.

Abbildung I.1: Mit dem FIS-Editor können Membership-Funktionen und das Regelwerk für den Fuzzy-Regler erstellt werden.

I.1.3.2 Membership-Funktionen

Es soll eine Fuzzy-Klimaregelung für ein Bürogebäude implemen-tiert werden:

• Die gemessene Temperatur T im Klimaraum soll 5 Zugehö-rigkeitsfunktionen zugeordnet werden.

Page 8: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-8

• Die Temperaturänderung (dT/dt) soll über einen zweiten Eingang erfasst werden

• Die Ausgangsgröße y soll 4 Kühlstufen, 2 Heizstufen und eine Neutralstellung einstellen können

Die gemessene Temperatur soll 5 Zugehörigkeitsfunktionen "kalt", "kühl", "angenehm", "warm" und "heiß" zugeordnet werden. Der Zusammenhang Temperaturwert / Zugehörigkeitsfunktion wurden durch Befragung der Belegschaft ermittelt.

Abbildung I.2: Zugehörigkeitsfuntkionen der Temperatur T

Darüber hinaus soll die Tendenz der Änderung der Temperatur erfaßt und ausgewertet werden, um rechtzeitig gegensteuern zu können. Der Klimaexperte spricht von "es wird wärmer" bei einer Tempera-turänderung von > 1°C/h und "es wird kälter" bei > |-1°C/h|.

Abbildung I.3: Zugehörigkeitsfuntkionen der Temperaturänderung ∆T

Page 9: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.1 Versuchsanleitung

I-9

Die Klimaanlage ist stufenlos einstellbar. Der Betrieb erfordert die Zustände "stark kühlen", "kühlen", "leicht kühlen", "etwas kühlen", "nichts tun", "etwas heizen" und "heizen".

Abbildung I.4: Zugehörigkeitsfuntkionen der Ausgangsgröße y (küh-len/heizen)

I.1.3.3 Regelwerk

Ein Klimaexperte liefert Ihnen wichtige Regeln für die Funktion des Systems: Wenn es heiß ist und wärmer wird, dann stark kühlen. Wenn es warm ist und wärmer wird, dann kühlen. Wenn es unverändert warm ist, dann leicht kühlen. Wenn es unverändert kühl ist, dann nichts tun. Wenn es angenehm ist und kühler wird, dann nichts tun. Wenn es angenehm ist und wärmer wird, dann etwas kühlen. Wenn es kühl ist und kühler wird, dann etwas heizen. Wenn es unverändert kalt ist, dann heizen. Diese bereits bekannten Regeln lassen sich in einer Tabelle zur bes-seren Übersicht zusammenfassen: Die Regeln können untereinander aufgeschrieben werden. 1. WENN es heiß ist UND wärmer wird, DANN stark kühlen. 2. WENN es warm ist UND wärmer wird, kühlen. 3. WENN es unverändert warm ist, leicht kühlen. 4. WENN es unverändert kühl ist, nichts tun. 5. WENN es angenehm ist UND kühler wird, nichts tun. 6. WENN es angenehm ist UND wärmer wird, etwas kühlen. 7. WENN es kühl ist UND kühler wird, etwas heizen 8. WENN es unverändert kalt ist, heizen.

Page 10: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-10

Oder, noch besser, als Tabelle dargestellt werden:

Tabelle I.1: bekannte Fuzzy-Regeln des Klimaexperten

Füllen Sie Tabelle 1.1 mit den bekannten Regeln aus und ergänzen Sie die fehlenden Regeln sinnvoll. Geben Sie das Regelwerk in Ihr Modell ein. Wählen Sie bei der Er-stellung des Regelwerkes geeignete Operatoren zur Verknüpfung der Membership-Funktionen.

I.1.3.4 Plausibilitätstest Regelwerk

Lassen Sie sich danach die Regeln anzeigen (View->Rules). Sie soll-ten jetzt einen ersten Plausibilitätstest durchführen. Die beiden In-putwerte können mit dem Cursor im Wertebereich verschoben wer-den. Sie sehen für jede Regel Zeile 1 bis n die Teillösungsmenge in der rechten Spalte y_kühlen_heizen und unten rechts das Ergebnis der Defuzzyfizierung.

Page 11: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.1 Versuchsanleitung

I-11

Abbildung I.5: Visualisierung des Regelwerkes

Lassen Sie sich mit Surface-View das Kennfeld des Fuzzy-Reglers anzeigen und bewerten Sie dieses. Nichtdefinierte Bereiche werden je nach Entwicklungsumgebung durch sinnvolle Werte oder 0 belegt.

Abbildung I.6: Kennfeld des Fuzzy-Reglers

Page 12: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-12

Speichern Sie bitte Ihre Zwischenergebnisse auf einem geeigne-ten Medium unter dem Namen „fuzzy_PD_Klima_autor“!!!

I.1.3.5 Validierung der Funktion des Fuzzy-Reglers mit gleitenden Eingangsgrößen

Die Validierung des Fuzzy-Reglers erfolgt in Simulink. Exportieren Sie Ihr Fuzzy-Regelwerk in den Workspace von MATLAB. Starten

Sie Simulink und legen Sie ein neues Modell an. Im „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with Ruleviewer“ aus und legen diesen in Ihrem neuen Modell ab.

Abbildung I.7: Fuzzy Logic Controller with Ruleviewer in Simulink

Nach einem Doppelklick auf den Block öffnet sich ein neues Fenster, in welchem Sie die Eigenschaften des Blocks bearbeiten können. Geben Sie den Namen Ihrer FIS-Matrix im Workspace ein.

Page 13: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.1 Versuchsanleitung

I-13

Abbildung I.8: Eigenschaften des Fuzzy Logic Controller with Ruleviewer in Simulink

Prüfen Sie den Fuzzy-Regler auf Funktion, indem Sie sich ein einfa-ches Modell in Simulink erstellen. Die Außentemperatur soll zwi-schen 15°C und 25°C sinusförmig (Amplitude 5) über 24h variieren. Die Simulationszeit wird in Simulink in Sekunden angegeben. Die Temperaturänderung pro h ist die Ableitung der Temperatur. Dazu benötigen Sie ein D-Glied und den Umrechnungsfaktor Gain mit 3600s. Lassen Sie sich das Ergebnis auf dem Scope ausgeben. Für eine schnelle Simulation erhöhen Sie die Refresh rate auf z.B. 100s im Fuzzy-Block (Abb. 1.7). Wählen Sie die Simulationsdauer 24x3600s (=1 Tag). Geben Sie in Simulink unter Simulation>Configuration Parameters bitte Fixed-Step mit einer Schrittweite von 1s ein.

Page 14: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-14

Abbildung I.9: Einfaches Modell in Simulink zur Validierung des Fuzzyreglers bevor er im richtigen Simulationsmo-dell getestet wird.

Funktioniert der Fuzzy-Regler an den Bandgrenzen für Input T und dT/dt korrekt?

Page 15: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.1 Versuchsanleitung

I-15

Abbildung I.10: Eigenschaften des Sinus-Blocks für die Tempera-turänderung

-1

Page 16: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-16

I.1.3.6 Einbindung des Fuzzy-Reglers in die reale Regelstrecke und Ergänzung der Modellregelstrecke

Nun soll der zuvor entwickelte Fuzzy-Regler in die gegebene reale Regelstrecke der Klimaregelung eingbaut werden. Speichern Sie das Simulink-Modell von der Praktikumshomepage auf ein geeignetes Medium (z.B. USB-Stick, Festplatte, o.ä.) und starten es in Simulink. Speichern Sie Ihren Workspace auf einem geeigneten Medium.

Abbildung I.11: Simulink-Modell der Regelstrecke der Klimarege-lung

Geben Sie die nichtlineare Kennlinie des Kühl-Heiz-Gerätes in die Lookup-Table ein. Sie können die Werte jedoch auch in einer Vari-ablen im Workspace ablegen und diese in die Lookup-Table laden.

Page 17: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.1 Versuchsanleitung

I-17

Abbildung I.12: nichtlineare Kennlinie

Tabelle I.2: Funktionswerte zur nichtlinearen Kennlinie

x-Achse y-Achse -8 -1,00 -7 -0,95 -6 -0,9 -5 -0,83 -4 -0,73 -3 -0,62 -2 -0,48 -1 -0,29 0 0 1 0,5 2 0,8 3 0,92 4 0,97 5 1,00

Erstellen Sie sich 2 Variablen im Workspace: Inputvalues für die Werte der x-Achse Tabledata für die Werte y-Achse

Page 18: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-18

Abbildung I.13: Eigenschaften des Blocks Lookup-Table

Tragen Sie die Variablen gemäß Abb. 1.12 in die Lookup-Table ein. Sollte ein Fehler auftreten, sollten Sie das Format des Vektors über-prüfen, da es sein kann, dass Sie diesen noch transponieren müssen. Verändern Sie das Modell der Regelstrecke so, dass der Fuzzy-Klimaregler das Modell regelt und ein geschlossener Regelkreis ent-steht. Benötigte Komponenten: 1. D-Glied mit Verzögerung (D-T1-Glied) Da die Tendenz der Temperatur (Temperaturänderung nach der Zeit: dT/dt) als Eingangssignal verarbeitet werden muss, ist es erforder-lich, dieses Signal durch Differentiation aus dem Signal Temperatur zu erzeugen. Die Temperatur kann einfach aus dem Prozessmodell (am Ausgang) abgegriffen werden. Wegen der festen Zeitdarstellung in s im Simulationssystem muss der Wert für die Einheit 1°C/h durch Multiplikation mit 3600 umgerechnet werden. D.h. eine konstante Temperaturänderung von 1°C/s entspricht einer Temperaturänderung von 3600 °C/h. Das D-T1-Glied wird als Laplace-Übertragungsfunktion angegeben:

Die Verzögerung 1. Ordnung (unter dem Bruchstrich) entspricht einem Tiefpassfilter mit der sehr niedrigen Grenzfrequenz von

Page 19: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.1 Versuchsanleitung

I-19

f = ω/2π = 1/(360 • 2 π) = 4,42321E-06 Hz. Dies ist erforderlich, damit durch die Ableitung der Temperatur keine Störsignale erzeugt werden. 2. Begrenzung [engl. saturation] Dieser Block begrenzt bei Bedarf die Eingangsgrößen in den Fuzzy-Regler, damit sich die Eingänge in den Fuzzy-Regler immer im defi-nierten Arbeitsbereich des Fuzzy-Reglers befinden. Befinden sich die Werte im nichtdefinierten Bereich des Reglers, liefert der Fuzzy-Regler keine korrekte Ausgangsgröße. Falls Sie diesen Block ver-wenden, achten Sie bitte auf die richtige Parametrisierung!

3. Fuzzy Logic Controller with Ruleviewer Dieser Block wurde zu Beginn des Praktikums entwickelt.

Bauen Sie diese Blöcke in das Simulationsmodell ein und konfigu-rieren diese entsprechend. Wenn Sie Ihr Modell aufgebaut haben, starten Sie die Simulation und werten Sie die Ergebnisse im Scope aus. Regelt der Fuzzy-Regler auf die Zieltemperatur? Falls nicht, optimieren Sie den Regler so, wie Sie es in der Vorlesung gehört haben. Versuchen Sie die Ziel-temperatur möglichst rasch zu erreichen und konstant zu regeln. Be-achten Sie bitte, dass Sie nicht die Regelstrecke verändern können, denn diese ist ein Modell der Realität und deshalb unveränderbar. Sie können also nur am Regler eine Optimierung vornehmen. Das zuläs-sige Toleranzband ist a = +/-5%. Die Regelgröße x = Temperatur soll so schnell wie möglich das Toleranzband erreichen.

Page 20: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-20

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I.2.1 Fuzzy-Control-Toolbox

Im Folgenden sind die PPT-Folien, die für die Anleitung der Studie-renden im Praktikum während der Veranstaltung gezeigt werden, dargestellt. Die aktuelle Version der PPT-Folien mit Notizen ist im Intranet unter Lehmann/Download/Computational Intelligence 2-Praktikum zu finden.

Page 21: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-21

Page 22: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-22

Page 23: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-23

Page 24: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-24

Page 25: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-25

Page 26: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-26

Page 27: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-27

Page 28: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-28

Page 29: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-29

Page 30: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-30

Page 31: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-31

Page 32: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-32

I.2.2 Simulink für Fuzzy Control

Page 33: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-33

Page 34: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-34

Page 35: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-35

Page 36: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-36

Page 37: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-37

Page 38: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-38

Page 39: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-39

Page 40: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-40

Page 41: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-41

Page 42: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-42

Page 43: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I.2 Online-Anleitung für das Praktikum „Fuzzy-Klimaregelung“

I-43

Page 44: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

I Fuzzy-Klimaregelung in MATLAB

I-44

Page 45: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Glossar

I-45

Glossar

MATLAB MATLAB ist eine Sprache zur Programmierung technisch-wissenschaftlicher Probleme, die es weitgehend erlaubt, diese und die zugehörigen Lösungen in der vertrauten mathematischen Notati-on auszudrücken. MATLAB ist Matrix-orientiert und erlaubt es, Probleme der Linearen Algebra in kompakter Form zu formulieren und zu lösen. MATLAB -Programme bestehen aus einer Folge von Anweisungen. Diese können interaktiv eingegeben werden. MATLAB stellt dazu nach dem Aufruf ein spezielles Fenster, das MATLAB Command Window zur Verfügung, in das man über die Tastatur Anweisungen eingibt. MATLAB liefert in der Regel zu jeder Eingabe eine Antwort, was man durch ein Semikolon am Ende der Eingabe verhindern kann. Man kann MATLAB -Programme auch im Stapelbetrieb ablaufen lassen, d.h. man schreibt alle Anwei-sungen eines MATLAB-Programmes in eine Datei, M-File genannt, und lässt dann das gesamte Programm in dieser Datei ausführen. Der Start wird durch Eingabe des Dateinamens im interaktiven Betrieb veranlaßt. Mischformen aus interaktivem und Stapelbetrieb sind möglich. Der interaktive Betrieb ist für kurze Programme sinnvoll, der Stapelbetrieb empfiehlt sich für kompliziertere Anweisungsfol-gen. Simulink Simulink ist ein Programm zur Lösung linearer und nichtlinearer Differentialgleichungen, die das Verhalten physikalischer dynami-scher Systeme durch ihre mathematischen Modelle beschreiben. Dazu besitzt Simulink eine graphische und blockorientierte Oberflä-che, mit deren Hilfe die Gleichungen in Form von (Übertragungs-) Blöcken wie bei einem Wirkungsplan eingegeben und dargestellt werden. Eine große Anzahl an vordefinierten Blöcken sind in soge-nannten Bibliotheken zusammengefasst. Mit Hilfe der Maus können die Blöcke auf die Arbeitsfläche gezogen und anschließend paramet-riert werden. Workspace Alle im Command Window verwendeten Variablen werden automa-tisch im sogenannten Workspace gespeichert. Im gleichnamigen Fenster werden Größe und Typ der verwendeten Variablen ange-zeigt. Durch Doppelklick auf die Variablen lassen sich deren Inhalt und Eigenschaften anzeigen und verändern. Der gesamte Workspace kann gespeichert und dann auch wieder geladen werden. Von Simulink aus können Variablen mit dem Block „To Workspace“ in den Workspace geschrieben und mit dem Block „From Workspace“ aus dem Workspace geladen. Die Parametrierung der Simulink-Blöcke kann über Variablen im Workspace geschehen.

Page 46: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Glossar

I-46

Toolbox In den sogenannten Toolboxen werden bereits entwickelte Algorith-men nach Themengebieten geordnet angeboten. Mit MATLAB kön-nen die bestehenden Algorithmen weiterentwickelt oder eigene ent-wickelt werden. Es existieren Toolboxen z. B. für Künstlich Neuro-nale Netze (nntool), Fuzzy Logic (fuzzy), Evolutionäre bzw. geneti-sche Algorithmen (gatool), Bildverarbeitung, Signalverarbeitung, Identifikation, Reglerentwurf aber auch für Statistik, Optimierung, .... Die Liste ist sehr umfangreich und wächst ständig. Saturation (Sättigung) Der Sättigungsblock zwingt einem Signal eine obere und untere Grenze auf. Befindet sich das Inputsignal zwischen der oberen und unteren Grenze, geht das Signal unverändert durch den Block. Be-findet sich das Inputsignal außerhalb dieser Grenzen, wird es auf die obere oder untere Grenze gesetzt. Sind die Werte der oberen und unteren Grenze identisch, wird dieser Wert vom Block ausgegeben. Ruleviewer Mit dem Simulink-Block „Fuzzy Logic Controller with Ruleviewer“ kann ein Fuzzy Inferenz System (FIS) implementiert werden, mit welchem die Regeln während der Simulation betrachtet werden kön-nen. Transponieren Es gibt verschiedene Möglichkeiten eine Matrize zu transponieren: >> a = transpose( b ) Oder >> a = b’ Transfer Fcn Der Block „Transfer Fcn“ entspricht einem linearen, zeitinvarianten (LTI-) System. Dieses kann als Modell einer physikalischen Strecke betrachtet werden. Eine typische Aufgabe der Regelungstechnik ist es, das Übertragungsverhalten einer solchen Strecke je nach Wunsch oder Vorgabe zu verändern bzw. zu verbessern. Wichtige Ziele sind hierbei oft eine schnelle Dynamik sowie stationäre Genauigkeit des geregelten Systems. And method: min (UND-Operator) Die Zugehörigkeitsfunktion der Schnittmenge zweier unscharfer Mengen à und B̃ ist punktweise definiert durch: µÃ∩B̃ (x) = min (µÃ(x), µB̃ (x)) Or method: max (OR-Operator) Die Zugehörigkeitsfunktion der Vereinigungsmenge zweier unschar-fer Mengen à und B̃ ist definiert als: µÃUB̃ (x) = max (µÃ(x), µB̃ (x))

Page 47: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Glossar

I-47

Implikation: min Logische Operation "daraus folgt". Anm.: Die Implikation kann zur Auswertung von WENN-DANN-Regeln verwendet werden (die Weiterleitung des Ausgangswertes einer Regel auf die Lösungsmen-ge, z.B. mit Min oder Prod). Aggregation: max Prämissenauswertung: Bestimmung des Zugehörigkeitsgrades der Prämisse einer linguistischen Regel durch Verknüpfung der Zugehö-rigkeitsgrade aller linguistischer Teilprämissen mittels Fuzzy-Operatoren (Zusammenfassung der Beiträge aller Regeln zum Aus-gangssignal i.a. mit Fuzzy OR), Synonym Aggregation Defuzzyfikation: centroid (Flächenschwerpunkt) Berechnung des Flächenschwerpunkts der Fuzzy-Ergebnismenge. Diese Methode ist präzise, aber auch rechenintensiv. Konklusion: Schlußfolgerung (DANN-Teil) einer linguistischen Regel. Anm.: Die Konklusion kann aus einer oder mehreren linguistischen Teilkonklu-sionen bestehen (Fuzzy-Systeme vom Mamdani-Typ) oder ein funk-tionaler Zusammenhang der Eingangsgrößen sein (Fuzzy-Systeme vom Takagi-Sugeno-Typ). Fuzzy-Block: Mit einem Fuzzy-Block kann man den Fuzzy-Regler aus dem Workspace zur Simulation in Simulink nutzen. Fuzzy-Regler: Ein Fuzzy-Regler ist im Allgemeinen ein nichtlinearer Regler, wel-cher durch Anwendung von Methoden der Fuzzy-Logik dimensio-niert wird. Input: Mit dem Input wird die Eingabe in den Fuzzy-Regler bezeichnet. Implementierung: Mit Implementierung ist das Einfügen eines neu entwickelten Sys-tems oder Softwareteils in ein bestehendes System, das dadurch er-gänzt wird, gemeint. Fuzzyfizierung: Fuzzyfizierung ist die Umwandlung einer numerischen Größe in Zugehörigkeitsgrade zu linguistischen Termen einer linguistischen Variablen.

Page 48: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Glossar

I-48

Regelwerk: Regelwerk, auch Regelbasis genannt, ist die Gesamtheit der linguis-tischen Regeln, die das vorhandene Wissen zum Erreichen bestimm-ter Ziele beschreiben. Toleranzband: Unter Toleranzband wird der Toleranzbereich verstanden, in den der Fuzzy-Regler die Regelstrecke regeln soll. Mamdani: Ein Fuzzy-System vom Mamdani-Typ ist ein Fuzzy-System, das linguistische Regeln mit einer oder mehreren linguistischen Teilkon-klusionen verwendet. Command Window: Im Command Window von Matlab können Kommandos direkt ein-gegeben werden und es wird sofort das Ergebnis angezeigt. FIS-Editor: Der FIS-Editor wird über das Command Window in Matlab mit dem Kommando >>fuzzy aufgerufen. Im FIS-Editor können die Mem-bership Funktionen und das Regelwerk für den Fuzzy-Regler erstellt werden. Membership-Funktion: Die Membership Funktion wird auch Zugehörigkeitsfunktion ge-nannt. Sie ist eine Funktion, die jedem Element x aus dem im Allge-meinen numerischen Grundbereich einen Zugehörigkeitsgrad zu einer Fuzzy-Menge µ(x) zuordnet. Operator: Ein Fuzzy-Logik-Operator ist ein Operator, der in der Fuzzy-Logik zur Verknüpfung oder Modifikation von Fuzzy-Mengen verwendet wird (z.B. UND, ODER, NICHT). Plausibilitätstest: Mit einem Plausibilitätstest soll der Fuzzy-Regler auf einfache Art und Weise kontrolliert auf korrekte Dimensionierung getestet wirden. Surface-View: Mit dem Surface-View kann im FIS-Editor das Regelwerk 3-dimensional dargestellt werden. Validierung: Unter Validierung wird die Prüfung eines Lösungsansatzes in Bezug auf das zu lösende Problem genannt.

Page 49: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Glossar

I-49

Simulink Library Browser: Im Simulink Library Browser sind Standardblöcke zur Modellbil-dung in Simulink abgelegt. Scope: Mit dem Scope können Signale auf dem Bildschirm angezeigt wer-den. Refresh rate: Die Refresh rate gibt die Aktualisierungsrate im rule view des Fuzzy-Blocks an. Eine höhere Rate bedeutet, dass die Anzeige der Rules nicht so oft aktualisiert wird, wie bei einer geringeren Refresh rate. Die Simulationsgeschwindigkeit kann somit erhöht werden. Lookup-Table: Mit einer Lookup-Table können (nichtlineare) Kennlinien aufgrund gemessener Wertepaare in ein Simulink-Modell eingebaut werden.

Page 50: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Abbildungsverzeichnis

I-50

Abbildungsverzeichnis

Abbildung I.1: Mit dem FIS-Editor können Membership-Funktionen und das Regelwerk für den Fuzzy-Regler erstellt werden. .................................. I-7

Abbildung I.2: Zugehörigkeitsfuntkionen der Temperatur T .......... I-8 Abbildung I.3: Zugehörigkeitsfuntkionen der

Temperaturänderung ∆T .......................................... I-8 Abbildung I.4: Zugehörigkeitsfuntkionen der

Ausgangsgröße y (kühlen/heizen) ........................... I-9 Abbildung I.5: Visualisierung des Regelwerkes ............................ I-11 Abbildung I.6: Kennfeld des Fuzzy-Reglers.................................. I-11 Abbildung I.7: Fuzzy Logic Controller with Ruleviewer Abbildung I.8: Eigenschaften des Fuzzy Logic Controller

with Ruleviewer Abbildung I.9: Einfaches Modell in Simulink zur

Validierung Abbildung I.10: Eigenschaften des Sinus-Blocks für die

Temperaturänderung ......................................... I-15 Abbildung I.11: Simulinkmodell der Regelstrecke der

Klimaregelung ................................................... I-16 Abbildung I.12: nichtlineare Kennlinie ...................................... I-17 Abbildung I.13: Eigenschaften des Blocks lookup Table ........... I-18 Abbildung I.14: geschlossener Regelkreis mit Fuzzy-

Klimaregler.... Fehler! Textmarke nicht definiert.

Page 51: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Sachwortverzeichnis

I-51

Sachwortverzeichnis

Aggregation ....................................................................................... I-6, I-48 And method ....................................................................................... I-6, I-47 Ausgangsgröße ..................................................................... I-6, I-8, I-9, I-19 Außentemperatur ...................................................................................... I-13 Begrenzung .............................................................................................. I-19 Command Window ................................................................... I-7, I-46, I-49 Defuzzyfikation ................................................................................. I-6, I-48 Defuzzyfizierung ...................................................................................... I-10 FIS-Editor .......................................................................................... I-7, I-49 Fuzzy .......... I-5, I-6, I-7, I-10, I-11, I-12, I-13, I-14, I-16, I-18,

I-19, I-20, I-21, I-33, I-47, I-48, I-49, I-50, I-54 Fuzzy-Block .................................................................................... I-13, I-48 Fuzzyfizierung ................................................................................... I-5, I-48 Fuzzy-Klimaregelung ........................................................... I-5, I-6, I-7, I-21 Fuzzy-Klimaregler .................................................................... I-6, I-18, I-20 Fuzzy-Regler .................................... I-5, I-7, I-13, I-14, I-16, I-19, I-48, I-49 Fuzzy-Reglers.................................................... I-5, I-6, I-11, I-12, I-16, I-19 Fuzzy-System .................................................................................... I-7, I-49 Fuzzy-Toolbox ........................................................................................... I-7 Implementierung ............................................................................... I-5, I-48 Implikation ........................................................................................ I-6, I-48 Input ................................................................................................ I-14, I-48 Konklusion .................................................................................. I-6, I-7, I-48 linguistische ....................................................................................... I-7, I-49 Lookup Table .......................................................................... I-16, I-18, I-50 Lookup-Table ........................................................................................... I-16 Mamdani ............................................................................ I-6, I-7, I-48, I-49 MATLAB .......................................................... I-5, I-7, I-12, I-46, I-47, I-54 Membership-Funktion .............................................................................. I-49 Membership-Funktionen ................................................................... I-7, I-10 nichtlineare Kennlinie ..................................................................... I-16, I-17 nichtlinearen Kennlinie ............................................................................ I-17 Online-Anleitung ...................................................................................... I-21 Operator ..................................................................................... I-6, I-47, I-49 Or method .......................................................................................... I-6, I-47 OR-Operator ............................................................................................. I-47

Page 52: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Sachwortverzeichnis

I-52

Plausibilitätstest ......................................................................... I-3, I-10, I-49 Prämissenauswertung ........................................................................ I-6, I-48 Prozessmodell .......................................................................................... I-18 Refresh rate ......................................................................................I-13, I-50 Regelkreis .........................................................................................I-18, I-20 Regeln ........................................................ I-6, I-7, I-9, I-10, I-47, I-48, I-49 Regelwerk .................................................................. I-7, I-9, I-10, I-12, I-49 Ruleviewer ............................................................. I-12, I-13, I-19, I-47, I-51 Sättigung .................................................................................................. I-47 saturation .................................................................................................. I-19 Saturation ................................................................................................. I-47 Scope ....................................................................................... I-13, I-19, I-50 Simulink ............... I-5, I-12, I-13, I-14, I-16, I-33, I-46, I-47, I-48, I-50, I-54 Simulink Library Browser ................................................................I-12, I-50 Surface-View ....................................................................................I-11, I-49 Takagi-Sugeno ............................................................................ I-6, I-7, I-48 Temperaturänderung ......................................... I-7, I-8, I-13, I-15, I-16, I-18 Toleranzband ............................................................................. I-5, I-19, I-49 Toolbox ............................................................................ I-3, I-12, I-21, I-47 Transfer Fcn ............................................................................................. I-47 Transponieren ........................................................................................... I-47 UND-Operator .......................................................................................... I-47 Validierung ............................................................... I-3, I-12, I-14, I-49, I-51 Vereinigungsmenge ........................................................................... I-6, I-47 Workspace .............................................................. I-12, I-16, I-17, I-46, I-48 Zugehörigkeitsfunktion ...................................................... I-6, I-8, I-47, I-49 Zugehörigkeitsfuntkionen ................................................................... I-8, I-9

Page 53: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Sachwortverzeichnis

I-53

Page 54: Praktikum Computational Intelligence 2 - FH-SWF Home · „Simulink Library Browser“ wählen Sie in der „Fuzzy Logic Tool-box“ den Block „Fuzzy Logic Controller with “ aus

Literaturverzeichnis

54

Literaturverzeichnis

MATLAB in Simulink I-12 Hilfe K. Taubert, W. Wiedl: MATLAB in Simulink I-13 Einführung http://www1.uni-hamburg.de/W.Wiedl/Skripte/Matlab/ K. Taubert, W. Wiedl: Simulink des Fuzzyreglers bevor er im richtigen Simulationsmodell getestet wird. I-14 Einführung http://www1.uni-hamburg.de/W.Wiedl/Skripte/Simulink/ D. Abel: Kurzeinführung in Matlab/Simulink/Stateflow. RWTH Aachen, Version 2.6 vom 5.02.2007 J. Kahlert: Fuzzy Control für Ingenieure ISBN 3-528-05460-3 www.kahlert.com U. Lehmann: Downloads CI2 und Systemtechnik http://www3.fh-swf.de/fbin/lehmann/downloads_ci2-v.htm E-Learning Systemtechnik: http://e-learning-cv-ci.fh-swf.de/ Schlüsselwort: Systemtechnik VDI/VDE 3550 Blatt 2: Computational Intelligence, Fuzzy Logik und Fuzzy Control; Begriffe und Definitionen; Oktober 2002