Der Titel sagt alles. Quaternionen werden häufig verwendet, um die Ausrichtung eines Raumfahrzeugs darzustellen. Warum ist das so und wie verhalten sich Quaternionen im Vergleich zu anderen Alternativen?
Was sind Quaternionen und wie werden sie in der Dynamik von Raumfahrzeugen verwendet?
Die Newtonsche Mechanik besagt, dass wir in einem Universum mit drei räumlichen Dimensionen und einer universellen Zeit leben, die die unabhängige Variable ist, in der wir Translation und Rotation beschreiben können. Die Relativitätstheorie besagt, dass wir in einem Universum mit drei raumähnlichen Dimensionen und einer zeitähnlichen Dimension leben, die miteinander verwoben sind. Diese Antwort ignoriert relativistische Aspekte.
Mit dieser Annahme ist die Beschreibung der Translation einfach, zumindest im Vergleich zur Rotation. Der Massenmittelpunkt eines Objekts hat eine Position in einem Bezugsrahmen (vorzugsweise Trägheit), der sich im Laufe der Zeit ändert. Gravitation, Luftwiderstand und andere Wechselwirkungen wie das Zünden der Translationstriebwerke ändern diesen Wert als Funktion der Zeit. Simulieren Sie diese Interaktionen und Sie haben eine Simulation mit drei Freiheitsgraden (3DOF).
Was die 3DOF-Modellierung so einfach macht, ist, dass es sich um einen kommutativen Raum handelt. Gehen Sie zehn Meter nach Norden und dann fünf Meter nach Osten und Sie werden an einer bestimmten Stelle ankommen. Wenn Sie alternativ fünf Meter nach Osten und zehn Meter nach Norden gehen, gelangen Sie an dieselbe Stelle. Übersetzung im euklidischen Raum pendelt. Rotation im dreidimensionalen Raum ist nicht kommutativ. Nehmen Sie ein Buch und drehen Sie es um eine Achse parallel zum Buchrücken und dann drehen Sie das Buch um eine Achse senkrecht zur Vorderseite des Buches. Führen Sie diese Aktionen anders aus (drehen Sie zuerst um eine Achse senkrecht zur Vorderseite des Buches und dann um den Buchrücken), und Sie erhalten ein anderes Endergebnis.
Da Rotationen im dreidimensionalen Raum nicht pendeln, sind sie keine Vektoren. Kommutativität ist eine wesentliche Eigenschaft, ein Vektor zu sein. Da Rotationen keine Vektoren sind, wie kann man sie darstellen? Es stellt sich heraus, dass es viele verschiedene Möglichkeiten gibt, Rotationen im dreidimensionalen Raum darzustellen. Euler war einer der ersten, der dieses Problem untersuchte und eine Reihe von Schlüsselkonzepten verwirklichte. Einer ist, dass ein starrer Körper, der sich im dreidimensionalen Raum dreht, immer so beschrieben werden kann, dass er sich augenblicklich um eine einzige Achse dreht. Dieses Konzept ist einzigartig im 3D-Raum und ist auch der Schlüssel dafür, warum Quaternionen (Einheitsquaternionen) zum Beschreiben von Rotationen nützlich sind. Darauf gehe ich etwas später ein.
Er erkannte auch, dass die Ausrichtung eines Planeten oder eines starren Körpers im Allgemeinen durch drei Rotationen beschrieben werden kann. Euler verwendete eine Folge von drei Rotationen: Eine Rotation um die Z-Achse, dann eine weitere um die einmal gedrehte X-Achse und dann noch eine um die zweimal gedrehte Z-Achse. An dieser kanonischen ZX'-Z''-Sequenz ist nichts Besonderes. Alles, was benötigt wird, ist, dass die erste und die dritte Drehung um dieselbe körperfeste Achse erfolgen und dass das mittlere Element um eine körperfeste Achse verläuft, die orthogonal zu der anderen Achse ist. Eine verwandte Sequenz besteht darin, drei orthogonale körperfeste Achsen zu verwenden. Diese Wahl führt (zum Beispiel) zu einer Roll-Nick-Gier-Folge. Es gibt sechs klassische Euler-Folgen (z. B. ZX'-Z'') plus sechs Tait-Bryan-Folgen (z. B. Roll-Pitch-Yaw). Eine weitere Variation dieses Themas besteht darin, sich um einen festen Satz von Achsen zu drehen. Dies führt zu den extrinsischen Euler-Folgen. Insgesamt gibt es 24 verschiedene Dinge, die als Euler-Rotationssequenzen bezeichnet werden können.
Eine andere Möglichkeit, Rotationen darzustellen, ist über eine geeignete orthogonale Matrix. Eine orthogonale Matrix ist eine NxN-Matrix, in der jede Reihe (oder jede Spalte) ein Einheitsvektor ist und zu allen anderen Reihen (oder Spalten) orthogonal ist. Diese Darstellung ist generisch; es gilt für jeden N-dimensionalen kartesischen Raum. Die 3x3-Darstellung ist von besonderem Interesse, da wir in einem 3D-Universum leben. Ein Hauptproblem bei einer NxN-Matrix, die zur Darstellung der Orientierung verwendet wird, besteht darin, dass Drehungen im N-dimensionalen Raum auftreten Freiheitsgrade, während die Matrix hat Elemente. Über die Hälfte der Elemente der Matrix sind redundant. (Dieses Problem der Redundanz gilt auch für Quaternionen. Drehungen im 3D-Raum haben drei Freiheitsgrade. Quaternionen haben vier Elemente.)
Eine weitere Möglichkeit, die Orientierung / Rotation im 3D-Raum darzustellen, ist der Satz von Euler mit einer Achse. Unabhängig davon, wie seltsam ein starrer Körper ausgerichtet ist, gibt es immer eine Achse, kombiniert mit einer Drehung um einen bestimmten Winkel um diese Achse, die verwendet werden kann, um die Ausrichtung des betreffenden Körpers in Bezug auf einen bestimmten Bezugsrahmen darzustellen. Diese Achsen-/Winkeldarstellung kommt einer quaternionischen Darstellung sehr nahe. Gegeben ein Einheitsvektor und ein Winkel , die Quaternion, deren Skalarteil ist und dessen Vektorteil entweder ist oder erfasst alle Informationen, die zur Darstellung der Orientierung erforderlich sind, wobei die mit Euler-Sequenzen verbundenen Singularitätsprobleme vollständig vermieden werden und das mit Matrizen verbundene Problem der Überspezifikation fast vermieden wird.
Das obige wirft die Frage auf. Ich habe über Quaternionen geschrieben, bevor ich besprochen habe, was Quaternionen sind. William Rowan Hamilton bemühte sich, eine Erweiterung der komplexen Zahlen zu finden, wo . Bei einem Spaziergang mit seiner Frau kam er schließlich zu einer Einsicht und erfand die Quaternionen. Um sicherzustellen, dass er diese unglaubliche Erkenntnis nicht vergisst, hat er ein paar Graffiti auf eine Brücke geritzt:
Dieses scheinbar einfache Graffiti ist unglaublich komplex (Wortspiel beabsichtigt). Komplexe Zahlen haben zwei Elemente, einen Real- und einen Imaginärteil. Die negative Eins hat zwei Quadratwurzeln in den komplexen Zahlen. Quaternionen haben vier Elemente, einen Realteil und drei Imaginärteile. Die negative Eins hat unabzählbar viele Quadratwurzeln in den Quaternionen.
Es gibt eine natürliche Weiterentwicklung der Quaternionen, die nach Hamilton entdeckt wurden. Die Oktonionen haben acht Elemente, von denen eines ein Realteil ist und die anderen sieben (irgendwie) imaginär sind. Die Sedenions haben sechzehn Elemente, von denen eines real und die anderen fünfzehn imaginär sind, und so weiter, mit Zweierpotenzen. Das Problem ist, dass jeder Schritt auf der Leiter ein mathematisches Schlüsselkonzept fallen lässt. Quaternionen pendeln nicht (multiplikativ), Oktonionen assoziieren nicht einmal. Sedenions und höher sind in der Regel eher wertlos.
Quaternionen haben zwei wichtige binäre Operatoren, Addition und Multiplikation, plus additive und multiplikative Identitätselemente, additive Inverse und mit Ausnahme von Null multiplikative Inverse. Die Addition funktioniert analog zur Addition eines Paares vierdimensionaler kartesischer Vektoren. Bei der Multiplikation werden Quaternionen knifflig. Aus Hamiltons Graffiti kann man das (zum Beispiel) ableiten aber das . Die Quaternion-Multiplikation ist nicht kommutativ. Betrachtet man Quaternionen als bestehend aus einem reellen Skalarteil und einem vektoriellen Imaginärteil, dem Produkt zweier Quaternionen ist ( .
Dies gibt Quaternionen genau die richtige Menge an Unordnung, die benötigt wird, um die Rotationsdifferenz zwischen zwei Bezugsrahmen im dreidimensionalen Raum zu beschreiben. Insbesondere angesichts einiger Quaternionen und ein Vektor als reines imaginäres Quaternion betrachtet, die Quaternionoperation ist ein weiteres reines imaginäres Quaternion. Diese Operation dreht den Vektor im dreidimensionalen Raum. Ebenso die Operation .
Da wir es mit Inversen zu tun haben, ist es sinnvoll, diese Quaternionen so zu skalieren, dass sie einheitlich sind. Die Inverse einer Quaternion ist ihre Konjugierte dividiert durch das Quadrat der Magnitude. Für eine Einheitsquaternion , seine Umkehrung und sein Quaternion-Konjugat sind ein und dasselbe: für alle Einheitsquaternionen .
Ein weiterer Grund für die Verwendung von Einheitsquaternionen ist, dass sie die richtige Art von mathematischer Struktur bilden, die zur Darstellung von Rotationen im 3D-Raum benötigt wird. Die Einheitsquaternionen sind eine mathematische Gruppe, ebenso wie Rotationen im 3D-Raum. Jede Einheitsquaternion stellt eine Rotation im 3D-Raum dar, und jede Rotation im 3D-Raum kann durch eine Einheitsquaternion dargestellt werden. Tatsächlich kann jede Drehung im 3D-Raum durch zwei Einheitsquaternionen dargestellt werden. Multiplizieren Sie eine Einheitsquaternion mit -1 und Sie erhalten eine weitere Einheitsquaternion, die dieselbe Drehung wie die erste darstellt. Einheitsquaternionen bilden eine doppelte Abdeckung bei Rotationen im 3D-Raum.
Dies ist die Schlüsselfrage. Die Antwort ist, dass es eine sehr einfache Beziehung zwischen der einachsigen Darstellung einer Drehung und einer Einheitsquaternion gibt. Der Skalarteil (auch bekannt als Realteil) dieser Quaternion ist , wo ist der Einzelachsenrotationswinkel und der Imaginärteil ist einer von beiden oder , wo ist der Einheitsvektor entlang der Rotationsachse. Ob man ein Plus- oder Minuszeichen verwendet, ist völlig willkürlich. Dies führt natürlich zu einer Reihe von Diskussionen über die „richtige Vorgehensweise“. Es gibt keinen richtigen Weg. Beide Ansätze sind gleichermaßen gültig.
Während Quaternionen nicht so böse sind wie Euler-Winkel, gibt es Probleme im Zusammenhang mit ihrer Verwendung.
Die ersten Probleme bedeuten, dass man bei der Zusammenarbeit mit jemand anderem (z. B. einer gemeinsamen integrierten Simulation) besser die Nomenklatur der beiden Teams klären sollte. Die Chancen stehen gut, dass die beiden Gruppen nicht die gleichen Darstellungen verwenden, und die Chancen stehen auch gut, dass keines der Teams sein internes Schema ändert. Glücklicherweise ist die Konvertierung von einem zum anderen einfach zu handhaben. Es wird viele Schuldzuweisungen geben, die nicht behandelt werden.
Es gibt eine Reihe von Gründen, warum man eine Einheitsquaternion im Laufe der Zeit integrieren muss. Eine Winkelgeschwindigkeit ungleich Null ändert die Ausrichtung eines Raumfahrzeugs. Ich verwende in meiner Arbeit linke Transformationseinheit-Quaternionen. Die Zeitableitung einer solchen Quaternion ist wo ist die Trägheit zum linken Transformationsquaternion des Raumfahrzeugkörpers und ist die Winkelgeschwindigkeit des Raumfahrzeugs, ausgedrückt in den Körperrahmenkoordinaten. Numerische Integration beinhaltet zwangsläufig Schritte in der Art von .
Dies ist für Einheitsquaternionen mathematisch ungültig; die Einheitsquaternionen haben keinen Additionsoperator. Es gilt allgemein für Quaternionen, aber das Ergebnis ist zwangsläufig eine Nicht-Einheits-Quaternion. Ein einfacher Ausweg besteht darin, das Ergebnis zu normalisieren. Dies funktioniert ein wenig für sehr kleine Schritte. In den letzten zwei Jahrzehnten wurde viel über geometrische Integratoren gearbeitet, insbesondere über Lie-Gruppen-Integratoren. Die Einheitsquaternionen sind eine ziemlich einfache Lie-Gruppe. Der Tangentialraum sind die reinen imaginären Quaternionen. Dies ist der Raum, in dem Winkelgeschwindigkeiten leben. Die rein imaginären Quaternionen bilden eine Algebra, insbesondere eine Lie-Algebra. Die gesamte Arbeit an Lie-Gruppen-Integrationstechniken gilt direkt für die Einheitsquaternionen.
set_from_matrix
. Dies verwendet eine Transformationsmatrix anstelle einer Quaternion. Die Transformation von einer Quaternion in eine Transformationsmatrix ist ziemlich einfach.
äh
David Hammen