kramann.info
© Guido Kramann

Login: Passwort:










COACH2
1 Planung
2 Architektur
3 Anzeige
4 EEPROM
5 I2C
..5.1 MasterSendByte
..5.2 MasterSend2Bytes
..5.3 MasterReceiveByte
..5.4 MasterReceive2Bytes
6 UART
7 DFT
8 FFT
9 Planung2
10 Klassen
..10.1 AnzeigeTaster
..10.2 RS232
..10.3 MotorServo
..10.4 Drehgeber
..10.5 Sensor
..10.6 Funk
11 Adaption
..11.1 Programmiertechnik
..11.2 Evoopt
12 Fuzzy
..12.1 Uebungsaufgabe
..12.2 Fuzzygroesse
..12.3 Fuzzyset
..12.4 Lookuptable
13 Skript
..13.1 Funkkorrektur
..13.2 Skriptsprachen
..13.3 Anforderungen
..13.4 Agentensysteme
..13.5 Implementierung
..13.6 Experimente
14 Gesamtkonzept
..14.1 Skripterweiterung
..14.2 Makroverhalten
67 Echtzeitsysteme
..67.1 Einfuehrung
....67.1.1 Echtzeit
....67.1.2 Korrektheit
....67.1.3 Hardware
....67.1.4 Ziele
....67.1.5 Synchronprogramm
..67.2 Threads
....67.2.1 Java
....67.2.2 Synchronisierung
..67.3 COACH
....67.3.1 Kaskadenregler
....67.3.2 Zeitebene1
....67.3.3 Zeitebene2
....67.3.4 Zeitebene3
....67.3.5 Puck
....67.3.6 Puckschwarm
..67.4 RTAIlab
....67.4.1 Slax
....67.4.1 USB_Stick
....67.4.2 Sinus
..67.5 Semaphor
....67.5.1 Laufkatze
....67.5.2 Java
....67.5.3 Semaphor
..67.6 Audio
....67.6.1 wav
....67.6.2 Linux
..67.7 Lookup
....67.7.1 Fuzzy
....67.7.2 PWM
..67.8 NeuronaleNetze
....67.8.1 Neuron
....67.8.2 Backpropagation
....67.8.3 Umsetzung
....67.8.4 Winkelerkennung
..67.9 Internetprogrammierung
....67.9.1 Codegenerierung
....67.9.2 PHP_Programmierung
....67.9.3 PHP_OOP
....67.9.4 Java
....67.9.5 UDP
..67.10 DFT
..67.11 FFT
..67.12 Zustandsmaschine
..67.13 Fuzzy
....67.13.1 Fuzzylogik
....67.13.2 FuzzyRegler
....67.13.3 Uebung9
....67.13.5 Softwareentwicklung
......67.13.5.1 AgileSoftwareentwicklung
......67.13.5.2 FuzzyRegler
......67.13.5.3 Uebung
....67.13.6 Umsetzung
......67.13.6.1 FuzzyRegler
......67.13.6.2 Simulation
......67.13.6.3 Optimierung
......67.13.6.4 Uebung
....67.13.7 Haengependel
......67.13.7.1 Haengependel
......67.13.7.2 Simulation
......67.13.7.3 FuzzyRegler
......67.13.7.4 Optimierer
......67.13.7.5 Genetisch
....67.13.8 Information
....67.13.9 Energie

14.2 Prägung des Makroverhaltens aufgrund des Zusammenspiels von Mikrostrukturen
  • In dem hier verfolgten Konzept, wird auf die einzelnen Fahrzeuge eines Schwarms autonomer Vehikel jeweils das gleiche Programm zur Verarbeitung der Sensorsignale und Generierung der Aktuatorsignale aufgespielt.
  • Hieraus ergibt sich ein Gesamtverhalten des Schwarms.
  • Beispielhaft wurde die Konvoifahrt ausgehend von unterschiedlichen zufälligen Anfangszuständen, was Position und Orientierung betrifft, als zu erreichendes Ziel für das Schwarmverhalten festgelegt.

