PorgrammablaufOSE
Programmablaufplan des VRmagic-Kameraprogramms mit KOS-Transformation
Autor: Tim Bexten
Der Programmablaufplan zur Erstellung der Draufsicht ist in der Abbildung zur Rechten dargestellt. Er bau auf allen Erkenntnissen auf, die in dem folgenen Wiki-Artikel beschrieben werden.
Zu Beginn werden die benötigten Variablen und #define's beschrieben und deklariert. Im Anschluss daran wird geprüft, ob die Parameter für die RS232-Kommunikation angeglegt sind. Wenn dies der Fall ist, wird die Kommunikation mit der dSPACE Karte gestartet. Diese sendet die Daten des Spurpolynoms an die Querregelung des Fahrzeugs.
Wenn es nicht initaialisiert ist, startet der Verbindungsaufbau zur VRmagic Kamera dierekt. Wenn die Verbindung zur VRmagic Kamera hergestellt ist, werden die Einstellungen der VRmagic Kamera vorgenommen, wie Bespielsweise Belichtungszeit etc.
Danach sind alle Voreinstellungen vorgenommen worden und die Zyklusschleife kann beginnen.
Diese beginnt mit dem Aufnehmen Streckenbildes mit der VRmagic Kamera. Dieses Bild wird im VRmagic eigenen Dateiformat abgspeichert und in ein Graustufenbild gewandelt.
Um mit der OpenCV Bildverarbeitung weiterarbeiten zu können, muss das Dateiformat von OpenCV geändert werden. Dies wird mit dem Graustufenbild durchgeführt. Nachdem das geschehen ist, können alle OpenCV Funktionen genutzt werden.
Daraufhin wird eine Schwellwertfilterung durchgeführt, um weiße und schwarze Stellen gut unterscheiden zu können. Über diese Filterung wird alles über einem gewissen 8 Bit Wert als weiß und alles daruter als schwarz eingestuft. Danach werden die ermittelten Kameraprameter herausgerechnet um das Bild zu entzerren. Danach wird eine Draufsicht erstellt die aus einer ROI des normalen Kamerabildes erstellt. Das Erstellen dieser Draufsicht wird im Folgen Artikel erläutert. Um das Bild für die folgende Kantenerkennung durch den Canny-Edge Filter vorzubereiten, wird ein Gaußfilter über das Bild der Draufsicht gelegt, um das Rauschen zu unterdrücken und ein bessers Kantenbild zu ermöglichen. Aus dem Kantenbild werden nun die Fahrbahnpunkte errechnet. Dieses ist in einem definierten Fahrzeugkoordinatensystem abgelegt.
Aus den X und Y-Koordinaten der Fahrbahnpunkte wird ein Spurpolynom errechnt, welches den Kurvenverlauf vor dem Fahrzeug abbildet. Das Polynom wird mit den a,b und c Parametern einer quadratischen Gleichung angegeben. Diese Parameter werden, sofern die RS232 Kommunikation eingerichtet ist, über die Schnittstelle verschickt.
Die Zyklusschleife ist danach abgeschlossen und die Schleife beginnt von vorn.
Wenn die Zyklusschleife verlassen wurde, werden die RS232 Kommunikation und die VRmagic Kamera geschlossen und das Programm beendet.
Programmablaufplan des VRmagic-Kameraprogramms mit KOS-Transformation
Die Schnittpunkte werden ermittelt, indem das erste Pixel gesucht wird, welches nicht schwarz ist. Diese suche wird nur auf elf Linien durchgeführt. Auf diesen Linien wird von der Mitte des Bildes aus gesucht wo der Fahrbahnrand beginnt. Der gefunden Punkt wird im Fahrzeugkoordinatensystem in einem Array entsprechend abgespeichert.
Dies ist nur ein vorläufiges Konzept und kann für bessere Performance optimiert werden, um Kurven besser erkennen zu können.