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

10 Grundlegende Klassen zur Ansteuerung der Komponenten der COACH2-Vehikel

Voraussetzungen zur Verwendbarkeit der vorbereiteten Klassen

  • Um die Fahrzeuge auf den gleichen Stand zu bringen, sollen alle die gleichen grundlegenden Klassen verwenden.
  • Damit Ihr Vehikel richtig arbeitet sollte folgendes beachtet werden:
  • Haben Sie die Verbindung zwischen Taster und Kanal A des Drehgebers gekappt und Kanal A des Drehgebers mit PD6 verbunden?
  • Es hat sich gezeigt, dass Kanal Z keine Signale liefert. Ersetzen Sie Kanal Z des Drehgebers (orange) durch Kanal B (weiß).
  • Wenn das Antriebsrad nicht gleichmäßig läuft, ist die starre Verbindung zum Drehgeber wahrscheinlich die Ursache. Ev. Schrauben bei laufendem Motor etwas lösen und wieder festziehen / Drehgeber etwas lockerer (Gummipuffer) anbringen.
  • Vier Akkus versorgen den Logikschaltkreis, fünf den Leistungsschaltkreis.
  • Es muß dabei auch gewährleistet sein, dass alle Fahrzeuge auf diese Klassen in gleicher Weise reagieren.
  • Die Reaktion der Fahrzeuge kann mit Hilfe der Hauptprogramme in den folgenden Projekten überprüft und verglichen werden.
  • Jedes der aufeinanderfolgenden Projekte ergänzt weitere Klassen.
  • Alle Klassen vollständig sind dann im Projekt "coach2.2_06_funk" vorhanden.
  • Spielen Sie die .hex-Files der Projekte nacheinander auf Ihr Vehikel.
  • Analysieren Sie die neu hinzugekommenen Klassen und die Verwendung ihrer Methoden und prüfen Sie jeweils folgendes:
Sie sollten die Klassen sorgfältig analysieren, da Sie auf deren Grundlage u.a. Regler für Geschwindigkeit und Richtung aufbauen werden.

Die folgenden Unterkapitel sind als Arbeitsanleitung zu verwenden und sollen klären, wie die einzelnen Programme reagieren sollen und wie die Methoden der neu hinzugefügten Klassen arbeiten.

Vorüberlegung: Ist Schwarmverhalten bei den COACH-Vehikeln implementierbar?

  • Nach Erstellen der grundlegenden Klassen verbleiben noch ca. 8 Kilobyte frei im Programmspeicher.
  • Das ist nicht viel, aber immerhin 1/4 des insgesamt verfügbaren Speichers.
  • Der Reiz bei der Programmierung von Schwarmintelligenz liegt aber gerade darin, mit möglichst geringem Aufwand im Einzelsystem, ein möglichst intelligentes Gesamtverhalten zu erreichen.
  • Ob dies grundsätzlich möglich ist, soll zunächst mit "Puck" und COACH-ähnlicheren Weiterentwicklungen einer Schwarm-Simulationsumgebung geprüft werden.
coach2_klassen.zip - Die in den nachfolgenden Unterkapiteln verwendeten Projekte.