Was ist der beste Weg, um die Wahrscheinlichkeitsüberzeugung eines Roboters zu berechnen, der mit einem Vision-Sensor ausgestattet ist?


12

Ich versuche, die Planung des Glaubensraums für einen Roboter zu implementieren, dessen Hauptsensor eine Kamera ist. Ähnlich wie bei SLAM verfügt der Roboter über eine Karte mit 3D-Punkten und lokalisiert diese, indem er bei jedem Schritt einen 2D-3D-Abgleich mit der Umgebung durchführt. Für diese Frage gehe ich davon aus, dass sich die Karte nicht ändert.

Als Teil der Glaubensraumplanung möchte ich Pfade für den Roboter planen, die ihn vom Start bis zum Ziel führen, aber so, dass seine Lokalisierungsgenauigkeit immer maximiert wird. Daher müsste ich mögliche Zustände des Roboters abtasten, ohne mich tatsächlich dorthin zu bewegen, und die Beobachtungen, die der Roboter machen würde, wenn er sich in diesen Zuständen befände, die zusammen (korrigieren Sie mich, wenn ich falsch liege) den „Glauben“ des Roboters bilden Anschließend wird die Lokalisierungsunsicherheit an diesen Punkten codiert. Und dann würde mein Planer versuchen, die Knoten zu verbinden, die mir die geringste Unsicherheit geben (Kovarianz).

Da meine Lokalisierungsunsicherheit für diesen kamerabasierten Roboter vollständig davon abhängt, wie viele Merkmalspunkte von einem bestimmten Ort aus sichtbar sind, der Richtungswinkel des Roboters usw.: Ich benötige eine Schätzung, wie schlecht meine Lokalisierung bei einer bestimmten Stichprobe ist wäre zu bestimmen, ob ich es verwerfen sollte. Wie definiere ich das Messmodell dafür, wäre es das Messmodell der Kamera oder etwas, das sich auf die Position des Roboters bezieht? Wie "errate" ich meine Messungen im Voraus und wie berechne ich die Kovarianz des Roboters anhand dieser erratenen Messungen?

EDIT: Die Hauptreferenz für mich ist die Idee , zufällige Glaubensbäume schnell zu erkunden , was eine Erweiterung der Methode Belief Road Maps ist . Ein anderes relevantes Papier verwendet RRBTs für eine eingeschränkte Planung. In diesem Artikel werden Zustände ähnlich wie bei herkömmlichen RRTs abgetastet, die als Scheitelpunkte als Diagramm dargestellt werden. Wenn jedoch die Scheitelpunkte verbunden werden sollen, überträgt der Algorithmus den Glauben vom aktuellen Scheitelpunkt auf den neuen (PROPAGATE-Funktion in Abschnitt V von 1 ). und hier stecke ich fest: Ich verstehe nicht ganz, wie ich den Glauben entlang einer Kante verbreiten kann, ohne ihn tatsächlich zu durchqueren und neue Messungen zu erhalten, wodurch neue Kovarianzen aus der Lokalisierung entstehen. Das RRBT-Papier sagt "die Kovarianzvorhersage- und Kostenerwartungsgleichungen sind in der PROPAGATE-Funktion implementiert": Wenn jedoch nur die Vorhersage verwendet wird, woher weiß sie beispielsweise, ob an der zukünftigen Position genügend Merkmale vorhanden sind, die die Lokalisierungsgenauigkeit verbessern / verschlechtern könnten?


Hast du Literatur dazu gelesen?
Jakob

Ja, ich habe in der Frage zu relevanten Artikeln, auf die ich gestoßen bin, einige weitere Details hinzugefügt.
HighVoltage

Ooooh, ich glaube ich verstehe. Lassen Sie mich umschreiben, um zu sehen, ob ich es verstehe und als Referenz für andere. Sie möchten eine ganze Region so abtasten, dass Sie potenzielle Ansichten an einer großen Anzahl von Orten ermitteln können, und dann eine Reihe von Orten auswählen, die sowohl eine Route von Anfang bis Ende als auch Ansichten bieten , die Ansichten von "guten" Sehenswürdigkeiten ermöglichen Verwendung mit SLAM-artiger Lokalisierung. Ihre Frage ist, wie Sie quantifizieren können, wie "gut" oder "schlecht" eine Ansicht ist und wie sich diese "Ansichtsgüte" dann auf die Kovarianz bezieht. Ist das eine faire Zusammenfassung?
Chuck

1
Kurz gesagt, ja! Dies wurde bereits zuvor in der RRBT-Veröffentlichung erreicht, aber ich habe Probleme, die Mathematik dahinter zu verstehen.
Hochspannung

1
Das klingt nach einem coolen Konzept. Ich bin heute mobil, aber ich werde morgen die Zeitungen lesen und versuchen, mich einzuschalten. Ich gehe davon aus, dass der gesamte Algorithmus auf Vermutungen (Überzeugungen) basiert, von denen Sie glauben, dass Sie sie bei einem bestimmten Schritt spüren werden Dies bedeutet, dass tatsächliche Messungen nicht in den Algorithmus gehören und Sie daher keinen Raum durchlaufen müssen. Es hört sich so an, als ob der gesamte Algorithmus auf a priori Kenntnis der Karte basiert und davon abhängt, um genaue Qualitätsergebnisse zu erzielen.
Chuck

