SLAM-Vorlesung 14 -----Starre Körperbewegung im dreidimensionalen Raum

17102807:

Hauptziel

1. Verstehen Sie die Scanmethoden der Bewegung starrer Körper im dreidimensionalen Raum: Rotationsmatrix, Transformationsmatrix, Quaternionen und Euler-Winkel.
2. Beherrschen Sie die Verwendung von Matrizen und geometrischen Modellen in der Eigen-Bibliothek

Rotationsmatrix

Punkte, Vektoren und Koordinatensysteme

Ein starrer Körper hat nicht nur eine Position, sondern auch eine eigene Haltung.
Die Kamera kann auch als starrer Körper im dreidimensionalen Raum betrachtet werden, sodass sich die Position darauf bezieht, wo sich die Kamera im Raum befindet, und die Haltung sich auf die Ausrichtung der Kamera bezieht.
(Die Kamera befindet sich am Punkt (0, 0, 0) im Raum und ist direkt nach vorne gerichtet.)
Punkte sind Grundelemente im Raum, ohne Länge und ohne Volumen.
Durch die Verbindung zweier Punkte entsteht ein Vektor. Man kann sich einen Vektor als einen Pfeil vorstellen, der von einem Punkt zum anderen zeigt.
Das Ergebnis des äußeren Produkts ist ein Vektor, dessen Richtung senkrecht zu den beiden Vektoren steht und die gerichtete Fläche des von den beiden Vektoren gebildeten Vierecks ist.

Euklidische Transformation zwischen Koordinatensystemen

In der Robotik definiert jedes Glied und jedes Gelenk sein Koordinatensystem;
in der 3D-Zeichnung definieren wir auch das Koordinatensystem jedes Quaders und Zylinders.
Wenn Sie einen sich bewegenden Roboter in Betracht ziehen, besteht ein gängiger Ansatz darin, ein Trägheitskoordinatensystem (oder Weltkoordinatensystem) festzulegen, das als fest betrachtet werden kann.
Die Bewegung zwischen zwei Koordinatensystemen besteht aus einer Rotation plus einer Translation, und diese Bewegung wird Starrkörperbewegung genannt. Die Kamerabewegung ist eine starre Körperbewegung.
Während der Bewegung eines starren Körpers ändern sich die Länge und der Winkel desselben Vektors in jedem Koordinatensystem nicht. (Nur die räumliche Position und Haltung ändern sich). Wir sagen, dass es einen euklidischen Transformationsunterschied zwischen dem Mobiltelefonkoordinatensystem und dem Weltkoordinatensystem gibt.
Zur Koordinatentransformation: Für denselben Vektor p sind seine Koordinaten pw im Weltkoordinatensystem und seine Koordinaten pc im Kamerakoordinatensystem unterschiedlich. Diese Transformationsbeziehung wird durch die Transformationsmatrix T beschrieben.
Die euklidische Transformation besteht aus Rotation und Translation. Betrachten wir zunächst die Rotation.

Rotationsvektoren und Eulerwinkel

Rotationsvektor:
Jede Rotation kann durch eine Rotationsachse und einen Rotationswinkel charakterisiert werden. Wir können einen Vektor verwenden, dessen Richtung mit der Drehachse übereinstimmt und dessen Länge gleich dem Drehwinkel ist. Dieser Vektor wird Rotationsvektor (oder Achsenwinkel) genannt und nur ein dreidimensionaler Vektor kann die Rotation beschreiben. In ähnlicher Weise können wir für die Transformationsmatrix eine Transformation mithilfe eines Rotationsvektors und eines Translationsvektors ausdrücken. Die variable Dimension beträgt zu diesem Zeitpunkt genau sechs Dimensionen.
Der Umwandlungsprozess vom Rotationsvektor zur Rotationsmatrix wird durch die Rodriguez-Formel angegeben.
(Um die Spur zu finden, muss man die Summe der Diagonalelemente der Matrix finden.)
Die Rotationsachse n ist der Eigenvektor, der dem Eigenwert 1 der Matrix R entspricht. Wenn wir diese Gleichung lösen und normalisieren, erhalten wir die Rotationsachse. (Die Drehachse bleibt nach der Drehung unverändert)

