Ich lese gerade über Kalman-Filterung. Insbesondere bin ich daran interessiert, die Varianten "erweitert" und "nicht parfümiert" für die Fusion und Kalibrierung von IMU-Sensoren zu verwenden.
In einem Vergleich der nicht parfümierten und erweiterten Kalman-Filterung zur Schätzung der Quaternionsbewegung werden Quaternionen verwendet, um die 3D-Rotation darzustellen.
Ich verstehe, dass Einheitsquaternionen verwendet werden können, um eine 3D-Rotation darzustellen . Sie eignen sich zur Darstellung der absoluten Fluglage (eine Drehung von einer universellen Referenz), der relativen Drehung oder der Winkelgeschwindigkeit (eine Drehung, die die Geschwindigkeit pro Sekunde oder einen anderen festen Zeitraum darstellt).
In diesem Artikel wird jedoch die Verwendung der Runge-Kutta-Integration , insbesondere von RK4, erörtert. Es verwendet RK4 mit den Quaternionen, scheint jedoch keine Details darüber zu liefern, was dies beinhaltet oder warum es notwendig ist. Hier ist der Teil des Papiers, in dem es erwähnt wird…
Wenn der Zustandsvektor in Schritt k - 1 gegeben ist, führen wir zuerst den Vorhersageschritt durch, indem wir die a priori Zustandsschätzung xˆ - k finden, indem wir Gleichung 1 [f = dq / dt = qω / 2] über die Zeit um ∆t (dh 1,0) integrieren geteilt durch die aktuelle Abtastrate) unter Verwendung eines Runge-Kutta-Schemas 4. Ordnung.
Ich habe Runge Kutta schon einmal getroffen, um Positionen in die Kinematik zu integrieren. Ich verstehe nicht wirklich, wie oder warum es hier gebraucht würde.
Mein naiver Ansatz wäre, einfach die vorhandene Haltung q mit der Winkelgeschwindigkeit ω zu multiplizieren, um das erwartete neue q zu erhalten - ich verstehe nicht, warum hier eine numerische Integration notwendig ist? Vielleicht ist es, die Zeiteinheit ω auf die Änderung in ∆t zu "skalieren", aber dies kann sicherlich sehr einfach durch direktes Manipulieren von ω (Erhöhen auf die Bruchleistung ∆t) erfolgen?
Weiß jemand?
quelle
Antworten:
Ich denke, die Verwirrung kommt von den Autoren, die die Dinge nicht klar parametrisieren. Darüber hinaus kann durch die Umstellung auf geometrische Algebra anstelle von Quaternionen eine zusätzliche Verwirrung beseitigt werden.
Der Hauptunterschied zwischen normaler Vektoralgebra und geometrischer Algebra besteht darin, dass wir Vektoren multiplizieren können. Also vonex , ey , und ez sind unsere (orthonormalen) Basisvektoren, die wir auch haben exey Dies ist kein Vektor, sondern ein Bivektor, der als orientiertes ebenes Element betrachtet werden kann. (Mit "reiner Vektorquaternion" meinen sie einen Bivektor; Sie haben Recht, dass dies bedeutet0 w Teil und es ist vernünftig zu sagen, es hat eine 0 "realer" Teil.) Eine Schlüsseleigenschaft ist, dass die Basisvektoren gegeneinander pendeln, dh exey=−eyex . Dies führt zu(exey)2=−1 . Im Allgemeinen quadriert jede Einheit Bivector zu−1 Das heißt, wir können die Euler-Formel anwenden:
Wenn wir eine Rotation durch wollenθ in der Ebene eines Einheitsbivektors B Wir benutzen den Rotor R=eθ2B . (Die Hälfte kommt herein, weil wir einen Vektor drehenv über RvR˜ ;; siehe den obigen Link.) Natürlich möchten wir zulassen, dass sowohl die Ebene als auch der Winkel variieren, damit wir den (nicht einheitlichen) Bivektor definierenΘ(t)=θ(t)B(t) also wenn
Das von Ihnen beschriebene Schema entspricht in etwa der Vorwärts-Euler-Integration, bei der im Wesentlichen davon ausgegangen wird, dass dies der Fall istq und ω unsere R und Ω ist konstant vorbei Δt . RK4 ist nur eine bessere Integrationsmethode. Ich bezweifle, dass es einen besonderen Grund gibt, warum sie sich für RK4 im Gegensatz zu anderen Integrationsmethoden entschieden haben. Dies ist normalerweise nur die Standardauswahl.
quelle
Die beste mir bekannte Methode zur Integration von Quaternions ist der SLERP-Algorithmus und seine Nachkommen, die in der Computergrafik verwendet werden. Ich habe dies für Testdaten zur Stoßbeschleunigung bei hohen Tests verwendet und eine um eine Größenordnung höhere Genauigkeit festgestellt. Mit dieser Methode wird die Anhäufung von Normalisierungsfehlern vermieden, die mit den regulären Runge-Kutta-Methoden verbunden sind. Denken Sie daran, dass die Quaternionen ein System von DAEs sind, dh Differential-Algebraische Gleichungen.
quelle