Autonomes Fahren mit FPGA-basierten Framegrabbern

Autonomes Fahren mit FPGA-basierten Framegrabbern

Beim autonomen Fahren der höchsten Stufe 5 sind die Fahrgäste im Fahrzeug nur noch unbeteiligte Zuschauer. Diese Ingenieursleistung ist Realität und wurde vom GreenTeam Stuttgart auf ausgewiesenen Test- und Wettbewerbsstrecken umgesetzt. Mit an Bord sind FPGA-basierte Framegrabber.

Ein unbemannter elektrisch betriebener Rennbolide. Verbaut am Fahrzeug sind LiDAR-Sensoren und Flächenkameras. Ein eingebauter Framegrabber segmentiert alle Daten. Anschließend wird das Ergebnis anhand von Deep Learning validiert. (Bild: GreenTeam Uni Stuttgart e.V.)

Ein unbemannter elektrisch betriebener Rennbolide. Verbaut am Fahrzeug sind LiDAR-Sensoren und Flächenkameras. Ein eingebauter Framegrabber segmentiert alle Daten. Anschließend wird das Ergebnis anhand von Deep Learning validiert. (Bild: GreenTeam Uni Stuttgart e.V.)

Die Studierenden des GreenTeam Stuttgart bauen seit 2009 jährlich Rennwagen, die bei den internationalen Formula Student Rennen ihre Leistungsfähigkeit unter Beweis stellen. Seit Jahren ist das Team äußerst erfolgreich und steht seit 2010 ununterbrochen in den Top 10 der Weltrangliste bei Elektro-Rennwagen. Für ihre Boliden tüfteln sie monatelang, um bei den Wettrennen möglichst gut abzuschneiden. Dabei sollte alles perfekt für unterschiedlichste Witterungsbedingungen zusammenpassen: Gewicht/Geschwindigkeit, Effizienz des Motors, Aerodynamik, die Kühlung des Akkus aber vor allem Hard- und Software, wozu auch die Bildverarbeitung zählt. Wesentliche Aufgabe des installierten Bildverarbeitungssystems bei dem autonomen Fahrzeug ist es, am Fahrbahnrand sowie am Start und Ziel aufgestellte verschiedenfarbige Hütchen im nahen Bereich zu erkennen, die Distanz zu bestimmen, Farben zuzuweisen und daraus die zu fahrende Strecke als Karte mit 2D-Koordinaten zu rekonstruieren. „Im Wettbewerb fahren alle Rennwagen dieselbe Strecke nacheinander ab. Zunächst wird die unbekannte Fahrstrecke auf Sicht abgefahren, um die Karte zu erstellen. Diese dient dazu, für die Navigation des Fahrzeugs den Fahrbahnverlauf zu analysieren, um daraus die optimale Trajektorie zu berechnen, die es anschließend bei hoher Geschwindigkeit abzufahren hat“, erläutert Christian Witte, Projektleiter des GreenTeam in der Saison 2018/2019. Entscheidend bei der Auswahl des Systems war ein hartes Echtzeit-Verhalten von der Bildaufnahme bis zur Ergebnisausgabe, weshalb ein FPGA-basierter Framegrabber zum Einsatz kam.

Softwarearchitektur des verarbeitungssystems für das autonome Fahren (Bild: Quelle: GreenTeam Uni Stuttgart e.V.)

Softwarearchitektur des Verarbeitungssystems für das autonome Fahren (Bild: GreenTeam Uni Stuttgart e.V.)

Sensorfusion und Deep Learning

Das Bildverarbeitungssystem im Rennwagen besteht aus einem Sensorverbund, das heißt aus einem LiDAR-Sensor, verbunden mit einer GPU, und zwei ace Farbflächenkameras von Basler welche die Daten an einen microEnable IV VQ4-GPoE Framegrabber ausgeben. Für die Verarbeitung digitaler Steuersignale wird der Framegrabber mit einer speziellen Erweiterungskarte (Opto-Trigger 5) ausgestattet. Die benötigte Funktionalität erhält das Bildverarbeitungssystem über die Entwicklungsumgebung VisualApplets, anhand derer das Team die FPGAs mit den passenden Anwendungen in kurzer Zeit grafisch programmiert hat.

