about home mac ios watchos amiga software electronics downloads links sitemap
de
en
 
guestbook
devenvironment
qbox
javascript
photos

Die aktuelle Seite wurde 18088 mal besucht.

Besucher heute: 1



Zugriffe auf alle Seiten: 8163760


Server-Zeit: 05:55
19.04.2024
WaterMixApplet mit Fuzzy-Control
Wassermischen mit Java...

1. Problembeschreibung

Aufgabe des Applets ist es, Wasser in einem Behälter durch Zuschütten auf eine Zieltemperatur zu bringen. Dabei existiert ein großer "Wassercontainer" mit einem Startvolumen und einer Starttemperatur. Für das Zuschütten werden zwei kleine Behältnisse verwendet. Darin ist einmal kaltes und im anderen heißes Wasser (Temperaturen frei wählbar). Die Fuzzy-Logik soll nun anhand der verbleibenden Wassermenge im Container und der Abweichung der Wassertemperatur vom Zielwert bestimmen, wieviel vom kalten bzw. heißen Wasser zugeschüttet werden soll.

2. Fuzzy Details

Folgende linguistische Variablen wurden zur Steuerung der Mischlogik verwendet:

  • Die Differenz zwischen der aktuellen Wassertemperatur und der Zieltemperatur. Diese Werte bewegen sich zwischen -50°C und + 50°C. Auf den Wertebereich sind 4 Fuzzy-Sets aufgeteilt:

Temperaturdifferenz in °C
Abb.: Temperaturdifferenz in °C

  • Das verbleibende Wasservolumen. Diese Werte bewegen sich zwischen 0 und 10 Litern. Auf den Wertebereich sind 3 Fuzzy-Sets aufgeteilt:

Verbleibendes Wasservolumen in Liter
Abb.: Verbleibendes Wasservolumen in Liter

  • Die Füllmenge. Dabei wird die Unterscheidung zwischen dem Hinzuschütten von kaltem oder warmen Wasser über das Vorzeichen der Auswertung getroffen. Bei negativen Werten wird kaltes Wasser zugeschüttet, bei positiven warmes Wasser. Die Werte bewegen sich damit im Bereich von -1 Liter bis +1 Liter. Für die Auswertung wurde der Wertebereich in 6 Fuzzy-Sets aufgeteilt.

Zuschüttmenge in Liter
Abb.: Zuschüttmenge in Liter (negativ:=kaltes Wasser)

  • Die zugehörige Fuzzy-Matrix (Die Bedingungen der Regeln sind jeweils UND-verknüpft) :

dV/dT NB NS PS PB
ZE PM PM NM NM
PS PM PS NS NM
PB PB PM NM NB


3. Applet

4. Implementierung

Der Quellcode der einzelnen Java-Klassen ist hier verfügbar:

5. Autoren

Dieses Applet wurde im Rahmen der Vorlesung "Neuronale Netze" bei Prof. Jürgen Sauer an der Fachhochschule Regensburg erstellt.

Stefan Robl
(stefan@qdev.de)
Alexander Heinze
(mail@aheinze.de)
Stefan Alexander


Valid HTML 4.01!
printversionDruckversion dieser Seite