Gibt es eine Formel für den Rotationsvektor in Bezug auf den Winkelgeschwindigkeitsvektor?

Der Rotationssatz von Euler besagt, dass für jede starre Körperbewegung mit einem festen Punkt eine Drehung um eine Achse, die durch diesen festen Punkt verläuft, äquivalent ist. Betrachten wir also einen starren Körper mit einem festen Punkt und für alle Zeiten T lassen a ( T ) bezeichnen den "Rotationsvektor" der Rotation, die der Bewegung des starren Körpers zwischen der Zeit entspricht T 0 und Zeit T . Für diejenigen, die es nicht wissen, der Rotationsvektor einer Rotation ist ein Vektor, dessen Betrag gleich dem Rotationswinkel ist und der entlang der Rotationsachse zeigt; siehe diesen Wikipedia-Artikel .

Jetzt aufgrund der nicht kommutativen Natur von Rotationen die Winkelgeschwindigkeit ω ( T ) ist im Allgemeinen nicht gleich der zeitlichen Ableitung von a ( T ) wie man intuitiv erwarten könnte. Die Beziehung zwischen den beiden ist wesentlich komplizierter:

ω = a ˙ 1 cos a a 2 ( a × a ˙ ) + a Sünde a a 3 ( a × ( a × a ˙ ) )

Dies ist nun eine Formel für den Winkelgeschwindigkeitsvektor in Bezug auf den Rotationsvektor und seine zeitliche Ableitung. Aber meine Frage ist, gibt es eine Formel für den Rotationsvektor in Bezug auf den Winkelgeschwindigkeitsvektor? Das heißt, wenn Sie wüssten, was ω ( T ) war für alle Zeiten T , ist es möglich, was zu berechnen a ( T ) für jeden gegebenen Wert Wert von T .

Wenn Drehungen kommutativ wären, könnten Sie natürlich einfach integrieren ω ( T ) aus T 0 Zu T . Aber das sind sie nicht, also könnte etwas Komplizierteres erforderlich sein. Ein Gedanke, den ich hatte, war, dass ich in meiner Frage und Antwort hier die Formel für die Zusammensetzung zweier Rotationsvektoren angegeben habe. Was Sie also tun könnten, ist für jedes unendlich kleine Zeitintervall [ T , T + D T ] , könnten Sie den Rotationsvektor der Bewegung des starren Körpers während dieses Zeitintervalls nehmen, das durch gegeben ist ω ( T )   D T (wie Sie hier sehen können ). Und dann könnte man im Prinzip all diese unendlich vielen zusammensetzen ω ( T )   D T ist zusammen. Aber weiß jemand wie das gehen soll?

BEARBEITEN: Um klar zu sein, möchte ich einen expliziten Ausdruck für den Rotationsvektor in Bezug auf den Winkelgeschwindigkeitsvektor, der sich nicht auf Matrizen bezieht. Wenn man Matrizen verwenden wollte, könnte man den Winkelgeschwindigkeitsvektor in eine schiefsymmetrische Matrix umwandeln, die zeitlich geordnete Exponentialfunktion verwenden , um die Rotationsmatrix zu erhalten, und die Log-Map verwenden , um eine entsprechende schiefsymmetrische Matrix zu erhalten a , und konvertieren Sie das dann in einen Rotationsvektor. Aber das ist nicht das, was ich suche; Ich möchte eine Formel, die sich ausschließlich auf Vektoroperationen bezieht.

