Kovarianzmatrix in EKF?


16

Ich kämpfe mit dem Konzept der Kovarianzmatrix. Nun, mein Verständnis für , und dass sie die Unsicherheit beschreiben. Beispielsweise beschreibt es für die Unsicherheit des Werts von x. Nun, meine Frage zum Rest der Sigmas, was repräsentieren sie? Was bedeutet es, wenn es sich um Nullen handelt? Ich kann interpretieren, dass wenn Null ist, ich keine Unsicherheit über den Wert von x habe.

Σ=[σxxσxyσxθσyxσyyσyθσθxσθyσθθ]
σxxσyyσθθσxxσxx

Beachte, ich lese Prinzipien der Roboterbewegung - Theorie, Algorithmen und Implementierungen von Howie Choset et. al., das besagt, dass

Nach dieser Definition ist dasselbe wie die Varianz von . Für , wenn , und unabhängig voneinander.σiiσi2Xiijσij=0XiXj

Dies mag meine Frage beantworten, wenn der Rest der Sigmas Nullen sind. Ich bin jedoch immer noch verwirrt über die Beziehung zwischen diesen Variablen, zum Beispiel x und y . Wann passiert das? Ich meine die Korrelation zwischen ihnen. Oder mit anderen Worten, kann ich davon ausgehen, dass es sich um Nullen handelt?

Ein weiteres Buch ist FastSLAM: A Scalable Method ... von Michael und Sebastian, in dem es heißt

Die nicht diagonalen Elemente der Kovarianzmatrix dieses multivariaten Gaußschen kodieren die Korrelationen zwischen Paaren von Zustandsvariablen.

Sie erwähnen nicht, wann die Korrelation auftreten könnte und was dies bedeutet.

Antworten:


5

Hier ist ein Spielzeugkoffer, in dem nicht diagonale Elemente ungleich Null sind.

Betrachten Sie einen Zustandsvektor, der die Position sowohl des linken als auch des rechten Rads enthält, anstatt nur eine einzige Position für den Roboter. Wenn das linke Rad nun eine Position von 100 m hat, wissen Sie, dass das rechte Rad auch eine Position von ungefähr 100 m hat (abhängig von der Achslänge). Wenn sich die Position des linken Rads erhöht, erhöht sich im Allgemeinen auch die Position des rechten Rads. Es ist keine exakte 1: 1-Korrelation, dh es gilt nicht genau, wann sich der Roboter dreht, aber insgesamt gilt es.

Hier wäre also der nicht diagonale Eintrag zwischen der x-Position des linken Rads und der x-Position des rechten Rads nahe 1.


Ok, wenn mein Modell als Punkt dargestellt wird, der sich in einer planaren Umgebung (zB 2D) bewegt, sind die nicht diagonalen Elemente Nullen, da es keine derartigen Korrelationen zwischen den diagonalen Elementen gibt. Ist diese Annahme richtig? Und wenn dieser Punkt eine Landmarke mit zwei Koordinaten (ei ) erkennt, kann ich dann auch die Korrelationsnullen annehmen? x,y
CroCo

Zu Ihrer ersten Frage: Ja, Sie können die nicht diagonalen Elemente auf Null setzen. Beim zweiten hängt es davon ab, wie Sie damit umgehen. Wenn Sie nur den Orientierungspunkt verwenden, um Ihre aktuelle Position zu schätzen, gibt es keine Korrelationen. Wenn Sie die Landmarkenpositionen zum Zustandsvektor hinzufügen (wie es in SLAM üblich ist), beginnen sie, Korrelationen zwischen sich selbst zu entwickeln.
Ryan0270

4

Um ein Gefühl für die Kovarianzmatrix zu bekommen - ohne hier auf die mathematischen Details einzugehen - ist es am besten, mit einer 2x2-Matrix zu beginnen. Denken Sie dann daran, dass die Kovarianzmatrix eine Erweiterung des Konzepts der Varianz in den multivariaten Fall darstellt. Im 1D-Fall ist Varianz eine Statistik für eine einzelne Zufallsvariable. Wenn Ihre Zufallsvariable eine Gaußsche Verteilung mit dem Mittelwert Null hat, kann ihre Varianz die Wahrscheinlichkeitsdichtefunktion genau definieren.

Wenn Sie dies nun auf zwei Variablen anstatt auf eine erweitern, können Sie zwischen zwei Fällen unterscheiden. Wenn Ihre beiden Variablen unabhängig sind, was bedeutet, dass das Ergebnis eines Werts keine Beziehung zum anderen Wert hat, ist es im Grunde dasselbe wie im 1D-Fall. Ihr und Ihr σ y y geben die Varianz des x- und y- Teils Ihrer Zufallsvariablen an, und σ x y wird Null sein.σxxσyyxyσxy

Wenn Ihre Variablen abhängig sind, ist dies anders. Abhängig bedeutet, dass es eine Beziehung zwischen dem Ergebnis von und y gibt . Sie könnten zum Beispiel haben, dass wenn x positiv ist, y im Allgemeinen eher auch positiv ist. Dies ergibt sich aus Ihrem Kovarianzwert σ x y .xyxyσxy

Ein Beispiel für einen Roboter in einem 2D-Fall ohne Orientierung zu geben, ist ein wenig ausgedacht, aber nehmen wir an, Sie haben eine zufällige Komponente entlang der Verfahrrichtung auf der Achse und Sie wissen, dass diese Komponente auch eine Drift auf Ihrer Querachse erzeugt ( y ). Dies könnte beispielsweise ein fehlerhaftes Rad sein. Dies führt zu einer gedrehten Unsicherheitsellipse. Wenn Sie beispielsweise später etwas haben, das Ihre tatsächliche x- Position misst , können Sie die Unsicherheitsverteilung auf Ihrer y- Komponente schätzen .xyxy

θ

1σ

Dies gilt auch für den 3D-Fall. Ich würde hier gerne mathematischer werden, aber vielleicht einige Zeit später.


Σxy

1
@ CroCo Ich denke, das Beispiel, nach dem Sie fragen, ist im vierten Absatz der Antwort beschrieben.
Demetris
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.