Der LiDAR-Sensor detektiert die Anwesenheit von Hütchen am Fahrbahnrand sowie Start und Ziel anhand von Abstandsmessungen per rotierendem Laser und gibt eine Punktewolke mit Hütchen, aber ohne Farbinformation aus. Nahe aneinander liegende Punkte repräsentieren als Cluster ein einzelnes Hütchen. Parallel dazu bestimmen die zwei Kameras die Farben und weisen sie den Hütchen der Punktewolke zu. Der im Fahrzeug in einem PC verbaute Framegrabber segmentiert mittels Blob-Analyse eine Bounding Box um das Hütchen und klassifiziert dessen Farbinformationen im HSV-Farbraum. Anschließend wird das Ergebnis anhand von Deep Learning validiert. Das verwendete neuronale Netz (CNN) unterscheidet kleine gelbe, blaue, orangene und große orangene Hütchen voneinander. Das zugrunde liegende Yolo-v3 (tiny) Netzwerk haben die Studierenden angepasst, basierend auf zuvor gekennzeichneten Trainingsbildern. „Aufgrund der hohen Rechenleistung, die für das neuronale Netz erforderlich ist, wurden bisher eingesetzte GPUs durch einen Framegrabber erweitert. Die neuronalen Netze wurden weiterhin auf der GPU berechnet. Dadurch ist eine schnellere Klassifikation in Echtzeit gewährleistet“, erklärt Witte.

Die beiden Kameras nehmen Bilder mit einem horizontalen Öffnungswinkel von 75° auf, die mit den Aufnahmen des LiDAR-Sensors zu einem Öffnungswinkel von 150/160° vereint werden. Das mit dem Framegrabber verbundene Triggerboard steuert und synchronisiert die Auslösung beider Kameras. Die Synchronisierung mit dem LiDAR-Sensor stellt ein Zeitstempel im Robotic Operating System (ROS) sicher. Das ROS enthält alle abgrenzbaren Softwarekomponenten, die eine einzelne Funktion erfüllen, wie etwa der SLAM-Algorithmus (Simultaneous Localization and Mapping) für die simultane Berechnung von Kartenaufbau und Positionsbestimmung des Fahrzeugs. Das CNN ist ebenfalls im ROS implementiert, wo die Verarbeitung der Informationen des Framegrabbers sowie die Validierung durch das CNN durchgeführt werden.

Sensorverbund zur Erkennung der Teststrecke mit verschiedenen Öffnungswinkeln. (Bild: Quelle: GreenTeam Uni Stuttgart e.V.)

Sensorverbund zur Erkennung der Teststrecke mit verschiedenen Öffnungswinkeln. (Bild: GreenTeam Uni Stuttgart e.V.)

Bildvorverarbeitung mit VisualApplets

Ein zentraler Bestandteil der Software in den Rennwagen ist die grafische Entwicklungsumgebung VisualApplets, um FPGA-Prozessoren auf einer Benutzeroberfläche grafisch zu programmieren. Zum Bildverarbeitungsprozess zählt die Bildvorverarbeitung, die für eine Bildverbesserung per Weißabgleich, Farbumwandlung über Debayering und die Farbraumkonvertierung von RGB in HSV eingesetzt wird. Die anschließende Blob-Analyse fasst Pixel ähnlicher Farben zu einer Bounding Box zusammen. Die Vorverarbeitung, wie auch die Bildverarbeitungsfunktionalität, ist auf einem Applet (ein kompiliertes Anwendungsdesign zur Ausführung auf einem FPGA) im Framegrabber programmiert. Eine eintägige Schulung des GreenTeam genügte, um das Applet anzupassen. „Genau auf das System abgestimmte Kameras, eine robuste Bildakquise ohne Verlust von Bilddaten, integrierte Vorverarbeitungsschritte und die Echtzeitverarbeitung der Bilddaten, um die Hütchen schnell und sicher zu erkennen – all dies sprach für diese hochwertige Bildverarbeitungslösung. Hinzu kam die Kompetenz in Deep Learning und VisualApplets, sodass wir besonders vom Wissen der uns unterstützenden Experten profitiert haben“, betont Witte. Insgesamt benötigte das Projektteam wenig Aufwand, um das Bildverarbeitungssystem zu konfigurieren, das sich überdies für unterschiedliche Lichtverhältnisse und Wetterbedingungen ohne spezielle Zusatzbeleuchtung eignet. Somit bleibt das Fahrzeug selbst bei Starkregen oder brütender Hitze stets in der Spur.

www.greenteam-stuttgart.de

www.baslerweb.com

https://silicon.software

Das könnte Sie auch Interessieren