Euler-Winkel:
Euler-Winkel bieten eine sehr intuitive Möglichkeit, Drehungen zu beschreiben. Sie verwenden drei separate Drehwinkel, um eine Drehung in drei Drehungen um verschiedene Achsen zu zerlegen. Einer der am häufigsten verwendeten Euler-Winkel ist die Verwendung der drei Winkel „Gieren-Nick-Rollen“ zur Beschreibung einer Drehung. Dies entspricht der Drehung der ZYX-Achse. Nehmen Sie also ZYX als Beispiel. Nehmen Sie an, dass die Vorderseite (in unsere Richtung) eines starren Körpers die X-Achse, die rechte Seite die Y-Achse und die Oberseite die Z-Achse ist. Dann entspricht der ZXY-Drehwinkel der Zerlegung jeder Drehung in die Drehwinkel auf den folgenden drei Achsen:
1. Drehen Sie das Objekt um die Z-Achse, um den Gierwinkel Gier zu erhalten.
2. Drehen Sie nach der Drehung um die Y-Achse, um den Neigungswinkel zu erhalten.
3. Drehen Sie nach der Drehung um die X-Achse, um den Rollwinkel zu erhalten.
Andere Euler-Winkel verwenden diese Methode ebenfalls, um die Drehung in drei Achsen zu zerlegen und einen dreidimensionalen Vektor zu erhalten, aber die Achsen und die Reihenfolge sind unterschiedlich. (Die meisten Felder haben ihre eigenen Konventionen zur Koordinatenrichtung und -reihenfolge bei der Verwendung von Euler-Winkeln, die nicht unbedingt mit dem übereinstimmen, worüber wir sprechen.)

Ein großer Nachteil von Euler-Winkeln besteht darin, dass sie auf das berühmte Gimbal-Lock-Problem stoßen: Bei einem Nickwinkel von ±90 Grad verwenden die erste und die dritte Drehung dieselbe Achse, wodurch das System einen Freiheitsgrad (von 3) verliert Umdrehungen auf 2 Umdrehungen). Dies ist als Singularitätsproblem bekannt und tritt auch bei anderen Formen von Euler-Winkeln auf.
Die Theorie beweist, dass Interpolation und Iteration, solange man sie nutzen möchte, oft nur in der Mensch-Computer-Interaktion eingesetzt werden. Wir verwenden Euler-Winkel selten direkt, um die Haltung in SLAM-Programmen auszudrücken, und wir verwenden Euler-Winkel auch nicht, um Rotation beim Filtern oder Optimieren auszudrücken (aufgrund der Singularität). In einigen Situationen, in denen es hauptsächlich um 2D-Bewegungen geht (z. B. bei Kehrmaschinen und autonomen Fahrzeugen), können wir die Drehung auch in drei Euler-Winkel zerlegen und dann einen davon (z. B. den Gierwinkel) als Ausgabe der Positionierungsinformationen verwenden.