Es gibt einen Grund, warum Leute Quaternionen über Rotationsvektoren verwenden.
@ ja72 Ja, ich weiß, dass Quarternions in dieser Hinsicht Vorteile gegenüber Rotationsvektoren haben. Aber ich möchte sehen, ob wir eine Formel für den Rotationsvektor bekommen können.
Beachten Sie, dass die erwähnte 3 × 3-antisymmetrische Matrix ist
[ ( X j z ) × ] = [ 0 z j z 0 X j X 0 ]
wenn Sie nicht die Tensornotation für Kreuzprodukte verwenden möchten (wie in der Arbeit). Das obige gibt
[ A × ] B A × B
@ ja72 Ja, das ist mir bewusst. Worauf willst du hinaus?
Tensoren bereiten mir Kopfschmerzen. Mit linearer Algebra kann ich Dinge besser verstehen und da dachte ich, es gäbe auch noch andere. Versuchen zu helfen.
@ ja72 Danke, ich verstehe einfach nicht, was es mit meiner Frage zu tun hat. Versuchen Sie, die Vektorgleichung in meiner Frage in eine Matrixgleichung zu übersetzen?
Ja, ich übersetze in eine Vektor-Matrix-Gleichung.
Zu Ihrer Information, die Formel, die Sie zitieren, ist eine Variation der bekannten Rodrigues-Formel für S Ö ( 3 ) , die man am Ende meiner Antwort hier findet , nachdem man den Ausdruck vereinfacht hat a × ( a × a ˙ ) mit Standard-Dreifachproduktformeln
Die zitierte Formel kann auch in eine "simpler"-Form geschrieben werden, indem verwendet wird a = θ N , mit θ die Größenordnung von a Und N ein Einheitsvektor, der in die gleiche Richtung wie zeigt a . In diesem Fall kann die Winkelgeschwindigkeit auch geschrieben werden als ω = θ ˙ N + Sünde θ N ˙ + ( 1 cos θ ) N × N ˙ . Aber das hilft nicht bei der Beantwortung Ihrer Frage, dachte nur, dass Sie es relevant finden könnten.
@fibonatic Danke, das wusste ich nicht.

Antworten (4)

Ich werde versuchen, hier eine sehr teilweise Antwort auf die Frage zu geben. Ich bin mir nicht sicher, ob es an sich interessant ist, aber es könnte einen Hinweis für die weitere Entwicklung geben. Möglicherweise wäre sein Platz innerhalb eines Kommentars, aber Kommentare sind in der Länge begrenzt und es würde nicht passen.

Lassen Sie uns definieren a ( T 0 , T ) als die a ( T ) aus der Frage bezogen auf das Gegebene T 0 . Wir identifizieren den Rotationsvektor mit der Rotation selbst. Für T ich = T 0 + ich   D T Und T = T 0 + N   D T , haben wir durch einfache Komposition aufeinanderfolgender Drehungen

a ( T 0 , T ) = ich = N 1 0 a ( T ich , T ich + 1 ) .
Wir wissen aus dieser Frage/Antwort darauf 2 a ( T , T ) = ω ( T ) für alle T . Verwenden a ( T , T + D T ) = ICH + 2 a ( T , T )   D T + Ö ( D T ) = ICH + ω ( T )   D T + Ö ( D T ) , wir haben
a ( T 0 , T ) = ich = N 1 0 ICH + ω ( T ich )   D T + Ö ( D T ) .
Dies bietet übrigens eine numerische Methode zum Ausdruck a bezüglich ω .

In dem sehr speziellen Fall, in dem alle diese Rotationen pendeln (Beispiel einer gemeinsamen Achse), ist die Grenze eine Exponentialfunktion: Nehmen Sie den Log und die Grenze wann D T 0 , wir haben

Protokoll ( a ( T 0 , T ) ) = ich = N 1 0 ω ( T ich )   D T + Ö ( D T ) T 0 T ω ( S )   D S ,
somit
a ( T 0 , T ) = exp ( T 0 T ω ( S )   D S ) .

Im allgemeinen nicht kommutativen Fall enthält das Protokoll beginnend mit Lie-Klammern D T 2 [ ω ( T ich ) ,   ω ( T J ) ] (vgl. Dynkins Formel), und etwas mehr Mut scheint erforderlich zu sein.

