OSE: Bildverarbeitung mit Spurerkennung: Unterschied zwischen den Versionen
Zeile 69: | Zeile 69: | ||
== Analyse der Ursachen == | == Analyse der Ursachen == | ||
[[Datei:OSE-Spurerkennung-Ishikawa-Sprint1.PNG|thumb|right|400px|Abb. | [[Datei:OSE-Spurerkennung-Ishikawa-Sprint1.PNG|thumb|right|400px|Abb. 4: Ishikawa-Diagram-Sprint 2]] | ||
Zur Analyse der Ursachen wurde gemäß des A3-Problemlösungsblattes das Ishikawa-Diagramm verwendet (Abbildung | Zur Analyse der Ursachen wurde gemäß des A3-Problemlösungsblattes das Ishikawa-Diagramm verwendet (Abbildung 4). | ||
== Nachweis der Wirksamkeit == | == Nachweis der Wirksamkeit == |
Version vom 4. Dezember 2023, 19:26 Uhr
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
Zur Analyse der Ursachen wurde gemäß des A3-Problemlösungsblattes das Ishikawa-Diagramm verwendet (Abbildung 1).
Maßnahmen
Problem | Maßnahme | ggf. Bild |
---|---|---|
Sprurparameter entsprechen nicht den Richtlinien | Hinzufügen einer switch-case-Anweisung zur Spurerkennung und anschließender Korrektur des Spurparameter | |
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 |
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
- Matlab-Darstellung der Referenzmessung fertigstellen und mit den Spurparametern vergleichen
- Ggf. Kamera-Parameter ändern
- Parameter in die Einheit Meter umwandeln
- Spurerkennungs-Software kompatibel mit allen Kameras machen, ohne, dass immer Änderungen vorgenommen werden müssen
Analyse der Ursachen
Zur Analyse der Ursachen wurde gemäß des A3-Problemlösungsblattes das Ishikawa-Diagramm verwendet (Abbildung 4).
Nachweis der Wirksamkeit
Nützliche Links
Mögliche Software
→ zurück zum Hauptartikel: Praktikum SDE | SDE-Team 2023/24