Wie läßt sich automatisch beurteilen, ob ein konkretes Schwarmverhalten einem vorgegebenen Ziel näher ist, als ein anderes?

  • Dies ist die zentrale Frage, die nun behandelt werden soll.
  • Theoretische Voraussetzung hierzu ist ein quantitatives Maß, das sich integrativ aus dem Verlauf der auftretenden Fahrzeugbewegungen algorithmisch bestimmen läßt.
  • Ist ein solches Maß einmal verfügbar, läßt sich darauf besierend auch ein Optimierungsverfahren umsetzen und einsetzen, um die in der Mikroebene eingesetzten Regelungs- und Steuerungsprogramme im Hinblick auf ein optimales Makroverhalten zu verbessern.
  • Materielle Voraussetzung ist eine Testumgebung. Diese existiert bisher in Form des konkreten Fahrzeugsschwarms.
  • In Entwicklung befindet sich nun auch eine Simulations-basierte Testumgebung.
  • Die eingeführte Skriptsprache muß nun auch in die Simulations-basierte Testumgebung integriert werden, um das Fahrzeugverhalten in der Simulation kompatibel zu der Art und Weise beim realen System festlegen zu können.

Theoretische Begründung zur Quantifizierung des Makroverhaltens

Alle nachfolgenden Überlegungen dienen einzig dem Zweck, eine möglichst klar und einfach quantifizierbare Definition für "Konvoiartigkeit" eines Fahrzeugschwarmverhaltens zu finden.

Exkurs: Statistische Begründung der Entropie -

  • Statistischer Zusammenhang zwischen Mikro- und Makroverhalten am klassischen Beispiel der statistischen Begründung der Entropie.
  • In der Thermodynamik geht es u.a. um die Beschreibung der Zustände, in denen sich Gase befinden können.
  • Man war bemüht, die in empirischen Untersuchungen gefundenen Zusammenhänge physikalisch zu erklären.
  • Die makroskopische Beschreibungsgröße der Wärmemenge pro Zeit, die ein Gas, das sich in einem Behälter befindet über dessen Wände abgibt, kann beispielsweise mikroskopisch als Verringerung der kinetischen Energie der einzelnen Gasteilchen erklärt werden, wenn diese gegen die Behälterwand stoßen.
  • Die im folgenden betrachtete makroskopische Beschreibungsgröße "Entropie" S eines Gases, ist wesentlich weniger anschaulich, als die der Wärmemenge pro Zeiteinheit dQ/dt.
  • Sie stellt ein Maß für die statistische Erreichbarkeit des betrachteten Mikrozustandes dar und ist deshalb ein Maß für die Arbeitsfähigkeit des betrachteten Mediums.
  • Der Entropiebegriff wurde im Zusammenhang mit Wirkungsgradbetrachtungen von Dampfmaschinen entwickelt:
  • Carnot stellte fest, dass umso mehr mechanische Arbeit abgegeben werden konnte, je größer die Temperaturdifferenz in dem hierzu installierten Kreislauf war.
  • Die Möglichkeit mit einem Gas mechanische Arbeit zu gewinnen, nimmt mit abnehmender Temperatur ebenfalls ab.
  • Gerade die Abnahme der Fähigkeit mechanische Arbeit abzugeben, kann mit der Größe Entropie beschrieben werden:
  • Je größer die Entropie, desto geringer die Fähigkeit mechanische Arbeit abzugeben und weiter:
  • Die Entropie eines geschlossenen Systems nimmt stets mit der Zeit ihren maximal möglichen Wert an.
  • Beispiel:
  • Ein ideal wärmeisolierter Raum ist zunächst durch eine Trennwand halbiert.
  • Zustand1: Nur in der einen Hälfte befindet sich ein Gas.
  • Die andere Seite ist leer (ideal evakuiert).
  • Wird die Trennwand entfernt, so verteilt sich das Gas gleichmäßig auf beide Raumhälften (Zustand2).
Experiment zur Erhöhung des Gasvolumens: Zunahme der Entropie nach Entfernen der Wand.

