camera-based lane mowing (cm-precise)

Auch mit dem VSLAM (also kamera-basierter 3D-Ortung) geht es weiter :) (und mit Hilfe von Codex/Claude kann man solche Sachen nun auch relativ schnell bauen und testen...) -
Folgende Problematik entsteht bei VSLAM: mit direktem Sonnenlicht wurde z.B. mit den Kamera-Bildern antrainiert ("VSLAM Mapping")- Bei Bewölkung soll nun gegen diese trainierten Bilder lokalisiert werden ("VSLAM Lokalisierung").

vslam1.jpeg


Erstmalig ist es mir gelungen dies zu bewerkstelligen (Cross Daytime-/Cross Season-VSLAM mit HFNet-SLAM , realtime - getestet mit einer einzelnen Fischaugenkamera ):


Einziges Problem: es läuft noch auf NVidia/CUDA :)- Aktuell lasse ich mir von der KI erklären wie alles funktioniert und wie wir z.B. mit einem alternativem "Feature-Netzwerk" (z.B. R2D2, MLD2, xfeat) die Ansätze auf einem OrangePI ans Laufen bringen könnten... (z.B. VINS-MLD2, xfeatSLAM )

Feature Netzwerke Benchmark (Quelle: Why Not Replace? Sustaining Long-Term Visual Localization via Handcrafted-Learned Feature Collaboration on CPU)

1780579923320.png
 
Zuletzt bearbeitet:
Gute Neuigkeiten: ich konnte die Kamera-Lokalisierungs-Konzepte inzwischen umsetzen, d.h. Kamera-basierte cm-genaue (Re-)Lokalisierung über Tages- und Jahreszeiten hinweg (wir nennen es mal "LiveTime SLAM") auf einem OrangePI. GPS kann optional verwendet werden (RTK wird hiermit nicht mehr gebraucht für cm-genaue Lokalisierung). Damit kann man dann einen Roboter bauen der auch unter Bäumen, neben Wänden, zwischen Häuserschluchten, Indoor etc. fahren kann (wo kein RTK möglich ist).
Aktuell läuft die Software im Simulator (Browser simuliert 3D-Umgebung mit Stereo-Kamera und OrangePI-Lokalisierungs-Netze etc. werden mit WebGPU ausgeführt - ein Simulator hat den großen Vorteil dass in kurzer Zeit sehr viel automatisiert Code damit getestet werden kann). Es folgen jetzt noch Navigations-Code und dann natürlich der Lauf am echten Roboter... :)

Screenshot 2026-10-11 at 10.43.47.png
Screenshot 2026-10-11 at 11.14.36.pngScreenshot 2026-10-11 at 22.00.23.png
 
Zuletzt bearbeitet:
Ich habe noch einen Alfred, den ich als Versuchskaninchen einsetzen würde! Oder noch meinen zweiten Huskvarna :)
Wann kann ichs testen und was benötige ich? Einen OrangePi habe ich noch rumliegen ;)
 
Zuletzt bearbeitet:
ein Simulator hat den großen Vorteil dass in kurzer Zeit sehr viel automatisiert Code damit getestet werden kann
extrem cool, was du da machst. :love: Das hat das Potential mein nächstes Projekt zu werden....

Kann der Simulator auch Verschmutzungsgrade der Linse simulieren? Oder ist das ggf. gar nicht erforderlich, weil der Code solche Dinge rausrechnet?
Grüße
Jürgen
 
extrem cool, was du da machst. :love: Das hat das Potential mein nächstes Projekt zu werden....

Kann der Simulator auch Verschmutzungsgrade der Linse simulieren? Oder ist das ggf. gar nicht erforderlich, weil der Code solche Dinge rausrechnet?
Grüße
Jürgen
Ja, richtig. Der Code bewertet ob Messungen (Markante Punkte in Bildern = Landmarks) plausibel sind (eine Kamera-Position ergeben) und verwirft ungültige Messungen. Wenn nicht genug Landmarks gefunden werden, müssen bereits gespeicherte Landmarks gesucht werden.
Das Prinzip ist grob so:
1. Markante Punkte ("Landmarks") werden im Bild gesucht und dieselben Punkte werden weiterverfolgt in den Kamerabildern. Landmarks die aus dem Bild verschwinden werden durch neue aufgefüllt. Die Landmarks sieht man in meinem vorigen Beitrag im ersten Screenshot und auch in den Kamerabildern.
2. Aus den Punktbewegungen wird die Kamera-Lage und Bewegung rekonstruiert.
3. Falls alle Landmarks aus dem Bild verschwinden müssen die Landmarks aus der Datenbank wiedergefunden werden (damit die Position wieder bekannt ist und die Landmarks weiterverfolgt werden können). Hierbei muss die Wiedererkennung der Landmarks auch in der Lage sein die Tageszeiten und Jahreszeiten zwischen aktuellen Kamera-Daten und Datenbankdaten zu tolerieren. Gerade dieser Punkt war bisher ungelöst und ist jetzt gelöst. Der Roboter dreht und fährt dafür etwas umher bei Verlust aller aktueller Landmarks und sucht bereits gespeicherte Landmarks.


Anhang anzeigen slam-gesamt-mit-ton-7MB.mp4
 
Zuletzt bearbeitet:
Oben