Intuition What this page is
The parent note 3.5.17 built the machine: δ x ˙ = F δ x + G w . Here we stress-test it. We enumerate every kind of input the error dynamics can face — each sign, each degenerate case, each limiting behaviour — and work one example per cell until nothing can surprise you.
Before we start, one reminder in plain words. A bias is a constant, unwanted offset that a sensor adds to its true reading. An accelerometer measures specific force (acceleration you feel); a gyro measures rotation rate. When these are wrong, the INS integrates the wrongness. Integration = adding up over time = the error's home turf.
Definition Initial-condition convention for every cell
Unless a cell says otherwise, all errors start at zero : δ r ( 0 ) = 0 , δ v ( 0 ) = 0 , ψ ( 0 ) = 0 . Every growth we compute is therefore caused purely by the sensor error (or, in Cell D, by a deliberately non-zero initial condition). We integrate each rate equation from 0 , so an integration constant is always the stated initial value.
Every INS error-growth problem is one of these cells. We will hit all of them.
Cell
What varies
Question it answers
A. Accel bias, sign +
constant b a > 0
how fast does a positive accel bias grow position error?
B. Accel bias, sign −
constant b a < 0
does the sign just flip, or something subtler?
C. Gyro drift
constant ϵ
why is gyro error worse than accel error long-term?
D. Zero input (degenerate)
b a = 0 , ϵ = 0 , but δ v 0 = 0
what happens with a perfect sensor but a bad initial condition?
E. Limiting / bounded case
gravity coupling ON
why don't horizontal errors blow up — the Schuler bound
F. Real-world word problem
mixed bias + drift
total drift of a real navigation-grade IMU over 1 hour
G. Exam twist
"which term dominates?"
order-of-magnitude reasoning, drop the small terms
Two quick tools we will lean on:
Definition Integrating a constant and a ramp
If a quantity's rate is a constant c , then after time t it has grown by c t (a straight line). If the rate is a ramp c t , it grows by 2 1 c t 2 (a parabola). Each integration adds one power of t . Look at the figure below — the same slope, integrated twice, curls into a bowl.
Figure s01. Horizontal axis = time t . Three curves from the same constant slope: the flat black line is the rate (a constant c ); the dashed black line is its first integral , a straight ramp growing like t ; the red curve is the second integral , a parabola growing like t 2 . Read it as "each integration bends the line up by one power of t " — exactly what turns a constant accelerometer bias into quadratic position error.
Why we need this: every example is "how many times is the source integrated before it reaches position?" Count the integrations, count the powers of t .
b a = + 100 μg , level flight, 60 s
A navigation-grade accelerometer has a residual bias of 100 μg . One g ≈ 9.8 m/s 2 , so
b a = 100 × 1 0 − 6 × 9.8 ≈ 9.8 × 1 0 − 4 m/s 2 .
Ignore Earth rotation and gravity coupling (short, level flight). Initial errors zero. Find the position error at t = 60 s.
Forecast: guess now — is the position error more like a few centimetres, or a couple of metres?
Velocity error. With δ v ( 0 ) = 0 : δ v ˙ = b a , a constant, so δ v ( t ) = b a t .
Why this step? The velocity equation reduces to "rate = constant"; integrating a constant from zero gives a straight line.
Position error. With δ r ( 0 ) = 0 : δ r ˙ = δ v = b a t , a ramp, so δ r ( t ) = 2 1 b a t 2 .
Why this step? Position is the second integral. Integrating a ramp gives the parabola from figure s01.
Plug in t = 60 . δ r = 2 1 ( 9.8 × 1 0 − 4 ) ( 60 ) 2 = 2 1 ( 9.8 × 1 0 − 4 ) ( 3600 ) ≈ 1.76 m .
Verify: units = m/s 2 ⋅ s 2 = m ✓. Sanity: velocity error at 60 s is b a t ≈ 0.059 m/s — a few cm/s, plausible for a good IMU; over a minute that accumulates to ~1.8 m. Position grew quadratically .
b a = − 100 μg , same conditions
Same magnitude, opposite sign. Initial errors zero. What is δ r ( 60 ) , and did anything change structurally?
Forecast: same size, opposite direction? Or does the square kill the sign?
Repeat A with the sign. δ v = b a t = − ( 9.8 × 1 0 − 4 ) ( 60 ) = − 0.0588 m/s .
Why this step? Nothing in the linear model cares about sign; it propagates faithfully.
Position. δ r = 2 1 b a t 2 = − 1.76 m .
Why this step? t 2 is always positive, so the sign of b a is preserved in δ r — the error points the other way, same magnitude.
Verify: ∣ δ r ∣ identical to Cell A, sign flipped ✓. Lesson: for a single linear term, negative input just mirrors the trajectory. The square is on t , not on b a , so it does not rectify the sign — a common trap.
ψ and δ v ˙ = − g ψ come from
ψ is the tilt error defined in the parent note: the small angle by which the INS-computed level is rotated away from true level. The parent's velocity-error equation contains the coupling block − [ f n × ] ψ — "a tilt mis-resolves the specific force". In level flight the dominant specific force is gravity pointing down, ∣ f n ∣ ≈ g . For a single horizontal axis this cross-product reduces to the scalar δ v ˙ = − g ψ : tilt the platform by ψ and a fraction g ψ of gravity leaks into the horizontal velocity channel. That is the why behind the − g ψ term used below.
Worked example C · gyro drift
ϵ = 0.01 ∘ / hr , 60 s
A gyro drifts at 0.01 ∘ / hr (navigation grade). Convert:
ϵ = 0.01 × 180 π rad / 3600 s = 4.848 × 1 0 − 8 rad/s .
Gravity coupling ON via δ v ˙ = − g ψ with g = 9.8 (see the definition box just above). Initial errors zero. Find δ r ( 60 ) .
Forecast: the drift is tiny . Guess: micrometres, millimetres, or centimetres of position error in a minute?
Drift builds tilt. With ψ ( 0 ) = 0 : ψ ˙ = ϵ ⇒ ψ ( t ) = ϵ t .
Why this step? Gyro error feeds the attitude equation as a constant rate; the tilt ramps up.
Tilt mis-projects gravity into velocity. δ v ˙ = − g ψ = − g ϵ t ⇒ δ v = − 2 1 g ϵ t 2 .
Why this step? A tilted platform reads a slice of gravity as horizontal acceleration — the − [ f n × ] coupling from F . That's one more integration than the accel case.
Velocity to position. δ r = − 6 1 g ϵ t 3 .
Why this step? Third integration — drift → tilt → velocity → position. That's the extra power of t .
Plug in. δ r = − 6 1 ( 9.8 ) ( 4.848 × 1 0 − 8 ) ( 60 ) 3 = − 6 1 ( 9.8 ) ( 4.848 × 1 0 − 8 ) ( 216000 ) ≈ − 1.71 × 1 0 − 2 m .
Verify: dimensional check of 6 1 g ϵ t 3 , term by term:
[ g ] [ ϵ ] [ t 3 ] = ( s 2 m ) ( s rad ) ( s 3 ) = s 3 m ⋅ rad ⋅ s 3 = m ⋅ rad = m
because a radian is dimensionless ✓. Magnitude ~1.7 cm in one minute. Cubic growth: over an hour this term explodes far faster than the accel bias, which is why gyro spec dominates long flights.
b a = 0 , ϵ = 0 , but δ v 0 = 0.1 m/s
This is the one cell that breaks our zero-initial-condition convention on purpose. The IMU is ideal — zero bias, zero drift — but the INS was initialized with a δ v ( 0 ) = δ v 0 = 0.1 m/s velocity error (bad GPS handoff); δ r ( 0 ) = 0 . Ignore coupling. Find δ r ( 60 ) .
Forecast: with a perfect sensor, does the error stay put, shrink, or still grow?
Velocity error is frozen. δ v ˙ = 0 ⇒ δ v ( t ) = δ v 0 = 0.1 m/s (constant).
Why this step? No bias means no forcing; the velocity error just stays at its initial value.
Position still ramps. δ r ˙ = δ v 0 ⇒ δ r = δ v 0 t = 0.1 × 60 = 6 m .
Why this step? Even a constant velocity error integrates into a linear position error. Perfect sensors do not stop error growth if the initial state is wrong.
Verify: units m/s ⋅ s = m ✓. Note 6 m > 1.76 m from Cell A — the initial condition here hurt more than the sensor bias. Lesson: the homogeneous solution (F δ x acting on a non-zero δ x 0 ) matters as much as the driving noise.
Worked example E · why horizontal error does NOT blow up
In Cells A–D we dropped gravity's feedback . Restore it. A position error δ r (horizontal) changes the direction of local vertical, which changes the tilt ψ , which changes δ v , which changes δ r — a closed loop. Model it as a 1-D oscillator: δ r ¨ = − ω s 2 δ r with ω s 2 = g / R , R = 6.371 × 1 0 6 m the Earth radius.
Forecast: a loop with negative feedback — does the error diverge, settle, or oscillate forever?
Read the equation. δ r ¨ = − ω s 2 δ r is simple harmonic motion.
Why this step? Negative feedback proportional to displacement is the signature of an oscillator, not a runaway.
Schuler frequency. ω s = g / R = 9.8/6.371 × 1 0 6 = 1.24 × 1 0 − 3 rad/s .
Why this step? This is the natural frequency of the gravity-error loop.
Schuler period. T = 2 π / ω s = 2 π /1.24 × 1 0 − 3 ≈ 5064 s ≈ 84.4 min .
Why this step? T = 2 π / ω converts frequency to period; it matches the famous 84-minute Schuler period .
Verify: 9.8/6.371 × 1 0 6 ≈ 1.24 × 1 0 − 3 ✓; 2 π /1.24 × 1 0 − 3 ≈ 5064 s = 84.4 min ✓. The horizontal error therefore oscillates within a bound instead of running away as t 2 — this is the limiting behaviour promised in the parent note. See Schuler Tuning and Oscillation .
Figure s02. Horizontal axis = time measured in Schuler periods (1 unit = T ≈ 84.4 min). Vertical axis = horizontal position error, normalized so the oscillation amplitude is 1 (in these units the dotted bound lines sit at exactly + 1 and − 1 ). The dashed black curve is the uncoupled prediction (gravity feedback off), running away as t 2 . The red curve is the gravity-coupled truth: it oscillates between the two dotted bound lines (± 1 ) instead of diverging. The point of the figure: turning gravity feedback on converts a runaway into a bounded ~84-minute oscillation, capped at its amplitude.
Worked example F · combined bias + drift over
t = 3600 s
A real navigation-grade IMU has accel bias b a = 50 μg and gyro drift ϵ = 0.01 ∘ / hr . Uncoupled (worst-case bound, ignore Schuler damping). Initial errors zero. Estimate total horizontal position error after 1 hour.
Forecast: for a good IMU over an hour, guess the order of magnitude: metres, hundreds of metres, or kilometres?
Convert. b a = 50 × 1 0 − 6 × 9.8 = 4.9 × 1 0 − 4 m/s 2 ; ϵ = 4.848 × 1 0 − 8 rad/s (as Cell C).
Why this step? Get both sources into SI before integrating.
Accel term. δ r a = 2 1 b a t 2 = 2 1 ( 4.9 × 1 0 − 4 ) ( 3600 ) 2 ≈ 3175 m .
Why this step? Cell A's quadratic law with the hour-long time.
Gyro term. δ r g = 6 1 g ϵ t 3 = 6 1 ( 9.8 ) ( 4.848 × 1 0 − 8 ) ( 3600 ) 3 ≈ 3694 m .
Why this step? Cell C's cubic law applied at t = 3600 s: three integrations from drift, so t 3 . Note this cubic term has now overtaken the quadratic accel term — given enough time, cubic always wins.
Total (linear superposition). δ r ≈ 3175 + 3694 ≈ 6869 m ≈ 6.9 km .
Why this step? The error model is linear, so independent contributions simply add.
Verify: each term in metres ✓; gyro > accel confirms cubic dominance ✓. Reality check: an uncoupled pure-inertial run drifts kilometres per hour — which is exactly why real systems fuse GPS via a Kalman filter . The true (Schuler-damped) error is smaller, but this bound shows why aiding is essential.
Worked example G · 2-minute missile flight — keep only what matters
Recall from the vocabulary box that ω i e is Earth-rate (7.29 × 1 0 − 5 rad/s, the Earth's spin) and f n is the specific-force vector in the nav frame (several g during powered flight). During a 120 s flight, which is safe to neglect: the Earth-rate term, or the − [ f n × ] attitude→velocity coupling? Justify by order of magnitude.
Forecast: guess which block of F carries 80% of the short-flight error.
Size the Earth-rate rotation over the flight. ω i e t = 7.29 × 1 0 − 5 × 120 = 8.75 × 1 0 − 3 rad ≈ 0. 5 ∘ .
Why this step? A term matters only if it rotates the error appreciably during the run; 0.009 rad is negligible, so the ω i e , ω e n terms in F barely act.
Size the specific-force coupling. In powered flight ∣ f n ∣ can be several g ; even a 1 0 − 4 rad tilt gives δ v ˙ ∼ ∣ f n ∣ ⋅ ψ ≈ 3 × 9.8 × 1 0 − 4 ≈ 3 × 1 0 − 3 m/s 2 , dominating the tiny Earth-rate cross term.
Why this step? Compare magnitudes of the two F blocks acting on the same states; the [ f n × ] block is orders of magnitude larger.
Decision. Drop ω i e , ω e n ; keep the − [ f n × ] block and the sensor-error inputs.
Why this step? 80% of short-flight error lives in that one coupling — the 80/20 rule for F .
Verify: ω i e t = 8.75 × 1 0 − 3 rad ≪ 1 ✓, so neglecting it introduces <1% error. This matches Gyro and Accelerometer Error Models guidance: on short flights, sensor errors + attitude coupling dominate; Earth-rate and transport-rate terms are second order.
Recall Did we hit every cell?
A (+bias) ::: Example A, quadratic, 1.76 m
B (−bias) ::: Example B, sign preserved, −1.76 m
C (gyro drift) ::: Example C, cubic, −1.71 cm in 60 s
D (degenerate: perfect sensor, bad init) ::: Example D, linear from δ v 0 , 6 m
E (limiting/bounded) ::: Example E, Schuler oscillation, 84.4 min
F (real-world) ::: Example F, ~6.9 km/hr uncoupled bound
G (exam twist / drop terms) ::: Example G, keep [ f n × ] , drop Earth rate
Mnemonic Count the integrations
Accel bias → position = 2 integrations → t 2 . Gyro drift → position = 3 integrations → t 3 . One extra integration per level from source to state. That single count predicts every growth law on this page.
Related: Strapdown INS Mechanization Equations · Direction Cosine Matrix and Small-Angle Rotations · Schuler Tuning and Oscillation