Bild 14.2-1: Experiment zur Erhöhung des Gasvolumens: Zunahme der Entropie nach Entfernen der Wand.

  • Die Entropie von Zustand1 ist kleiner, als die von Zustand2.
  • D.h. die Fähigkeit mechanische Arbeit von Zustand1 abzugreifen ist höher als bei Zustand2.
  • Boltzmann veranschaulichte den Begriff der Entropie durch statistische Btrachtungen des Mikrozustandes des untersuchten Systems (vergl. z.B. C.F.v.Weizsäcker "Aufbau der Physik", Carl Hanser 1985).
  • Heruntergebrochen auf das spezielle Beispiel hier gilt:
  • Die Anzahl an Anordnungen der Gasmoleküle, die makroskopisch den Zustand1 ergeben, ist gegenüber denen, die Zustand2 ergeben so verschwindend gering, dass niemals ein Übergang von Zustand2 nach Zustand1 beobachtet wird.
  • Durch Einführung diskreter Positionen in der Ebene, soll das folgende Bild dies (sehr grob) illustrieren:
Illustration der Zunahme der Anordnungsmöglichkeiten bei Vergrößerung des Volumens.

Bild 14.2-2: Illustration der Zunahme der Anordnungsmöglichkeiten bei Vergrößerung des Volumens.

Mikro- und Makroverhalten im Vergleich

  • Obige stark verkürzte Betrachtungen zum Entropiebegriff, sollen folgendes verdeutlichen:
  • Es gibt grundsätzlich die Möglichkeit, eine bestimmte Untermenge an Mikrozuständen durch einen speziellen Makrozustand zu beschreiben.
  • Die makroskopische Größe klassifiziert dabei in übersichtlicher Weise eine schier unendliche Zahl an Mikrozuständen.

Übertragung auf die Beschreibung von Schwarmverhalten

  • Im Unterschied zu der vorangegangenen Betrachtung bei Gasen, reicht es zur Beurteilung von Schwarmverhalten bei einem Vehikelschwarm nicht aus, eine Momentaufnahme des Schwarms als Grundlage zu nehmen, sondern es leuchtet ein, dass zeitliche Verläufe herangezogen werden müssen.
  • Aber ähnlich zu dem Beispiel mit den Gasmolekülen, wird es auch hier unendlich viele Varianten von Schwarmverhalten geben, die in gleicher Weise durch eine makroskopische Größe quantifiziert werden müssen.
  • Im konkreten Fall, dass Konvoi-fahren als Ziel gesetzt wird, so gibt es unendlich viele Varianten, wie der zeitliche Verlauf einer gelungenen Konvoifahrt aussehen könnte.
  • Jedoch gibt es auch unendlich mal mehr Varianten, die keine Konvoifahrt darstellen.

Annäherung an eine Berechnungsvorschrift zur quantitativen Beurteilung von Schwarmverhalten

  • Die noch zu findende Berechnungsvorschrift kann eingegrenzt werden durch die verwendeten Daten.
  • Diese können als eine Folge von Momentaufnahmen von Vehikelpositionen identifiziert werden.

Ordnung und Chaos im Schwarm, Entropie und die Lottozahelen

Aufgabe
  • Der Entropiebegriff läßt sich in vielen Fällen auch als Maß der Ungeordnetheit des zugehörigen Mikrozustands beschreiben, da in sehr vielen Systemen die Menge an Zuständen, die als geordnet bezeichnet werden können sehr viel kleiner ist, als die der ungeordneten.
  • Wenige Lottospieler würden als Tip die Zahlen 1,2,3,4,5,6 ankreuzen.
  • Wie kommt das?
  • Ist dieses Verhalten aus statistischer Sicht gerechtfertigt?
Aufgabe
  • Auch die Konvoifahrt zeichnet sich gegenüber anderen Fahrsituationen durch eine gewisse Geordnetheit aus.
  • Läßt sich als Vortstufe zu einem Maß für "Konvoiartigkeit" eines Schwarmverhaltens die "Geordnetheit" des Schwarmverhaltens bestimmen?

Makroskopische Eigenschaften der Konvoifahrt

Aufgabe
  • Als Vorbereitung zur quantitativen Erfassung der "Konvoiartigkeit" eines Schwarmverhaltens, sollen im folgenden die Eigenschaften des Konvoifahrens gesammelt werden.

