pytransform3d.transformations
.check_dual_quaternion#
- pytransform3d.transformations.check_dual_quaternion(dq, unit=True)[source]#
Input validation of dual quaternion representation.
See http://web.cs.iastate.edu/~cs577/handouts/dual-quaternion.pdf
A dual quaternion is defined as
\[\boldsymbol{\sigma} = \boldsymbol{p} + \epsilon \boldsymbol{q},\]where \(\boldsymbol{p}\) and \(\boldsymbol{q}\) are both quaternions and \(\epsilon\) is the dual unit with \(\epsilon^2 = 0\). The first quaternion is also called the real part and the second quaternion is called the dual part.
- Parameters:
- dqarray-like, shape (8,)
Dual quaternion to represent transform: (pw, px, py, pz, qw, qx, qy, qz)
- unitbool, optional (default: True)
Normalize the dual quaternion so that it is a unit dual quaternion. A unit dual quaternion has the properties \(p_w^2 + p_x^2 + p_y^2 + p_z^2 = 1\) and \(p_w q_w + p_x q_x + p_y q_y + p_z q_z = 0\).
- Returns:
- dqarray, shape (8,)
Unit dual quaternion to represent transform: (pw, px, py, pz, qw, qx, qy, qz)
- Raises:
- ValueError
If input is invalid