Objekterkennung mit RP Lidar A1M8: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
Zeile 6: | Zeile 6: | ||
# Softwareentwurf in MATLAB | # Softwareentwurf in MATLAB | ||
## Meilenstein 1: | ## Meilenstein 1: | ||
## Ansteuerung des RP LiDAR A1M8 | ## Ansteuerung des RP LiDAR A1M8 | ||
## Koordinatentransformation polar- zu karthesisch | ## Koordinatentransformation polar- zu karthesisch | ||
## Testdokumentation der KOS-Trafo | ## Testdokumentation der KOS-Trafo | ||
Zeile 32: | Zeile 32: | ||
= Softwareentwurf in MATLAB = | = Softwareentwurf in MATLAB = | ||
== Ansteuerung des RP LiDAR A1M8 == | == 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 die UART Schnittstelle, die mithilfe eines Chips ermöglicht wird. | |||
== Koordinatentransformation polar- zu karthesisch == | == 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: | |||
<math> x = radius * cos(winkel)</math> | |||
<math> y = radius * sin(winkel)</math> | |||
== Objektbildung == | == 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. | |||
== Attribute == | == Attribute == | ||
Zeile 44: | Zeile 62: | ||
== Getting started == | == Getting started == | ||
* [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/Laserscanner/RPLiDAR_M1A8 MATLAB Beispiel] | * [https://svn.hshl.de/svn/MTR_SDE_Praktikum/trunk/Software/Laserscanner/RPLiDAR_M1A8 MATLAB Beispiel] | ||
* [https://github.com/ENSTABretagneRobotics/Hardware-MATLAB GitHub Beispiel] | |||
---- | ---- | ||
→ zurück zum Hauptartikel: [[Praktikum_SDE|SDE Praktikum Autonomes Fahren]] | → zurück zum Hauptartikel: [[Praktikum_SDE|SDE Praktikum Autonomes Fahren]] |
Version vom 19. Mai 2019, 17:56 Uhr
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 die UART Schnittstelle, die mithilfe eines Chips ermöglicht wird.
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.
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