Lösungsfindungsstrategie

  • Der kreative Prozeß, der hier zur Findung eines geeigneten Maßes für die "Konvoiartigkeit" eines Schwarmverhaltens führt, vollzieht sich in zwei gegenläufigen Denkbewegungen:
  • Es wird zunächst versucht, das konkrete Problem allgemeiner zu fassen. Es wird versucht, eine Theorie zu finden, die u.a. Lösungsansätze zu ähnlichen Problemen liefert.
  • Dann wird nach Unterschieden und Gemeinsamkeiten zu den mit dieser Theorie behandelten Fällen gesucht.
  • Vor dem Hintergrund dieser erweiterten Sichtweise wird dann nach Lösungsansätzen für das konkrete Problem gesucht.
Skript in Simulation und realem System

Überblick

  • Für das Skript wird ein sehr begrenzter Umfang an Speicherkapazität vorgesehen.
  • Von entsprechend verhältnismäßig geringer Größe ist die Anzahl der möglichen Skripte.
  • Denkbar wäre es, ein Zufallsskript evolutionär mit Hilfe der Zielvorgabe für "Konvoiartigkeit" automatisch in der Simulationsumgebung optimieren zu lassen und dieses dann auf den realen Vehikeln zu verwenden.
  • Schwarmverhalten regelungstechnisch hinterfragt:
  • Wird das Soll-Schwarmverhalten durch einen auf die Einzelvehikel verteilten Regler erreicht?
  • Läßt sich der Stabilitätsbegriff auf das Schwarmverhalten anwenden?
Konzept zur Optimierung des Schwarmverhaltens

Bild 14.2-3: Konzept zur Optimierung des Schwarmverhaltens

Begrenztheit

  • Förderlich für dieses Vorgehen sind enge Grenzen des Zustandsraumes.
  • Die enge Begrenztheit des "Lernraumes" ist folgendermaßen begründet:
  • Der Parcours in dem die Fahrzeuge sich bewegen ist klein und einfach gestaltet.
  • Es gibt eine eher kleine Anzahl an Fahrzeugen.
  • Die Möglichkeiten der Sensorik sind durch den Entfernungssensor im 45o Winkel stark eingeschränkt.
  • Durch Festlegen und Regelung einer konstanten Fahrtgeschwindigkeit reduzieren sich die Variationen an Bewegungsmöglichkeiten weiter.

Precompiler

  • Ein Befehl in dem bisherigen Skript besteht aus fünf Elemeten:
  1. Aufzurufende Funktion
  2. Rückgabevariable
  3. Übergabeparameter 1
  4. Übergabeparameter 2
  5. Bedingung
  • Es gibt vordefinierte Funktionen.
  • Es gibt ein Integer-Array, das alle verwendbaren Variablen beinhaltet.
  • Externe Recourcen, auf die zugegriffen wird:
  • Servowinkel -36..+36
  • Sensorwert 0..300mm
  • Sinnvolle Funktionen, die zur Verfügung gestellt werden sollten:
  • Grundrechenarten
  • Zuweisung
  • Kommentare
  • Beispiel Code für das mit einem Prekompiler vorzuverarbeitende Skript:
//Vordefinierte Konstanten
NULL=0
EINS=1
NEG=-1
DUMMY=0
//Definition aller Variablen und Initialisierung:
x=0
y=0
z=0
u=0
v=0
w=0
grenze=30
lenkwinkel=0
//Realisierung einfacher und komplexer Operationen mit Hilfe der Skriptsprache:
x=y
plus(y,x,NULL,EINS)
WENN x>0 DANN y=0
plus(y,NULL,NULL,x)

Code 14.2-1: Realisierung einfacher und komplexer Operationen mit Hilfe der Skriptsprache.

Aufgabe
  • Wandeln Sie folgenden Pseudocode-Befehl in die Skriptsprache um:
  • WENN lenkwinkel>30 DANN z=x+y
Aufgabe
  • Entwerfen Sie einen Prekompiler für die COACH-Skriptsprache.