Laserscanner Objektbildung: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 122: | Zeile 122: | ||
<gallery mode=packed> | <gallery mode=packed> | ||
Datei: Aufbau2.jpg|'' | Datei: Aufbau2.jpg|''Bild2: Messaufbau 2'' | ||
</gallery> | </gallery> | ||
Zeile 143: | Zeile 143: | ||
[[Datei:CodeEntfernungsmessung.png|''Code zur Mackierung der weit Entferntesten Punkte'']] | [[Datei:CodeEntfernungsmessung.png|''Code zur Mackierung der weit Entferntesten Punkte'']] | ||
==Methoden zur Segmentierung von Laserscannerdaten. == | ==Methoden zur Segmentierung von Laserscannerdaten. == | ||
==Segmentierung/Objekterkennung== | ==Segmentierung/Objekterkennung== | ||
Für die Segmentierung wurde folgendes Szenario aufgebaut, | |||
<gallery mode=packed> | |||
Datei: Aufbau3.jpg|''Bild3: Messaufbau 3'' | |||
</gallery> | |||
anschließend wurde der folgende Quellcode genutzt, | |||
[[Datei:CodeObjektfindung.png|''Code zur Segmentierung/Objektfindung'']] | |||
und das folgende Ergenbis erziehlt. | |||
[[Datei:ErgebnisObjekterkennung.png|''Code zur Segmentierung/Objektfindung'']] | |||
Version vom 20. Juni 2014, 00:00 Uhr
Autor: Benjamin Brüne
Betreuer: Prof. Schneider
Motivation
Die Datenmenge eines Hokuyo Laserscanners ist sehr hoch und es bedarf einer sinnvollen Zusammenfassung der Datensätze zu Objekten.
Ziel
Segmentieren Sie die Daten des Hokuyo URG 04LX in sinvolle Objekte, die der Realität entsprechen. Prüfen Sie die Angaben im Datenblatt mit realen Messungen. Sind diese plausibel?
Aufgabe
- Nehmen Sie den Hokuyo URG 04LX mit Matlab in Betrieb. Eine Demosoftware ist hierfür vorhanden.
- Berechnen Sie die wichtigsten Kenngrößen des Sensors und vergleichen Sie diese mit dem Datenblatt.
- Transformieren Sie die Polarkoordinaten in ein kartesisches KOS.
- Recherchieren Sie Methoden zur Segmentierung von Laserscannerdaten.
- Segmentieren Sie die Daten sinnvoll (z.B. Successive Edge Following-Algorithmus)
- Bestimmen Sie alle Objekte gemäß Schnittstellendokumentation
Lösung
Einleitung
Ein Laserscanner ist ein Gerät, dass Laserstrahlen aussendet, welche dann von einem Objekt reflektiert werden. Durch die Laufzeit des Strahls, lässt sich ermitteln, in welcher Entfernung sich ein Objekt befindet. In diesem Fall arbeitet ein rotierender Körper auf einer Kuppel, und sendet in gewissen Abständen das Laserlicht aus.
-
Bild1:
Laserscanner :
Hokuyo URG 04LX
Im weiteren Verlauf des Artikels, wird die Lösung der Aufgabenstellung dokumentiert.
Die Aufgabe wurde im Rahmen des sechsten Semesters, im Mechatronik Studiengang mit der Fachrichtung "System Design Engineering" gestellt und gelöst.
Inbetriebnahme des Sensors
Zur Inbetriebnahme des Sensors wurde eine Demosoftware übergeben. Diese Beispielscripte wurden analysiert und dienten als Fundament der anschließenden Aufgabe.
Durch diesen Ausschnitt des Scripts, ist man in der Lage, die Daten , welche der Laserscanner liefert, auszulesen und weiter zu verarbeiten oder zu speichern.
Anfallende Daten wären z.B: die X und Y Koordinaten, an der ein Objekt, bzw. ein reflektierender Gegenstand erkannt worden ist.
Zunächst wurden einige Test gemacht, wozu folgendes Szenario aufgebaut wurde.
-
Bild2: erste Tests mit dem Laserscanner
Ein Pappkarton wurde über den Sensor gestülpt, und anschließend eine Messung gestartet. Durch den Plot Befehl, kann man sich diese Koordinaten Visualisieren und man erhält Beispielsweise folgendes Ergebniss.
Man kann hier bereits die Umrisse des Kartons erahnen, sieht aber auch, das die Messpunkte nicht perfekt auf einer Linie sind. Dies liegt zum einen an den Toleranzen zwischen den Messungen, und zum anderen an der welligen Oberfläche der Kartonage.
Berechnung der wichtigsten Kenngrößen
Wie jeder Sensor hat er auch dieser einen speziellen Bereich in dem gearbeitet werden kann. Laut Datenblatt ist der Hokuyo URG-04LX-UG01 in der Lage in einem Radius von bis 4m zu arbeiten, und hat einen Sichtradius von 240°. Desweiteren werden Laserstrahlen im Abstand von 0.36° ausgesendet.
Weitere Kenngrößen wären die Unsicherheit die beim Messen entstehen. So ist angegeben, dass der Sensor maximal eine Abweichung von 1% aufweist.( Bei 2m ==> max. 2cm)
Sichtradius
Zunächst wurde der Sichtradius analysiert.Dazu wurde der Messaufbau aus Bild 2 verwendet. Mit dem folgenden Script wurde das Bild in zwei Bereiche unterteil (re/li). Anschließend wurden die kleinsten Y-Werte, der beiden Bereiche, ermittelt. Durch dieses Verfahren wird der erste, sowie der letzte Messpunkt errechnet, wodurch man dann in der Lage ist, den Sichtradius zu bestimmen.
Anhand von 10 Messungen wurde ein Durchschnitts Sichtbereich von 239.96° errechnet. Laut Datenblatt ist ein genauer Winkel von 239.765625° angegeben, wodurch der errechnete Wert vollkommen im Rahmen liegt.
Die Berechnungen wurden mit folgendem Script erstellt.
Abstand der einzelnen Messungen
Zur Messung des Winkels zwischen den Einzelnen Laserstrahlen, wurde sie vorherige Messung verwendet. Der Versuchsaufbau sorgt dafür, dass auch jeder Strahl ein Objekt, bzw. die kante des Kartons erkennt. Wäre dies nicht der Fall, würde es die Messung verfälchen.
Zur Berechnung wurde folgender Code verwendet.
Der berechnete Durchschnittswinkel lag mit diesem Messaufbau bei einem Wert von 0.3524 ° und Entspricht somit den Vorgaben des Datenblattes.
Entfenungsmessung
Für die Messung der Entfernung wurde folgendes Szenario aufgebaut.
-
Bild2: Messaufbau 2
Der Abstand zum entferntesten Karton beträgt 5,5m.Die Kante des vorletzten Kartons ist 5,2m entfernt. Die Daten der Scannung führen zu folgendem Ergebnis.
Wie zu sehen ist, wird nur die Kante des vorletzten Kartons, mit einer Entfernung von 5,2m, erkannt. Dieses Ergebnis liegt 1m über den Angaben im Datenblatt und ist somit ein spitzen Ergebis. Des Weiteren liegt der gemessene Wert um 1,2cm unter dem realen Wert, was wieder ein gutes Ergebnis ist, da diese Abweichung unter 1% liegt. Das Objekt wurde in 5,08 m detektiert, die genaue Entfernung zur rechten Kante des Objektes,mit Einbezug des Laserwinkels, betrug 5,1 m.
Bei genauem Vergleich von Messaufbau und Scannergebnis fällt auf, dass der schmale Karton, nicht detektiert wurde. Dies liegt daran, dass bei größeren Entfernungen, aufgrund des festen Abtastwinkels, kleinere Objekte durch das Raster fallen und nicht erkannt werden.
Das Resultat wurde mit folgendem Script erstellt.
Methoden zur Segmentierung von Laserscannerdaten.
Segmentierung/Objekterkennung
Für die Segmentierung wurde folgendes Szenario aufgebaut,
-
Bild3: Messaufbau 3
anschließend wurde der folgende Quellcode genutzt, und das folgende Ergenbis erziehlt.
Siehe auch
Weblinks
→ zurück zum Hauptartikel: Digitale Signal- und Bildverarbeitung SoSe2014