3.5.17Guidance, Navigation & Control (GNC)

INS error propagation — error state equations

1,794 words8 min readdifficulty · medium2 backlinks

1. What is an "error state"?

WHAT is ψ\boldsymbol{\psi}? The INS keeps a computed body-to-nav rotation. If it's slightly wrong, the computed nav frame is tilted from the true nav frame by a small rotation vector ψ\boldsymbol{\psi}. This is the crucial coupling variable.


2. Deriving the error equations from first principles

We work in the local navigation frame (North-East-Down). The exact INS mechanization is:

r˙=v,v˙=Cbnfb+g(2ωie+ωen)×v\dot{\mathbf{r}} = \mathbf{v}, \qquad \dot{\mathbf{v}} = C_b^n \mathbf{f}^b + \mathbf{g} - (2\boldsymbol{\omega}_{ie}+\boldsymbol{\omega}_{en})\times\mathbf{v}

where fb\mathbf{f}^b is the specific force measured by accelerometers, CbnC_b^n the body-to-nav rotation, and g\mathbf{g} gravity.

2.1 Position error

HOW: Position rate is exactly velocity. Perturb rr+δr\mathbf{r}\to\mathbf{r}+\delta\mathbf{r}, vv+δv\mathbf{v}\to\mathbf{v}+\delta\mathbf{v}:

δr˙=δv\dot{\delta\mathbf{r}} = \delta\mathbf{v}

Why this step? r˙=v\dot{\mathbf r}=\mathbf v is linear already, so the perturbation is exact — no approximation needed.

2.2 Velocity error

HOW: The computed acceleration uses the computed attitude C^bn\hat C_b^n. Because the frame is tilted by ψ\boldsymbol{\psi}:

C^bn=(I[ψ×])Cbn\hat C_b^n = (I - [\boldsymbol{\psi}\times])\,C_b^n

Why? A small rotation ψ\boldsymbol\psi maps a matrix via I[ψ×]I-[\boldsymbol\psi\times] (skew-symmetric matrix of ψ\boldsymbol\psi). Substitute into v˙\dot{\mathbf v} and subtract the true equation. The accelerometer also has error δfb\delta\mathbf{f}^b (bias + noise). Keeping first order:

δv˙=[ψ×]Cbnfb+Cbnδfb+δg(2ωie+ωen)×δv\dot{\delta\mathbf{v}} = -[\boldsymbol{\psi}\times]\,C_b^n\mathbf{f}^b + C_b^n\,\delta\mathbf{f}^b + \delta\mathbf{g} - (2\boldsymbol{\omega}_{ie}+\boldsymbol{\omega}_{en})\times\delta\mathbf{v}

Writing fn=Cbnfb\mathbf{f}^n = C_b^n\mathbf{f}^b (specific force in nav frame):

δv˙=[ψ×]fn  +  Cbnδfb  +  δg    (2ωie+ωen)×δv\boxed{\dot{\delta\mathbf{v}} = -[\boldsymbol{\psi}\times]\,\mathbf{f}^n \;+\; C_b^n\,\delta\mathbf{f}^b \;+\;\delta\mathbf{g}\;-\;(2\boldsymbol{\omega}_{ie}+\boldsymbol{\omega}_{en})\times\delta\mathbf{v}}

Why the [ψ×]fn-[\boldsymbol\psi\times]\mathbf f^n term? A tilt makes the INS mis-resolve the (large) specific force — this is the dominant coupling: attitude error feeds velocity error.

2.3 Attitude error

HOW: The computed frame rotation rate has gyro error δω\delta\boldsymbol{\omega}. Differentiating the tilt definition and keeping first order:

ψ˙=ωin×ψCbnδωibb\boxed{\dot{\boldsymbol{\psi}} = -\boldsymbol{\omega}_{in}\times\boldsymbol{\psi} - C_b^n\,\delta\boldsymbol{\omega}_{ib}^b}

where ωin=ωie+ωen\boldsymbol{\omega}_{in}=\boldsymbol{\omega}_{ie}+\boldsymbol{\omega}_{en} is the nav-frame rotation rate and δωibb\delta\boldsymbol{\omega}_{ib}^b is the gyro error (drift + noise).

Why this form? The tilt vector rotates with the transport rate ωin\boldsymbol\omega_{in} (first term) and is continuously corrupted by gyro drift (second term). Gyro drift is the root source of long-term navigation error.


3. Why errors GROW — the key insight

Figure — INS error propagation — error state equations

4. Worked examples


5. Common mistakes


6. Flashcards

