Pose formats

XYZABC format

The XYZABC format is used to express a pose by 6 values. XYZ is the position in millimeters. ABC are Euler angles in degrees. The convention used for Euler angles is ZYX, i.e., A rotates around the Z axis, B rotates around the Y axis, and C rotates around the X axis. The elements of the rotation matrix can be computed by using

r11=cosBcosA,r12=sinCsinBcosAcosCsinA,r13=cosCsinBcosA+sinCsinA,r21=cosBsinA,r22=sinCsinBsinA+cosCcosA,r23=cosCsinBsinAsinCcosA,r31=sinB,r32=sinCcosB,andr33=cosCcosB.

Note

The trigonometric functions sin and cos are assumed to accept values in degrees. The argument needs to be multiplied by the factor π180 if they expect their values in radians.

Using these values, the rotation matrix R and translation vector T are defined as

R=(r11r12r13r21r22r23r31r32r33),T=(XYZ).

The transformation can be applied to a point P by

P=RP+T.

XYZ+quaternion format

The XYZ+quaternion format is used to express a pose by a position and a unit quaternion. XYZ is the position in meters. The quaternion is a vector of length 1 that defines a rotation by four values, i.e., q=(abcw)T with ||q||=1. The corresponding rotation matrix and translation vector are defined by

R=2(12b2c2abcwac+bwab+cw12a2c2bcawacbwbc+aw12a2b2),T=(XYZ).

The transformation can be applied to a point P by

P=RP+T.

Note

In XYZ+quaternion format, the pose is defined in meters, whereas in the XYZABC format, the pose is defined in millimeters.