BEARBEITEN: Laut einem Kommentar unten von Keshav Srinivasan wird der obige Ausdruck im allgemeinen nicht kommutativen Fall

a ( T 0 , T ) = OE [ ω ] ( T 0 , T ) = T { e T 0 T ω ( S ) D S } ,
siehe Geordnetes Exponential für die Definition von OE [ ω ] ( T ) . Dies ist jedoch keine genaue Antwort auf die Frage, da es sich um Rotationsmatrizen anstelle der erforderlichen Rotationsvektoren handelt.

Eines übersehen Sie: Die Zusammensetzung von Achsen-Winkel-Vektoren ist kein einfaches Produkt. Vielmehr ist es durch die Formel gegeben, die in meiner Frage und Antwort hier beschrieben ist: physical.stackexchange.com/a/287819/27396 Die Strategie, die Sie verfolgen, wäre sinnvoller, wenn wir versuchen würden, die Rotationsmatrix in Bezug auf die Winkelgeschwindigkeit zu finden ; In diesem Fall könnten wir die in diesem Wikipedia-Artikel beschriebene zeitlich geordnete Exponentialfunktion sowie die Dyson-Reihe verwenden .
Ich sehe nicht, was ich auslasse: Wie ich es geschrieben habe ("Wir identifizieren den Rotationsvektor mit der Rotation selbst"), verwende ich nicht die Zusammensetzung von Achsenwinkelvektoren, sondern die Zusammensetzung von Drehungen (Elemente der Gruppe S Ö ( 3 ) ). Es steht jedem frei, die bequemste Form zu verwenden, Rotationsvektor oder Rotationsmatrix, es zählt nur das Ergebnis. Sehen Sie etwas falsch in der ersten Zusammensetzungsformelangabe a ( T 0 , T ) ? Ich verstehe Ihre letzte Bemerkung nicht, ist das Finden der Rotationsmatrix nicht gleichbedeutend mit dem Finden des Rotationsvektors?
Nun, ich möchte eine explizite Formel für den Rotationsvektor in Bezug auf den Winkelgeschwindigkeitsvektor, ich möchte nicht konvertieren, um in eine Rotationsmatrix zu konvertieren und zurück zu konvertieren.
Ich verstehe Ihren Punkt immer noch nicht, es ist elementar, den Rotationsvektor aus der Rotationsmatrix zu extrahieren und umgekehrt.
Nun, schauen Sie sich die auf meine Frage gegebene Formel an, sie bezieht sich auf den Winkelgeschwindigkeitsvektor und den Rotationsvektor, ohne überhaupt Matrizen zu erwähnen. Das ist die Art von Formel, die ich suche.
In jedem Fall wurde das Problem, das Sie in Ihrer Antwort zu lösen versuchen, bereits gelöst. siehe die beiden Wikipedia-Artikel, die in meinem früheren Kommentar verlinkt sind.
Aber in diesem Fall ist Ihr Problem nicht gelöst? Ich meine, modulo die Änderung des variablen Rotationsvektors / der Rotationsmatrix, Sie haben die Antwort auf Ihr eigenes Problem gegeben. Sieht aus, als würden wir Haarspalterei betreiben.
Nun, wenn Sie in der Lage sind, das zeitlich geordnete Exponential in eine Formel zu übersetzen, die sich ausschließlich auf Vektoren und nicht auf Matrizen bezieht, wäre das eine zufriedenstellende Antwort auf meine Frage.
OK, ich habe meiner Antwort eine Bearbeitung hinzugefügt, um dies klarzustellen (hoffe es ist) - Nachtrag: Sie wären nicht glücklich, wenn ω ( T ) oben wurde durch Matrix ersetzt ( ω ( T ) ) ? Nur ein kleiner Scherz, wenn Sie erlauben...
Wenn sich jemals jemand darum kümmert, habe ich diese Antwort vor ein paar Tagen gelöscht, weil ich dachte, es sei ein Fehler aufgetreten, aber schließlich denke ich, dass sie in Ordnung ist (obwohl sie nicht der neuesten Anforderung aus dem EDIT-Teil der Frage entspricht), also habe ich sie wiederhergestellt.

