Wie gehen SLAM-Algorithmen mit einer sich ändernden Umgebung um?

13

Ich mache einige Vorarbeiten für ein Projekt und habe eine Frage zum aktuellen Stand der SLAM-Techniken.

Wenn ein mit SLAM ausgestattetes Gerät ein Objekt erkennt, wird dessen Position gespeichert. Wenn Sie sich die Punktwolke ansehen, die das Gerät generiert, werden Punkte für dieses Objekt angezeigt, und die daraus generierten Modelle enthalten hier die Geometrie.

Wenn ein Objekt an einer zuvor leeren Stelle platziert wird, wird es erkannt und es werden Punkte hinzugefügt. Nachfolgende Modelle enthalten Geometrien, die dieses neue Objekt beschreiben.

Wie reagiert das Gerät, wenn das Objekt entfernt wird? Soweit ich gesehen habe, neigen SLAM-Systeme dazu, die Punkte an Ort und Stelle zu belassen, was zu einer "Geistergeometrie" führt. Es gibt Algorithmen, die einzelne Punkte ignorieren, die durch vorübergehende Kontakte verursacht wurden, aber Objekte, die lange genug blieben, um ein solides Modell aufzubauen, verbleiben im Gerätespeicher. Gibt es Systeme, die erkennen können, dass zuvor belegter Speicherplatz jetzt leer ist?

Anaximander
quelle
Diese Frage hat nicht viel mit maschinellem Lernen zu tun.
Josh Vander Hook
Vielleicht nicht; Ich war nicht zu 100% sicher, welche Tags passen würden. Die Anwendung, die ich
vorhatte,

Antworten:

5

Das hängt sehr davon ab. Da SLAM ein Problem (oder zumindest eine Technik) und keine Lösung ist, gibt es keinen endgültigen SLAM-Algorithmus. Semantisch gesehen müssen Sie entscheiden, was auf einer "Karte" der Umgebung abläuft und wie Ihr Algorithmus mit vorübergehenden (oder sich bewegenden) Signalen umgehen soll. Aber das ist ein Exkurs.

Permanente Karten:

Permanente Karten sollten genügend Informationen enthalten, um sich in Bezug auf die bekannte Geometrie zu lokalisieren. Wird normalerweise in Gebäuden verwendet. Normalerweise für Menschen lesbar. Siehe die Arbeit von Willow-Garage. oder irgendetwas von Thrun in seinem berühmten Lehrbuch. Wenn Sie diese Karte verlieren, müssen Sie sie mit der Zeit wieder aufbauen.

  1. Objekte entfernen. Ja, das Objekt wird eine Zeit lang in einer statischen Karte angezeigt. Wenn keine Maßnahmen ergriffen werden, um zuvor erkannte Objekte zu entfernen, bleibt dies bestehen. Eine typische 2D-Darstellung auf Gitterbasis verwendet jede Gitterzelle, um die Wahrscheinlichkeit eines Objekts darzustellen, sodass das Objekt nach einiger Zeit "verblasst".

  2. Objekte hinzufügen. Das gleiche wie oben.

Lokale Karten:

In der Realität wird SLAM normalerweise verwendet, um einen Roboter zu lokalisieren, während er sich bewegt, und die Karte wird nicht permanent gespeichert (oder sie wird permanent gespeichert, sondern es werden nur die nächstgelegenen Y-Features verwendet). Lokale Karten sind alles, was der Roboter wissen muss, um zu bestimmen, wie er sich in den letzten X Minuten bewegt hat, wobei X von der Anwendung abhängt. Wenn Sie die Karte verlieren, können Sie immer noch gut fliegen, indem Sie die Funktionen verwenden, die gerade in Sicht sind.

  1. Stapelverfahren wie die Bündelanpassung unter Verwendung visueller Merkmale sind in dieser Richtung eine sehr verbreitete Technik. Features können im Laufe der Zeit beibehalten und sogar überarbeitet werden, aber ein sich bewegendes Feature ist nur ein unzuverlässiges Feature, und es wird ignoriert, wenn versucht wird, herauszufinden, wo sich der Roboter befindet.

  2. Visual SLAM ist genau das. Es ist ein Delta-P-Schätzer (Change-in-Pose-Schätzer), kein kartenbasierter Lokalisierungsalgorithmus.

  3. Kurz gesagt, solange sich die meisten Dinge derzeit nicht bewegen, spielt es keine Rolle, ob Sie ein Objekt entfernen, wenn der Roboter es nicht "ansieht".

Beispiel

