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.