Fußballprogramm

Lange gab es keinen neuen Artikel mehr, es gab auch nicht viel zu berichten.
Viel Zeit verbrachte ich mit der Entwicklung des Programms für meinen Soccerbot, vor ein paar Wochen war nun der Wettbewerb in Vöhringen. Der komplette Bericht mitsamt vielen Bildern vom Roboter gibt es auf meiner anderen Homepage unter dem Menüpunkt “Roboter”.

Das Programm hat sehr gut funktioniert, es hat das gemacht, was es sollte. Gescheitert bin ich an der Hardware (die allerdings auch das gemacht hat, was sie sollte…).
Zum Programm: Es ist komplett in Java geschrieben, mit leJOS Klassen für den RCX. Insgesamt sind es knapp 2000 Zeilen, die sich auf 16 Klassen und ein Interface aufteilen. Ich verwende 2 RCX, jeder hat seine eigenen Klassen, lediglich eine, in der Konstanten definiert werden, wird von den RCXen geteilt.

Leider ist mit der Programmentwicklung das objektorientierte langsam verloren gegangen, inzwischen sind die meisten Methoden und Variablen als “static” deklariert, da mehrere Klassen auf eine Zugriff haben müssen. Ich denke, das Design ist einfach falsch, würde ich den Roboter neu programmieren, würde ich die Sache wohl anders angehen. Vielleicht sind aber auch so doch relativ kleine Projekte nicht für OOP geeignet.

Die interessanteste Klasse ist für viele wohl der “PositionThread”. Diese berechnet alle Bruchteile einer Umdrehungen die Position neu. Dazu befinden sich links und rechts am Roboter freidrehende Räder, die jeweils mit einem Rotationssensor verbunden sind. Im Programmarchiv liegt auch eine Datei Positionsbestimmung.xls bei, in der die Berechnung etwas veranschaulicht wird, sie diente mir zum Testen. Neben der Berechnung der Position befinden sich in der Klasse auch noch viele Methoden, um Winkel umzurechnen oder die Position auszuwerten.

Das Porgramm ist in Deutsch kommentiert, man dürfte sich also relativ gut darin zurecht finden.
Die Klasse Arbitrator und das Interface Behaviour stammen von leJOS, ich musste diese allerdings neu implementieren, da ich sie leicht zu modifizieren hatte.

Um mit dem Programm arbeiten zu können, muss in Eclipse ein neues, leeres Projekt erstellt und in dieses das Archiv importiert werden. Wie es bei anderen Editoren ist, weiß ich nicht. Wie man an leJOS für Eclipse rankommt, habe ich hier beschrieben.

Comments are closed.