Beispiel1: Erhöhung der Performance von Fuzzy-Reglern
Bild 0-1: Schema eines (Fuzzy-)Reglers.
Fuzzy-Regler bekommen letztendlich einen bestimmten Systemzustand übergeben und liefern einen konkreten Ausgang. Dies war in Regelungssysteme gut zu sehen an der C-Funktion, die das "Lüfter-Fuzzy-System" repräsentiert hat. Gerade wenn die verwendete Hardware relativ einfach ist, wie bei einem Mikrocontroller, dann hat man einerseits schnell ein Performanceproblem durch die aufwändigen Schwerpunktsberechnungen bei Fuzzy-Systemen. Andererseits liegen die Einangsgrößen aber oft sowieso in einem relativ groben Raster vor, so, dass eine Vorausberechnung aller möglichen Ausgangsgrößen auch vom verfügbaren Speicherplatz her möglich ist. In einem nicht zu großen Umfang kann es auch sinnvoll sein, die Eingangsgrößen künstlich zu rastern. In kritischen Bereichen könnte zudem das Raster verfeinert werden. Für das Beispiel des Hängependels wäre folgendes Konzept denkbar:
Entwurf für eine Rasterungsfunktion des Winkels Phi: f(-PI ..-1) = -1 f(-1 ..-0.4) = -0.6 f(-0.4..-0.2) = -0.3 f(-0.2..-0.1) = -0.15 f(-0.1.. 0.1) = 0.0 f( 0.1.. 0.2) = 0.15 f( 0.2.. 0.4) = 0.3 f( 0.4.. 1.0) = 0.6 f( 1 .. PI) = 1
Code 0-1: Einsatz eines Lookup-Tables, der einen Fuzzy-Regler repräsentiert.
Führt man für die Winkelgeschwindigkeit ein Raster mit gleicher Auflösung ein, so läßt sich ein Lookup-Table mit 9x9=81 Werten herstellen.
Bild 0-2: Schema einer Lookup-Tabelle.
Übung
|
|
Bild 0-3: Vereinfachtes Ausgangsfuzzy-Set mit Hilfe von Gewicht bildenden Stäben statt Flächen.