Faller AMS-Steuerung

Gestelltes Problem
Seit meinem 12. Lebensjahr bin ich begeisterter Besitzer einer Faller-AMS-Auto-Rennbahn. Ich hatte jedoch immer Probleme, Gegner zu finden, da sich meine Freunde meistens nur auf ein Rennen einliessen. Letztes Jahr habe ich eine Webcam erworben. Nun stellte sich mir die Frage, wie man eine PC-Steuerung eines Rennautos bewerkstelligen könnte.

Algorithmus
Mir schwebt vor, mehrmals pro Sekunde eine Aufnahme der Rennstrecke zu erzeugen. Durch Differenzbildung zwischen der aktuellen und der vorherigen Aufnahmen würde eine schwarze Bitmap entstehen, die an zwei Stellen weiss wäre, dem Standort des Fahrzeuges zum Zeitpunkt der ersten Aufnahme und dem Standpunkt des Fahrzeuges zum Zeitpunkt der zweiten Aufnahme. In einer Kalibrierungsphase wäre es möglich, den Bereich zu bestimmen, in dem sich das computer-gelenkte Fahrzeug bewegt. Dadurch entfällt also eine separate Erfassung der Streckenparameter, sicherlich könnte man eine Anwendung erstellen, bei der dem Computer die einzelnen Streckenabschnitte, enge Kurve 90 Grad, Gerade, normale Kurve, 45 Grad… bekannt gemacht würden, aber dieser Ansatz erscheint mir nicht sehr elegant. Stattdessen soll der Rechner seinen Wagen einige langsame Runden drehen lassen und so ein Abbild der durchfahrenen Strecke erstellen. Die so erfasste Strecke wird dann in Sektoren eingeteilt, die Länge eines solchen Sektors ergibt sich aus dem zeitlichen Abstand zwischen zwei Aufnahmen. Nun muss für jeden Sektor die Maximalgeschwindigkeit bestimmt werden. Diese ist nur experimentell zu erfassen. Das bedeutet, dass der Rechner den Wagen schrittweise immer schneller fahren lassen muss, bis er an einer bestimmten Stelle “rausfliegt”. Anhand der so erfassten Sektorparameter kann dann ein sicheres und schnelles Rennen gefahren werden. Bevor ich nun die erforderliche Hardware für die Geschwindigkeitssteuerung des Fahrzeugs besorge, mir schwebt eine Steuerung durch ein am Gasgriff angebrachtes Servo vor, ist zunächst einmal ein Prototyp zu erstellen, der die Machbarkeit belegt. Dabei ist der komplette Ablauf im Rechner zu simulieren. Einen ersten Schritt stellt ein Streckeneditor dar. Hier habe ich alle bekannten zweispurigen AMS-Schienen in Form eigener Klassen realisiert. Bis jetzt kann er die jeweilige Strecke nur darstellen. Der nächste Schritt wird sein, Fahrzeuge hinzuzufügen und diese dann auf der Strecke fahren zu lassen. Die dabei entstehenden Streckenbilder werden dem zuvor erklärten Programm zugeführt. Wenn sich zeigt, dass eine Echtzeitsteuerung möglich ist, werden als Input die Aufnahmen der Digitalkamera verwendet.
Mehr zu diesem Projekt hier.

Screenshot:

Leave a Reply

Your email address will not be published. Required fields are marked *