kramann.info
© Guido Kramann

Login: Passwort:










Regelungssysteme
1 day_by_day
2 Heizregelkreis
3 Verzoegerungsglieder
4 Laplace
..4.1 Eigenwerte
..4.2 PT1
..4.3 PRegler
..4.4 Scilab
5 Regleroptimierung
..5.1 Guetefunktion
..5.2 Heuristiken
..5.3 Scilab
..5.4 Gradientenverfahren
..5.5 ModifizierteG
..5.6 Gleichstrommotor
..5.7 Stoerverhalten
6 Javaanwendung
..6.1 PIDgeregelterAntrieb
..6.2 RungeKuttaIntegrator
..6.3 Gradientenverfahren
7 Einstellregeln
..7.1 Totzeit
..7.2 Methode1
..7.3 Methode2
..7.4 Scilab
..7.5 Daempfungsgrad
..7.6 Uebung
8 Polvorgabe
9 Beobachter
10 AutonomerHackenprosche
..10.1 Herleitung
..10.2 Scilab
..10.3 Modellerweiterung
..10.4 Scilab
..10.5 Modellgueltigkeit
..10.6 java
11 Stabilitaet
..11.1 Beispiele
..11.2 Nyqusitkriterium
..11.3 Windup
..11.4 Bode
12 Adaptiv
..12.1 Definition
..12.2 Einachser
..12.3 Auswertung
..12.4 Identifikation
..12.5 Regleroptimierung
..12.6 Zustandsregler
..12.7 Beobachter
13 Analyse
..13.1 Linear
..13.2 Nichtlinear
14 Kalmanfilter
15 Ue_04_2014
..15.1 Geschwindigkeit
..15.2 Richtung
..15.3 Gesamtsystem
..15.4 RiccatiUSW
..15.5 TdOT
16 Inverses_Pendel
17 Einachser
..17.1 Mechanik
..17.2 Uebung8
18 Fuzzy
..18.1 Fuzzylogik
..18.2 FuzzyRegler
..18.3 Uebung9
..18.5 Softwareentwicklung
....18.5.1 AgileSoftwareentwicklung
....18.5.2 FuzzyRegler
....18.5.3 Uebung
..18.6 Umsetzung
....18.6.1 FuzzyRegler
....18.6.2 Simulation
....18.6.3 Optimierung
....18.6.4 Uebung
..18.7 Haengependel
....18.7.1 Haengependel
....18.7.2 Simulation
....18.7.3 FuzzyRegler
....18.7.4 Optimierer
....18.7.5 Genetisch
..18.8 Information
..18.9 Energie
21 Beispiel1
98 day_by_day_WS2021_SoSe21
99 day_by_day_SoSe2018
kramann.info
© Guido Kramann

Login: Passwort:




Übung zur Entwicklung eines Fuzzy-Reglers unter Verwendung der SCRUM-Entwicklungsmethode

Aufgabe 1

Der bisherige Entwicklungsstand entbehrt beim Ausgangs-Fuzzyset einer fertigen Methode zur Berechnung des Schwerpunktes der durch bestimmte Regelaktivierungen entstehenden Flächen in den Fuzzygrößen.

Beim Entwickeln einer Formel zur Berechnung des Schwerpunktes kann es leicht zu Fehlern kommen.

  • Formulieren Sie eine Test-Unit für die Klasse Ausgangs-Fuzzyset, die es ermöglicht die
  • Richtigkeit der durch sie bestimmten Schwerpunkte zu überprüfen.
  • Probieren Sie die Scrum-Methode im kleinen Maßstab aus.
  • Die Rolle des Product owners übernimmt diese Aufgabenstellung dementsprechend konkret in folgender Form:

Angaben des Product owners

  • User story 1: Es ist möglich ein Ausgangs-Fuzzyset zu erzeugen. (definition of done: über Test-main-Methode)
  • User story 2: Es ist möglich, den Schwerpunkt der i-ten Fuzzy-Größe eines Fuzzy-Ausgangssets aufgrund eines vorgegebenen Aktivierungsgrades zu berechnen, auch wenn diese nicht symmetrisch ist (nicht äquidistanter Abstand der Maxima). (definition of done: über Test-main-Methode)

Mögliche Tasks:

  • Erstellen der Hilfs-Methode zur Bestimmung der Schnittpunkte der Aktivierungsgeraden mit einem asymmetrischen Dreieck als Fuzzy-Größe.
  • Erstellen der Hilfs-Methode zur Bestimmung des Schwerpunktes eines rchtwinkligen Dreiecks, dessen Basis auf der X-Achse liegt durch Übergabe seiner Höhe und der auf der X-Achse liegenden Endpunkte.
  • ...

fuzzy_java2.zip - Musterlösung zu Aufgabe 1.
Aufgabe 2
  • Bitte nur nach vollständiger erfolgreicher Bearbeitung der ersten Aufgabe beginnen!

Bei der Darstellung der Klassen EingangsFuzzySet und AusgangsFuzzySet sollte u.a. klar werden, wie wichtig es ist, sich den genauen Anwendungsfall so plastisch wie möglich zu verdeutlichen, um zu einer schlanken möglichst wenig komplexen und mit möglichst wenigem Overhead belasteten Implementierung zu finden. So wurde beispielsweise erkannt, dass die Formulierung von Fuzzy-Größen als Objekte zu sehr viel Overhead führen würden und wenig zielführend sind, wenn ihre Verwendung auch im ersten Moment nahe liegt.

Wenden Sie nun Ihr Augenmerk auf die Formulierung der Fuzzy-Regeln und eng damit verbunden auf die übergeordnete Klasse FuzzyRegler. Entwickeln Sie eine möglichst einfache Datenstruktur zur Repräsentation der Fuzzyregeln. Beachten Sie hierbei:

  • Ein Fuzzy-Regler kann nicht nur mehrere Fuzzy-Eingangssets haben, sondern auch mehrere Fuzzy-Ausgangssets.
  • Jedoch läßt sich gerade hier eine Reduktion der Komplexität erreichen, indem man bei einem Fuzzy-Ausgangsset pro Regler bleibt und einfach mehrere Regler formuliert, wenn es mehrere Ausgänge gibt.
  • Beachten Sie desweiteren, dass es im Allgemeinen zwar UND und ODER Verknüpfungen von Fuzzy-Eingangsgrößen bei den Fuzzy-Regeln gibt, aber die Behandlung der UND-Verknüpfung in der Regel ausreicht, indem man einfach Regeln zuläßt, die nur einen Eingang berücksichtigen und auf den gleichen Ausgang einwirken dürfen.
  • Somit reicht es in den Regeln n=1..k Eingangsgrößen zu berücksichtigen, die UND-verknüpft werden, wobei n==1 ein Sonderfall ist, bei dem nichts da ist, was mit der einen Eingangsgröße UND-verknüpft werden kann.

Wie bekommt man die Regeln in das Regel-Objekt hinein? - Formulieren Sie auch eine entsprechende Set-Methode. Setzen Sie abschließend mit dem funktionierenden Stand Ihrer Software das "Lüfterbeispiel" aus der vorletzten Lehrveranstaltung um und überprüfen Sie das Ergebnis. Gehen Sie so vor, dass Sie in der Musterlösung der C-Funktion das durch Ihren Code ersetzen, was bei Ihnen bereits funktioniert.