3.5.11Guidance, Navigation & Control (GNC)

Modified Rodrigues parameters — singularity-free, compact

1,755 words8 min readdifficulty · medium

WHY do we even need MRPs?

We already have several ways to store orientation. Each has a flaw:

  • Direction Cosine Matrix (DCM): 9 numbers, 6 constraints → wasteful, awkward to integrate.
  • Euler angles: 3 numbers, but gimbal lock — a singularity at ±90\pm 90^\circ where two axes align and you lose a degree of freedom.
  • Quaternions: 4 numbers, no singularity ever, but they carry a redundant constraint q=1\|q\|=1 and a sign ambiguity (qq and q-q are the same rotation).

WHAT are MRPs? — Derivation from the axis–angle

Every rotation = rotate by angle Φ\Phi about unit axis e^\hat{e}. Start from the Euler symmetric parameters (quaternion):

q0=cosΦ2,q=e^sinΦ2q_0 = \cos\frac{\Phi}{2}, \qquad \mathbf{q} = \hat{e}\,\sin\frac{\Phi}{2}

The classical Rodrigues parameters (Gibbs vector) are g=e^tan(Φ/2)=q/q0\mathbf{g} = \hat{e}\tan(\Phi/2) = \mathbf{q}/q_0. These blow up at Φ=180\Phi = 180^\circ (where q0=0q_0=0). Too early.

Trick: use the half-angle again. Define MRPs by dividing by (1+q0)(1+q_0) instead of q0q_0:

  σ=q1+q0  \boxed{\;\boldsymbol{\sigma} = \dfrac{\mathbf{q}}{1+q_0}\;}

Why does q/(1+q0)\mathbf{q}/(1+q_0) equal e^tan(Φ/4)\hat{e}\tan(\Phi/4)? Substitute the quaternion: q1+q0=e^sin(Φ/2)1+cos(Φ/2)=e^tan ⁣Φ4\frac{\mathbf{q}}{1+q_0} = \frac{\hat{e}\sin(\Phi/2)}{1+\cos(\Phi/2)} = \hat{e}\,\tan\!\frac{\Phi}{4} Why this step? We used the identity sinθ1+cosθ=tanθ2\dfrac{\sin\theta}{1+\cos\theta} = \tan\dfrac{\theta}{2} with θ=Φ/2\theta = \Phi/2. The half-angle of the half-angle = quarter-angle. That extra halving is exactly what pushes the singularity from 180180^\circ (Gibbs) out to 360360^\circ.

Figure — Modified Rodrigues parameters — singularity-free, compact

The shadow set — how we kill the last singularity

Because qq and q-q are the same physical rotation, there are two MRP vectors for every attitude:

σ=q1+q0,σS=q1q0=σσ2\boldsymbol{\sigma} = \frac{\mathbf{q}}{1+q_0}, \qquad \boldsymbol{\sigma}^S = \frac{-\mathbf{q}}{1-q_0} = -\frac{\boldsymbol{\sigma}}{\|\boldsymbol{\sigma}\|^2}

Why this works: σ=tan(Φ/4)\|\boldsymbol{\sigma}\| = \tan(\Phi/4). At Φ=180\Phi = 180^\circ, σ=1\|\boldsymbol{\sigma}\|=1; at Φ360\Phi\to 360^\circ, σ\|\boldsymbol{\sigma}\|\to\infty. The shadow set maps Φ360Φ\Phi \mapsto 360^\circ - \Phi, so it always has σS<1\|\boldsymbol{\sigma}^S\|<1 exactly when the original exceeds 1. Keeping σ1\|\boldsymbol{\sigma}\|\le 1 guarantees you never approach the singularity.


The kinematic differential equation (HOW to propagate)

Given body angular velocity ω\boldsymbol{\omega}, the MRPs evolve as:

σ˙=14B(σ)ω\dot{\boldsymbol{\sigma}} = \frac{1}{4}\,B(\boldsymbol{\sigma})\,\boldsymbol{\omega}

B(σ)=(1σ2)I3+2[σ×]+2σσ ⁣,σ2=σ ⁣σB(\boldsymbol{\sigma}) = \big(1-\sigma^2\big)\,\mathbb{I}_3 + 2[\boldsymbol{\sigma}^\times] + 2\,\boldsymbol{\sigma}\boldsymbol{\sigma}^{\!\top}, \qquad \sigma^2 = \boldsymbol{\sigma}^{\!\top}\boldsymbol{\sigma}

where [σ×][\boldsymbol{\sigma}^\times] is the cross-product (skew-symmetric) matrix.

A useful property (Steel-man): B(σ)B(\boldsymbol{\sigma}) is nearly orthogonal: B ⁣B=(1+σ2)2I3    B1=B ⁣(1+σ2)2.B^{\!\top}B = \big(1+\sigma^2\big)^2\,\mathbb{I}_3 \;\Rightarrow\; B^{-1} = \frac{B^{\!\top}}{(1+\sigma^2)^2}. This makes inverting the kinematics (solving for ω\boldsymbol{\omega}) trivial — a big practical win for control law design.


Worked examples


Common mistakes


Flashcards

