3.5.11 · D5Guidance, Navigation & Control (GNC)

Question bank — Modified Rodrigues parameters — singularity-free, compact

1,487 words7 min readBack to topic

True or false — justify

MRPs are mathematically singularity-free everywhere, exactly like quaternions.
False. They have one genuine singularity at (where the scalar part ); the point is only that it is avoidable by switching sets, whereas quaternions and DCMs have no singularity at all.
The magnitude equals .
False. That is the classical Gibbs vector. MRPs use the quarter-angle, so — this extra halving is precisely why the blow-up moves from out to .
A given physical attitude corresponds to exactly one MRP vector.
False. Every attitude has two MRP sets (the original and its shadow ), because and describe the same rotation and each maps to its own MRP.
Switching to the shadow set changes the spacecraft's actual orientation.
False. The switch is a pure change of coordinates: and encode the identical physical rotation, just from the two quaternion sign branches. Nothing physical moves.
The kinematic prefactor for MRPs is , matching quaternion kinematics.
False. It is . Quaternions carry the half-angle (); MRPs carry the quarter-angle, so a second halving appears in .
MRPs use fewer numbers than the DCM and than quaternions.
True. MRPs use 3 numbers versus the DCM's 9 (with 6 constraints) and the quaternion's 4 (with a unit-norm constraint), making MRPs the most compact smooth-over-a-full-turn description.
At the identity attitude, , so .
True. At the identity term's factor , and both the cross-product term and the outer-product term vanish (they carry a factor of ), leaving .
Keeping guarantees you never come near the singularity.
True. means , exactly halfway to the blow-up; staying at or below (by switching sets) keeps you in the well-behaved region.
The shadow-set map sends to .
True. Because has magnitude , an attitude at is re-described with the small rotation .

Spot the error

"I integrated my MRPs and let grow to — fine, MRPs are unbounded."
Error: at you are at , dangerously close to the singularity and to numerical blow-up. You should have switched to the shadow set once exceeded .
"The Gibbs vector and MRP are the same thing, just written differently."
Error: the Gibbs vector is (singular at ); the MRP is (singular at ). Different half-angle, different singularity — see Classical Rodrigues parameters (Gibbs vector).
"To get back from I have to numerically invert every step."
Error: is nearly orthogonal, , so — a closed-form transpose-and-scale, no numerical matrix inversion needed.
" means the rotation is invalid or the data is corrupt."
Error: simply means — a perfectly valid rotation. It is a cue to switch sets, not a sign of bad data.
"I'll pick Euler angles instead of MRPs to avoid singularities."
Error: Euler angles hit gimbal lock at a middle angle of , right inside the normal operating range. MRPs push their (avoidable) singularity all the way to — a much better deal.
"Since MRPs are three numbers with no constraint, they parametrize all rotations one-to-one."
Error: they cover all rotations except , and the covering is two-to-one (original plus shadow), not one-to-one. "Three unconstrained numbers" does not imply a global chart.

Why questions

Why divide the quaternion by instead of by ?
Dividing by the scalar part gives the Gibbs vector, which blows up at where . Using only vanishes at , i.e. , pushing the trouble twice as far away.
Why does the extra "quarter-angle" halving buy a further-off singularity?
The tangent blows up when its argument reaches . For that is ; for it is . Halving the argument doubles the angle that reaches the blow-up.
Why is the shadow set defined as and not just ?
It comes from feeding (the other quaternion branch) through the MRP definition, which algebraically yields . Plain would be a genuinely different rotation.
Why switch at rather than waiting until you are close to the singularity?
At the original and shadow magnitudes are equal, so switching there keeps you strictly in the region with maximum margin from the blow-up.
Why do MRPs need the $B(\boldsymbol{\sigma})$ matrix at all instead of just ?
MRP space is curved; away from identity a raw must be rotated and scaled into the local MRP coordinates. does exactly that — the simple only holds near .
Why are MRPs attractive for control law design specifically?
They are minimal (3 numbers, no constraint to enforce), smooth over the full working range, and their kinematics invert in closed form — so control errors and feedback laws stay simple and singularity-free in practice.
Why does the quaternion's sign ambiguity become a feature for MRPs rather than a bug?
The two signs give the two MRP sets; instead of being an annoyance, this pair is exactly what lets you hop to the shadow set and dodge the singularity.

Edge cases

At (no rotation), what is ?
, since ; the axis is undefined but irrelevant because it is multiplied by zero.
At , what is and what happens to the Gibbs vector?
(finite and well-behaved), whereas the Gibbs vector blows up — the case where MRPs win clearly.
As , what happens to and its shadow?
(the singularity), while the shadow — so you can always describe the attitude by the finite shadow instead.
At the exact singularity , does the shadow set also fail?
No — is the same as (a full turn is the identity), so the shadow lands at , perfectly finite. In practice you never let the original reach the singularity anyway.
What is the shadow of ?
It is undefined (division by ), corresponding to the scalar part — the singular attitude of the shadow branch. This is harmless because you only ever switch when , never at .
For a tiny rotation with , how does behave?
It reduces to , so — the linearized, small-angle limit matching the quarter-angle intuition.
If two MRP vectors satisfy , what do you conclude?
They are shadow partners describing the same physical attitude; comparing raw numbers would wrongly suggest a large error, so a controller must recognise this pairing.

Recall Quick self-test

Cover every answer above and re-derive the why, not just the verdict. If you can say why the singularity sits at and why the shadow switch is free, you own this topic.