NIOS Software

                      

 

Die Software setzt auf dem Echtzeit Betriebssystem UCOS II auf. Sie besteht aus 2 Tasks. Einer für die Protokollauswertung der Empfangenen Daten von der SPI Schnittstelle. Der Andere gibt die Steuerbefehle an die Motoren weiter und prüft dabei ständig den aktuellen Abstand in der jeweiligen Fahrtrichtung und drosselt gegebenfalls die Geschwindigkeit bzw. stoppt das Fahrzeug komplett.

Zu beginn ist die SPI Schnittstelle gesperrt und muss vom Pandaboard gemäß den Protokollrichtlinien entsperrt werden. Danach werden die Fahr- und Displaydaten empfangen. Diese werden von der SPI-ISR gepuffert und im Protokoll Task ausgewertet und in einer Struktur abgelegt bzw. auf dem Display ausgegeben.

Der "Drive" Task gibt die Daten aus der Struktur an die jeweiligen Motoren weiter sofern sich kein Hindernis in der jeweiligen Fahrtrichtung befindet. Die kollisionserkennung ist im Moment noch relativ einfach mit jeweils 3 Schranken für vorwärts und rückwärts implementiert. Überschreitet ein Objeckt den jeweiligen Schranken wird die maximal mögliche Geschwindigkeit immer weiter verringert, bis zuletzt kein weiteres Fahern mehr in diese Richtung erlaubt wird. Ein aktives Bremsen ist jedoch im Moment noch nicht möglich, da es sich auch aufgrund des Fahrtenreglers, welcher den rückwärts Befehl beim noch rollenden Fahrzeug meißt nicht annimmt, und der im moment noch schwer messbaren tatsächlichen gesschwindigkeit des Wagens etwas schwieriger gestaltet. Es ist bereits vorgesehen, dass vorne und hinten noch jeweils 2 Sensoren links und rechts mit einem Winkel von ca. 25° um auch Kollisionen erkennen zu können, bei denen das Auto in einem sehr flachen Winkel auf ein Obekt trifft. Dies kann durch die momentane Implementierung mit nur jeweils einem Sensor pro fahrtrichtung noch nicht verhindert werden.