Inertial Navigation & Kalman Filtering
Inertial Navigation & Kalman Filtering
An Inertial Navigation System (INS) integrates accelerometer and gyroscope outputs to propagate position, velocity, and attitude. It runs entirely on self-contained sensors — no external signals — so it is immune to jamming and works indoors, underwater, and in space. The price is that sensor bias and noise integrate, making INS drift over time.
The standard architecture combines INS with GPS using a Kalman filter. The filter maintains a state estimate $\hat{\mathbf{x}}$ and a covariance $P$. Between GPS fixes, INS propagates the state; when a GPS fix arrives, the filter updates the state with a weighted average that accounts for both sensor noise and prediction uncertainty.
We present the 1-D constant-velocity Kalman filter equations, work through a numeric example, and discuss how tightly-coupled GPS/INS outperforms either sensor alone.
State $\mathbf{x} = [p, v]^T$. Propagate:
$\mathbf{x}_{k|k-1} = F\,\mathbf{x}_{k-1}$, with $F = \begin{bmatrix}1 & \Delta t\\0 & 1\end{bmatrix}$.
$P_{k|k-1} = F P_{k-1} F^T + Q$.
Update with measurement $z = p + \text{noise}$ (matrix $H = [1, 0]$):
Kalman gain: $K = P_{k|k-1} H^T (H P_{k|k-1} H^T + R)^{-1}$. $\mathbf{x}_k = \mathbf{x}_{k|k-1} + K(z - H\mathbf{x}_{k|k-1})$.
With accelerometer bias $b_a$, position error grows as $\tfrac{1}{2} b_a t^2$. Gyro bias $b_\omega$ causes attitude error $b_\omega t$, which couples into accelerometer axes and produces position error growing as $\tfrac{1}{2} g\,b_\omega t^3/6$. INS-only navigation is useful for seconds to minutes; beyond that, external fixes are essential.
Prior estimate $\hat{p} = 100\,\text{m}$, variance $P = 25\,\text{m}^2$. GPS reads $z = 103\,\text{m}$ with variance $R = 9\,\text{m}^2$. Compute posterior.
Kalman gain: $K = P/(P+R) = 25/34 = 0.735$.
Posterior mean: $\hat p^+ = 100 + 0.735(103 - 100) = 100 + 2.21 = 102.21\,\text{m}$.
Posterior variance: $P^+ = (1 - K)P = 0.265 \cdot 25 = 6.62\,\text{m}^2$. Filter tightened the uncertainty from 5 m to 2.57 m.
An accelerometer has bias $b_a = 1\,\text{mg} = 9.81\times 10^{-3}\,\text{m/s}^2$. Estimate position drift after 10 s and 60 s.
$\Delta p(10) = 0.5 \cdot 9.81\times 10^{-3} \cdot 100 = 0.49\,\text{m}$.
$\Delta p(60) = 0.5 \cdot 9.81\times 10^{-3} \cdot 3600 = 17.66\,\text{m}$. Error grows quadratically with time — the price of pure integration.
Gyro bias $b_\omega = 0.01°/\text{s}$. Estimate horizontal position error after 60 s (via attitude error leaking gravity onto horizontal axes).
$b_\omega = 0.01°/\text{s} = 1.745\times 10^{-4}\,\text{rad/s}$. Attitude error at 60 s: $0.0105\,\text{rad}$.
Horizontal accel error: $g\sin(0.0105) \approx 9.81 \cdot 0.0105 \approx 0.103\,\text{m/s}^2$.
Position error $\approx \tfrac{1}{2}(0.103)(60)^2 \approx 186\,\text{m}$. This is why tactical-grade gyros are expensive.
Practice Problems
Show Answer Key
1. Acceleration integrates to velocity (linear in $t$), which integrates to position (quadratic in $t$).
2. $K = P/(P+R)$.
3. $K = 0.5$ — equal weight on prediction and measurement.
4. Attitude error tilts the sensed-gravity vector onto horizontal accelerometer axes, injecting fictitious horizontal acceleration.
5. Submarines (no GPS underwater), ballistic missiles, spacecraft during communication blackouts.
6. Loosely-coupled fuses GPS-derived position; tightly-coupled fuses raw GPS pseudoranges, giving better performance with few satellites.