Unsere erste Aufgabe bestand im Bau eines Roboters, der sich über eine selbstprogrammierte Fernbedienung vom Computer aus über den Infrarot-Tower steuern lässt. Der Roboter sollte dabei Vorwärts- und Rückwärtsbewegungen sowie Drehungen ausführen können.
Vor Programmierung und Bau des Roboters haben wir uns grundsätzliche Gedanken über die Aufteilung der Arbeit gemacht. Daraus entstanden ist ein Modell aus drei Modulen, die ausgehend von einem vorher vereinbarten Interface unabhängig voneinander entwickelt werden konnten.
Roboterklasse
Die Roboterklasse ist sozusagen das Gehirn des Roboters, die ihm die Fähigkeit verleiht, auf bestimmte Infrarotsignale zu reagieren.
Signalübertragung
Diese Klasse ist eine Art Dolmetscher zwischen Fernbedienung und Roboterklasse und stellt für die Fernbedienung eine Art Software-Abstraktion des Roboters dar. Sie übersetzt Anweisungen wie „fahre vorwärts“ in Byte-Codes und überträgt diese per Infrarot-Tower an den Roboter.
Fernbedienung
Die Fernbedienung ist der für den Benutzer sichtbare Teil des Programms, der eigentlich nur drei Aufgaben erfüllt: Sie zeigt „hört“ auf die Tastatureingaben, stellt sie in einem Applet graphisch dar und ordnet ihnen die unterschiedlichen Roboteranweisungen zu.
...
Die Fernbedienung haben wir als Java-Applet realisiert. Zur Überwachung der Tastatureingaben wurde das Interface KeyListener implementiert. Die Funktionsweise der Fernbedienung soll an dieser Stelle am Beispiel der Geradeausfahrt erläutert werden:
Probleme:
Bei angeschlossenem Roboter war bei sehr kurzen Tastendrücken (unter 100 ms) die Zeit zu kurz, um die entsprechende Grafik anzuzeigen.