Embodied AI Glossary中文

Quaternion Double Cover

四元数双倍覆盖Advanced

The unit quaternions q and −q represent the exact same rotation, so every orientation corresponds to two quaternions.

When a unit quaternion q = (w, x, y, z) represents a rotation, q and −q produce exactly the same rotation matrix, because the formula converting a quaternion to a rotation is quadratic in q, so the signs cancel out. Mathematically, the map from the 3-sphere S³ of unit quaternions to the rotation group SO(3) is two-to-one (a double cover), with each orientation corresponding to a pair of antipodal points on the sphere. This is a common pitfall in embodied AI: the same end-effector orientation might appear in a dataset sometimes as q and sometimes as −q, and if a network regresses quaternions directly with an ordinary L2 loss, it will treat identical orientations as if they were very different. Orientation difference should instead be measured with 1 − |q₁·q₂|, or by taking whichever is smaller of ‖q − q̂‖ and ‖q + q̂‖. Before doing spherical interpolation, if the dot product between two quaternions is negative, one should be flipped first, or the interpolation will take the long way around. Zhou and colleagues (2019) further proved that rotation representations of four dimensions or fewer are all discontinuous, which is why many policies switch to a 6D rotation representation instead.

ExampleThe quaternion for a 90° rotation about the z-axis is q = (0.707, 0, 0, 0.707) (w first); −q = (−0.707, 0, 0, −0.707) is equivalent to the same rotation plus one full extra 360° turn — the orientation is identical. A common normalization is to simply enforce w ≥ 0.

Also called
q and −q Equivalence, Quaternion Sign Ambiguity
Related
Quaternion · 6D Rotation Representation · Spherical Linear Interpolation (SLERP) · Geodesic Distance on SO(3) · Special Orthogonal Group SO(3) · Quaternion Component Order (wxyz vs. xyzw)
Sources
Wikipedia: Quaternions and spatial rotation
Wikipedia: 3D rotation group(S³ 到 SO(3) 的二对一覆盖) (Chinese)
On the Continuity of Rotation Representations in Neural Networks (arXiv 1812.07035)

See it in the full glossary →