Objekterkennung mit RP Lidar A1M8
Autor: Thomas Miska
Betreuer: Prof. Schneider
Aufgabenstellung
- Einarbeitung in die bestehende Software
- Softwareentwurf in MATLAB
- Meilenstein 1:
- Ansteuerung des RP LiDAR A1M8
- Koordinatentransformation polar- zu karthesisch
- Testdokumentation der KOS-Trafo
- Objektbildung (z.B. Sukzessiv Edge Following)
- Testdokumentation der Objektbildung
- Meilenstein 2:
- Objekttracking (mit Kalman-Filter)
- Testdokumentation des Objekttrackings
- Attribute schätzen: v, a, B, T, Güte (s. Schnittstellendokument)
- Testdokumentation der Attribute mit Referenz
- Dokumentation im Wiki
- Softwareentwurf in C
- Meilenstein 3:
- Test der Kommunikation Kamera/LiDAR mit DS1104
- Testdokumentation
- Diagnoseseite in ControlDesk
- Darstellung der LiDAR-Objekte als XY-Plot und tabellarisch
- ggf. Fertigstellung der Kommunikation
- Meilenstein 4:
- Plausibilisierung der Messdaten (LiDAR, Kamera)
- Referenzmessungen
- Abschätzung der Güte der Spurerkennung und des Objekttrackings
- Dokumentation im Wiki
Softwareentwurf in MATLAB
Ansteuerung des RP LiDAR A1M8
Die Ansteuerung des RPLiDAR mit MATLAB Erfolgt in Verbindung mit einer SDK welche in C-Code geschrieben ist. Dieser Code ist in GitHub frei zugänglich. Der RPLiDAR liefert uns in diesem Fall folgende Messwerte:
- Radius
- Radiant
- Qualität
Die beiden anderen Messdaten konnten nicht spezifiziert werden.
- bNewScan
- Result
Die Verbindungsart beruht auf eine UART - Schnittstelle, die mithilfe eines Chips ermöglicht wird. Um den COM-Port zu definieren wird ein Textdokument zu Hilfe genommen, in es weitere Einstellungsmöglichkeiten gibt. Die Verwendung eines Textdokument liegt an daran, dass der C-Code ebenfalls darauf zugreift.
Koordinatentransformation polar- zu karthesisch
Um die Messwerte darstellen zu können bedarf es einer Umrechnung von Polarkoordinaten (Radius und Winkel in rad) in kartesische Koordinaten (x und y Koordinaten). Folglich wird folgende Formel verwendet:
Objektbildung
Es gibt mehrere Varianten eine Objektbildung durchzuführen. Für das Projekt jedoch wurde ein Successive Edge Following (SEF) Algorithmus verwendet. Dieser Code vergleich dabei nebeneinanderliegende (durch den Winkel) Radius-Messwerte miteinander und falls diese eine kleine Differenz aufweisen wird ein Segment gebildet.
Links im Bild ist ein Beispiel für die Objektbildung dargestellt. Dabei sind die blauen Punkte Messwerte vom RPLiDAR und die roten Linien sind die gefundenen Objekte (Segmente). Einzelne blaue Punkte werden aufgrund des Nahbereichs oder eines zu großen Abstands zueinander nicht berücksichtigt (gefiltert)
Attribute
Softwareentwurf in C-Code
Test der Kommunikation Kamera/LiDAR mit DS1104
Diagnoseseite in ControlDesk
Plausibilisierung der Messdaten (LiDAR, Kamera)
Abschätzung der Güte der Spurerkennung und des Objekttrackings
Getting started
→ zurück zum Hauptartikel: SDE Praktikum Autonomes Fahren