Objekterkennung mit Hokuyo LiDAR

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen

Autoren: Ahmad Hassan und Alexander Schirrmeister


Einleitung

Die Gruppe Hassan/Schirrmeister bearbeiten im Sommersemester 2020 die Objekterkennung mit dem Hokuyo LiDAR. Aufgrund der aktuellen Lage rund um das Coronavirus erlaubt es nicht direkt mit dem Sensor zu arbeiten. Als Mittelweg werden hier bereits aufgezeichnete Messdaten zur Auswertung herangezogen. Aufgabe ist es anhand der vorliegenden Daten Objekte zu erkennen und zu verfolgen. Im ersten Schritt erfolgt die Auswertung der Arbeiten aus den Vorsemestern und einer Beurteilung des aktuellen Zustands der Aufgabe. Eine Auflistung von Meilensteinaufgaben ist unten ersichtlich.

  1. Einarbeitung in dier bestehende Software
  2. Softwareentwurf in MATLAB
    1. Meilenstein 1:
    2. Ansteuerung des Hokuyo LiDAR
    3. Koordinatentransformation polar- zu karthesisch
    4. Testdokumentation der KOS-Trafo
    5. Objektbildung (z.B. Sukzessiv Edge Following)
    6. Testdokumentation der Objektbildung
    7. Meilenstein 2:
    8. Objekttracking (mit Kalman-Filter)
    9. Testdokumentation des Objekttrackings
    10. Attribute schätzen: v, a, B, T, Güte (s. Schnittstellendokument)
    11. Testdokumentation der Attribute mit Referenz
    12. Dokumentation im Wiki

Anforderungen

Fahrt auf Rundstrecke mit statischen Hindernissen

Unit-Tests

Ziele / Pflichten

Requirements

Folgende Anforderungen wurden an die Objekterkennung mit Hokuyo LiDAR gestellt:

ID Inhalt Ersteller Datum Geprüft von Datum
1 Die LiDAR-Objekterkennung muss als zyklischer Task aufgerufen werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
2 Die erfassten Messwerte müssen auf Region of Interest und Rauschen gefiltert werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
3 Die erfassten Messwerte müssen von Polarkoordinaten des LiDARs in das kartesische Koordinatensystem des Autos transformiert werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
4 Die entstandene Punktewolke muss in Segmente unterteilt werden (Segmentierung). Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
5 Die Punkte der jeweiligen Segmente müssen in einer einheitlichen Farbe gekennzeichnet werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
6 Auf die geometrischen Beschaffenheiten der erfassten Segmente muss eine Boundingbox aufgebaut werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
7 Objekt-Pose (Entfernung und Ausrichtung) muss ermittelt werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
8 Bereits bestehende Objekte müssen z.B. durch einen Kalmanfilter getrackt werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
9 Parameter der erkannten Objekte müssen abgeschätzt werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
10 Objekt-Posen und Parameter müssen in Objektliste überführt werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
11 Eingangsgrößen der Funktion LiDAR_Objekttracking.m sind
  1. Messpunkte der LiDAR-Sweeps: LiDAR_Values
  2. Parameter (a,b,c) der Fahrspur
  3. Spurzuordnung (0,1)
Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
12 Ausgangsgrößen der Funktion LiDAR_Objekttracking.m sind
  1. Objektliste mit folgenden Parametern:
    1. Gesamtzahl relevanter Objekte (max. 5)
    2. Objekt.Nummer
    3. Objekt.x
    4. Objekt.y
    5. Objekt.b
    6. Objekt.t
    7. Objekt.alpha
    8. Objekt.v
    9. Objekt.Plausibel
Alexander Schirrmeister 03.06.2020 Hr. Hassan ---
13 Bei Kommentierung und Dokumentation muss sich an die Projektrichtlinien gehalten werden. Alexander Schirrmeister 03.06.2020 Hr. Hassan ---

Funktionaler Systementwurf / Technischer Systementwurf

Theoretische Grundlagen

Koordinatentransformation

Datenvorverarbeitung

Vorab sollte aufkommendes "Salt and Pepper" Rauschen herausgefiltert werden um Fehlinterpretationen des Algorithmus zu verhindern.

Segmentierung

Objektbildung

Objekttracking

Signalflussplan

Zum besseren Verständnis der vom System zu erfüllenden Gesamtaufgabe werden die Schritte der Datenverarbeitung vom LiDAR bishin zur Schnittstelle zu anderen Softwaremodulen in einem Signalflussplan dargestellt. Wie auch die Software, ist der Signalflussplan von iterativen Änderungen nicht ausgeschlossen und wird daher im SVN als bearbeitbares Dokument bereitgestellt. Die Bearbeitung des Signalflussplans fand im Browsertool yEd-Live statt. Der aktuelle Stand des Signalflussplans ist in der Abb. X ersichtlich.

Signalflussplan

Morphologischer Kasten

Komponentenspezifikation

Programmierung

Initialisierung

Aktualisierung

Komponententest

Zusammenfassung

Ausblick

Offene Punkte

Link zum Quelltext in SVN

Literaturverzeichnis


Getting Started

  1. Recherchieren Sie die Schritte der Signalverarbeitungskette. Ergebnis: Signalflussplan
  2. Recherchieren Sie die Elemente/Blöcke des Signalflussplans. Ergebnis: Morphologischer Kasten
  3. Bewerten Sie die Ergebnisse Ihrer Recherche und legen Sie sich auf ein Vorgehensweise fest.
  4. Setzen Sie diese anhand Ihres Signalflussplans um.
  5. Testen Sie die Module.
  6. Testen Sie das System.
  7. Dokumentieren Sie fortlaufend Ihre Ergebnisse im Wiki/SVN.

Weblinks


→ zurück zum Hauptartikel: SDE Praktikum Autonomes Fahren