Quaternion: Quaternion ist eine von Hamilton gefundene erweiterte komplexe Zahl. Es ist kompakt und weist keine Singularitäten auf.
Im zweidimensionalen Fall kann die Rotation durch komplexe Einheitszahlen beschrieben werden. Ebenso werden wir sehen, dass die dreidimensionale Rotation durch Einheitsquaternionen beschrieben werden kann.
Eine Quaternion q hat einen Realteil und drei Imaginärteile. Ist der Imaginärteil einer Quaternion 0, spricht man von einer reellen Quaternion; ist der Realteil 0, spricht man von einer imaginären Quaternion.
Einheitsquaternionen können verwendet werden, um jede Drehung im dreidimensionalen Raum darzustellen.
Zu den üblichen Quaternionen gehören vier arithmetische Operationen, Konjugation, Inversion, Multiplikation usw.
Die Operationen sind unterteilt in: Addition und Subtraktion, Multiplikation, Modullängen-, konjugierte, inverse und
numerische Multiplikation. Die Quaternion-Multiplikation kann auch als Matrixmultiplikation geschrieben werden.
Ob es sich um eine Quaternion, eine Rotationsmatrix oder einen Achsenwinkel handelt, sie alle können zur Beschreibung derselben Rotation verwendet werden.
Die euklidische Transformation behält die Länge und den Winkel des Vektors bei, was dem Bewegen und Drehen eines starren Körpers intakt entspricht, ohne sein eigenes Aussehen zu verändern.
Methoden zur Beschreibung der Bewegung starrer Körper in der dreidimensionalen Welt: Rotationsmatrix, Rotationsvektor, Euler-Winkel und Quaternionen.
Im SLAM übernehmen wir neben der Darstellung auch die Schätzung und Optimierung. Da die Pose in SLAM unbekannt ist und wir Probleme lösen müssen wie „Welche Art von Kamerapose stimmt am besten mit den aktuellen Beobachtungsdaten überein?“ Ein typischer Weg besteht darin, sie als Optimierungsproblem zu konstruieren und das optimale Problem zu lösen. R , t, minimiert den Fehler.
Die Rotationsmatrix selbst ist eingeschränkt (orthogonal und mit Determinante 1). Wenn sie als Optimierungsvariablen verwendet werden, führen sie zu zusätzlichen Einschränkungen, die die Optimierung erschweren. Durch die Konvertierungsbeziehung zwischen Lie-Gruppen und Lie-Algebren hoffen wir, die Posenschätzung in ein uneingeschränktes Optimierungsproblem umzuwandeln und die Lösungsmethode zu vereinfachen.
Die dreidimensionale Rotationsmatrix bildet die spezielle orthogonale Gruppe SO(3) und die Transformationsmatrix bildet die spezielle euklidische Gruppe SE(3).
Rotationsmatrizen und Transformationsmatrizen sind nicht gegenüber der Addition geschlossen. Mit anderen Worten, für zwei beliebige Rotationsmatrizen R1, R2 ist die Summe gemäß der Definition der Matrixaddition keine Rotationsmatrix mehr.
Wir können jede Rotations- oder Transformationsmatrix (im multiplikativen Sinne) invertieren. Die Multiplikation entspricht der Zusammensetzung einer Rotation bzw. Transformation. Die Multiplikation zweier Rotationsmatrizen bedeutet zwei Rotationen. Eine solche Menge mit nur einer (guten) Operation nennen wir eine Gruppe.
Eine Gruppe ist eine algebraische Struktur, die aus einer Menge und einer Operation besteht.
Die Gruppe verlangt, dass diese Operation Folgendes erfüllen muss: Schließung, Assoziativität, Einheitlichkeit und Umkehrung. (Versiegelte Einheit)
Rotationsmatrixsätze und Matrixmultiplikationen bilden eine Gruppe. Ebenso bilden Transformationsmatrizen und Matrixmultiplikationen ebenfalls eine Gruppe (sie können daher Rotationsmatrixgruppen und Transformationsmatrixgruppen genannt werden).
Übliche Gruppen in Matrizen sind:
1. Allgemeine lineare Gruppe GL(n): bezieht sich auf n*n invertierbare Matrizen, bei denen es sich um Gruppen für die Matrixmultiplikation handelt.
2. Spezielle orthogonale Gruppe SO(n): Es handelt sich auch um die sogenannte Rotationsmatrixgruppe, unter der SO(2) und SO(3) am häufigsten vorkommen.
3. Spezielle euklidische Gruppe SE(n): Es handelt sich um die zuvor erwähnte n-dimensionale euklidische Transformation, wie SE(2) und SE(3).
Die Gruppenstruktur stellt sicher, dass Operationen an der Gruppe gute Eigenschaften haben, und die Gruppentheorie ist die Theorie, die die verschiedenen Strukturen und Eigenschaften der Gruppe untersucht.
Lie-Gruppe bezieht sich auf eine Gruppe mit kontinuierlichen (glatten) Eigenschaften. SO(n) und SE(n) sind im reellen Zahlenraum stetig. Wir können uns intuitiv vorstellen, dass sich ein starrer Körper kontinuierlich im Raum bewegen kann, es handelt sich also alle um Lie-Gruppen.
Jede Lie-Gruppe hat eine entsprechende Lie-Algebra. Die Lie-Algebra beschreibt die lokalen Eigenschaften von Lie-Gruppen, genauer gesagt den Tangentenraum in der Nähe des Einheitselements.
Die Lie-Algebra besteht aus einer Menge V, einem Zahlenkörper F und einer binären Operation [,].

Je suppose que tu aimes

Origine blog.csdn.net/weixin_45867259/article/details/132631116
conseillé
Classement