Was ist Fuzzy-Logik?
Fuzzy-Logik klingt vielleicht nicht nach dem zuverlässigsten Mittel zur Implementierung eines komplexen Steuersystems. Die Fähigkeit von Fuzzy-Logic-Systemen, mit ungenauen Daten zu arbeiten und die Erfahrung von Experten zu implementieren, macht es jedoch zu einem leistungsstarken Werkzeug in modernen Steuerungsanwendungen.
Ein Überblick über Fuzzy-Logik
Fuzzy-Logik, eine 1965 von Lofti Zada entwickelte Unterteilung der KI (künstliche Intelligenz), ermöglicht es einem Computersystem, nachzuahmen, wie Menschen Daten interpretieren und mit ihnen interagieren. Während die Boolesche Logik auf zwei Ergebnisse beschränkt ist (Wahr oder Falsch, 0 oder 1), befasst sich die Fuzzy-Logik mit Wahrheitsgraden.
Betrachten Sie als Beispiel ein Bildverarbeitungssystem, das es einem autonomen Robotersystem ermöglicht, durch eine geschäftige Lagerhalle zu navigieren. Wir würden sehen, wie sich eine Tür zu unserem rechten Schwung schnell öffnet und wissen, dass wahrscheinlich ein Hindernis auftauchen wird. Aber die boolesche Logik befasst sich nicht mit „wahrscheinlich“ – sie befasst sich mit „ein Hindernis wird bald erscheinen“ und „ein Hindernis wird nicht erscheinen“.
Mit der Fuzzy-Logik können Eingaben wie die Geschwindigkeit, mit der die Tür geöffnet wurde (dh sehr langsam, langsam, durchschnittlich, schnell, sehr schnell), wo sich die Tür befindet, und die Tageszeit in die Wahrscheinlichkeit transformiert werden, dass ein Hindernis steht kurz vor dem Erscheinen (zB 0,8).
Die Grundlagen der Fuzzy-Logik
In einem Fuzzy-Logik-System gibt es drei verschiedene Arten von Werten:
- Eingabewerte, die in Form von knackigen Zahlenwerten vorliegen (z. B. T =120°C)
- Unscharfe Werte, die die Wahrscheinlichkeit darstellen, dass ein scharfer Wert in eine Reihe von linguistisch repräsentierten Kategorien fällt (z. B. Niedrig =0,2, Normal =0,8, Hoch =0,0)
- Ausgabewerte, die defuzzifiziert und scharf sind (Priorität =0.7)
Ein Fuzzy-Logik-System besteht aus vier Teilen:
- Fuzzifizierungsmodul
- Wissensdatenbank
- Inferenz-Engine
- Defuzzifizierungsmodul
Das Fuzzifizierungsmodul empfängt Systemeingaben in Form von scharfen (im Gegensatz zu unscharfen) Zahlenwerten. Das Eingangssignal mit scharfem Wert wird in einen Satz von Kategorien unterteilt, die normalerweise durch linguistische Werte dargestellt werden (z. B. kalt, warm, heiß).
Abbildung 1. Ein Diagramm mit drei Zugehörigkeitsfunktionen, die schlecht, gut und ausgezeichnet darstellen. Bild mit freundlicher Genehmigung von Mathworks
Der Fuzzy-Wert für jede Kategorie ist die Wahrscheinlichkeit, dass der scharfe Wert in sie fällt. Fuzzy-Werte können auch als „Grad der Wahrheit“ betrachtet werden:Ein Auto, das mit 95 mph fährt, könnte „schnell mit einem Wahrheitsgrad von 0,75 fahren“. Der eigentliche Fuzzifizierungsprozess wird durch eine Reihe von Zugehörigkeitsfunktionen erreicht, wobei die gebräuchlichsten dreieckig, trapezförmig, guassianisch oder sigmoid sind.
Die Wissensbasis enthält eine Reihe von Wenn-Dann-Regeln, die auf menschlichem Denken basieren und von einem Experten auf dem Gebiet informiert wurden. Hier ist ein Beispiel, wie das aussehen kann:
- WENN Temp hoch UND Geschwindigkeit niedrig ist DANN Alert_Level =Moderat
- WENN Temp hoch ist UND Geschwindigkeit sehr_hoch ist DANN Alert_Level =Niedrig
- WENN die Geschwindigkeit niedrig ist UND die Temperatur hoch ist ODER die Beschleunigung HOCH ist, dann Alert_Level =High
Die Inferenz-Engine verwendet die Regeln der Wissensdatenbank auf die Fuzzy-Werte auf ähnliche Weise, wie es ein menschlicher Fachexperte tun würde. Das Ergebnis ist ein weiterer Fuzzy-Wert und in diesem Fall.
Schließlich wandelt das Defuzzifizierungsmodul die Ausgabe der Inferenzmaschine in einen scharfen Wert um, ähnlich einer Umkehrung des Fuzzifizierungsmoduls. In diesem Beispiel könnte die Warnstufe 0,8 betragen, was den Technikern hilft, vorbeugende Wartungsaufgaben zu priorisieren.
Verwendung von Fuzzy-Logik
Fuzzy-Logik ist weit verbreitet und viele Menschen profitieren von ihren Fähigkeiten, ohne es zu merken. Die Verarbeitung natürlicher Sprache, bei der Sprachbefehle verwendet werden, um mit Objekten zu interagieren, ist ein Bereich, in dem Fuzzy-Logik angewendet wird. Bei der Verarbeitung natürlicher Sprache herrscht ein gewisses Maß an Unsicherheit darüber, was eine Person sagt. Dennoch kann Fuzzy-Logik mit solchen verrauschten oder ungenauen Daten umgehen, um das Gesagte mit hoher Genauigkeit zu interpretieren.
Abbildung 2. Fuzzy-Logik und neuronale Netze können verschiedene Regionen in Satellitenbildern identifizieren, einschließlich Offshore-Ölanlagen.
Ingenieure verwenden Fuzzy-Logik als Teil ihres Systems zur Entscheidungsunterstützung und finden sie integriert in Marketing und Werbung. Darüber hinaus können Fuzzy-Logik-Systeme mit neuronalen Netzen als Teil von Bildverarbeitungssystemen kombiniert werden, um eine mögliche Unterscheidung zwischen Ackerland, städtischen Gebieten, Wäldern und Wasser in Satellitenbildern zu identifizieren.
Ein Bereich, in dem Fuzzy-Logik jedoch umfangreiche Anwendungen gefunden hat, sind Steuerungssysteme.
Fuzzy-Logik- und Steuerungssysteme
In Automobilen kann es ein Fuzzy-Logik-System geben, das das Bremssystem steuert. Autonome Fahrzeuge hängen stark von der Fuzzy-Logic-Steuerung (FLC) für Systeme wie Geschwindigkeit, Lenkung und adaptive Geschwindigkeitsregelung ab. Und selbst nicht autonome Autos werden wahrscheinlich FLC für das Bremssystem verwenden. Auch Klimaanlagen sind oft auf Fuzzy-Logik als Teil intelligenter Thermostate angewiesen, um die Raumtemperatur und die Lüftergeschwindigkeit auf einem komfortablen Niveau zu halten und gleichzeitig den Energieverbrauch zu optimieren.
Dies sind jedoch nur zwei Beispiele für seine Verwendung. FLC ist in sehr unterschiedlichen Branchen zu finden, darunter industrielle Automatisierung, biomedizinische Fertigung, petrochemische Verarbeitung, Automobilherstellung und Kernkraft.
Pumpen, Motoren, Lüfter und Antriebsstränge können mit Fuzzy-Logik gesteuert werden und erhalten Daten von einer Reihe von Sensoren als Eingabe. Durch die Verwendung von FLCs kann eine äußerst präzise Bewegungssteuerung erreicht werden, daher ihre Verwendung in Computer-Numeric-Control-(CNC-)Bearbeitungssystemen. Seine Fähigkeit, Temperaturen effektiv zu kontrollieren, wird durch den Einsatz in Öfen und Wärmebehandlungsöfen belegt, die auf hochpräzise Temperaturzyklen angewiesen sind. FLC kann auch extrem komplexe Systeminteraktionen überwachen, wie sie beispielsweise in der Schwarmrobotik vorkommen.
Abbildung 3. Die Technologie hinter der Entwicklung von Schwarmrobotersystemen, wie diese vom Research Laboratory of Electronics des MIT entwickelt wurde, nutzt die Leistungsfähigkeit von Fuzzy-Steuerungssystemen. Bild mit freundlicher Genehmigung des MIT
FLC ist auch in Systemen, die auf maschinelles Sehen angewiesen sind, von unschätzbarem Wert und hat viele Fortschritte in der industriellen Automatisierung, IIoT und Industrie 4.0 möglich und effektiv gemacht.
Herkömmliche Kontrollsysteme sind auf sehr genaue Daten und Regeln angewiesen, die die Erfahrung von Bedienern und Experten möglicherweise nicht berücksichtigen können. Andererseits ist Fuzzy-Logik ideal für Anwendungen, bei denen die Daten verrauscht, ungenau sind oder teilweise fehlen. Seine Wissensdatenbank kann die Einsichten und Erfahrungen realer Menschen nutzen, um ihren Entscheidungsprozess zu simulieren.
Industrieroboter