Franka Emika Posenformat¶
Franka Emika Roboter nutzen eine Transformationsmatrix um eine Pose zu definieren. Eine Transformationsmatrix kombiniert eine Rotationsmatrix und einen Translationsvektor .
Die Posen, die Franka Emika’s „Measure Pose“ App ausgibt, bestehen aus einer Translation in Millimetern und einer Rotation in Grad. Die Rotationsreihenfolge ist -- (d.h. --) und die Rotation wird berechnet durch
Umrechnung von Transformation in Quaternion¶
Die Umrechnung von einer Rotationsmatrix (mit ) in eine Quaternion kann wie folgt durchgeführt werden.
Der Operator gibt -1 zurück, falls sein Argument negativ ist. Sonst wird 1 zurück gegeben. Er wird zur Wiederherstellung das Vorzeichens der Wurzel benutzt. Die Funktion stellt sicher, dass das Argument der Wurzel nicht negativ ist, was in der Praxis durch Rundungsfehler passieren kann.
Umrechnung von Rotation-XYZ in Quaternion¶
Zur Umrechnung von der Rotationswinkel in Grad in eine Quaternion werden zuerst alle Winkel in das Bogenmaß umgerechnet mit
und damit die Quaternion berechnet durch
Umrechnung von Quaternion und Translation in Transformation¶
Die Umrechnung von einer Quaternion und einem Translationsvektor in eine Transformationsmatrix kann wie folgt durchgeführt werden.
wobei und wenn eine Einheitsquaternion ist.
Umrechnung von Quaternion in Rotation-XYZ¶
Die Umrechnung von einer Quaternion mit in Winkel in Grad kann wie folgt durchgeführt werden.
Posenrepräsentation in RaceCom Messages und Statemachines¶
In RaceCom Messages und in Statemachines wird eine Pose normalerweise als eindimensionales Array aus 16 Floatwerten definiert, die in spaltenweiser Anordnung eine Transformationsmatrix repräsentieren. Die Indizes der Einträge der folgenden Matrix entsprechen den Array-Indizes.