Test der Fahrbahnerkennung: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(28 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Autor: John Kneib
Autor: [[Benutzer:John_Kneib| John Kneib]]


Betreuer: [[Benutzer:Ulrich_Schneider| Prof. Schneider]]
Betreuer: [[Benutzer:Ulrich_Schneider| Prof. Schneider]]
Zeile 7: Zeile 7:
== Einleitung ==
== Einleitung ==
Für die Fahrt auf der Rundstrecke (REQ10.2300) muss der aktuelle Stand getestet und dokumentiert werden.
Für die Fahrt auf der Rundstrecke (REQ10.2300) muss der aktuelle Stand getestet und dokumentiert werden.
Um mit dem Auto den auf dem Boden markierten Rundkurs abfahren zu können, muss die Fahrspur sicher erkannt werden.
Um dies zu gewährleisten müssen folgende Punkte getestet werden:
* Funktion der VR-Magic Kamera des Fahrzeugs
* Verarbeitung der Kameradaten im C-Programm auf dem Computer in Spurparameter
* Weitergabe der Spurparameter über die serielle Schnittstelle des PCs an die DSpace Karte
== Anforderungen ==
== Anforderungen ==
* Testen Sie den aktuellen Stand der Erkennung der Fahrbahnmarkierung.
* Testen Sie den aktuellen Stand der Erkennung der Fahrbahnmarkierung.
Zeile 15: Zeile 24:


== Komponententest ==
== Komponententest ==
Um validieren zu können, ob die Spurerkennung funktioniert, wurde zuerst getestet, ob die Kamera-Hardware des autonomen Fahrzeug überhaupt noch funktioniert. Über UltraVNC Viewer wurde eine Verbindung mit dem Fahrzeug hergestellt und das Programm VRmagic geöffnet. Mit diesem Programm ist es möglich die momentane Aufnahme der Kamera live zu verfolgen. Dies funktioniert einwandfrei und es konnte ein Bild aufgenommen werden.[[Datei:Snapshot_VRmDC-X-E_-XEM7AR_2018-05-28_09-32-14.png|mini|Bild aufgenommen mit der VRmagic Kamera]]


Um die Spurerkennung testen zu können sollte als nächstes das C-Programm welches für die Verarbeitung der Kamerabilder zuständig ist überprüft werden. Das Problem bestand hier allerdings darin, dass nicht alle verwendeten header Datein im SVN im richtigen Ordner versioniert sind. Nachdem ein lauffähiges Projekt in einem Unterordner (Ordner in aktueller SVN Struktur:\Autonomes_fahren\Teams\OSE\OSE_Steinmeier_Vogel\Objekt_Spurerkennung) gefunden wurde, konnte dieses auf dem Pc des autonomen Fahrzeug gestartet werden. [[Datei:Fahrbahnerkennung_auf_dem_Auto_2.png|mini|Bildschirmfoto bei laufendem Fahrbahnerkennungsprogramm]] Das Programm ist soweit lauffähig und erkennt die Begrenzungslinien, diese werden im Ausgabefenster mit roten Punkten markiert. In den durch horizontale Linien gekkenzeichneten ROIs (siehe Bildschirmfoto). In der Konsole werden die drei Variabeln zur Berechnung des Kurvenkrümmung ausgegben. Die Zykluszeit des Programms scheint momenten jedoch noch zu langsam zu sein um eine Spurführung zu ermöglichen. Als nächstes soll überprüft werden, ob die Zyklusszeit verbessert werden kann und ob die von dem Programm ermittelten Werte zum berechnen der Parabel (a,b,c) auch richtig über die serielle Schnitstelle des Pcs ausgegeben werden. Geplant ist ein Test mit einem Osziloskop mit decodier Möglickeit von Seriellensignalen (RS232).
===Signalflussplan/Fortschritt ===
In diesem Abschnitt soll durch das Diagramm kurz dargestellt werden, wie das Bild-Signal verarbeitet wird, bis es für die Querregelung des Fahrzeugs benutzt werden kann. Zusätzlich ist durch die orangene Linie der Testfortschritt markiert.
[[Datei:Signalflussplan Fahrbahnerkennung.png|rahmenlos|mittig|hochkant=1.8|Signalflussplan der Fahrbahnerkennung]]


== Zusammenfassung ==
=== Testen der VR-Magic Kamera des Fahrzeugs ===
Um die nachfolgenden Tests durchführen zu können, wurde zuerst getestet, ob die Kamera des autonomen Fahrzeugs überhaupt noch funktioniert. Über UltraVNC Viewer wurde eine Remoteverbindung mit dem Fahrzeug hergestellt und das Programm VR-Magic geöffnet. Mit diesem Programm ist es möglich die momentane Aufnahme der Kamera live zu verfolgen und Parameter der Kamera zu ändern. Mittels des Tools lies sich eine Verbindung herstellen und es konnten Aufnahmen gespeichert werden. Die Kamera des Fahrzeugs ist somit funktionstüchtig.
[[Datei:Snapshot_VRmDC-X-E_-XEM7AR_2018-05-28_09-32-14.png|mini|Bild aufgenommen mit der VRmagic Kamera]]
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
 
=== Testen der Bildverarbeitung des C-Programms ===
Um die Spurerkennung testen zu können sollte im zweiten Schritt das C-Programm für die Verarbeitung der Kamerabilder  geprüft werden. Das Programm befindet sich auf dem PC des Fahrzeugs und wird vor Fahrtantritt gestartet. Der Ethernet Bus liefert die Kamerabilder zur weiteren Verarbeitung an das Programm. Dieses nutzt die Einzelbilder um die Fahrbahnmarkierungen als Polygonzug zu erkennen. Aus diesem Polygonzug wird die Spurparabel berechnet. Die Polynome a,b,c der quadratischen Funktion <math>f(x) = ax^2+bx+c</math> werden anschließend über die RS232 Schnitstelle des PCs der DSpace Karte zur Verfügung gestellt.
 
Das Problem bestand hier allerdings darin, dass nicht alle verwendeten Header-Datein des C-Programms im SVN im richtigen Ordner versioniert sind. Nachdem ein lauffähiges Projekt in einem Unterordner (Ordner in aktueller SVN Struktur:\Autonomes_fahren\Teams\OSE\OSE_Steinmeier_Vogel\Objekt_Spurerkennung) gefunden wurde, konnte dieses auf dem PC des autonomen Fahrzeug gestartet werden. Das Programm ist soweit lauffähig und erkennt die Begrenzungslinien, diese werden im Ausgabefenster mit roten Punkten markiert. In den durch horizontale Linien gekkenzeichneten ROIs (siehe Bildschirmfoto). In der Konsole werden die drei Variabeln ausgegben. Die Zykluszeit des Programms scheint momentan jedoch noch zu langsam zu sein um eine Spurführung zu ermöglichen, da das Auto im Fahrbetrieb auf der Rundstrecke nach kurzer Zeit die Spur verlässt und zu spät nachregelt.
[[Datei:Fahrbahnerkennung_auf_dem_Auto_2.png|mini|Bildschirmfoto bei laufendem Fahrbahnerkennungsprogramm]]
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
 
=== Testen der Ausgabe des Spurpolynoms über die serielle Schnitstelle ===
Um eventuelle Fehler oder Signalaussetzter bei der Übertragung des seriellen Signals vom COM Port des PCs zur DSpace Karte auszuschließen, soll im nächsten Schritt das Signal mithilfe eines Oszilloskops mit Trigger/Encoder Funktion für RS232/UART betrachtet werden. Wenn dort keine Probleme festgestellt werden besteht der nächste Schritt darin, die Parameter über die Diagnoseschnistelle ControlDesk auszulesen und zu sehen ob die Parameter der DSpace Karte ordnungsgemäß zur Verfügung stehen.
 
== Zusammenfassung und Ausblick ==
Durch die ungenaue Dokumentation der Ablage der Programme musste viel Zeit für die Suche aufgewendet werden.
Durch momentane Wartungsarbeiten am Fahrzeug lies sich der Systemtest auf dem Fahrzeug noch nicht komplett durchführen. Für das nächste Semester ist geplant noch andere auf dem Fahrzeug-PC gefundene Programme zu testen. In dem momentan verwendeten Programm besteht die Möglichkeit, die Bildschirmausgabe des Kamerabildes zu deaktivieren. Dies könnte wichtige Zykluszeit pro Frame einspraen und zu einem besseren Ergebnis führen.


== Link zum Quelltext in SVN ==
== Link zum Quelltext in SVN ==
SVN-Link mit den Fotos und dem Diagramm für den Artikel https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Dokumentation/Test_der_Fahrbahnerkennung/


== Weiterführende Links ==
== Weiterführende Links ==
Links bezüglich des Thema des Artikels:
*[[Kommunikation zwischen PC und dSpace-Karte via RS232 | Wiki-Artikel bezüglich der Verbindung zwischen DSpace-Karte und C-Programm und PC]]
*[[BSF_-_Bahn-_und_Spurführung#Querf.C3.BChrungskonzept | Wiki-Artikel bezüglich der Bahnplanung und Spurführung --> Querregelung aus den Spurparametern des übergebenem Parabel Polynoms (a,b,c)]]
Tipps zum Wiki schreiben und interessante Links:
*[[Wiki-Artikel_schreiben | Tipps zum Schreiben eines Wiki-Artikels]]
*[[Wiki-Artikel_schreiben | Tipps zum Schreiben eines Wiki-Artikels]]
*[[ArduMower:_Simulation_der_Kinematik_eines_Fahrzeugs_mit_drei_R%C3%A4dern|Beispiel-Artikel von Prof. Göbel]]
*[[ArduMower:_Simulation_der_Kinematik_eines_Fahrzeugs_mit_drei_R%C3%A4dern|Beispiel-Artikel von Prof. Göbel]]

Aktuelle Version vom 3. August 2018, 21:58 Uhr

Autor: John Kneib

Betreuer: Prof. Schneider

Abgabetermin: 28.05.2018

Einleitung

Für die Fahrt auf der Rundstrecke (REQ10.2300) muss der aktuelle Stand getestet und dokumentiert werden.

Um mit dem Auto den auf dem Boden markierten Rundkurs abfahren zu können, muss die Fahrspur sicher erkannt werden.

Um dies zu gewährleisten müssen folgende Punkte getestet werden:

  • Funktion der VR-Magic Kamera des Fahrzeugs
  • Verarbeitung der Kameradaten im C-Programm auf dem Computer in Spurparameter
  • Weitergabe der Spurparameter über die serielle Schnittstelle des PCs an die DSpace Karte

Anforderungen

  • Testen Sie den aktuellen Stand der Erkennung der Fahrbahnmarkierung.
  • Dokumentieren Sie Modul- und Systemtests nach wissenschaftlichem Stand.
  • Arbeiten Sie Verbesserungspotential heraus.
  • Erläutern Sie in einer Präsentation die Funktion der Fahrbahnerkennung. Berücksichtigen Sie hierbei die gesamte Messkette (Bildentstehung bis Schnittstelle zur Regelung).
  • Dokumentieren Sie Ihr Vorgehen nach wissenschaftlichem Standard.

Komponententest

Signalflussplan/Fortschritt

In diesem Abschnitt soll durch das Diagramm kurz dargestellt werden, wie das Bild-Signal verarbeitet wird, bis es für die Querregelung des Fahrzeugs benutzt werden kann. Zusätzlich ist durch die orangene Linie der Testfortschritt markiert. Signalflussplan der Fahrbahnerkennung

Testen der VR-Magic Kamera des Fahrzeugs

Um die nachfolgenden Tests durchführen zu können, wurde zuerst getestet, ob die Kamera des autonomen Fahrzeugs überhaupt noch funktioniert. Über UltraVNC Viewer wurde eine Remoteverbindung mit dem Fahrzeug hergestellt und das Programm VR-Magic geöffnet. Mit diesem Programm ist es möglich die momentane Aufnahme der Kamera live zu verfolgen und Parameter der Kamera zu ändern. Mittels des Tools lies sich eine Verbindung herstellen und es konnten Aufnahmen gespeichert werden. Die Kamera des Fahrzeugs ist somit funktionstüchtig.

Bild aufgenommen mit der VRmagic Kamera











Testen der Bildverarbeitung des C-Programms

Um die Spurerkennung testen zu können sollte im zweiten Schritt das C-Programm für die Verarbeitung der Kamerabilder geprüft werden. Das Programm befindet sich auf dem PC des Fahrzeugs und wird vor Fahrtantritt gestartet. Der Ethernet Bus liefert die Kamerabilder zur weiteren Verarbeitung an das Programm. Dieses nutzt die Einzelbilder um die Fahrbahnmarkierungen als Polygonzug zu erkennen. Aus diesem Polygonzug wird die Spurparabel berechnet. Die Polynome a,b,c der quadratischen Funktion werden anschließend über die RS232 Schnitstelle des PCs der DSpace Karte zur Verfügung gestellt.

Das Problem bestand hier allerdings darin, dass nicht alle verwendeten Header-Datein des C-Programms im SVN im richtigen Ordner versioniert sind. Nachdem ein lauffähiges Projekt in einem Unterordner (Ordner in aktueller SVN Struktur:\Autonomes_fahren\Teams\OSE\OSE_Steinmeier_Vogel\Objekt_Spurerkennung) gefunden wurde, konnte dieses auf dem PC des autonomen Fahrzeug gestartet werden. Das Programm ist soweit lauffähig und erkennt die Begrenzungslinien, diese werden im Ausgabefenster mit roten Punkten markiert. In den durch horizontale Linien gekkenzeichneten ROIs (siehe Bildschirmfoto). In der Konsole werden die drei Variabeln ausgegben. Die Zykluszeit des Programms scheint momentan jedoch noch zu langsam zu sein um eine Spurführung zu ermöglichen, da das Auto im Fahrbetrieb auf der Rundstrecke nach kurzer Zeit die Spur verlässt und zu spät nachregelt.

Bildschirmfoto bei laufendem Fahrbahnerkennungsprogramm











Testen der Ausgabe des Spurpolynoms über die serielle Schnitstelle

Um eventuelle Fehler oder Signalaussetzter bei der Übertragung des seriellen Signals vom COM Port des PCs zur DSpace Karte auszuschließen, soll im nächsten Schritt das Signal mithilfe eines Oszilloskops mit Trigger/Encoder Funktion für RS232/UART betrachtet werden. Wenn dort keine Probleme festgestellt werden besteht der nächste Schritt darin, die Parameter über die Diagnoseschnistelle ControlDesk auszulesen und zu sehen ob die Parameter der DSpace Karte ordnungsgemäß zur Verfügung stehen.

Zusammenfassung und Ausblick

Durch die ungenaue Dokumentation der Ablage der Programme musste viel Zeit für die Suche aufgewendet werden. Durch momentane Wartungsarbeiten am Fahrzeug lies sich der Systemtest auf dem Fahrzeug noch nicht komplett durchführen. Für das nächste Semester ist geplant noch andere auf dem Fahrzeug-PC gefundene Programme zu testen. In dem momentan verwendeten Programm besteht die Möglichkeit, die Bildschirmausgabe des Kamerabildes zu deaktivieren. Dies könnte wichtige Zykluszeit pro Frame einspraen und zu einem besseren Ergebnis führen.

Link zum Quelltext in SVN

SVN-Link mit den Fotos und dem Diagramm für den Artikel https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Dokumentation/Test_der_Fahrbahnerkennung/

Weiterführende Links

Links bezüglich des Thema des Artikels:

Tipps zum Wiki schreiben und interessante Links:



→ zurück zum Hauptartikel: Praktikum SDE