Low-Cost Lidar Objekterkennung mit Matlab/Simulink: Unterschied zwischen den Versionen
Zeile 96: | Zeile 96: | ||
[[Datei:Punkte Lidar.jpg|full|Messpunkte]] | [[Datei:Punkte Lidar.jpg|full|Messpunkte]] | ||
==Weitere Herausforderungen == | |||
Wie im Bild zu sehen ist gibt es noch weitere Herausforderungen bezüglich der Auswertung der Daten zu bewältigen, die bis jetzt noch nicht behoben werden konnten. Die Datenpunkte Rotieren im Objekt, somit stimmt eine Entschlüsselung bezüglich des Winkels noch nicht. Zudem werden Wände auch noch nicht als gerade Punktketten erkannt. Jedoch ist eine Abhängigkeit der Punkte mit der Distanz nachweisbar. Dies kann durch ein DIN A4 Blatt welches auf den Sensor zubewegt wird demonstriert werden. | |||
== Weblinks == | == Weblinks == |
Version vom 28. Juli 2017, 18:14 Uhr
Autor: Marcel Kreuer
Betreuer: Prof. Schneider
Motivation
LiDAR ist eine hochgenaue störunanfällige Messtechnik für Abstände. Mittlerweile sind Laserscanner für unter 100€ erhältlich.
Ziel
In dieser Aufgabe soll ein Low-Cost LiDAR mit Matlab/Simulink in Betrieb genommen werden.
Aufgabe
- Rechere nach Beschaffungsmöglichkeiten
- Inbetriebnahme des LiDAR
- Erstellund eines Simulink Treibers zur Echtzeitverarbeitung
- Objektbildung mit Simulink
- Bewertung der Ergebnisse
- Wissenschaftliche Dokumentation als HSHL-Wiki Artikel
- Softwareentwicklung nach SDE Standard in SVN
- Funktionsnachweis als YouTube-Video (vgl. Veranstaltungsregeln)
Lösungen
Im Folgenden werden die Lösungen dokumentiert
Beschaffung
Da die Beschaffung auf Rechnung möglich sein sollte, fiel die Wahl auf den Internet-Händler PC:Mediastore Aschaffenburg
Inbetriebnahme
Der Lidar-Sensor besitzt zwei Anschlussmöglichkeiten einen Zweierstecker für den Motor, welcher mit 5V beschaltet wird und einen Viererstecker für den eigentlichen Sensor(3,3 Volt-Versorgung und RX, TX). Für die Spannungsversorgung wurde der 5 Volt Ausgang des L298N-Motortreibers gewählt. Für die Serielle Verbindung wurde ein Arduino Due als Transciever gewählt. Dieser wurde so programmiert, dass er sobald Daten auf einem Seriellen-Port anliegen, diese an den jeweils Anderen weiter gesendet werden.
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
//Serial.println("USB-Verbindung hergestellt!");
Serial1.begin(115200);
//Serial.println("Lidar Kommunikation gestartet");
}
void loop() {
// put your main code here, to run repeatedly:
if (Serial1.available()) {
//Serial.print(Serial1.read()-0xA0,Datatyp);
//Serial.print(" ");
Serial.write(Serial1.read());
}
if (Serial.available())
{
Serial1.write(Serial.read());
}
}
Struktur der Daten
Die Struktur der Daten wurde folgender Seite entnommen: https://xv11hacking.wikispaces.com
Eine Nachricht besteht dabei aus 20 Bytes
1. Startbit: 0xFA
2:Die ID: 0-90:
Eine Nachricht besteht immer aus 4 Datenpaketen, zugehörig den jeweiligen Gradzahlen. Beispiel: ID=0 => Messdaten 0°,1°,2°,3°
3+4: Codieren die Drehgeschwindigkeit des Motors
5-8: Daten-Paket 1.: [1.Byte: Distanz-Bits 7-0] [2.Byte: zwei FehlerFlags+ Distanz-Bits 13-8] [3.+4.Byte: Zusätzliche Signalinformationen]
9-12: Daten-Paket 2
13-16: Daten-Paket 3
17-20: Daten-Paket 4
Auswertung der Daten
Die Auswertung der Daten erfolgt über ein Matlab Skript und erzeugt eine Ausgabe mit den jeweiligen Punkten Transformiert in Kartesische Koordinaten, wie im Folgenden dargestellt.
Weitere Herausforderungen
Wie im Bild zu sehen ist gibt es noch weitere Herausforderungen bezüglich der Auswertung der Daten zu bewältigen, die bis jetzt noch nicht behoben werden konnten. Die Datenpunkte Rotieren im Objekt, somit stimmt eine Entschlüsselung bezüglich des Winkels noch nicht. Zudem werden Wände auch noch nicht als gerade Punktketten erkannt. Jedoch ist eine Abhängigkeit der Punkte mit der Distanz nachweisbar. Dies kann durch ein DIN A4 Blatt welches auf den Sensor zubewegt wird demonstriert werden.
Weblinks
BSD-Lizenzbedingung BSD-Lizenz
Copyright (c) 2014, Hochschule Hamm-Lippstadt, Dep. Lip. 1, Prof. Schneider
Hochschule Hamm-Lippstadt. Alle Rechte vorbehalten.
→ zurück zum Hauptartikel: Digitale Signal- und Bildverarbeitung SoSe2017