Mechanization equations — integrating IMU to get position, velocity, attitude
WHAT is an IMU actually measuring?
The key trap is hidden right here: an accelerometer cannot sense gravity. In free fall it reads zero. So gravity must be added back in software.
The three-layer integration chain
You must get attitude first, because you need it to rotate the accelerometer's body-frame specific force into a navigation frame before you can subtract gravity.
Layer 1 — Attitude: integrating the gyros
WHY a matrix/quaternion and not just angles? Because rotation rates do not simply add up like scalars — orientation lives on a curved space . We propagate the direction-cosine matrix (DCM) (body→nav).
Why this step? exactly, so stacking three columns gives the whole matrix derivative.
But the gyro measures (vs inertial space), and we want (vs the nav frame, which itself moves as Earth turns and as we travel over the curved surface):
- : Earth rotates at .
- (transport rate): as you fly north/east, the local "down" tilts because Earth is round.
Layer 2 — Velocity: rotate, remove gravity, correct Coriolis
Term-by-term WHY:
- — rotate the felt force into nav axes (needs Layer 1).
- — Coriolis + transport correction for observing motion in a rotating/curving frame.
- — add gravity back (the part the accelerometer could not see). Here is the plumb-bob gravity (gravitation minus centrifugal), pointing "down".
Layer 3 — Position: integrate velocity on a curved Earth
Over a sphere/ellipsoid, latitude/longitude change at rates that depend on the Earth's radii of curvature (meridian , transverse ):
For a flat-Earth / short-baseline approximation you may drop transport & curvature and just use That's the 80/20 core — memorize this trio; add Earth terms only for long-range navigation.
Worked Example 1 — Static IMU sanity check
An IMU sits flat & still. Accels read in NED body axes (Down = ), gyros read .
- Attitude: → orientation constant. Why? no rotation felt.
- Velocity (flat-Earth): . Why? the upward table push ( in NED "Down") cancels gravity ( Down). Vehicle stays put ✔.
Recall Why does a
level accelerometer read on the Down axis, not ? Because the table pushes it up; specific force points opposite to that support in the Down convention. Free-fall would give .
Worked Example 2 — Constant forward acceleration, 1-D
Rocket on a track, no rotation, aligned with nav . Accel reads (gravity handled on other axes).
- . Why? no Coriolis (short run), no gravity on .
- Integrate: . Why? constant accel.
- . At : , .
Why this matters: shows the clean double-integration — but any tiny accel bias produces position error , growing as . That's INS drift.
Worked Example 3 — Attitude drift from a gyro bias
Constant gyro bias about one axis, static vehicle. Attitude error . After , .
Now the projected gravity leaks into horizontal velocity: . Why this step? a tilted attitude misrotates gravity, so contaminates the horizontal channel — the dominant INS error path.
Flashcards
What does an accelerometer physically measure?
Why must attitude be computed before velocity in mechanization?
DCM propagation equation
Full nav-frame velocity mechanization equation
What is transport rate ?
Why does the term appear?
Geodetic latitude rate
Why does raw double-integration of accel fail when static?
How does a gyro bias corrupt position?
Flat-Earth core mechanization trio
Recall Feynman: explain to a 12-year-old
Imagine you're blindfolded in a car. You can feel pushes when it speeds up, brakes, or turns — but you can't feel the road passing. To guess where you are, you first figure out which way you're facing by tracking every turn (that's the gyro/attitude part). Then you use the pushes you felt to work out how fast you're going, remembering that a push while sitting still is just gravity holding you in the seat — so you subtract that out. Add up your speed over time and you know how far you moved. Tiny mistakes in "which way you're facing" make gravity sneak into your speed guess, so after a while you drift off — that's why cars also use GPS to keep the guess honest.
Connections
- Strapdown vs Gimbaled INS — strapdown keeps sensors on the body, so mechanization does the "virtual gimbal" in software.
- Direction Cosine Matrix and Quaternions — the attitude representation being propagated.
- Coriolis and Centrifugal Effects — origin of the term.
- Gravity Model and Geoid — supplies .
- Kalman Filter for INS-GNSS Integration — corrects the drift derived here.
- Radii of Curvature of the Earth Ellipsoid — in position rates.
Concept Map
Hinglish (regional understanding)
Intuition Hinglish mein samjho
Dekho, IMU sirf do cheezein "feel" karta hai: gyro se rotation rate aur accelerometer se specific force. Yahan sabse bada point yeh hai ki accelerometer gravity ko sense NAHI karta — jab woh table par rakha ho tab bhi dikhata hai kyunki table use upar dhakka de raha hai, aur free fall mein zero dikhata hai. Isliye mechanization equations mein gravity ko software se wapas add karna padta hai.
Kaam ka order fixed hai: pehle attitude ( matrix) nikalo gyro ko integrate karke, kyunki accelerometer ka force body frame mein hai aur usse nav frame mein rotate karne ke liye attitude chahiye. Phir karke gravity add karo aur Coriolis/transport terms subtract karo — yeh mil gaya velocity rate. Velocity ko integrate karo toh position aa jayegi (curved Earth par latitude/longitude ke liye radius se divide karna padta hai).
Sabse zaroori intuition drift ka hai. Agar accelerometer mein chhota sa bias ho, toh position error ki tarah badhta hai. Aur agar gyro mein bias ho, toh attitude thoda tilt ho jaata hai, jisse gravity horizontal channel mein leak karti hai — error ki speed se badhta hai! Isiliye pure INS long time tak accurate nahi rehta, aur GPS/Kalman filter ke saath combine karna padta hai.
Yaad rakhne ka tareeka: A-V-P (Attitude, Velocity, Position) — hamesha isi order mein, aur gravity tabhi hataao jab "down" kaunsa hai woh pata ho. Exam ke liye flat-Earth trio (, , ) ratt lo — yahi 80/20 core hai.