OSE: Bildverarbeitung mit Spurerkennung

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren: Johann Kismann, Dominik Koenig
Betreuer: Prof. Schneider

Inbetriebnahme

Einleitung

Dieser Wiki-Artikel befasst sich im Rahmen des im 7. Semester absolvierten SDE-Praktikums mit dem Thema "OSE: Bildverarbeitung mit Spurerkennung". Ziel ist es dabei, dass mithilfe der im Carolocup-Fahrzeug eingebundenen Kamera, eine Spur erkannt wird und anschließend ein entsprechendes Fahrbahn-Polynom gebildet wird. Dieses Polynom besteht aus den Parametern a, b und c, welche nach deren Berechnung an die Gruppe der Querregelung übermittelt werden müssen. Das Ziel soll am Ende sein, dass die Fahrspur mit einer hohen Sicherheit erkannt und das Spurpolynom korrekt berechnet wird. Wichtig ist dabei, dass die Spurerkennung nicht empfindlich für Ausreißer ist.

Ist-Stand WS 23/24

Der Stand zum Start des Praktikums kann aus dem Wiki-Artikel Aktuelle OSE Softwareumgebung entnommen werden. Die dazu gehörigen VisualStudio-Programme sind bereits dazu in der Lage, die Spur zu erkennen und ein entsprechendes Spurpolynom zu erstellen. Jedoch treten dabei noch einige Fehler auf, welche in den kommenden Sprints behoben werden sollen.

Sprint 1

Problembeschreibung

Bei den ersten Tests der Spurerkennung.cpp-Datei ist aufgefallen, dass die Polynomberechnung nicht funktioniert, wenn das vorhandene Kalman-Filter ausgeführt wird. Dabei werden für die Parameter a, b und c nur NaN übergeben. Wird dieser auskommentiert, funktioniert die Spurerkennung und Polynomberechnung wieder so, dass die Spurparameter in Millimeter berechnet werden. Zudem ist aufgefallen, dass die daraus ergebenen Spurparameter nicht den Voraussetzungen des Schnittstellendokuments entsprechen. Das Schnittstellendokument gibt nämlich an, dass das Spurpolynom seinen Ursprung in der Mitte der Frontseite des Fahrzeuges hat. Der Ist-Zustand ist jedoch, dass das Spurpolynom mit der erkannten Spur übereinstimmt. Die EInhaltung der Voraussetzungen ist hierbei essenziell, da weitere Gruppen, wie die Gruppe der Querregelung mit diesen Werten weiter arbeiten müssen und deshalb gewährleistet sein muss, dass diese auch korrekt sind. Daher hat dieses Problem auch die höchste Priorität. Außerdem ist aufgefallen, dass die Parameter des Spurpolynoms im ControlDesk nicht korrekt ausgegeben werden und zusätzlich auch noch keine Ausgabe dieser Werte im PolyFenster vorhanden ist. Im ControlDesk ist es dabei so, dass die Parameter a und b zwar verbunden sin, aber nur 0 ausgeben. Parameter c hingegen ist nicht mit dem ControlDesk verbunden und gibt dementsprechend auch nichts aus.

Zielsetzung

Die Ziele des ersten Sprints sind auf der einen Seite, dass die Spurparameter so angepasst werden, dass diese den Voraussetzungen des Schnittstellendokuments entsprechen. Auf der anderen Seite sollen die Ausgaben sowohl in ControlDesk, als auch im PolyFenster korrigiert bzw. erstellt werden. Letztlich ist hinzuzufügen, dass das fehlerhafte Kalman-Filter vorerst vernachlässigt wird, da dies lediglich der Optimierung der Spurerkennung dient, es aber zuerst am wichtigsten ist, ein generell lauffähiges und korrektes System zu besitzen.

Analyse der Ursachen

Abb. 1: Ishikawa-Diagram-Sprint 1

Zur Analyse der Ursachen wurde gemäß des A3-Problemlösungsblattes das Ishikawa-Diagramm verwendet (Abbildung 1).

Maßnahmen

Problem Maßnahme ggf. Bild
Tabelle:Simulink-Modell für den Sensor-/Aktortest builden
Sprurparameter entsprechen nicht den Richtlinien Hinzufügen einer switch-case-Anweisung zur Spurerkennung und anschließender Korrektur des Spurparameter
Abb. 2: Switch-case-Erklaerung
Anzeige im ControlDesk fehlerhaft/unvollständig Spurparameter C in Simulin wieder auf den CCF-Bus gelegt - Alle Parameter geben nun 0 aus, sind aber korrekt verbunden -> Fehler mit der Komunikation -> Absprache mit der Kom-Gruppe -
Spurparameter werden nicht im PolyFenster angezeigt Hinzufügen einer Ausgabe der Spurparameter im PolyFenster
Abb. 3: Parameter-Ausgabe im PolyFenster

Nachweis der Wirksamkeit

Erneute Simulation

Nachdem die Maßnahmen umgesetzt wurden, konnten bei den darauffolgenden Durchführungen ermittelt werden, dass die Parameter korrekt im PolyFenster ausgegeben werden (siehe Abbildung 3).

Referenzmessung

Damit geprüft werden kann, ob die Parameter durch die switch-case-Anweisung korrekt umgerechnet werden, muss eine Referenzmessung durchgeführt werden, wobei die erste Kurve der Fahrbahn ausgemessen und anschließend geplottet wird. In derselben Figur soll darauf das Spurpolynom mit den entsprechenden Parametern a, b und c hinzugefügt werden, damit die beiden Kurven miteinander verglichen werden können. Gleicht sich das Spurpolynom dem Referenzpolynom an, ist die Umrechnung der Parameter korrekt. Falls nicht, müssen diese erneut angepasst werden. Da dies jedoch vor Beendigung des ersten Sprints jedoch noch nicht fertiggestellt werden konnte, wird dies in Sprint 2 erneut aufgefasst.

Sprint 2

Problembeschreibung

  • Spurpolynom weicht von der Referenzmessung ab
  • Umrechnung der Spurparameter von mm in m soll hinzugefügt werden
  • Spurerkennungs-Software nicht für alle benutzten Kameras geeignet

Zielsetzung

  • Referenzmessung fertigstellen
  • Parameter in die Einheit Meter umwandeln

Analyse der Ursachen

Nachweis der Wirksamkeit

Nützliche Links

Mögliche Software


→ zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2023/24