Benutzer:Dennis.fleer@stud.hshl.de
Einleitung
Das ist meine Website, hier lege ich eine Demo für die überarbeitete Version des Artikels Objekterkennung mit LIDAR.
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 07.11.2024 ist, dass sich sowohl das Framework als auch die Unit-Test in Matlab beide Funktionsfähig sind. Die Dokumentation wurde weiten Gehens umgesetzt, wird allerdings fortlaufend gepflegt.
Folgende Punkte sind aber noch zu verbessern:
- Die Funktionalität kann nun gemäß den Anforderungen weiter ausgebaut werden.
- Die Wiki Artikel können noch detaillierter werden und mehr verweise vertragen
Hardware
Komponenten Spezifikationen
Zur Objekterkennung mittels LIDAR wird der Laserscanner URG-04LX der Firma Hokuyo verwendet.
Inbetriebnahme
Im Praktikum stehen zwei Laserscanner zur Verfügung. Ein auf dem Fahrzeug verbauter und ein nicht verbauter zum Testen ohne das Fahrzeug für andere Teams zu blockieren. Mit beiden können die nachfolgenden Programme ausgeführt werden. Der Lidar, der auf dem Fahrzeug verbaut wurde ist mit schwarzem Klebeband oben abgeklebt (Klebestelle im Bild grüner Pfeil), da die ansonsten sichtbaren weißen Linien auf dem Lidar die Kamera irritieren. Der Lidar ist am Fahrzeug mit 2 Schrauben befestigt (siehe rote Pfeile im Bild).
Beim erstmaligen Anschluss werden die Treiber nicht automatisch installiert. Diese müssen manuell eingebunden werden. Die Treiber sind im SVN unter [1]
Um den LiDAR dann über C/C++ zu verwenden muss die dazugehörige URG-Bibliothek eingebunden werden. Eine detaillierte Anleitung dafür befindet sich hier
Bei der Entwicklung des LiDARs ist nach ne V-Modell vorgegangen worden.
Software
Funktionaler Systementwurf
Hier wird der grobe Ablauf des LiDAR-Systems gezeigt
1. Einlesen der LiDAR-Daten
2. Erkennung der Boxen aus den Daten
3. Tracking der Boxen
4. Weitersenden an die dSPACE-Karte
Technischer Systementwurf
Hier wird der eben funktionale Systementfwurd weiter ausgeführt.
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 Objekte 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
Einstieg
Um mit dem Framework weiterzuarbeiten, empfiehlt es sich die mit Doxygen generierte Dokumentation des C-Codes anzuschauen.
Doxygen
Nach einer Anpassung im Quellcode des Frameworks, muss die Dokumentation neu generiert werden, dafür folgen sie bitte dem Quickstart Doxygen.
Lidar-Framework
Hier soll eine detaillierte Beschreibung des Frameworks hin und wie man es bedienen kann. Außerdem muss hier die Verlinkung zur Dokumentierung des Quellcodes mit Doxygen hin.
Matlab Unit-Tests
Hier soll eine detaillierte Beschreibung der Matlab Simulationen hin und wie man diese bedient. Außerdem soll zu jeder Simulation eine Erklärung, was die Daten am Ende aussagen sollen.
Für alle Module gibt es eine eigenes Testmodul. Zusätzlich gibt es auch ein Testmodul für das Gesamtkonzept. In den jeweiligen Testmodulen ist es möglich sowohl einzelne Frames diverser Testmessungen durchzugehen, als auch ein Live-Visualisierung. Das Gesamt-Testmodul kann zusätzlich direkt mit dem LiDAR arbeite, dafür muss der Parameter für den COM-Port in der Funktion "sweepLidar" angepasst werden. Umschalten zwischen den Modi ist möglich über eine Schaltvariable in dem Gesamt-Testmodul. Die Testmodule sind hier zu finden:
Modultest-Segmentierung und Objektbildung
Modultest-Tracking
Gesamt-Testmodul
Der generierte Code wurde in die Visual-Studio-Projektmappe LiDAR-Framework eingefügt. Dieses C-Projekt wurde mit Doxygen dokumentiert.
- ↑ trunk\Dokumentation\Datenblätter\Laserscanner\URG Driver for Win im SVN-Archiv