WHY these two together? A gyro tells you how the box is oriented (needed to know which way "down" and "forward" point). An accelerometer tells you how the box is being pushed. You need orientation before you can turn acceleration into world-frame motion — so the two sensors are inseparable partners.
Here is the single most misunderstood point. An accelerometer is a proof mass on a spring. It reports the force per unit mass that the spring must apply to keep the mass in place.
Let us derive this. In an inertial frame the proof mass obeys
ma=Fspring+mg.
The sensor reports specific force f≡Fspring/m. Solve:
f=a−g
A gyro gives body-frame rate ωb=(ωx,ωy,ωz). We want the rotation Rbw that maps body vectors to world vectors, and it evolves with time.
Derive the propagation. A small rotation over dt about axis ω rotates any body-fixed vector. The kinematic law for a rotation matrix is
R˙bw=Rbw[ωb]×,
where the skew matrix encodes the cross product [ω]×v=ω×v:
[ω]×=0ωz−ωy−ωz0ωxωy−ωx0.
Why the cross product? A point at position r on a rotating body moves with velocity ω×r — that is rigid-body rotation. The matrix ODE just packs this for all axes at once.
For a small step, Rk+1=Rkexp([ωb]×Δt)≈Rk(I+[ωb]×Δt).
A tiny constant gyro bias bg (rad/s) becomes an angle error bgt — linear in time. That angle error mis-points gravity, so a component of g leaks into aw. A constant acceleration error εa integrated twice gives a position error21εat2.
Imagine a phone in a box that's blindfolded. It has two feelings. One feeling ("gyro") is "how fast am I spinning?" Another feeling ("accelerometer") is "how hard is something pushing me?" — like the push you feel in your back when a car speeds up. By keeping a running total of the spins, the box always knows which way it's facing. Then it knows which push is just the ground holding it up (gravity) and which push is real movement. Adding up the real pushes tells it how fast it's going, and adding those up tells it where it went — all with eyes closed! The catch: every tiny mistake keeps adding up, so after a while it gets lost, which is why it peeks at GPS sometimes.
Dekho, IMU ek chhota sa box hai jisme do sensor hote hain: accelerometer aur gyroscope. Gyroscope batata hai ki box kitni tezi se ghoom raha hai (angular rate ω), aur accelerometer batata hai ki box par kitna push lag raha hai. Sabse important baat — accelerometer sach mein acceleration nahi, balki specific force (f=a−g) measure karta hai. Isiliye table par rakha hua stationary phone bhi +g (9.81) upar dikhata hai, kyunki table ka normal force spring ko push karta hai. Aur free-fall me phone zero dikhayega!
Ab position kaise nikalte hain? Pehle gyro ka data integrate karke orientation (Rbw) nikalo — yani box kis taraf face kar raha hai. Phir accelerometer ki reading ko us orientation se world frame me rotate karo, gravity wapas add karo (aw=Rfb+g), aur do baar integrate karke velocity aur position paao. Iska naam hai strapdown mechanization. Yaad rakhne ka trick: pehle gyro, phir rotate, phir gravity, phir velocity, phir position.
Lekin ek badi problem hai — drift. Chhoti si gyro bias (jaise 0.01 degree/second) bhi time ke saath tilt error banati hai, aur wo tilt gravity ka ek ramp-jaisa component leak karti hai, jisko do baar integrate karne se position error 61gbgt3 ki speed se badhta hai. 60 second me hi ~62 meter ka error! Isiliye real drones, rockets aur phones me IMU akela kaam nahi karta — use GPS ya camera ke saath Kalman filter se fuse kiya jaata hai. IMU short-term me superb hai, long-term me akela bekaar. Yehi core intuition hai.