Universal Robots pose format¶
The pose format that is used by Universal Robots consists of a position \(XYZ\) in millimeters and an orientation in angle-axis format with angle \(\theta\) in radians as length of the rotation axis \(U\).
This is called a rotation vector.
Conversion from angle-axis format to quaternion¶
The conversion from a rotation vector \(V\) to a quaternion \(q=(\begin{array}{cccc}x & y & z & w\end{array})^T\) can be done as follows.
We first recover the angle \(\theta\) in radians from the rotation vector \(V\) by
If \(\theta = 0\), then the quaternion is \(q=(\begin{array}{cccc}0 & 0 & 0 & 1\end{array})^T\), otherwise it is
Conversion from quaternion to angle-axis format¶
The conversion from a quaternion \(q=(\begin{array}{cccc}x & y & z & w\end{array})^T\) with \(||q||=1\) to a rotation vector in angle-axis form can be done as follows.
We first recover the angle \(\theta\) in radians from the quaternion by
If \(\theta = 0\), then the rotation vector \(V=(\begin{array}{ccc}0 & 0 & 0\end{array})^T\), otherwise it is