Ich stimme dem Benutzer ja72 von ganzem Herzen zu, die Vektornotation aufzugeben und lügentheoretisch zu arbeiten. Waren anwesend a Und ω als 3 × 3 schiefsymmetrische Matrizen in der Lie-Algebra S Ö ( 3 ) ; dann ist die Gesamtdrehung die 3 × 3 orthogonale Rotationsmatrix exp ( a ( T ) ) und die momentane Winkelgeschwindigkeit ist ω = D τ ( e a ( T ) exp ( a ( T + τ ) ) | τ = 0 . Als Matrizen, a Und ω die Aktionen von Kreuzprodukten in Vektorschreibweise darstellen: Das meint ja72 in seinem Kommentar:

Beachten Sie, dass die erwähnte 3 × 3-antisymmetrische Matrix ist [ ( X j z ) × ] = [ 0 z j z 0 X j X 0 ] wenn Sie nicht die Tensornotation für Kreuzprodukte verwenden möchten (wie in der Arbeit). Das obige gibt [ A × ] B A × B

Wir können tun, was Sie wollen, indem wir die allgemeine Formel für die Ableitung eines Lie-Gruppenmitglieds verwenden ω = D τ ( e a ( T ) exp ( a ( T + τ ) ) | τ = 0 das ist als Theorem 1.5 in Abschnitt 1.2 von Rossmann, "Lie Groups: An Introduction through Linear Groups" angegeben und bewiesen:

ω ( T ) = k = 0 ( 1 ) k A D ( a ( T ) ) k ( k + 1 ) ! a ˙ ( T )

Die Notation A D ( a ( T ) ) k a ˙ ( T ) bedeutet, die Abbildung der Lie-Klammer zu iterieren a ˙ [ a , a ˙ ] für k Iterationen.

Da der Betreiber:

k = 0 ( 1 ) k A D ( a ( T ) ) k ( k + 1 ) !

ist Identitätsoperator bei T = 0 (wenn es keine Rotation gegeben hat und exp ( a ( T ) ) = ich D ) und da seine Determinante eine stetige Funktion von ist T , gibt es ein Zeitintervall ungleich Null [ 0 , ϵ ] wobei der Operator invertiert werden kann. Also, wenn Sie gegeben sind ω ( T ) dann können Sie für ein Zeitintervall ungleich Null integrieren (wahrscheinlich numerisch):

a ˙ ( T ) = ( k = 0 ( 1 ) k A D ( a ( T ) ) k ( k + 1 ) ! ) 1 ω ( T )

und du behältst den Überblick a ( T ) und die Determinante des invertierten Operators zu allen Zeiten. Wenn die Determinante kleiner als ein gewisser „Gefahren“-Schwellenwert wird, notieren Sie sich Rotationsvektor und -operator, richten Ihre Koordinaten neu aus, sodass die erreichte Rotation zur Bezugsorientierung wird, und beginnen von vorne. Am Ende des Prozesses haben Sie Ihren gesamten Rotationsvektor und Rotationsoperator als Produkt von Rotationsoperatoren, die jeweils durch das obige Verfahren berechnet werden.

Wenn Sie Dinge in Bezug auf Matrizen tun möchten, kann dies hilfreich sein: Sie können die Rotationsmatrix in Bezug auf die Winkelgeschwindigkeitsmatrix finden, indem Sie die zeitlich geordnete Exponentialfunktion verwenden: en.wikipedia.org/wiki/Ordered_exponential Und dann nehmen Sie einfach die log der Rotationsmatrix, um die zu erhalten a Matrix.
@KeshavSrinivasan Das ist ein äquivalentes Verfahren - die Verwendung der Peano-Baker-Reihe (in der Teilchenphysik als Dyson-Reihe bezeichnet) ist eine andere. Das obige Verfahren eignet sich besonders gut für eine einfache DE-Integration. Tatsächlich ist die invertierte Matrix ein zeitlich geordnetes Integral der logarithmischen Funktion.
Auf jeden Fall sind das zeitlich geordnete Exponential, die Dyson-Reihe und Ihr Ansatz nicht wirklich das, wonach ich in einer Antwort suche. Ich hätte gerne eine explizite Formel für den Rotationsvektor in Bezug auf den Winkelvektor, ohne Bezug auf Matrizen. (Obwohl es in Ordnung ist, Matrizen bei der Ableitung zu verwenden, wie es Asher Peres bei der Ableitung der Formel in meiner Frage tut.)
@KeshavSrinivasan Dann sollten Sie diese Anforderung ausdrücklich in Ihrer Frage angeben.
@KeshavSrinivasan Um das Obige in eine Vektorformel umzuwandeln, finden Sie außerdem die Taylor-Reihe für die inverse Matrix in Bezug auf Potenzen von A D ( a ) und das dann notieren A D ( a ) k ω als Matrixausdruck ist äquivalent zu 2 k a × ( a × ( a × ω ) ) mit k Kreuzprodukte. Sie haben also eine unendliche Reihe, die Sie zu einer Linearkombination vereinfachen können ω , a Und a × ω durch wiederholte Anwendung der dreifachen Produktformel

Die Antwort ist für die Navigationsgemeinschaft von ziemlicher Bedeutung. Der "Rotationsvektor" wird nach diesem Artikel manchmal als "Bortz-Vektor" bezeichnet manchmal als "Bortz-Vektor" bezeichnet , der genau diesem Problem eine gewisse Bedeutung verliehen hat, wobei das Ergebnis der Ableitung unten wiederholt wird.

Verwendung der Notation a als Rotationsvektor, θ = | a | als Betrag des Rotationsvektors, × ist das Vektorkreuzprodukt und ω als Winkelgeschwindigkeit des Körpers in Bezug auf den Trägheitsraum, aufgelöst im Körperrahmen (dh was ein Kreisel messen würde):

a ˙ = ω + 1 2 a × ω + 1 θ 2 [ 1 θ Sünde θ 2 ( 1 cos θ ) ] a × ( a × ω ) θ ± N π , N = 1 , 2 , 3 , . . .

Schuster beschreibt mehrere Möglichkeiten, wie diese Gleichung abgeleitet werden kann.

Für eine praktische Anwendung der Gleichung siehe Kapitel 3.4 von Kim , der sie verwendet, um eine Trägheitsnavigationsschleife abzuleiten.

Verweise:

Bortz, J, "Eine neue mathematische Formulierung für die Strapdown-Trägheitsnavigation", IEEE Transactions on Aerospace and Electronic Systems, 1971, Bd. 7, S. 61-66.

Shuster, M. "Die kinematische Gleichung für den Rotationsvektor", IEEE Transactions on Aerospace and Electronic Systems, 1993, Bd. 29, S. 263-267.

Kim, J. „Autonome Navigation für Anwendungen in der Luft“, Doktorarbeit, University of Sydney, 2004.

Dieser Winkel-Achsen-Vektor θ = θ e ^ hat eine Ableitung basierend auf der Kettenregel

θ ˙ = θ ˙ e ^ + θ e ^ ˙ = θ ˙ e ^ + θ ω × e ^

Das hast du also

ω × e ^ = θ ˙ θ ˙ e ^ θ

Aber was ist θ ˙ ? Sie finden es mit

θ ˙ = e ^ θ ˙

Jetzt haben Sie also diesen Ausdruck

ω × θ = θ ˙ e ^ ( e ^ θ ˙ )

... So weit bin ich gegangen ...