MRP definition in terms of quaternion
σ=q/(1+q0)\boldsymbol{\sigma}=\mathbf{q}/(1+q_0)
MRP in axis–angle form
σ=e^tan(Φ/4)\boldsymbol{\sigma}=\hat{e}\tan(\Phi/4)
Where is the MRP singularity?
At Φ=360\Phi=360^\circ (i.e. q0=1q_0=-1)
Shadow-set formula
σS=σ/(σσ)\boldsymbol{\sigma}^S = -\boldsymbol{\sigma}/(\boldsymbol{\sigma}^\top\boldsymbol{\sigma})
When do you switch to the shadow set?
When σ>1\|\boldsymbol{\sigma}\|>1 (i.e. Φ>180\Phi>180^\circ)
Physical meaning of σ\|\boldsymbol{\sigma}\|
tan(Φ/4)\tan(\Phi/4); it is 11 at Φ=180\Phi=180^\circ
MRP kinematic equation
σ˙=14B(σ)ω\dot{\boldsymbol{\sigma}}=\tfrac14 B(\boldsymbol{\sigma})\boldsymbol{\omega}
B(σ)B(\boldsymbol{\sigma}) expression
(1σ2)I+2[σ×]+2σσ(1-\sigma^2)\mathbb{I}+2[\boldsymbol{\sigma}^\times]+2\boldsymbol{\sigma}\boldsymbol{\sigma}^\top
Why factor 14\frac14 (not 12\frac12)?
MRPs use quarter-angle → extra halving vs quaternion half-angle
Key advantage over Euler angles
Singularity pushed from 9090^\circ (gimbal lock) to 360360^\circ
Identity used to derive quarter-angle
sinθ/(1+cosθ)=tan(θ/2)\sin\theta/(1+\cos\theta)=\tan(\theta/2) with θ=Φ/2\theta=\Phi/2
BBB^\top B equals
(1+σ2)2I3(1+\sigma^2)^2\,\mathbb{I}_3 (makes BB easy to invert)

Recall Feynman: explain to a 12-year-old

Imagine you spin a top. To tell someone how it's tilted, you could give a big grid of 9 numbers — too many! Or 3 "tilt angles," but those get confused when the top points straight up (like your compass going crazy at the North Pole). MRPs are a clever way to describe the spin with just 3 numbers that only get confused after a full turn-around — and even then, there's a magic swap ("use the shadow numbers") that instantly fixes it. So a computer steering a satellite can always keep track without getting dizzy.

Connections

  • Quaternions (Euler symmetric parameters) — parent representation; σ=q/(1+q0)\boldsymbol{\sigma}=\mathbf q/(1+q_0)
  • Classical Rodrigues parameters (Gibbs vector) — sibling, tan(Φ/2)\tan(\Phi/2), singular at 180180^\circ
  • Euler angles and Gimbal Lock — the singularity problem MRPs improve on
  • Direction Cosine Matrix (DCM) — the 9-number global standard
  • Attitude kinematics and $\boldsymbol\omega$ — where σ˙=14Bω\dot{\boldsymbol\sigma}=\frac14B\boldsymbol\omega lives
  • Spacecraft attitude control laws — MRP feedback controllers exploit B1B^{-1} simplicity

Concept Map

encodes

defines

divide by q0

blows up at 180 deg

divide by 1 plus q0

only 3 numbers

singular at 360 deg

sign ambiguity q and minus q

switch when norm exceeds 1

removes

gimbal lock at 90 deg

Axis-angle e-hat and Phi

Rotation

Quaternion q0 and q

Gibbs vector tan half angle

Early singularity

MRPs sigma equals e-hat tan quarter angle

Minimal attitude set

Distant singularity

Shadow set

Euler angles

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Dekho, satellite ya drone ka orientation (kis taraf mudi hui hai) describe karne ke kai tareeke hain. Euler angles simple lagte hain par 9090^\circ pe gimbal lock ho jaata hai — do axis ek line pe aa jaate hain aur ek degree of freedom gayab. Quaternions perfect hain, singularity kabhi nahi, par woh 4 numbers aur ek constraint q=1\|q\|=1 carry karte hain. MRPs ka jugaad yeh hai: sirf 3 numbers mein kaam ho jaata hai aur singularity ko itna door dhakel diya jaata hai ki woh 360360^\circ pe aaye — normal operation mein aati hi nahi.

Formula seedha hai: σ=e^tan(Φ/4)\boldsymbol{\sigma} = \hat{e}\tan(\Phi/4). Yani axis e^\hat{e} ko quarter-angle ke tangent se multiply karo. Quaternion se relation: σ=q/(1+q0)\boldsymbol{\sigma}=\mathbf q/(1+q_0). Yeh "quarter-angle" wali baat hi magic hai — Gibbs vector half-angle use karta hai isliye 180180^\circ pe hi phat jaata hai, par MRP ek aur half kar deta hai to 360360^\circ tak tikta hai.

Ab woh last singularity kaise maarein? Yaad rakho qq aur q-q same rotation hote hain, isliye har attitude ke do MRP set hote hain — original aur shadow set σS=σ/σ2\boldsymbol{\sigma}^S = -\boldsymbol{\sigma}/\|\boldsymbol{\sigma}\|^2. Jab bhi σ>1\|\boldsymbol{\sigma}\|>1 ho jaaye (matlab Φ>180\Phi>180^\circ, singularity ki taraf jaa rahe ho), turant shadow pe switch kar do — woh chhota ho jaata hai, same attitude represent karta hai, aur singularity se door. Isliye ise "practically singularity-free" kehte hain.

Propagation ke liye kinematics: σ˙=14B(σ)ω\dot{\boldsymbol{\sigma}}=\frac14 B(\boldsymbol{\sigma})\boldsymbol{\omega}. Yahan 14\frac14 ka factor (quaternion ke 12\frac12 ki jagah) quarter-angle ki wajah se aata hai — yeh confuse mat karna. Aur mast baat: BB=(1+σ2)2IB^\top B=(1+\sigma^2)^2 I, isliye BB ka inverse asaani se milta hai, jo control law banane mein bahut kaam aata hai. Isliye modern spacecraft GNC mein MRPs bahut popular hain.

Go deeper — visual, from zero

Test yourself — Guidance, Navigation & Control (GNC)

Connections