Angenommen, ich habe einen Roboter mit zwei 3D-Positionssensoren, die auf unterschiedlichen physikalischen Prinzipien basieren, und ich möchte sie durch einen Kalman-Filter laufen lassen. Ich konstruiere eine Beobachtungsmatrix, zwei repräsentieren meine zwei Sensoren, indem ich zwei Identitätsmatrizen vertikal verkette.
damit
Dies stellt beide Sensoren dar, die die genaue Position des Roboters ablesen. Macht bisher Sinn. Das Problem tritt auf, wenn ich die Innovationskovarianz berechne
Schon seit
dann, egal was ist, werde ich mit Innovationen vom ersten Sensor enden, die mit Innovationen vom zweiten Sensor korreliert werden , was intuitiv falsch erscheint, wenn ich dieses Recht interpretiere.
Wenn ich von hier aus fortfahre, macht meine Verstärkungsmatrix ( ) einige ziemlich seltsame Dinge (Vertauschen von Zeilen und dergleichen), so dass beim Aktualisieren eines statischen Systems ( ) mit einer konstanten Messung Ich zu einem vorhergesagten Zustand .
Wenn ich die Sensoren trenne und den Filter bei jeder Messung separat aktualisiere, ist und ich erhalte vernünftige Ergebnisse.
Ich glaube, ich bin verwirrt über einige technische Punkte in einem oder mehreren dieser Schritte. Wo gehe ich falsch? Ist es nicht sinnvoll, die Beobachtungsmatrizen vertikal zu verketten?
Ich nehme an, ich könnte einfach die nicht diagonalen 3x3-Blöcke von auf 0 setzen, da ich weiß, dass die Sensoren unabhängig sind, aber gibt es irgendetwas in der Theorie, das diesen Schritt vorschlägt oder beinhaltet?