Navigation mit 360 Grad Kamera

nero76

Moderator
Ich habe gestern mal mit einer Eigenbau 360-Grad Kamera gespielt :)

Zutaten:
-eine Christbaumkugel
-eine 1.3M Webcam
-ein bisschen OpenCV (Code im Anhang)

Fazit: diese Eigenbau-Kamera liefert bereits erstaunlich gute Bilder. Als nächstes versuche ich "ratslam" (oder Alternativen einzubauen)...

360_degree_webcam.jpg


360deg4.jpg


360deg6.jpg



Nachtrag: neue Versionen :)

(DIY 360 degree camera)
360_degree_webcam2.jpg


360_degree_phone2.jpg


360_degree_phone1.jpg


BubbleScope attached to a Trust eLight HD 720p webcam
bubblescope_usb.jpg
 
Ich habe gestern mal mit einer Eigenbau 360-Grad Kamera gespielt :)

Zutaten:
-eine Christbaumkugel
-eine 1.3M Webcam
-ein bisschen OpenCV (Code im Anhang)

Fazit: diese Eigenbau-Kamera liefert bereits erstaunlich gute Bilder. Als nächstes versuche ich "ratslam" (oder Alternativen einzubauen)...

360_degree_webcam.jpg


360deg4.jpg


360deg6.jpg



Nachtrag: neue Versionen :)

(DIY 360 degree camera)
360_degree_webcam2.jpg


360_degree_phone2.jpg


360_degree_phone1.jpg


BubbleScope attached to a Trust eLight HD 720p webcam
bubblescope_usb.jpg

Attachment: https://forum.ardumower.de/data/media/kunena/attachments/905/360_degree_webcam.jpg/
 
Zuletzt bearbeitet von einem Moderator:
Finde diesen Ansatz ebenfalls toll:

- Der Ansatz "skaliert": Wiedererkennung von großen Umgebungen (Stadt) bis hinunter zu cm-Genauigkeit (je nach Anwendung)
- 360-Grad Kamera sorgt für Wiedererkennung aus beliebigem Winkel

Nachteilig wäre:
- Viel Rechenzeit benötigt (ein paar Mhz reichen definitiv nicht aus)
- Die Kamera-Optik muss sauber bleiben (darf nicht zustauben etc.)
 
Weitere Tests mit "ratslam" zeigen: Der "ratslam" erkennt nur "Kreise" - Wenn man also die Schleife einmal entlang fährt ("Schleife optisch anlernen"), kann er sie nur wiedererkennen wenn man sie wieder entlang fährt (ein kurzes Stück reicht). Er erkennt sie hingegen aber nicht wenn man von der Mitte auf sie auftrifft...
 
Hier ein Beispiel, wo "Feature Points" im Bild gesucht und angezeigt werden: https://www.youtube.com/watch?v=db19BFfRYCA
Mit diesem Ansatz sollte es möglich sein wie bei einem Laser-Lidar die eigene Bewegung zu bestimmen bzw. die eigene Position zu erkennen:

1. "Tracking": Bestimmung der Bewegung gleicher Feature Points zwischen den Bildern. Daraus kann man dann die eigene Bewegung (also des Roboters) schätzen (Rotation bzw. Translation).
2. Positionserkennung: Erkennung gleicher Feature Points zu gelernten "Referenzbildern". Damit kann man die Position bestimmen (=ein Bild und damit dessen Position aus der Vergangenheit erkannt).

Das Prinzip ist also ähnlich wie beim Laser-Lidar wo gleiche Punkte ("Landmarks") gesucht, "getrackt und gematched" werden, um aus deren Bewegung/Drehung die Roboterbewegung zu ermitteln.
 
Oben