What are the three blocks of a 9-state INS error vector?
Position error δr\delta\mathbf r, velocity error δv\delta\mathbf v, attitude (tilt) error ψ\boldsymbol\psi.
Why linearize INS error dynamics?
Errors are small, so first-order expansion gives a linear δx˙=Fδx+Gw\dot{\delta x}=F\delta x+Gw suitable for a Kalman filter.
Which FF term couples attitude error into velocity error?
[fn×]-[\mathbf f^n\times] — a tilt mis-resolves the specific force.
Time-growth of position error from a constant accelerometer bias?
Quadratic, δr=12bat2\delta r=\tfrac12 b_a t^2.
Time-growth of position error from a constant gyro drift?
Cubic, δr=16gϵt3\delta r=-\tfrac16 g\epsilon t^3.
What drives the attitude error equation?
Transport-rate coupling ωin×ψ-\boldsymbol\omega_{in}\times\boldsymbol\psi plus gyro error Cbnδωibb-C_b^n\delta\boldsymbol\omega_{ib}^b.
What is the Schuler period and why does it appear?
≈84 min; gravity-coupling of horizontal errors makes them oscillate rather than diverge.
δr˙\dot{\delta\mathbf r} equals what, and why is it exact?
δv\delta\mathbf v; the relation r˙=v\dot{\mathbf r}=\mathbf v is already linear.

Recall Feynman: explain to a 12-year-old

Imagine walking blindfolded, counting your steps to know where you are. If you think you're facing north but you're tilted a little, every step drifts you off — and the mistake gets bigger the longer you walk. An INS is a machine doing exactly this with tiny motion sensors. The "error equations" are a cheat-sheet saying: a small tilt makes a small speed mistake, a small speed mistake makes a growing position mistake. Knowing this, the computer can guess and undo the drift.

Connections

  • Kalman Filter for INS-GPS Integration — uses this FF as the state-transition model
  • Strapdown INS Mechanization Equations — the nonlinear system we perturbed
  • Schuler Tuning and Oscillation — why horizontal errors bound
  • Gyro and Accelerometer Error Models — sources of ww
  • Direction Cosine Matrix and Small-Angle Rotations — origin of I[ψ×]I-[\psi\times]

Concept Map

causes

modeled by

form

expand small errors

defines

contains

contains

contains

rate equals

tilts frame, couples into

drives

feeds

INS integrates sensors

Errors accumulate

Error state equations

dx = F dx + G w linear

Nonlinear INS mechanization

Error state dx

Position error dr

Velocity error dv

Attitude error psi

Accelerometer error df

Kalman filter estimates and corrects

Hinglish (regional understanding)

Intuition Hinglish mein samjho

Dekho, INS (Inertial Navigation System) apni position directly nahi naapta — woh accelerometer aur gyro ke readings ko integrate karke position banata hai. Problem yeh hai ki jab tum integrate karte ho, to chhoti si sensor error bhi time ke saath badhti jaati hai. Isliye hum "error state equations" likhte hain: δx˙=Fδx+Gw\dot{\delta x}=F\delta x+Gw. Yeh ek linear model hai jo batata hai ki position error, velocity error aur attitude (tilt) error aapas mein kaise judte hain aur kitni tezi se grow karte hain.

Sabse important insight yeh hai — tilt (attitude error ψ\psi) hi asli villain hai. Agar gyro thoda drift karta hai, to computed frame thoda tilt ho jaata hai. Tilt hone se INS specific force (jo bahut badi quantity hai, gravity included) ko galat direction mein resolve kar deta hai. Yeh galti velocity error banati hai, aur velocity error integrate hoke position error banati hai. Isi liye FF matrix mein [fn×]-[\mathbf f^n\times] term dominant hota hai — yeh attitude ko velocity se couple karta hai.

Growth ka pattern yaad rakho: accelerometer bias se position error quadratic (t2t^2) badhta hai, aur gyro drift se cubic (t3t^3) — kyunki drift ko position tak pahunchne mein teen integration lagti hain. Isiliye long missions mein gyro ki quality sabse zyada matter karti hai. 80/20 rule: short flight mein Earth rotation terms ignore karo, sirf sensor error aur attitude coupling rakho — usi se zyaadatar error aata hai.

Yeh saara model isliye banate hain taaki Kalman filter isko use karke error ko estimate kar sake aur correct kar de. Linear isliye hai kyunki errors chhoti hoti hain, to first-order Taylor expansion kaafi accurate hai.

Go deeper — visual, from zero

Test yourself — Guidance, Navigation & Control (GNC)

Connections