Anhang¶
Formate für Posendaten¶
Eine Pose besteht aus einer Translation und einer Rotation. Die Translation definiert die Verschiebung entlang der ,
und
-Achsen. Die Rotation kann auf viele verschiedene Arten definiert werden. Der rc_visard benutzt Quaternionen, um Rotationen zu definieren, und Translationen werden in Metern angegeben. Dies wird als XYZ+Quaternion Format bezeichnet. Dieses Kapitel erklärt Umrechnungen zwischen verschiedenen üblichen Posenformaten und dem XYZ+Quaternion Format.
Es ist weit verbreitet, Rotationen in 3D durch drei Winkel als Drehungen um die Koordinatenachsen zu definieren. Leider existieren hierfür viele verschiedene Möglichkeiten. Übliche Konventionen sind Euler- oder Kardanwinkel (letztere werden auch als Tait-Bryan Winkel bezeichnet). In beiden Konventionen können die drei Rotationen auf die bereits gedrehten Achsen (intrinsische Rotation) oder auf die Achsen des festen Koordinatensystems (extrinsische Rotation) angewendet werden.
Wir benutzen ,
und
zur Bezeichnung der drei Koordinatenachsen.
,
und
bezeichnen die Achsen, die einmal rotiert wurden.
,
und
bezeichnen die Achsen nach zwei Rotationen.
In der ursprünglichen Eulerwinkelkonvention ist die erste und dritte Drehachse immer identisch. Die Rotationsreihenfolge -
-
bedeutet z.B. eine Drehung um die
-Achse, dann eine Drehung um die gedrehte
-Achse und schließlich eine Drehung um die (zweimal) gedrehte
-Achse. In der Kardanwinkelkonvention sind alle drei Drehachsen unterschiedlich, z.B.
-
-
. Kardanwinkel werden häufig ebenfalls als Eulerwinkel bezeichnet.
Für jede intrinsische Rotationsreihenfolge gibt es eine äquivalente extrinsische Rotationsreihenfolge, die genau umgekehrt ist. Die intrinsische Rotationsreihenfolge -
-
ist zum Beispiel äquivalent zu der extrinsischen Rotationsreihenfolge
-
-
.
Rotationen um die ,
und
-Achse können mit Quaternionen definiert werden als
oder durch Rotationsmatrizen als
Die extrinsische Rotationsreihenfolge -
-
kann durch die Multiplikation einzelner Rotationen in umgekehrter Reihenfolge berechnet werden, d.h.
.
Basierend auf diesen Definitionen beschreiben die folgenden Abschnitte die Umrechnung zwischen üblichen Konventionen und dem XYZ+Quaternion Format.
Bemerkung
Zu beachten sind stets die Einheiten für Positionen und Orientierungen. rc_visard Geräte benutzen stets Meter als Längeneinheit, während die meisten Roboterhersteller Längen in Millimeter oder Inch angeben. Winkel werden üblicherweise in Grad angegeben, können aber auch im Bogenmaß angegeben sein.