Forum: Mikrocontroller und Digitale Elektronik LIDAR per SW-angesteuertem CMOS-Sensor


von Jonas S. (jonas_s)


Lesenswert?

Hallo zusammen,

ich hätte gerne 2D-LIDAR für meinen {lego-bot,quadcopter,türschloss}.

Unter http://www.robotshop.com/media/files/PDF/revolds-whitepaper.pdf 
gibt es ein sehr schönes Paper, wie das für 30$-Staubsauger-Bots 
umgesetzt wurde.

Nun überlege ich, wie ich das nachbauen kann. Zunächst: der springende 
Punkt sind, denke ich, die 4000Hz-Samplingfrequenz. Sonst könnte ich ja 
auch ein 5€-Entfernungsmessgerät umbauen und im Kreis drehen.

Die Leute dort triangulieren den Laser via Objekt gegen einen 
CMOS-Sensor und bestimmen aus der Position der Laser-Reflektion im Bild 
den Abstand. Ist 'ne nette Idee (bestimmt auch schon älter).

Bin von Haus aus Softwaremensch und habe mir vor einiger Zeit 
angefangen, mit dem STM32 rumzuspielen. Komme ich hier mit Software 
überhaupt arg weit? Die 4kHz machen mir Angst, denn ich glaube nicht, 
dass ich in der Zeit die ~700x700px des Sensors auslesen, alles 
berechnen usw. kann, selbst mit den 168MHZ des STM32.. oder?

Wie viel Hardwareunterstützung brauche ich da denn etwa? Habe mir mal 
einen OV9655 geordert 
(http://www.ebay.de/itm/OV9655-CMOS-Kamerakarte-SXGA-1-3-Megapixel-Kamera-Chip-Module-Entwicklungskit-/171631286540?pt=LH_DefaultDomain_77&hash=item27f605990c), 
zum Ausprobieren erstmal. Der schafft zwar nur läppische 25 oder 
vielleicht sogar 50ps, aber da fließt ja dann auch immer das ganze Bild 
über irgendeinen seriellen Bus in den RAM und wird von da aus irgendwie 
angeschaut.

Ich fürchte ja, direkt mit dem Sensor reden zu müssen und die 
Laserlokalisation im Bild usw. alles in HW zu machen. Hat da jemand 
Erfahrung, wie es so ist, mit einem CMOS-Chip direkt zu reden? Die 
Optik, Linsen, vmtl. auch noch Verschluss sind auch sicherlich eklig 
selber zu machen.

Ideen? Krieg' ich das für nichtastronomisches Geld hin?

- Jonas

von Patrick B. (p51d)


Lesenswert?

Mhm, das klingt interessant.
Distanzmessung würde ich zwar nicht mit einem Display lösen (zuviel 
Rechenleistung) sondern über eine Photodiode und dann eine 
Kreuzkorrelation der Signale machen (so kriegst du auch weniger Probleme 
mit dem Rauschen). So kannst du sehr genau über die Laufzeit des Signals 
(also etwa c) die Distanz ermitteln.
Für eine komplette Bildbearbeitung reichen die 168MHz trotz DSP und FPU 
nicht aus.

von Martin S. (led_martin)


Lesenswert?

Hast Du schon mal an eine CCD-Zeile gedacht? Bei der Triangulation 
bewegt sich der Laser-Punkt auf einer Linie, wenn der Abstand sich 
ändert, da braucht man nicht ein ganzes 2D-Bild. Da könnte man auf die 
4000Hz kommen, oder zumindest in die Nähe, und das mit einem kleinen 
Mikrocontroller. Ok, einen flotten ADC sollte er haben, und > 4k RAM ist 
sicher auch nicht verkehrt (Mal eine 2048 Pixel CCD-Zeile angenommen).

Mit freundlichen Grüßen - Martin

von Jonas S. (jonas_s)


Lesenswert?

Das mit der CCD-Zeile ist 'ne klasse Idee! Wie sich rausstellt, ist das 
auch das, was die Autoren des Papers letztendlich dann für ihr Produkt 
genommen haben -- verbaut ist da ein Panasonic DLIS-2K.

Alles ein bisschen merkwürdig, den Chip hab' ich nämlich nach längerer 
Suche nirgendwo zu kaufen gefunden. Aber anscheinend kann man einfach 
bei Panasonic anrufen und die schicken einem dann was zu. (Für OKes 
Geld.)

Den müsste ich ja eigentlich relativ gut handhaben können mit dem STM32.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.