Fuzzyregelung

laufkatze1

Laufkatzenmodell

Die meisten Systeme zur Regelung von Maschinen oder Anlagen beschreiten folgenden Weg: Zunächst wird ein möglichst präzises Modell – z. B. in Form von Differenzialgleichungen – entwickelt; darauf basierend wird ein Algorithmus für die Regelung entworfen. Das Problem ist: Derartige Modellierungen anzufertigen ist meist sehr schwierig und kostet auch viel Zeit.

Fuzzyregelung verfolgt einen anderen Ansatz. Um diesen zu verdeutlichen, betrachten wir ein einfaches Beispiel: Eine Last soll vom Waggon (W) auf den Truck (T) befördert werden; ein Kranführer muss sie dazu leicht anheben und den Wagen L der Laufkatze nach rechts in Bewegung setzen. Meist gerät die Last dabei ins Pendeln, und es erfordert sehr viel Geschick, sie über dem Truck zur Ruhe kommen zu lassen, so dass sie dort schließlich abgesetzt werden kann.

Wir interessieren uns nun für die Kontrolle des Wagens L der Laufkatze. Wenn wir die Pendelbewegung außer Acht lassen, könnte eine Kurzanweisung für dessen Bedienung folgendermaßen lauten:

WENN Position = fern,  DANN Kraft = rechts
WENN Position = am Ziel, DANN Kraft = null
WENN Position = zu weit, DANN Kraft = links

Die Begriffe „fern“, „rechts“, „am Ziel“ u.s.w. sind dabei als Begriffe der Umgangssprache nicht präzise gefasst. Menschen können mit solchen unscharfen Begriffen sehr gut umgehen, sie entsprechen viel mehr der natürlichen Sprache. Daher können sie solche Regelwerke wie oben auch recht leicht zusammenstellen und im Rahmen einer manuellen Steuerung auch umsetzen.

Computer tun sich damit schwer. An dieser Stelle kommen die von Lotfi Zadeh eingeführten Fuzzymengen ins Spiel; diese erfassen unpräzisen Begriffe der Umgangssprache wie den Begriff „fern“ mitsamt ihrer Unschärfe in Form von sogenannten Zugehörigkeitsfunktionen.

Regeln mit Fuzzy - erschienen beim Klett-Verlag

Regeln mit Fuzzy,
erschienen beim Klett-Verlag

Was man genau unter diesen Fuzzymengen versteht und wie man damit umgangssprachlich formulierte Regelwerke von Computerprogrammen umsetzen lassen kann, das habe ich in meinem Buch „Regeln mit Fuzzy“ dargestellt. Dieses Buch setzt nur Kenntnisse voraus, wie sie z. B. in der Sekundarstufe I an einem Gymnasium oder auch an einer Realschule vermittelt werden. Wesentlicher Bestandteil des Buches ist eine speziell für den Einsatz an Schulen ausgelegte Fuzzy-Entwicklungsumgebung, mit der man eigene Regelungsprojekte erstellen und an Simulationsexperimenten testen kann.

Inzwischen ist das Buch leider nicht mehr erhältlich. Deswegen biete ich es hier (in einer neuen und erweiterten Version) zum Download an. Dieses Angebot erfolgt mit freundlicher Genehmigung durch den Klett-Verlag. An dieser Stelle herzlichen Dank dafür!

Regeln mit Fuzzy (Skript)

Neben den im Fuzzy-Programm bereits integrierten Simulationen für das invertierte Pendel und die Laufkatze gibt es weitere Simulationsprogramme:

  • Wippe: Eine Kugel liegt an einem Ende einer Wippe und muss durch Ändern der Neigung möglichst rasch am Drehpunkt zum Stehen gebracht werden.
  • Mondlandung: Eine Mondfähre soll durch Steuerung der Abbrandgeschwindigkeit des Raketenantriebs sanft auf dem Mond gelandet werden.
  • Rangieren: Ein LKW soll durch Steuerung des Lenkers rückwärts an eine Laderampe gefahren werden.
  • Lokomotive: Eine Lokomotive (OHNE Bremse) soll durch Steuerung der Antriebskraft an einem Halteschild zum Stehen kommen.

Wie schon beim invertierten Pendel und der Laufkatze kann die Steuerung per Handbetrieb als auch durch Fuzzy-Regelung erfolgen.

Simulation einer Mondlandung

Dass nicht nur simulierte, sondern auch reale Experimente mit dieser Entwicklungsumgebung geregelt werden können, zeigt das folgende Video; hier wird ein invertiertes (umgedrehtes) Pendel von einem kleinen motorisierten Fahrzeug balanciert.

 

Neue Versionen

Die im Buch benutzte Software war ursprünglich für Windows 3.11 (16 Bit) programmiert worden. Seitdem habe ich immer wieder Upgrades hergestellt; diese waren dann auf Windows-Systemen mit 32 Bit bzw. 64 Bit wieder lauffähig. Dabei mussten da und dort jedoch Abstriche gemacht werden;  insbesondere war eine 3D-Darstellung für die Stellwerte nicht mehr mit der bislang benutzten Komponente möglich.

Vor einiger Zeit hat Herr Horst Dieter Kassl dankenswerterweise das Programm Fuzzy2 noch einmal überarbeitet. In dieser neuen Version Fuzzy3 steht jetzt auch wieder die 3D-Grafik für den Stellwert zur Verfügung.

Download: Fuzzy-Entwicklungsumgebung (Fuzzy3)

Inzwischen habe ich Zeit gefunden, mein Programm Fuzzy2 zu überarbeiten; bei dieser neuen Version Fuzzy2.1 (Nov. 2024) besteht nun auch wieder die Möglichkeit, die Stellwerte in einer 3D-Grafik darstellen zu lassen. Dies wird ermöglicht, indem per Knopfdruck eine EXCEL-Tabelle mit den entsprechenden Stellwerten erzeugt wird. Der Anwender kann nun damit ein zugehöriges 3D-Diagramm in wenigen Schritten nach eigenen Wünschen erstellen.

Hier können Sie das aktuelle Fuzzy-Entwicklungsprogramm, inkl. Simulationsprogrammen und Projektdateien herunterladen:

Download: Fuzzy2.1