------
mancas
------

3D Laser Scanner

Der VL53Lox ist ein Modul, das einen 5x3 mm großen Chip enthält. Dieser hat zwei winzige Löcher: durch das eine wird ein Ifrarot-Laserstrahl gepulst, das andere empfängt die Reflexion. Aus der Zeitdifferenz wird der Abstand ermittelt. Messbereich 40 mm bis 4000 mm, Entfernung wird mit einer Toleranz von +/- 1mm ermittelt.

Es gibt dazu Projekte, die so einen Abstandssensor als Einparkhilfe für PKW gebaut haben.

3D Scanner

Ich hab mir überlegt, einen kostengünstigen 3D-Scanner daraus zu bauen. Ich werde mit einer Schwenkvorrichtung ein Objekt abtasten. Dazu 20 Punkte je Zeile und 20 Zeilen mit zwei Modellbauservos, angesteuert von einem ESP32 anfahren und dann dort den Abstand messen.
Das sollte doch funktionnieren und ein 3D-Bild des objektes liefern. Der 3D-gedruckte Aufbau, die Vorlagen aus https://www.thingiverse.com/ wurden um den Halter für den VL53Lox ergänzt und etwas angepasst.

PnTiltLidarVL53L0X.jpg

Visualisierung des Scannergebnisses

Mit dem ESP bereite ich die Ausgabe über die Konsole so auf, dass ich sie mit Copy and Paste in das 3D Konstruktioneprogramm OpenScad: http://www.openscad.org/ einfügen kann. Bei OpenScad werden die 3D-Elemente nicht grafisch angelegt, sondern in einem Script beschrieben. Bei Interesse ist hier ein gute Beschreibung zu finden. https://knopper.net/openscad/OpenScad-Tutorial.pdf

Die Enfernung ergibt je Messpunkt eine Säule, hier habe ich in meinem Script zu Tests eine Pyramide angelegt.

VisualisierungScan2.jpg

So läuft der Scann

Hier sieht man den Scanner in Aktion und das visulisierte Objekt in OpenScad.


Beurteilung des Scannergebnisses

Das ist kein Objekt sondern eher ein 3D-Säulen-Chaos.

PanTiltLidarVisu.jpg

Darauf hin habe ich in einem Versuch einen sekrechten Stift von der Seite langsam vor den fixierten Lidar geschobenden und so bestimmt, wann der Stift in den Erfassungsbereich kommt.
Der Öffnungswinkel der Laserkeule beträgt demnach 22 Grad. Das ist geiegnet, um als Rückfahrsensor im Auto vor Hindernissen zu warnen.
Klar ist aber auch, dass so mein Objekt nicht sauber aufgelöst werden kann.

Verbesserungen durch Softwareaufbereitung

Der Sensor gibt immer die kürzeste Entfernung in seiner Erfassungskeule als erfassten Abstand an. Wenn man also in ein Hinderniss schwenkt, so müsste die erfasste Verkürzung des Abstandes nicht dem Zentrum der Laserkeule sondern den Koordinaten des Erfassungsrandes zugewiesen werden. Bei Mehrfachscanns und flächigen Objekten könnte dies ein grobes reelles Abbild liefern. Aus mehreren derartiger Schattenrisse eines sich drehenden Objektes könnte ein 3D-Scann zusammengesetzt werden. Was richtig Gutes wird das aber nicht.