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

67.3 Echtzeitaspekte bei den COACH-Vehikeln

Analyse des Zeitverhaltens zentraler Peripheriemodule und Entwurf verschiedener Szenarien für das Zusammenspiel der Module und eines Schwarms von COACH-Vehikeln

  • In der folgenden Betrachtung wird deutlich werden, dass es bei der Steuerung und Regelung des COACH-Vehikels mehrere aufeinander aufbauende Schichten gibt.
  • Auf der untersten Schicht befinden sich Programmodule zur Ansteuerung der Peripherie, wie Sensor, Drehgeber, PWM-Geber für Antrieb und Lenkservo. Diese wird mit Zeitebene 1 bezeichnet.
  • Eine Schicht darüber befinden sich schnelle Regler für Geschwindigkeit und Fahrtrichtung und Entscheidungsstrukturen für das reaktive Verhalten bei äußeren Störungen, wie beispielsweise auftauchende Hindernisse. Diese wird mit Zeitebene 2 bezeichnet.
  • Noch eine Schicht darüber befinden sich die Programmmechanismen zur Realisierung des Schwarmverhaltens. Diese wird mit Zeitebene 3 bezeichnet.
  • Auf Zeitebene 3 kann es ebenso wie auf Zeitebene 2 Regelkreise geben.
  • Während die auf Zeitebene 2 momentane Regelabweichungen ausgleichen, wirken die Regler auf Zeitebene 3 in einem größeren Maßstab auf das Erreichen eines vogegebenen Ziels hin, z.B. im Konvoi zu fahren.
  • Wenn, wie in einem solchen Fall, eine Strecke, die schon geregelt ist mit einem weiteren übergeordneten Regler versehen wird, spricht man von einem Kaskadenregler.
  • Was beim Aufbau einer solchen Kaskadenregelung zu beachten ist, soll im ersten Unterkapitel behandelt werden.
Die Zeitebenen und ihre Bedeutung bei COACH.

Bild 67.3-1: Die Zeitebenen und ihre Bedeutung bei COACH.

Zeitebene 1 - Arbeitsweise der Module (Unterkapitel 2)
  • Die maßgeblichen Komponenten sind:
  1. Der Drehgeber zur Messung der Motordrehzahl
  2. Der Infrarot-Entfernungssensor
  3. Die PWM-Geber für Antriebsmotor und Lenkservo
Zeitebene 2 - Verwendung der Module zur Implementierung diverser Regelalgorithmen und elementarer reaktiver Verhaltensweisen (Unterkapitel 3)
  • Auf Basis dieser Komponenten werden übergeordnete Programmstrukturen implementiert.
  • Diese haben folgende Aufgaben:
  1. Regelung der Fahrzeuggeschwindigkeit
  2. Regelung der Fahrzeugrichtung
  3. Reaktives Verhalten aufgrund äußerer Störungen
Zeitebene 3 - Technische Umsetzung des Schwarmverhaltens (Unterkapitel 4)
  • Letztlich sollen die Fahrzeuge ausgehend von einem ungeordneten Anfangsverhalten nach einer gewissen "Einschwingzeit" in ein kooperatives Verhaltensmuster verfallen.

Direkte Umsetzung durch zentrale Steuerung mit massivem Hardwareeinsatz

  • Als mutmaßlich einfach umzusetzendes Verhalten wurde das Fahren in einem Konvoi innerhalb eines definierten umgrenzten Fahrbereichs angesetzt.
  • Um dieses Ziel zu erreichen, wäre eine naheliegende Möglichkeit, alle Fahrzeuge von einer Zentrale fernzusteuern.
  • Der fernsteuernde Rechner könnte im einfachsten Fall einen vollständigen Überblick über die Bewegungszustände der Fahrzeuge haben und über ihre Umgebung.
  • Der fernsteuernde Rechner könnte zu jedem Zeitpunkt eine Sollposition und Sollgeschwindigkeit für jedes Fahrzeug innerhalb eines Konvois bereitstellen und darauf hinarbeiten die Differenz zwischen Ist- und Sollwerten jedes Fahrzeuges zu minimieren.
  • Mit diesem Konzept kann das geforderte Ziel sehr geradlinig verfolgt werden.
  • Jedoch ist der Hardwareeinsatz unverhältnismäßig groß und dieses Vorgehen hat einige Unzulänglichkeiten:
  • Die Zielvorgaben (Sollpositionen/-geschwindigkeiten) mußten zwangsweise wegen der besonderen Eigenschaften dieses Ansatzes mit zentraler Steuerung, restriktiver gefaßt werden, als es eigentlich notwendig wäre:
  • Es gibt ein weites Feld an Möglichkeiten in einem Konvoi zu fahren, aber nur eine konnte bei diesem Ansatz verfolgt werden.
  • Das hat dann zur Folge, dass bei vielen Anfangsbedingungen es sehr schwierig und langwierig ist, den geforderten Gesamtbewegungszustand zu erreichen, obwohl viele gute Lösungen einfach erreichbar wären.
  • Durch die zentrale Steuerung entsteht eine Vielzahl an Abhängigkeiten:
  • Eine Erfassung der Gesamtsituation, sowie eine ständige Funkverbindung der Zentrale mit den Fahrzeugen sind notwendig.
  • Fällt eine dieser Elemente aus, funktioniert das Gesamtsystem nicht mehr.

Umsetzung als parallel arbeitende Teilsystem

  • Die Besonderheit bei der Implementierung von Schwarmintelligenz ist es, die Verfolgung eines globalen Ziels in Form von Teilzielen auf die einzelnen Mitglieder des Schwarms zu verteilen.
  • Das globale Ziel wird durch Kooperation der Schwarmmitglieder untereinander erreicht.
  • Der Nachteil dieses Ansatzes ist, dass typischerweise das globale Zielverhalten nicht exakt formuliert werden kann.
  • Wenn dies, wie hier beim Konvoi fahren, auch nicht gefordert ist, kann dies ein Vorteil sein, weil dann stets eine passende Lösung zu einem globalen Anfangsbewegungszustand gefunden wird.
  • Vorteile liegen bei diesem Ansatz zudem in der geringeren Anfälligkeit gegen Störungen:
  • Es gibt keine zentrale Einheit, die den Gesamtzustand ständig erfassen muß. Damit verbundene Versaensmöglichkeiten entfallen.
  • Das Gesamtsystem kann viel schneller auf lokale Störungen reagieren, da die einzelnen Schwarmeinheiten parrallel an einem Ausgleich arbeiten.
Puck (Unterkapitel 5)
  • Um das Zusammenspiel der verschiedenen Zeitebenen verstehen und verbessern zu können, liegt es nahe, das Verhalten der einzelnen Vehikel und ihr Verhalten im Schwarm zu simulieren.
  • Zu diesem Zweck soll ausgehend von einfachen gleitenden Scheiben (Puck) ein solches Gesamtsimulationsmodell immer weiter verfeinert werden.
  • Als Einstieg wird im letzten Unterkapitel eine Musterlösung für "Puck" gegeben.