3.5.11 · D3 · Physics › Guidance, Navigation & Control (GNC) › Modified Rodrigues parameters — singularity-free, compact
Intuition Yeh page kis kaam ki hai
Parent note ne tumhe machinery dikhayi thi. Yahan hum usse stress-test karte hain: har angle range, har sign, identity, singularity edge, ek real spacecraft word problem, aur ek exam trap. Agar tum neeche ke nau examples follow kar sako, toh koi bhi MRP scenario tumhe surprise nahi kar sakta.
Yeh page self-contained hai: neeche ke do boxed facts hi sab kuch hain jo tumhe strictly chahiye, halanki parent note unhe scratch se derive karta hai.
Symbols se pehle:
e ^ (padho "e-hat") ek length-1 arrow hai jo rotation axis ke along point karta hai — woh pole jiske around tum spin karte ho.
Φ (capital phi) kitna spin karte ho. Is page par convention: Φ degrees mein hai , jab tak koi formula explicitly "in radians" nahi kehta (sirf Example 6 mein small-angle approximation yeh kehti hai).
tan ek right triangle ka "opposite over adjacent" hai; yahan yeh angle Φ/4 ko ek number mein convert karta hai, aur woh number σ ka poora magnitude hai.
Definition Do symbols jinpar hum bahut rely karenge
q 0 — same rotation ke quaternion ka scalar part , q 0 = cos ( Φ/2 ) . Yeh + 1 (no rotation) se − 1 (full turn) tak jaata hai. MRP blow-up exactly tab hota hai jab q 0 = − 1 ; hum Example 6 mein explicitly q 0 calculate karte hain us singularity ko locate karne ke liye.
[ σ × ] — cross-product matrix (ek "skew-symmetric" matrix) jo σ = ( σ x , σ y , σ z ) se banta hai. Yeh 3 × 3 table hai jo "σ ke saath cross" karne ko ordinary matrix multiplication mein convert karta hai:
[ σ × ] = 0 σ z − σ y − σ z 0 σ x σ y − σ x 0 .
Iska diagonal sab zeros hai aur mirror entries ek doosre ke negatives hain — yahi "skew-symmetric" ka matlab hai.
Is topic ke har case ko in cells mein se kisi ek mein daala ja sakta hai. Neeche har worked example apni cell ka naam leta hai.
Cell
Kya special hai
Covered by
A. Small angle (Φ < 18 0 ∘ )
∥ σ ∥ < 1 , koi switch needed nahi
Ex 1
B. Exactly 18 0 ∘
∥ σ ∥ = 1 exactly, switch boundary
Ex 2
C. Large angle (18 0 ∘ < Φ < 36 0 ∘ )
∥ σ ∥ > 1 , shadow set par switch karna zaroori
Ex 3
D. Zero / identity
Φ = 0 , σ = 0 — degenerate axis
Ex 4
E. Tilted axis, signed components
axis kisi coordinate line ke along nahi; negative entries
Ex 5
F. Limiting behaviour
Φ → 36 0 ∘ , blow-up; aur Φ → 0 ∘
Ex 6
G. Propagation (kinematics)
σ ˙ = 4 1 B ω off-identity use karo
Ex 7
H. Real-world word problem
detumble → convert → decide switch
Ex 8
I. Exam twist
σ se Φ , e ^ wapas recover karo
Ex 9
Figure ko dhyan se padho — yeh har example ka map hai:
Horizontal axis rotation angle Φ hai, degrees mein, 0 ∘ se lagbhag 37 5 ∘ tak.
Vertical axis MRP magnitude ∥ σ ∥ = tan ( Φ/4 ) hai.
Chalk-blue curve woh tangent hai. Yeh origin ke paas flat shuru hoti hai (small angles se chhote σ milte hain), phir zyada se zyada tezi se upar curve hoti hai.
Pale-yellow dashed line height 1 par switch threshold hai; yellow arrow woh jagah mark karta hai jahan curve usse cross karti hai, exactly Φ = 18 0 ∘ par.
Pink dotted vertical line Φ = 36 0 ∘ par singularity hai, aur pink arrow dikhata hai ki curve infinity ki taraf race karti hai jaise yeh approach karta hai.
Shaded blue band curve ke neeche, yellow line ke baayi taraf, safe region hai jahan ∥ σ ∥ ≤ 1 hai.
Poora game yeh hai: shaded region mein raho , aur agar kabhi bahar jao, shadow set par jump karo.
Worked example Example 1 — Cell A: small angle, no switch
e ^ = ( 0 , 0 , 1 ) ke baare mein 9 0 ∘ rotate karo. σ nikalo.
Forecast: compute karne se pehle guess karo ki ∥ σ ∥ 1 se upar hai ya neeche.
Magnitude: ∥ σ ∥ = tan ( Φ/4 ) = tan ( 22. 5 ∘ ) ≈ 0.4142 .
Yeh step kyun? σ ki length hamesha quarter-angle tangent hai — yahi definition hai, kuch aur decide karna nahi hai.
Direction: σ = e ^ ⋅ 0.4142 = ( 0 , 0 , 0.4142 ) .
Yeh step kyun? Axis e ^ z ke along point karta hai, toh saari length z component par jaati hai.
Verify: ∥ σ ∥ = 0.4142 < 1 , toh hum comfortably safe region ke andar hain (Cell A confirmed). tan ( 22. 5 ∘ ) = 2 − 1 , ek known value — match karta hai. ✅
Worked example Example 2 — Cell B: exactly
18 0 ∘ , the boundary
e ^ = ( 1 , 0 , 0 ) ke baare mein 18 0 ∘ rotate karo. σ nikalo aur batao switch karna chahiye ya nahi.
Forecast: kya 18 0 ∘ "safe" hai ya "dangerous"? Yeh exactly line par baithta hai.
Magnitude: ∥ σ ∥ = tan ( 18 0 ∘ /4 ) = tan ( 4 5 ∘ ) = 1 exactly.
Yeh step kyun? tan 4 5 ∘ = 1 fixed landmark hai — yahi reason hai ki 18 0 ∘ switch threshold hai.
Vector: σ = ( 1 , 0 , 0 ) .
Yeh step kyun? x -axis ke along length 1 .
Decision: exactly ∥ σ ∥ = 1 par original aur shadow set ki equal magnitude hai (σ S = − σ /∥ σ ∥ 2 = ( − 1 , 0 , 0 ) , bhi length 1 ). Koi bhi branch theek hai; convention yeh hai ki switch tab karo jab tum 1 se exceed karo.
Yeh step kyun? Dikhata hai ki boundary symmetric hai — yahan koi bhi branch zyada safe nahi.
Verify: shadow set σ S = ( − 1 , 0 , 0 ) ka ∥ σ S ∥ = 1 = tan ( (( 360 − 180 ) /4 ) ∘ ) = tan 4 5 ∘ hai. Consistent. ✅
Worked example Example 3 — Cell C: large angle, must switch
Attitude hai Φ = 27 0 ∘ e ^ = ( 0 , 1 , 0 ) ke baare mein. Safe MRP set nikalo.
Forecast: algebra karne se pehle shadow-set component ka sign predict karo.
Original magnitude: ∥ σ ∥ = tan ( 27 0 ∘ /4 ) = tan ( 67. 5 ∘ ) ≈ 2.4142 .
Yeh step kyun? Phir se quarter-angle tangent; 67. 5 ∘ steep hai toh tangent bada hai.
Original vector: σ = ( 0 , 2.4142 , 0 ) . Kyunki ∥ σ ∥ > 1 , hume switch karna zaroori hai.
Yeh step kyun? > 1 hona matlab hai hum 18 0 ∘ se aage 36 0 ∘ blow-up ki taraf ja rahe hain.
Shadow set: σ S = − σ /∥ σ ∥ 2 = − ( 0 , 2.4142 , 0 ) / ( 2.4142 ) 2 = ( 0 , − 0.4142 , 0 ) .
Yeh step kyun? Shadow map sign flip karta hai aur magnitude invert karta hai — yahi − σ / ( σ ⊤ σ ) karta hai.
Verify: ∥ σ S ∥ = 0.4142 = tan ( 22. 5 ∘ ) = tan ( (( 360 − 270 ) /4 ) ∘ ) . Shadow Φ ′ = 9 0 ∘ encode karta hai, 27 0 ∘ ka "doosra raasta." Same physical attitude, ab safely < 1 . ✅
Worked example Example 4 — Cell D: identity / zero rotation (degenerate axis)
Bilkul koi rotation nahi: Φ = 0 ∘ . σ kya hai, aur axis ka kya?
Forecast: agar koi spin nahi hai, toh kya axis define bhi hai?
Magnitude: ∥ σ ∥ = tan ( 0/4 ) = tan 0 = 0 .
Yeh step kyun? Zero angle → zero quarter-angle → tangent zero hai.
Vector: σ = 0 = ( 0 , 0 , 0 ) , chahe humne e ^ jo bhi "choose" kiya ho.
Yeh step kyun? Kisi bhi cheez ko 0 se multiply karo toh 0 milta hai — yahi reason hai ki axis identity par undefined hai lekin σ phir bhi perfectly well-defined hai. MRPs us axis ambiguity ko smooth over karte hain jo axis–angle mein problem deti hai.
Verify: σ = 0 identity attitude hai, safely < 1 , aur aas paas koi singularity nahi. Yeh Example 7 mein use hone wala clean start point hai. ✅
Worked example Example 5 — Cell E: tilted axis with signed components
( 1 , − 2 , 2 ) ki taraf point karne wale axis ke baare mein 10 0 ∘ rotate karo (abhi unit length nahi). σ nikalo.
Forecast: axis ka middle entry negative hai — kya σ woh sign inherit karega? (Haan.)
Axis normalize karo. Length = 1 2 + ( − 2 ) 2 + 2 2 = 9 = 3 , toh e ^ = ( 1/3 , − 2/3 , 2/3 ) .
Yeh step kyun? σ = e ^ tan ( Φ/4 ) ko unit axis chahiye; yeh skip karne se tumhara answer galat scale ho jaayega.
Magnitude: ∥ σ ∥ = tan ( 10 0 ∘ /4 ) = tan ( 2 5 ∘ ) ≈ 0.4663 .
Yeh step kyun? Length quarter-angle tangent hai — is baat se independent ki axis kis taraf tilt hai.
Vector: σ = 0.4663 ⋅ ( 1/3 , − 2/3 , 2/3 ) = ( 0.1554 , − 0.3108 , 0.3108 ) .
Yeh step kyun? Scalar length ko har unit-axis component se multiply karo; negative y seedha through aata hai.
Verify: ∥ σ ∥ = 0.155 4 2 + 0.310 8 2 + 0.310 8 2 = 0.4663 = tan 2 5 ∘ < 1 . Direction wapas divide karne se e ^ recover hota hai. ✅
Worked example Example 6 — Cell F: limiting behaviour near the singularity
Φ → 36 0 ∘ aur Φ → 0 ∘ ke as ∥ σ ∥ track karo, aur confirm karo ki q 0 = − 1 kahan hai.
Forecast: kaun sa limit blow up karta hai, kaun sa finite rehta hai?
Jab Φ → 36 0 ∘ : Φ/4 → 9 0 ∘ , aur tan ( 9 0 ∘ ) → + ∞ . Yahan quaternion scalar q 0 = cos ( Φ/2 ) = cos ( 18 0 ∘ ) = − 1 hai.
Yeh step kyun? Yeh akela MRP singularity hai, aur q 0 compute karna ise exactly Φ = 36 0 ∘ par pin karta hai. Switch rule exactly isiliye exist karta hai taaki tum ise reach na karo.
Concrete near-value: Φ = 35 8 ∘ par, ∥ σ ∥ = tan ( 89. 5 ∘ ) ≈ 114.6 — bahut bada.
Yeh step kyun? Dikhata hai ki blow-up real aur fast hai; 36 0 ∘ se 2 ∘ kam par bhi numbers already huge hain, toh jaldi switch karo.
Jab Φ → 0 ∘ : ek tiny angle ke liye tangent almost angle hi hota hai, toh radians mein tan ( Φ/4 ) ≈ Φ/4 ; hence σ → 0 .
Yeh step kyun? Yeh small-angle rule tabhi kaam karta hai jab angle radians mein measure ki gayi ho (yahi reason tha ki humne top par degree convention flag kiya tha). Yeh kinematics mein use hone wali linearity confirm karta hai, σ ˙ ≈ 4 1 ω .
Verify: tan ( 89. 5 ∘ ) = 114.588 … (finite lekin huge, figure mein curve ke ∞ ki taraf race karne se match karta hai). 35 8 ∘ ka shadow Φ ′ = 2 ∘ hai, ∥ σ S ∥ = tan ( 1 ∘ ) ≈ 0.01746 — tiny aur safe. Aur cos ( 18 0 ∘ ) = − 1 confirm karta hai ki singularity Φ = 36 0 ∘ par baithti hai. ✅
Worked example Example 7 — Cell G: propagation off the identity
State σ = ( 0.1 , 0 , 0 ) , body rate ω = ( 0 , 0.4 , 0 ) rad/s. σ ˙ nikalo.
Forecast: y ke baare mein rate zyaadatar σ ˙ ke y component ko feed karega, lekin σ x term ek cross-coupling twist karta hai. Guess karo kaun sa off-axis component appear karta hai.
Scalars: ∥ σ ∥ 2 = σ ⊤ σ = 0. 1 2 = 0.01 , toh 1 − ∥ σ ∥ 2 = 0.99 .
Yeh step kyun? Yeh B ke identity-scaling aur outer-product blocks ko feed karte hain.
Definition box se cross-product matrix banao, phir B ( σ ) = ( 1 − ∥ σ ∥ 2 ) I 3 + 2 [ σ × ] + 2 σ σ ⊤ . σ = ( 0.1 , 0 , 0 ) ke saath, [ σ × ] = 0 0 0 0 0 0.1 0 − 0.1 0 , toh
B = 0.99 I 3 + 0 0 0 0 0 0.2 0 − 0.2 0 + 0.02 0 0 0 0 0 0 0 0 = 1.01 0 0 0 0.99 0.2 0 − 0.2 0.99 .
Yeh step kyun? 2 [ σ × ] ± 0.2 off-diagonals contribute karta hai (yahi rotational cross-coupling hai); outer product 2 σ σ ⊤ sirf xx slot mein 2 ( 0.01 ) = 0.02 add karta hai. (I 3 master-fact box se 3 × 3 identity hai.)
Apply karo: σ ˙ = 4 1 B ω = 4 1 1.01 0 0 0 0.99 0.2 0 − 0.2 0.99 0 0.4 0 = 4 1 0 0.396 0.08 = ( 0 , 0.099 , 0.02 ) .
Yeh step kyun? 4 1 quarter-angle signature hai (na ki 2 1 ). Note karo nonzero σ ˙ z = 0.02 — predicted cross-coupling.
Verify: σ ˙ = ( 0 , 0.099 , 0.02 ) . Sanity check ke liye, near identity (σ → 0 ) yeh 4 1 ω = ( 0 , 0.1 , 0 ) tak reduce ho jaata — hamaara 0.099 iske thoda neeche hai, jaise ki small nonzero σ ke liye expected hai. ✅
Worked example Example 8 — Cell H: real-world detumble word problem
Ek cubesat ne abhi ek slew finish ki hai aur target ke relative uska attitude e ^ = ( 0 , 0 , 1 ) ke baare mein Φ = 20 0 ∘ hai. Flight software MRPs store karta hai aur switch karta hai jab bhi ∥ σ ∥ > 1 ho. Woh kya store karta hai, aur kya switch karta hai?
Forecast: 20 0 ∘ 18 0 ∘ se thoda aage hai — switch expect karo, aur stored magnitude choti expect karo, badi nahi.
Raw MRP: ∥ σ ∥ = tan ( 20 0 ∘ /4 ) = tan ( 5 0 ∘ ) ≈ 1.1918 , toh σ = ( 0 , 0 , 1.1918 ) .
Yeh step kyun? Pehle attitude ko MRP mein convert karo; tan 5 0 ∘ > 1 problem flag karta hai.
Switch trigger karo kyunki 1.1918 > 1 : σ S = − σ /∥ σ ∥ 2 = − ( 0 , 0 , 1.1918 ) / ( 1.1918 ) 2 = ( 0 , 0 , − 0.8391 ) .
Yeh step kyun? Controller ko bounded states chahiye; shadow set states ko singularity se door rakhta hai toh control law well-conditioned rehta hai.
Stored value: σ S = ( 0 , 0 , − 0.8391 ) , magnitude 0.8391 < 1 . Software yeh store karta hai.
Yeh step kyun? Yahi woh branch hai jo aage σ ˙ = 4 1 B ω se actually integrate hoti hai.
Verify: ∥ σ S ∥ = 0.8391 = tan ( 4 0 ∘ ) = tan ( (( 360 − 200 ) /4 ) ∘ ) , matlab yeh Φ ′ = 16 0 ∘ encode karta hai — same orientation "short way" se reach ki gayi. Physically identical attitude, numerically safe. ✅
Worked example Example 9 — Cell I: exam twist (invert the map)
Diya gaya σ = ( 0 , 0.2679 , 0 ) , rotation angle Φ aur axis e ^ recover karo.
Forecast: tan ko kaun sa trig function undo karta hai? (arctan.) Aur axis kaise alag karte hain?
Pehle magnitude: ∥ σ ∥ = 0.2679 . Phir Φ = 4 arctan ∥ σ ∥ .
Yeh step kyun? Kyunki ∥ σ ∥ = tan ( Φ/4 ) , hum poochh rahe hain "kaun sa quarter-angle is tangent se correspond karta hai?" — yahi exactly arctan answer karta hai, aur quarter ko undo karne ke liye hum 4 se multiply karte hain.
Φ = 4 arctan ( 0.2679 ) = 4 × 1 5 ∘ = 6 0 ∘ .
Yeh step kyun? arctan ( 0.2679 ) = 1 5 ∘ ek clean landmark hai (tan 1 5 ∘ = 2 − 3 ≈ 0.2679 ).
Axis: e ^ = σ /∥ σ ∥ = ( 0 , 0.2679 , 0 ) /0.2679 = ( 0 , 1 , 0 ) .
Yeh step kyun? σ ki unit direction hi rotation axis hai; length se divide karne se angle information cleanly strip out hoti hai.
Verify: σ = e ^ tan ( Φ/4 ) = ( 0 , 1 , 0 ) tan 1 5 ∘ = ( 0 , 0.2679 , 0 ) — given input se exactly match karta hai. ✅
Recall Har cell ke liye one-line rules
Safe vs switch threshold?
∥ σ ∥ = 1 at Φ = 18 0 ∘ .
Angle ke liye MRP map undo karo?
Φ = 4 arctan ∥ σ ∥ .
Axis ke liye MRP map undo karo?
e ^ = σ /∥ σ ∥ .
Shadow set magnitude relation?
∥ σ S ∥ = tan ( (( 36 0 ∘ − Φ ) /4 ) ) .
Kinematic coefficient?
4 1 (quarter-angle), kabhi 2 1 nahi.
Compare karne ke liye related maps: Quaternions (Euler symmetric parameters) , Classical Rodrigues parameters (Gibbs vector) , Euler angles and Gimbal Lock , Direction Cosine Matrix (DCM) , aur propagation background Attitude kinematics and $\boldsymbol\omega$ mein.