3.5.5 · D3 · Physics › Guidance, Navigation & Control (GNC) › Gimbal Lock — Euler angles mein θ = ±90° par problem
Parent note ne bataya kyun gimbal lock hota hai. Yeh page tumhe fluent banata hai har us situation ko walk-through karke jo arise ho sakti hai — pitch ki har sign, zero case, exact singularity, near-singularity, ek real aircraft, aur ek exam-style trap.
Symbols se pehle: parent note ke teen dials yaad karo.
ψ (yaw ) — world vertical z ke baare mein left/right turn.
θ (pitch ) — tilted y ke baare mein nose up/down.
ϕ (roll ) — nose x ke baare mein barrel-roll.
( p , q , r ) — physical body spin rates jo gyroscopes actually measure karte hain (roll-rate, pitch-rate, yaw-rate), radians per second mein.
Hum Euler angles se yeh do maps use karte rahenge:
R = R z ( ψ ) R y ( θ ) R x ( ϕ ) , ϕ ˙ θ ˙ ψ ˙ = call this E ( ϕ , θ ) 1 0 0 s ϕ t θ c ϕ c θ s ϕ c ϕ t θ − s ϕ c θ c ϕ p q r
jahan c α = cos α , s α = sin α , t α = tan α . Matrix E hai rate map : yeh real body spin ko convert karta hai is mein ki tere teen dials kitni tezi se ghoomne chahiye.
E kyun poori kahani hai
Is page par har disaster ek hi FACT se aata hai: E ki bottom row c θ = cos θ se divide karti hai. Jab nose kisi pole ki taraf point karta hai (θ = ± 90° ), cos θ = 0 ho jaata hai, aur tum zero se divide nahi kar sakte. Woh ek division hi woh darar hai jis se poori representation bikhar jaati hai.
Cell
Kya test karta hai
Example
A. Generic / safe
θ poles se door, saare dials independent
Ex 1
B. Zero / identity
saare angles 0 — degenerate par harmless
Ex 2
C. Exact lock θ = + 90°
matrix collapse ho ke ( ϕ − ψ ) ban jaata hai
Ex 3
D. Exact lock θ = − 90°
matrix collapse ho ke ( ϕ + ψ ) ban jaata hai (opposite sign!)
Ex 4
E. Near-lock rate spike
1/ cos θ tiny rates ko amplify karta hai
Ex 5
F. Non-unique inverse
kaafi ( ψ , ϕ ) → ek orientation
Ex 6
G. Real-world word problem
aircraft loop zenith cross karta hua
Ex 7
H. Exam twist: quaternion escape
dikhao quaternion finite rehta hai jahan Euler explode karta hai
Ex 8
Yeh saath milke dono signs of the pole, zero case, ek generic case, limit jab θ → 90° , uniqueness, ek real vehicle, aur contrasting fix ko cover karte hain.
Ek drone ψ = 30° , θ = 20° , ϕ = 10° ke saath body rates p = 0.5 , q = 0.2 , r = 0.1 rad/s hold karta hai. Kya Euler rates finite aur well-behaved hain?
Forecast: Pitch ± 90° ke kahin paas nahi hai, toh guess: sab kuch finite, koi drama nahi.
Danger term check karo. cos θ = cos 20° ≈ 0.9397 . Yeh step kyun? Sirf woh cheez jo blow up kar sakti hai woh hai 1/ cos θ ; agar cos θ comfortably non-zero hai, toh hum safe hain.
θ ˙ compute karo (middle row, koi division nahi): θ ˙ = c ϕ q − s ϕ r = cos 10° ( 0.2 ) − sin 10° ( 0.1 ) .
≈ 0.9848 ( 0.2 ) − 0.1736 ( 0.1 ) = 0.1970 − 0.01736 = 0.1796 rad/s. Yeh step kyun? Pitch-rate kabhi cos θ se divide nahi karta, isliye yeh "clean" component hai — ek accha baseline.
ψ ˙ compute karo (bottom row): ψ ˙ = c θ s ϕ q + c θ c ϕ r = cos 20° sin 10° ( 0.2 ) + cos 10° ( 0.1 ) .
= 0.9397 0.1736 ( 0.2 ) + 0.9848 ( 0.1 ) = 0.9397 0.03473 + 0.09848 ≈ 0.1418 rad/s. Yeh step kyun? Is row mein singular factor hai; hum confirm karte hain ki yeh ek modest number hai, blow-up nahi.
Verify: Teeno rates order 0.1 –0.2 rad/s ki hain — body rates ke jaisi magnitude. Sensible hai. Units: (dimensionless)× (rad/s) = rad/s. ✓
Saare angles zero: ψ = θ = ϕ = 0 . Body rates ( p , q , r ) = ( 0.3 , 0.4 , 0.5 ) . R kya hai, aur E kya hai?
Forecast: Zero angles = "kuch mat karo" orientation. Guess: R identity hai aur E identity hai, toh Euler rates body rates ke barabar hain.
R banao. Angle 0 par har elemental matrix identity hai, aur identity times identity identity hai: R = I 3 . Yeh step kyun? Confirm karta hai ki zero angles ek perfectly valid, non-singular orientation hai — value mein degenerate hai par broken nahi.
E ( 0 , 0 ) evaluate karo. s ϕ = 0 , c ϕ = 1 , t θ = 0 , c θ = 1 ke saath:
E ( 0 , 0 ) = 1 0 0 0 1 0 0 0 1 = I 3 .
Yeh step kyun? Origin par teen dials teen body axes ke saath exactly line up karte hain, isliye koi mixing nahi hoti.
Rates padho. ( ϕ ˙ , θ ˙ , ψ ˙ ) = ( p , q , r ) = ( 0.3 , 0.4 , 0.5 ) . Yeh step kyun? "Best case" dikhata hai: Euler rates body rates ke saath ek-ke-baad-ek equal hain.
Verify: det R = 1 (ek proper rotation, Rotation matrices SO(3) ka part). cos 0 = 1 = 0 , toh koi singularity nahi. ✓
θ = + 90° set karo, ψ , ϕ symbolic rakho. Dikhao ki matrix sirf ( ϕ − ψ ) par depend karta hai, aur ( ψ , ϕ ) = ( 30° , 0° ) ke saath check karo.
Forecast: Parent note ne ( ϕ − ψ ) par collapse ka waada kiya tha. Guess: yaw aur roll ek difference mein fuse ho jaate hain.
R y ( 90° ) insert karo. c θ = 0 , s θ = 1 ke saath, R y ( 90° ) = 0 0 − 1 0 1 0 1 0 0 . Yeh step kyun? Hum suspected singular value ko seedha test karte hain.
Multiply out karo R z ( ψ ) R y ( 90° ) R x ( ϕ ) aur parent ka collapsed form pao:
R = 0 0 − 1 sin ( ϕ − ψ ) cos ( ϕ − ψ ) 0 cos ( ϕ − ψ ) − sin ( ϕ − ψ ) 0 .
Yeh step kyun? Har free entry ek single number ϕ − ψ ka function hai — wahi hai lost degree of freedom visible hua.
( ψ , ϕ ) = ( 30° , 0° ) plug karo , toh ϕ − ψ = − 30° . Phir top-middle entry = sin ( − 30° ) = − 0.5 , top-right = cos ( − 30° ) ≈ 0.8660 . Yeh step kyun? Abstract collapse ko ek concrete number mein badalta hai jise hum machine-check kar sakte hain.
Verify: Ex 6 mein hum usi matrix par pahunchte hain ek alag ( ψ , ϕ ) se, jo collapse prove karta hai. det R = 1 abhi bhi hai. ✓
Ab nose-down nadir ki taraf: θ = − 90° . Dikhao ki collapse combination sign flip karke ( ϕ + ψ ) ho jaata hai.
Forecast: Symmetry se guess karo ki combination ϕ + ψ ban jaata hai, ϕ − ψ nahi. Sign matter karta hai!
R y ( − 90° ) insert karo. Ab c θ = 0 , s θ = − 1 , jo R y ( − 90° ) = 0 0 1 0 1 0 − 1 0 0 deta hai. Yeh step kyun? − 1 jahan pehle + 1 tha woh sign flip ka seed hai.
Multiply out karo. Result hai
R = 0 0 1 − sin ( ϕ + ψ ) cos ( ϕ + ψ ) 0 − cos ( ϕ + ψ ) − sin ( ϕ + ψ ) 0 .
Yeh step kyun? Confirm karta hai ki dono poles collapse hote hain — tum doosra pole choose karke lock se nahi bach sakte; sirf change hota hai ki kaun sa combination survive karta hai.
( ψ , ϕ ) = ( 20° , 10° ) ke saath sanity check: ϕ + ψ = 30° , toh top-middle = − sin 30° = − 0.5 , top-right = − cos 30° ≈ − 0.8660 . Yeh step kyun? ( ϕ + ψ ) dependence ko concrete aur checkable banata hai.
Verify: Ex 3 (ϕ − ψ use karta hai) aur is example (ϕ + ψ use karta hai) ko compare karo. Dono singular hain, opposite combinations. ✓
Body rate r = 0.01 rad/s (bahut halka), ϕ = 0 , p = q = 0 . θ = 85° , 89° , 89.9° , 89.99° par ψ ˙ compute karo. Use diverge hote dekho.
Forecast: Jaise θ → 90° , cos θ → 0 , toh ψ ˙ = r / cos θ upar ki taraf chilla-na chahiye. Guess: roughly × 10 har baar jab θ 90° ke 10 × zyada paas ho jaata hai.
Formula isolate karo. ϕ = 0 ke saath: ψ ˙ = c θ c ϕ r = cos θ r . Yeh step kyun? Singular division ke siwa sab kuch hat jaata hai taaki blow-up bilkul nanga ho.
Tabulate karo:
θ = 85° : cos 85° = 0.08716 ⇒ ψ ˙ = 0.01/0.08716 ≈ 0.1147 rad/s.
θ = 89° : cos 89° = 0.01745 ⇒ ψ ˙ ≈ 0.5730 rad/s.
θ = 89.9° : cos 89.9° = 0.001745 ⇒ ψ ˙ ≈ 5.730 rad/s.
θ = 89.99° : cos 89.99° = 0.0001745 ⇒ ψ ˙ ≈ 57.30 rad/s.
Yeh step kyun? Numbers prove karte hain ki yeh ek region hai, ek point nahi — 85° par bhi rate amplified hai, aur yeh unbounded grow karta hai.
Limit padho. Jaise θ → 90° , kisi bhi r = 0 ke liye ψ ˙ → ∞ . Yeh step kyun? Math demand karta hai infinite dial-speed ek finite, gentle physical turn represent karne ke liye — coordinate chart singular hai (Singularities of coordinate charts ).
Verify: 90° ke har tenfold approach par ψ ˙ ≈ 10 se multiply hota hai — exactly 1/ cos θ behaviour. Physical rate r poore time 0.01 raha; sirf representation explode hua. ✓
θ = + 90° par, ( ψ , ϕ ) = ( 50° , 20° ) lo. Dikhao ki yeh Ex 3 ke ( 30° , 0° ) jaisa SAME R deta hai.
Forecast: ϕ − ψ = 20 − 50 = − 30° , Ex 3 jaisa identical. Guess: exactly same matrix.
Combination compute karo. ϕ − ψ = 20° − 50° = − 30° . Yeh step kyun? Sirf yahi difference collapsed matrix ko feed karta hai, toh equal differences equal matrices dene chahiye.
Entries fill karo. sin ( − 30° ) = − 0.5 , cos ( − 30° ) ≈ 0.8660 — Ex 3 ke identical. Yeh step kyun? Confirm karta hai ki do alag dial settings ek orientation par map hote hain.
Interpret karo. Lock par orientation→ Euler map many-to-one hai, toh koi bhi attitude estimator (Attitude determination and control ) ek unique ( ψ , ϕ ) recover nahi kar sakta. Yeh step kyun? Yeh estimation catastrophe hai, sirf cosmetic nahi.
Verify: Ex 3 aur Ex 6 ke matrices element-wise equal hain. ✓
Ek jet vertical loop fly karta hai. Climb ke top par uska nose straight-up (θ = 90° ) se guzarta hai jabki q = 1 rad/s (pitch-rate) par roll ho raha hai aur ek crosswind gust se r = 0.02 rad/s yaw ho raha hai, ϕ = 0 ke saath. Onboard Euler-angle filter θ = 89.95° par kaun sa Euler pitch-rate aur yaw-rate report karta hai?
Forecast: Pitch-rate clean middle row use karta hai (theek hai); yaw-rate 1/ cos θ use karta hai (spike). Guess: θ ˙ ≈ 1 , ψ ˙ bahut bada.
Middle row (pitch-rate). θ ˙ = c ϕ q − s ϕ r = cos 0 ( 1 ) − sin 0 ( 0.02 ) = 1 rad/s. Yeh step kyun? Confirm karta hai ki physically dominant rotation faithfully report hoti hai — filter har jagah galat nahi hai.
Bottom row (yaw-rate). cos 89.95° = 0.0008727 , toh ψ ˙ = c θ c ϕ r = 0.0008727 0.02 ≈ 22.92 rad/s. Yeh step kyun? 0.02 rad/s ka ek gust 22.9 rad/s reported yaw-rate ban jaata hai — ek aircraft ke liye bilkul unphysical (> 1300° /s).
Engineering consequence. Integrator heading wildly overshoot kar deta hai; Apollo Guidance Computer ne famously design se aisi lock ke aas-paas kaam kiya. Yeh step kyun? Abstract spike ko ek mission-critical failure mode se jodhta hai.
Verify: θ ˙ = 1 rad/s finite aur sane hai; ψ ˙ ≈ 22.9 rad/s 0.02 rad/s cause se ≈ 1146 × = 1/ cos 89.95° se bada hai. ✓
Ex 7 jaisa hi physical state (θ = 89.95° , tiny gust). Ek quaternion filter q ˙ = 2 1 q ⊗ ω propagate karta hai ω = ( p , q , r ) = ( 0 , 1 , 0.02 ) ke saath. Kya quaternion rate finite hai jahan Euler rate explode hua?
Forecast: Quaternions mein kahin bhi 1/ cos θ nahi hai. Guess: rate body rate ke order ka rehta hai — completely finite.
Rate bound karo. Quaternion derivative ki magnitude ∣ q ˙ ∣ = 2 1 ∣ q ∣∣ ω ∣ hai, aur ek unit quaternion mein ∣ q ∣ = 1 hai. Yeh step kyun? Kisi bhi coordinate term se division nahi dikhta — yeh E se structural difference hai.
Plug in karo. ∣ ω ∣ = 0 2 + 1 2 + 0.0 2 2 = 1.0004 ≈ 1.0002 rad/s, toh ∣ q ˙ ∣ ≈ 2 1 ( 1 ) ( 1.0002 ) ≈ 0.5001 per second. Yeh step kyun? Same physical state, par quaternion rate ek tame ≈ 0.5 hai — jabki Ex 7 ka ψ ˙ ≈ 22.9 tha.
Conclude karo. Physics (ω ) hamesha finite tha; sirf Euler chart singular tha. Charts ko quaternions mein change karo aur "explosion" gayab ho jaata hai. Yeh step kyun? Yeh chapter ka poora moral hai, numerically side-by-side prove hua.
Verify: ∣ q ˙ ∣ ≈ 0.5 per second (finite) vs Euler ψ ˙ ≈ 22.9 rad/s (spiking) identical body rate ke liye. ✓
Recall Har example kaun sa cell cover karta hai?
Generic safe case ::: Ex 1 (Cell A)
Zero / identity ::: Ex 2 (Cell B)
Exact lock + 90° collapse to ( ϕ − ψ ) ::: Ex 3 (Cell C)
Exact lock − 90° collapse to ( ϕ + ψ ) ::: Ex 4 (Cell D)
Near-lock rate spike / limit ::: Ex 5 (Cell E)
Non-unique inverse ::: Ex 6 (Cell F)
Real aircraft loop ::: Ex 7 (Cell G)
Quaternion escape ::: Ex 8 (Cell H)
Hinglish version →
Euler angles — woh representation jin par yeh examples stress-test karte hain
Quaternions — Ex 8 mein finite-rate escape
Rotation matrices SO(3) — woh group jiska det = 1 humne check kiya
Angular velocity kinematics — rate map E jo har example use karta hai
Attitude determination and control — jahan non-unique inverse (Ex 6) bite karta hai
Apollo Guidance Computer — Ex 7 mein referenced historical work-around
Singularities of coordinate charts — deeper reason ki chart fail hota hai, physics nahi