Antworten:


2

Verwenden Sie die Nur-Lager-Lokalisierung, um die Informativität der Kamera zu modellieren und Messungen ohne Rauschen zu simulieren (z. B. ohne Innovation).

Aus einer Vielzahl von Gründen ist dies tatsächlich eine theoretisch fundierte Methode, um die Informativität eines Pfades abzuschätzen.

Es gibt viele "messungsfreie" Informationsmetriken wie die Fisher Information Matrix . Sie benötigen lediglich die Positionen des Roboters und die Positionen der Orientierungspunkte auf der Karte, um zu bestimmen, wie viele Informationen über die Position des Roboters durch Messen der Orientierungspunkte erhalten werden. (Oder umgekehrt, die Innovation aus Messungen wird sowohl auf das Ziel als auch auf den Roboter angewendet (es ist SLAM, oder?), Sodass für beide dieselbe Metrik funktioniert).

Ich würde mit einem Lagersensor beginnen, da dies ein gutes, gut akzeptiertes Modell eines Vision-Sensors ist. Ermitteln Sie das "Rauschen" bei den Lagermessungen, indem Sie einige Fehlerpixel bei der Lokalisierung von Merkmalen in der Welt annehmen. Lassen Sie den Zustand des Systems die Position des Roboters plus seine Unsicherheit sein und probieren Sie dann die Pfade aus (wie Sie vorschlagen). Von jeder Position im abgetasteten Pfad würde ich die vorhergesagte Unsicherheit unter Verwendung der FIM neu berechnen . Dies ist nicht schwer zu tun, nehmen Sie einfach keinen Fehler in den Messungen an (dh es wird keine "Innovation" in Bezug auf die Überzeugung des Roboters geben, aber Sie werden immer noch einen Rückgang der Unsicherheit feststellen, der durch eine schrumpfende Kovarianz in der Positionsschätzung des Roboters dargestellt wird. Ich würde Aktualisieren Sie nicht die Standorte oder Unsicherheiten der Orientierungspunkte, nur um das Problem zu vereinfachen.

Dies ist ein ziemlich gut verstandener Ansatz, an den ich mich in meiner letzten Überprüfung dieser Literatur erinnere, aber nehmen Sie nicht mein Wort dafür (überprüfen Sie sich selbst!). Zumindest sollte dies einen Basisansatz bilden, der leicht zu simulieren ist. Nutzen wir die Kraft der Literatur. Sie können diese These für den Aufbau und die Gleichungen lesen .

Zusammenfassen

  1. xΣ
  2. Σich
  3. Die "Kosten" der Flugbahn seien eine konvexe Kombination aus Fortschritt in Richtung Ziel und Umkehrung der Kovarianz (z. B. der Informationsmatrix ).

Einige Feinheiten

Verwenden Sie den kleinsten sinnvollen Zustandsvektor. Wenn Sie davon ausgehen können, dass der Roboter die Kamera unabhängig von der Bewegung richten kann oder über mehrere Kameras verfügt, ignorieren Sie die Ausrichtung und verfolgen Sie einfach die Position. Ich werde nur in 2D-Positionen fortfahren.

Sie müssen das linearisierte System ableiten, können es aber aus der obigen These ausleihen. Stellen Sie sicher, dass Sie sich nicht mit der Simulation von Messungen beschäftigen (z. B. wenn Sie EKF-Aktualisierungen nur mit "simulierten Messungen" durchführen, gehen Sie davon aus, dass die Messungen wahr und ohne Rauschen sind.

Pi|i1=FiTPi1|i1Fi+Q
P=PPHT(HPHT+R)1HP

Wenn wir die Woodbury-Matrixidentität anwenden

P1=P1+HTR1H

n

I=i=1nHiTR1Hi

Ri=1nHiTR1Hi

HHnx2nn2Rn×nσIn×nσ

Was ist die Messgleichung? Es ist

tan1ytyrxtxr

tr


Die Rekursion abwickeln. Ich würde wie folgt vorgehen:

  1. Schreiben Sie einen Pfad-Suchalgorithmus, der seinen Weg findet, ohne die Unsicherheit zu berücksichtigen.
  2. H
  3. trace(HTRH)
  4. Beachten Sie, dass das Ergebnis mit der FIM der Flugbahn übereinstimmt (Übung dem Leser überlassen) und Sie die informativste Flugbahn korrekt und theoretisch fundiert ermittelt haben.

Vielen Dank für die hervorragende Antwort! Ich bin tatsächlich einen sehr ähnlichen Weg gegangen und habe kamerabasierte Metriken als meine Schätzung von R in Kombination mit einer RRT verwendet (ich dachte vor kurzem, ich sollte meine eigene Frage beantworten, aber du hast mich geschlagen!). Übrigens denke ich, dass Ihre vereinfachte Aktualisierungsgleichung inv (R) enthalten sollte: Dies entspricht der Maximierung der Summe der Summe (inv (R)) oder der Minimierung der Summe (R) über den gesamten Pfad (ohne H)
HighVoltage

Schöner Fang. Ich werde aktualisieren.
Josh Vander Hook
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.