Also mach das. Wenn Sie ein SLAM-Papier lesen, entscheiden Sie sich für Folgendes:

  1. Bauen sie wirklich eine Karte?

  2. Führen sie nur eine Liste mit Funktionen und Standorten?

  3. Wenn ja, welche "Features" sind in der Karte enthalten? Linien, Punkte, visuelle Merkmale?

  4. Bewegen sich diese Funktionen wahrscheinlich?

  5. Wenn ja, wie können sie damit umgehen?

  6. Schließlich "sieht" das Sensorrauschen oft nach beweglichen Merkmalen aus. Wie gehen sie mit Sensorrauschen um? Denn dies bestimmt oft, was mit beweglichen Features passiert.

Sie erhalten für jede Arbeit / jeden Autor / jedes Buch / jede Bewerbung eine andere Antwort. Kurz gesagt, sie werden in der Regel weggelassen, da sie dem Roboter nicht helfen, viel zu lokalisieren, und können vermieden werden, indem nur ein paar einfache Pfadplaner vorhanden sind, die nur lokale Informationen verwenden.

Viel Glück, Slam ist ein großes Thema.

Josh Vander Hook
quelle
Vielen Dank! Kennen Sie Techniken, die verfolgen, wo Objekte "erworben" und "verloren" wurden? Ich betrachte Anwendungen einer Untergruppe von SLAM-Algorithmen und ein interessanter Bereich ist die Identifizierung von "Übergangsbereichen" wie Türen und verschlossenen Ecken, aus denen Objekte hervortreten könnten. Diese Anwendung stellt die übliche Wahrscheinlichkeitsmetrik für das Verblassen auf den Kopf - anstatt dass Objekte "verblassen", wenn sie nicht sichtbar sind, erhöhen unbeobachtete Bereiche langsam ihren Wert, um anzuzeigen, dass wir nicht wissen, was hier ist, weil wir in letzter Zeit nicht gesucht haben sollte vorsichtig sein, wenn Sie in diesen Raum bewegen.
Anaximander
Viel schwerer. Die einzige Möglichkeit, dies korrekt zu tun, besteht darin, Objekte eindeutig zu identifizieren. Fügen Sie einen Barcode ein. Andernfalls ist Objekt A möglicherweise an Position B verschoben oder A und B wurden ausgetauscht usw. Lesen Sie die semantische Zuordnung. Sie brauchen einen Algorithmus, der "erkennen" kann, dass sich bewegende Dinge tatsächlich "Türen" sind, die an "Wänden" angebracht werden sollten, aber nur, wenn ich "drinnen" bin, aber was bedeutet "drinnen" für einen Roboter überhaupt? Ich denke, du solltest mehr lesen und darüber berichten.
Josh Vander Hook
Ja, hier geht es darum, das Problem der Semantik zu umgehen, indem einfach hervorgehoben wird: "Dies ist ein Bereich, in dem ich immer wieder Dinge sehe, die vorher nicht da waren, oder die Dinge, die dort waren, nicht mehr zu sehen." Wahrscheinlich ist dieser Bereich eine Art Übergang - Tür, Kasten, Fenster, verschlossene Ecke. Mit wem wir es zu tun haben, ist weniger wichtig. Dies dient ausschließlich der Kollisionsvermeidung. Daher möchten wir alle diese Bereiche vermeiden. Ebenso brauchen wir nicht besonders zu wissen, welches Objekt welches ist; nur, dass es eine signifikante Änderung in der Gesamtmenge des von Stuff belegten Platzes gibt.
Anaximander
Rezension. Literatur. Ein solches Problem ergibt sich aus A) Stuff moving. B) Roboter bewegt sich. C) Roboter geht verloren. D) falsche Karten. Jedes dieser 4 Dinge hat 4 verschiedene richtige Lösungen. Wenn Sie nicht alle 4 behandeln, werden Sie völlig falsche Karten erstellen. Deshalb ist SLAM nicht gelöst und trotzdem hart. Lesen Sie weiter und kommen Sie mit spezifischen Fragen zurück, die sich auf das beziehen, was Sie gelernt haben.
Josh Vander Hook
1
Das ist was ich tue; Je mehr ich lese, desto länger wird meine Liste! Dies war die erste der vielen Fragen, die meine Lektüre aufgeworfen hat. Entschuldigung für die Erweiterung der Frage etwas in den Kommentaren; Ich habe nicht viel Resonanz bekommen, und SLAM ist ein so großes Thema ... Sie schienen zu wissen, wovon Sie sprechen, und ich hatte gehofft, ich könnte ein paar Hinweise bekommen. Ich habe semantische Kartierungspapiere auf meiner Liste, aber es gibt ein paar andere, die ich als Grundlage dafür lesen muss ... Wie auch immer, ich denke, es ist vorerst wieder das Lesen.
Anaximander