Kategorie:Objekterkennung mit LiDAR

Autor: | Prof. Dr.-Ing. Schneider, Dennis Fleer |
Modul: | Studienschwerpunkt III: Systems Design Engineering III, MTR-B-2-7.03 |
Lehrveranstaltung: | Mechatronik, Praktikum SDE, 7. Semester, Wintersemester |
Einleitung
Die Objekterkennung im Praktikum SDE wird über einen LiDAR Scanner Hokuyo URG-04LX-UG01 (vgl. Abb. 1) umgesetzt. Dabei handelt es sich um einen einstrahligen Laserscanner mit 240 ° Öffnungswinkel. Der Messbereich von bis zu 4 m wird in einer Frequenz von bis zu 10 Hz mit einer Winkelauflösung von 0,36 ° abgetastet.
Dieser Artikel beschreibt
- die technischen Grundlagen,
- Messdatenverarbeitung,
- Objektbildung,
- Objekttracking und
- RS232-Kommunikation.
Sensor Hokuyo URG04LX
Dokumentation
- Technische Daten: Hokuyo URG-04LX-UG01 LiDAR
- LiDAR Objekterkennung mit MATLAB®/Simulink
- Lidar Einführung
- MATLAB®-Beispiel: Hokuyo URG-04LX-UG01
- Anleitung_zur_Erstellung_einer_S-Funktion_für_Hokuyo_URG-04LX-UG01
Software
Datenblätter
Projekt
Getting Started
- LiDAR Objekterkennung mit MATLAB®/Simulink
- Die Klassen wurde alle mit Doxygen generiert bitte lesen sie sich kurz einmal das Quickstart Doxygen
- Um Die Doxygen Dokumentation neu zu generieren, muss GrahpViz installiert sein.
Projektgeschichte
Die Objekterkennung mit Laserscanner ist einer der Arbeitsbereiche des SDE-Praktikums. Die Tätigkeit besteht aus Auswertung der Rohdaten und umformen dieser in eine Objektliste, welche Daten zu den vom Laserscanner erfassten Objekten enthält. Im Wintersemester 2014/2015 wurde dieses Themena von Michael Deitel und Manuel Groß bearbeitet. Die Vorarbeit zu diesem Thema wurde von Jens Ruhrlaender geleistet. Das Thema wurde im Wintersemester 2022/2023 von Patricio Emiliano Hernandez Murga und Moritz-Ben-Joe Kühnrich neu aufgerollt. Dennis Fleer übernimmt nun das neue Framework und führt das Projekt fort.
Anforderungen
Aufgrund der Requirements im Lastenheft des Praktikums ergeben sich für das LiDAR-System folgenden Anforderungen:
REQ10.2330:
1. Erkennung von statischen Hindernissen
2. Zu erkennende Hindernisse haben eine Feste Abmessung (Pappkartons 31cm x 22cm)
3. Erkennung der Position der Hindernissen
REQ10.2350:
4. Erkennung von dynamischen Hindernissen
5. Erkennung der Geschwindigkeit der dynamischen Hindernissen
6. Erkennung der Orientierung der Boxen
REQ10.3170:
7. Lernen des Rundkurses
Aus der Kommunikation und Rücksprache mit anderen Gruppen:
8. Errechnung eines Vertrauenswert für die Objekte
Aktueller Stand
Der aktuelle Stand ist, dass das Projekt in die große OSE-Exe integriert wurde, ein Debug Environmet existiert und lauffähig ist. Es gibt Unit-Tests zum Testen der Funktion der Hardware Kommunikation zum Sensor. Allerding gibt es Probleme bei der Bestimmung von Objekten. Außerdem werden die LiDAR-Punkte aktuell im Debug Environmet noch in Polar Koordinaten dargestellt. Ideal wäre es, wenn diese schon direkt im karthesischen Koordinatensystem dargestellt werden. Die Serielle Kommunikation kann während der Fahrt aufgenommen werden, um so die Daten, die aus der großen OSE-Exe an die DSpace Karte gesendet werden, zu loggen und abzugleichen.
Ausblick
In der Zukunft, muss der Algorithmus wieder angepasst werden, dafür kann der Algorithmus von P. Murga und M. Kühnrich zur Hilfe gezogen werden. Sobald der Algorithmus zuverlässig auch in der Live-Detektion läuft, kann angefangen werden die Objekte während der Fahrt ebenfalls zu erkennen und die richtigen Abstände zu berechnen. Zum Schluss fehlt nur noch das Tracking der einzelnen Objekte.
Software
Technischer Systementwurf
1. Die LiDAR-Daten werden ausgelesen, diese werden dann in Polar-Koordinaten ausgeben
2. Die LiDAR Punkte werden mithilfe eines Sucessive Edge Following(SEF) Algorithmus segmentiert. Es entstehen L-Shapes
3. Die Segmente werden gefiltert, sodass nur L-Shapes verarbeitet werden, Diese werden zu Objekten verarbeitet
4. Die Objekte sollen getrackt und gefiltert werden
5. Die 5 wichtigsten Objekte werden über die RS-232 Schnittstelle an die dSpace-Karte geschickt
C-Module
Die Solution File liegt in der großen OSE-Executable in dem Unterordner OSE_LiDAR.
Der Link zu SVN ist dieser: OSE_LiDAR
Der Link zu der Doxygen Dokumentation ist dieser: Doxygen-Dokumentation
LiDAR-Framework
Das LiDAR Framework ist eine C++ Static Library. Sie beinhaltet alle notwendigen Implementierungen, um später die Daten ideal und effektiv zu verarbeiten und Nützliche andere Methoden und Klassen wie Logging von Daten oder auch Logging als Programstatus.
Für eine genauere Dokumentation schauen sie sich in der Doxygen Dokumentation die Themen "LiDARSensor", "I/O", "Utility" und "KalmanFilter" an.
LiDAR-Unit Tests
Die LiDAR-Unit Tests kompeliert zu einem C++ Executable. Die Unit Tests sind zum einen für das rohe Testen der urg Bibliothek, dadurch kann ein Verbindungsfehler ausgeschlossen werden. Die Anderen Tests sind für die Implementierung des Hokuyo URG04 als LiDARSensor Klasse.
Für eine genauere Dokumentation schauen sie sich in der Doxygen Dokumentation die Themen "Unit-Tests" an.
LiDAR-Debug Environment
Die LiDAR-Debug Environment kompeliert zu einem C++ Executable.
Für eine genauere Dokumentation schauen sie sich in der Doxygen Dokumentation die Themen "Gui" und "DebugEnvironment" an.
Weiterführende Links
WS23/24: OSE_Hokuyo-Lidar_Objekterkennung von P. Murga und M. Kühnrich
→ zurück zum Hauptartikel: Praktikum SDE
Seiten in der Kategorie „Objekterkennung mit LiDAR“
Folgende 10 Seiten sind in dieser Kategorie, von 10 insgesamt.