Stopplinienerkennung mit Hough-Transformation: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 34: Zeile 34:
</gallery>
</gallery>


Danach erfolgt in der [[OSE - Objekt - und Spurerkennung|Spurerkennung]] die Berechnung des Spurpolynoms. Das Spurpolynom beschreibt den Verlauf der Fahrbahn in dem aufgenommenen Bild. Das Spurpolynom ist ein Polynom 2. grades und hat folgende Form: <br>
Danach erfolgt in der '''[[OSE - Objekt - und Spurerkennung|Spurerkennung]]''' die Berechnung des Spurpolynoms. Das Spurpolynom beschreibt den Verlauf der Fahrbahn in dem aufgenommenen Bild. Das Spurpolynom ist ein Polynom 2. grades und hat folgende Form: <br>
<br>
<br>
<math>f(x) = ax^2+bx+c</math>
<math>f(x) = ax^2+bx+c</math>
Zeile 41: Zeile 41:


Das in die Vogelperspektive transformierte Bild und die Koeffizienten a, b und c des Spurpolynoms, werden dann der Stopplinienerkennung als Funktionsparameter übergeben.
Das in die Vogelperspektive transformierte Bild und die Koeffizienten a, b und c des Spurpolynoms, werden dann der Stopplinienerkennung als Funktionsparameter übergeben.
'''2. Schnittstelle zurücksetzen'''
Für die '''[[Datenübertragung zwischen PC und dSPACE Karte|Datenübertragung zwischen PC und dSPACE Karte]]''' wurde eine Datenstruktur angelegt. Die Refernez der Datenstruktur wird der Stopplinienerkennung übergeben. Die Datenstruktur beinhaltet unter anderem ein Bit, welches anzeigt das eine Stopplinie erkannt wurde und den Abstand zu der gefundenen Stopplinie. Beide Werte werden zu Beginn eines Programmdurchlaufes zurückgesetzt.


== Test ==
== Test ==

Version vom 9. Februar 2021, 08:24 Uhr

Autor: Kevin Hustedt, Moritz Oberg

Einleitung

Im Praktikum des Studienschwerpunkts Systems Designe Engineering des Studiengangs Mechatronik, wird ein autonom fahrendes Modellauto entwickelt. Dieses Auto soll auf einem Rundkurs fahren, der unteranderem Kreuzungen mit Stopplinien beinhaltet. Das Auto soll automatisch an diesen Stopplinien halten. Für das Stoppen muss das Auto die Stopplinien über die eingebaute Kamera erkennen und den Abstand fortlaufend berechnen. Dies geht aus dem Lastenheft des Praktikums hervor (vgl. Abb. 1).

Lastenheft

Pflichtenheft

Programmablaufplan

Programm

Die Stopplinienerkennung wurde in der Programmiersprache C/C++ umgesetzt. Als Entwicklungsumgebung diente Visual Studio 2019. Es wurden Funktionen und Datentypen aus der Programmbibliothek OpenCV verwendet. Die Bibliothek muss für die Verwendung in die Entwicklungsumgebung Visual Studio eingebunden werden, eine ausführliche Anleitung für das Einbinden ist hier zu finden: Einrichten von OpenCV

Programmablauf

Der Programmablauf der Stopplinienerkennung ist in Abbildung 3 zu sehen. Auf dem Auto wird in regelmäßigen Schritten ein neues Bild mit der Kamera aufgenommen. Im folgenden werden die einzelnen Schritte des Programmablaufes beschrieben.


1. Eingabe

Das Bild der Kamera (vgl. Abb. 6) wird zunächst in der Bildtransformation in ein Graustufenbild gewandelt und in die Vogelperspektive transformiert (vgl. Abb. 7).

Danach erfolgt in der Spurerkennung die Berechnung des Spurpolynoms. Das Spurpolynom beschreibt den Verlauf der Fahrbahn in dem aufgenommenen Bild. Das Spurpolynom ist ein Polynom 2. grades und hat folgende Form:



Das in die Vogelperspektive transformierte Bild und die Koeffizienten a, b und c des Spurpolynoms, werden dann der Stopplinienerkennung als Funktionsparameter übergeben.


2. Schnittstelle zurücksetzen

Für die Datenübertragung zwischen PC und dSPACE Karte wurde eine Datenstruktur angelegt. Die Refernez der Datenstruktur wird der Stopplinienerkennung übergeben. Die Datenstruktur beinhaltet unter anderem ein Bit, welches anzeigt das eine Stopplinie erkannt wurde und den Abstand zu der gefundenen Stopplinie. Beide Werte werden zu Beginn eines Programmdurchlaufes zurückgesetzt.

Test

Zusammenfassung

Ausblick

Literaturverzeichnis