3.5.7 · Physics › Guidance, Navigation & Control (GNC)
Ek quaternion ek rotation hai jo 4 numbers mein store hoti hai . Jab aap pehle q 1 se rotate karte ho aur phir q 2 se, to combined rotation ek single quaternion hoti hai. Hamilton product woh rule hai jo batata hai ki do rotations ko ek mein multiply kaise karte hain. Yeh quaternion version hai "rotation matrices ko stack karne ka" — lekin sirf 4 numbers mein aur bina kisi trig ke.
GNC mein kyun zaroorat hai? Ek spacecraft/drone attitude filter (jaise MEKF ya complementary filter) gyro data ko har millisecond chhote chhote quaternion multiplications ke roop mein integrate karta hai. Agar product rule galat ho → aapka attitude drift ya flip kar jaata hai. Yeh hi orientation ki arithmetic hai.
Ek quaternion q = w + x i + y j + z k hota hai, chaar real numbers teen imaginary units ke saath jo Hamilton ke rules follow karte hain:
i 2 = j 2 = k 2 = ij k = − 1
Hum ise scalar + vector pair ke roop mein likhte hain:
q = ( w , v ) , v = ( x , y , z )
Scalar w real (scalar) part hai; v vector (imaginary) part hai.
ij k = − 1 aur squaring rules se, pairwise products aate hain (yahi poora engine hai):
ij = k , j k = i , k i = j (cyclic, right-handed)
j i = − k , k j = − i , ik = − j (anti-cyclic)
Intuition Yeh signs kyun hain?
i , j , k cross product ke under ek right-handed frame ke coordinate axes ki tarah behave karte hain: x ^ × y ^ = z ^ wagairah. Isi se ij = k aata hai. Lekin woh complex i ki tarah − 1 pe bhi square hote hain. Hamilton product ek cross product (rotation-like) ko ek dot product (alignment/shrinking) ke saath ek hi operation mein fuse karta hai. Non-commutativity (ij = j i ) ek bug nahi hai — 3D mein rotations sach mein commute nahi karte.
Vector formula use karke i j compute karo.
p = i : w 1 = 0 , v 1 = ( 1 , 0 , 0 ) . Kyun? i ek pure-vector unit quaternion hai.
q = j : w 2 = 0 , v 2 = ( 0 , 1 , 0 ) .
scalar = 0 − ( 1 , 0 , 0 ) ⋅ ( 0 , 1 , 0 ) = 0 . Kyun? v 1 ⊥ v 2 hai, dot 0 hai.
vector = 0 + 0 + ( 1 , 0 , 0 ) × ( 0 , 1 , 0 ) = ( 0 , 0 , 1 ) . Kyun? right-hand cross se z ^ milta hai.
Result = ( 0 , ( 0 , 0 , 1 )) = k . ✅ ij = k se match karta hai.
Ab j i : cross flip hokar ( 0 , 0 , − 1 ) ho jaata hai → result − k . Yeh step kyun? Cross product anti-commutative hota hai, isliye order badalne par sign palat jaata hai. Yeh prove karta hai ki ij = − j i .
z ke around 9 0 ∘ rotate karo, phir x ke around 9 0 ∘ . Axis n ^ ke around angle θ ke liye unit quaternion hai q = ( cos 2 θ , sin 2 θ n ^ ) .
q z = ( cos 4 5 ∘ , ( 0 , 0 , sin 4 5 ∘ )) = ( 2 1 , 0 , 0 , 2 1 )
q x = ( 2 1 , 2 1 , 0 , 0 )
Combined rotation ("z ke baad x ") = q x q z (sabse left wala last lagta hai). Kyun? Hamilton convention: q total = q last q first .
w = w 1 w 2 − v 1 ⋅ v 2 = 2 1 − ( 2 1 , 0 , 0 ) ⋅ ( 0 , 0 , 2 1 ) = 2 1 − 0 = 2 1
v = w 1 v 2 + w 2 v 1 + v 1 × v 2
= 2 1 ( 0 , 0 , 2 1 ) + 2 1 ( 2 1 , 0 , 0 ) + ( 2 1 , 0 , 0 ) × ( 0 , 0 , 2 1 )
= ( 0 , 0 , 2 1 ) + ( 2 1 , 0 , 0 ) + ( 0 , − 2 1 , 0 ) = ( 2 1 , − 2 1 , 2 1 )
To q x q z = ( 2 1 , 2 1 , − 2 1 , 2 1 ) . Check: norm = 4 ⋅ 4 1 = 1 ✅ (unit quaternions ka product unit hota hai — isliye gyro integration orientations ko valid rakhta hai).
Definition Sandwich / conjugation
Ek 3D vector u ko rotate karne ke liye, ise pure quaternion u = ( 0 , u ) ke roop mein embed karo aur compute karo
u ′ = q u q − 1 , q − 1 = q ˉ /∣ q ∣ 2 , q ˉ = ( w , − v )
Unit q ke liye, q − 1 = q ˉ . Do Hamilton products se rotated vector milta hai.
Sandwich kyun, sirf q u kyun nahi? Ek single product scalar aur vector parts ko mix kar deta aur length badal deta. Conjugation q ( ⋅ ) q − 1 scalar leakage cancel karta hai aur rotation ko twice-by-half apply karta hai, isliye q mein half-angle θ /2 aata hai.
Common mistake Galat order mein multiply karna
Galat sahi lagta hai: "Maine pehle rotation A phir B kiya, to left-to-right padhne ki tarah q A q B multiply karo."
Fix: Hamilton convention rotations ko right-to-left apply karta hai: q B q A ka matlab hai "A pehle, phir B ." Example 1 se test karo: ij = k lekin j i = − k . Order matter karta hai. Ek convention choose karo, whiteboard par likho, project ke beech mein kabhi mat badlo.
Common mistake Normalize karna bhool jaana
Galat sahi lagta hai: "Unit quaternions ke products unit rehte hain, to main kabhi renormalize nahi karta."
Fix: Math mein bilkul sach hai, lekin floating-point rounding hazaron gyro updates mein error accumulate karta hai. q ← q /∣ q ∣ periodically renormalize karo.
Common mistake Vector part ko plain 3-vector product ki tarah treat karna
Galat sahi lagta hai: "v 1 × v 2 akele vector part hai."
Fix: Scalar-scaling terms w 1 v 2 + w 2 v 1 bhi add karne padenge. Inhe drop karne se silently poori pure-spin information kho jaati hai.
ij k = − 1 ko commuting samajh lena
Galat sahi lagta hai: "ij k = − 1 aur i 2 = − 1 , to yeh bas complex-number arithmetic hai thodi badi scale par."
Fix: C mein, ab = ba . Yahan ij = j i . Quaternions ek non-commutative division algebra hain — woh non-commutativity precisely 3D rotation hai.
Recall Flashables (chhupaao aur khud test karo)
Hamilton product ke do parts kya hain? scalar = w 1 w 2 − v 1 ⋅ v 2 ; vector = w 1 v 2 + w 2 v 1 + v 1 × v 2 .
Non-commutativity ka akela source kya hai? cross product term.
ij = ? = k . j i = ? = − k .
Vector ko rotate kaise karte hain? Unit q ke liye q u q ˉ .
Recall Feynman: 12-saal ke bachche ko samjhao
Socho do magic "turn cards" hain. Har card, jab tap karo, ek toy ko space mein spin karta hai. Agar tumhe ek aisa card chahiye jo dono spins ek saath kare, to tum do cards ko ek special recipe se jodte ho. Recipe mein do cheezein hain: ek part check karta hai ki dono spins kitna same direction mein point karte hain (woh dot part hai, ek plain number), aur doosra part check karta hai kitna woh ek doosre ke across twist karte hain (woh cross part hai, jo right-hand rule se sideways point karta hai). Kyunki across-twisting is baat par depend karta hai ki aap pehle kaun sa card tap karte ho, card A phir B tapna same nahi hai jaise B phir A — bilkul jaise Rubik's cube ko ghoomana.
"Scalar Says: Multiply-minus-Dot. Vector Vibes: two Weights plus a Cross."
w 1 w 2 − v 1 ⋅ v 2 | w 1 v 2 + w 2 v 1 + v 1 × v 2 .
Rotation Matrices — SO(3) — Hamilton product ≡ rotations ki matrix multiplication.
Axis-Angle & Euler Rodrigues — q ke andar half-angle θ /2 kahaan se aata hai.
Quaternion Kinematics — $\dot q = \tfrac12 q\,\omega$ — gyro integration isi product ka use karta hai.
Multiplicative EKF (MEKF) — attitude filters Hamilton products chain karte hain.
Gimbal Lock & Euler Angles — woh problem jo quaternions solve karte hain.
Cross Product & Right-Hand Rule — ij = k ki geometric root.
Hamilton product scalar part w 1 w 2 − v 1 ⋅ v 2
Hamilton product vector part w 1 v 2 + w 2 v 1 + v 1 × v 2
Which term causes non-commutativity cross product v 1 × v 2
Value of ij k
Value of j i − k
Fundamental relation defining quaternions i 2 = j 2 = k 2 = ij k = − 1
Order convention: rotation A then B combined quaternion q B q A (right-to-left)
How to rotate vector u by unit quaternion q u ′ = q u q ˉ
Inverse of a unit quaternion iska conjugate q ˉ = ( w , − v )
Is the product of two unit quaternions a unit quaternion Haan, ∣ pq ∣ = ∣ p ∣∣ q ∣
Quaternion w plus xi yj zk
Hamilton rules i2 j2 k2 ijk eq -1
Multiplication table ij eq k etc
Scalar part w1w2 minus v1 dot v2
Vector part w1v2 plus w2v1 plus cross
Attitude filter MEKF gyro integration