Cosine of inner products#
- ahrs.utils.metrics.qcip(q1: ndarray, q2: ndarray) float#
The cosine of inner products between two unit quaternions \(\mathbf{q}_1\) and :mathbf{q}_2` as defined in [Huy09]:
\[d(\mathbf{q}_1, \mathbf{q}_2) = \arccos(|\mathbf{q}_1\cdot\mathbf{q}_2|)\]The error lies within: [0, \(\frac{\pi}{2}\)]
- Parameters:
q1 (numpy.ndarray) – First quaternion, or set of quaternions, to compare.
q2 (numpy.ndarray) – Second quaternion, or set of quaternions, to compare.
- Returns:
d – Cosine of inner products of quaternions.
- Return type:
float
- Raises:
ValueError – If the quaternions are not of the same shape.
TypeError – If the quaternions are not of type list or numpy.ndarray.
Examples
>>> q1 = ahrs.Quaternion(random=True) >>> q1.view() Quaternion([ 0.94185064, 0.04451339, -0.00622856, 0.33301221]) >>> q2 = ahrs.Quaternion(random=True) >>> q2.view() Quaternion([-0.51041283, -0.38336653, 0.76929238, -0.0264211 ]) >>> ahrs.utils.qcip(q1, q2) 1.0339974504196667 >>> ahrs.utils.qcip(q1, -q1) 0.0