Groves, Chapter 5

Inertial Navigation

Navigation equations in ECI, ECEF, and local frames. Attitude update, velocity integration, alignment, and error propagation.

Prerequisites: Chapter 2 (coordinate frames), Chapter 4 (IMU outputs).
10
Chapters
2
Simulations
10
Quizzes

Chapter 0: The Navigation Processor

An inertial navigation system (INS) is a dead-reckoning system: it takes IMU measurements of specific force and angular rate and integrates them to produce a continuous position, velocity, and attitude solution.

The navigation processor performs four steps every iteration cycle:

StepInputOutput
1. Attitude updateGyro angular rate (ωibb)Updated rotation matrix Cb
2. Specific-force transformAccel specific force (fibb)Specific force in nav frame
3. Velocity updateTransformed specific force + gravityUpdated velocity
4. Position updateUpdated velocityUpdated position

The form of these equations depends on which coordinate frame the solution is computed in. We cover three: ECI (simplest math, needs post-transform), ECEF (matches GNSS), and local navigation frame (most intuitive output, uses curvilinear position).

Integration is an iterative process. Each cycle uses the previous solution as its starting point. This means the INS must be initialized before it can function: initial position, velocity, and attitude must come from an external source or a self-alignment process.
Check: How many steps does the inertial navigation processor perform each cycle?

Chapter 1: ECI-Frame Navigation Equations

The ECI frame is the simplest for navigation equations because the reference frame does not rotate. There is no Coriolis or centrifugal correction.

Attitude update. The body-to-inertial rotation matrix is updated using the gyro measurements:

Cbi(+) ≈ Cbi(−) (I3 + Ωibb τi)

This is a first-order approximation of the matrix exponential. It works well when the attitude integration runs at the IMU output rate (typically 100–1000 Hz), so the rotation per step is small.

Specific-force transform. The IMU measures specific force in body axes. We rotate it to inertial axes using the average of the old and new attitude matrices:

fibi ≈ ½(Cbi(−) + Cbi(+)) fibb

Velocity update. Inertially referenced acceleration is specific force plus gravitational acceleration. Integration gives:

vibi(+) = vibi(−) + (fibi + γibi) τi

Position update. Since the reference frame and resolving axes are the same, position derivative equals velocity. Modeling velocity as linear over the interval gives a quadratic position update:

ribi(+) = ribi(−) + ½(vibi(−) + vibi(+)) τi
Gravitation, not gravity: In the ECI frame we use gravitational acceleration γ (not gravity g), because gravity includes the centrifugal term from Earth rotation, which is already absent in the inertial frame.
Check: Why is the ECI-frame navigation equation the simplest?

Chapter 2: ECEF-Frame Navigation Equations

The ECEF frame rotates with the Earth, which introduces additional complexity but gives an Earth-referenced solution directly — useful because GNSS solutions are naturally ECEF.

Attitude update. We now track Cbe (body-to-Earth). Because the ECEF frame rotates at rate ωie relative to inertial space, we must subtract this rotation:

Cbe(+) ≈ (I3 − Ωiee τi) Cbe(−) (I3 + Ωibb τi)

The left-hand term removes Earth rotation; the right-hand term applies the measured body rotation.

Velocity update. Because we are differentiating in a rotating frame, the Coriolis and centrifugal accelerations appear:

vebe(+) = vebe(−) + [fibe + gbe(rebe) − 2Ωiee vebe] τi

Notice we now use gravity g (gravitational acceleration minus centrifugal) instead of pure gravitation γ, and we have the 2Ωv Coriolis term.

Position update. Same quadratic form as ECI, but now in ECEF Cartesian coordinates:

rebe(+) = rebe(−) + ½(vebe(−) + vebe(+)) τi
Key difference from ECI: The price of getting an Earth-referenced solution is two extra terms in the velocity equation (Coriolis and centrifugal) and the Earth-rotation correction in the attitude update. For slow-moving vehicles these terms are small, but they cannot be neglected for precision navigation.
Check: What additional terms appear in the ECEF velocity equation compared to ECI?

Chapter 3: Local Navigation Frame Equations

The local navigation frame (NED: North, East, Down) is the most intuitive for the user. It gives velocity as north/east/down components and position as latitude, longitude, and height. But the math is the most complex because the frame rotates and translates as the vehicle moves.

Attitude update. We track Cbn. The local frame rotates relative to inertial space due to both Earth rotation and transport rate (the frame moving over the curved Earth). We must subtract both:

Cbn(+) ≈ (I3 − Ωinn τi) Cbn(−) (I3 + Ωibb τi)

where Ωinn = Ωien + Ωenn combines Earth rotation and transport rate.

Velocity update. Now includes Coriolis from both Earth rotation and transport rate:

vebn(+) = vebn(−) + [fibn + gbn − (2Ωien + Ωenn) vebn] τi

Position update. Now in curvilinear coordinates (latitude L, longitude λ, height h). The meridional and transverse radii of curvature (RN, RE) appear:

L(+) = L(−) + vN τi / (RN + h)
λ(+) = λ(−) + vE τi / ((RE + h) cos L)
h(+) = h(−) − vD τi
Wander azimuth: Near the poles, the local navigation frame becomes singular (cos L → 0). The wander-azimuth frame avoids this by allowing the frame's north direction to "wander" from true north, adding a wander angle α that is tracked and updated. Essential for polar navigation.
Check: What is the transport rate?

Chapter 4: Navigation Equations Precision

The first-order equations shown in the previous chapters use approximations. Whether these matter depends on the application.

Iteration rate. Higher iteration rates mean smaller rotation and velocity increments per step, so the first-order approximation is more accurate. Typical rates:

ApplicationTypical RateFirst-Order OK?
Marine, aviation INS50–200 HzUsually, with care
Tactical grade100–400 HzYes
MEMS / consumer100–1000 HzYes (sensor noise dominates)
High-dynamics (missiles)200–1000 HzMay need higher order

Higher-order attitude update. Including second-order terms of the power series gives much better accuracy for high angular rates. The exact solution uses sin and cos of the rotation magnitude.

Sculling and coning. When the vehicle vibrates, the interaction between angular vibration (coning) and linear vibration (sculling) can produce false velocity outputs. Multi-sample algorithms that use multiple IMU samples per navigation cycle can compensate for these effects.

Key insight: For most practical applications at IMU output rates of 100+ Hz, the first-order equations are sufficient. The dominant error source is the IMU sensor errors, not the navigation equation approximations. Higher-order corrections matter only for high-dynamics applications or when using sub-100 Hz iteration rates.
Check: What are sculling and coning errors?

Chapter 5: Initialization and Alignment

Because the navigation equations are iterative, the first solution must come from somewhere else. This is initialization.

Position initialization: From GNSS, a surveyed point, another INS, or the last known position. The lever arm between the INS and the reference must be measured.

Velocity initialization: Simplest method — keep the INS stationary (v = 0). Otherwise, use GNSS or Doppler radar. Disturbance from wind, loading, or water motion can be mitigated by time-averaging over a few seconds.

Attitude initialization — Leveling: When stationary, the only specific force is gravity (pointing down). Measuring gravity in body axes gives roll and pitch:

θ = arctan(−fx / √(fy² + fz²))
φ = arctan2(−fy, −fz)

Attitude initialization — Gyrocompassing: When stationary, the only rotation sensed is Earth rotation. Measuring this in body axes, after knowing roll/pitch from leveling, gives heading. Requires aviation-grade gyros or better (< 0.01°/hr bias for 1-mrad accuracy).

Gyrocompassing limitations: A gyro bias of 5°/hr or more makes gyrocompassing impossible. Near the poles, the horizontal component of Earth rotation vanishes, so heading cannot be determined. MEMS-grade INS must get heading from an external source (magnetic compass, GNSS trajectory, or another INS).
Check: What physical phenomenon does leveling exploit?

Chapter 6: Fine Alignment

Most initialization techniques do not achieve the 1-mrad attitude accuracy needed for precision navigation. Fine alignment follows initialization to calibrate residual errors.

The principle: attitude errors cause velocity errors (e.g., 1-mrad pitch error → 10 mm/s² velocity drift from mis-resolved gravity). By observing velocity drift and feeding it to a Kalman filter, the attitude can be refined.

Three main techniques:

TechniqueReferenceApplication
Quasi-stationaryZero velocity (ZUPT)Ground, before mission
GNSS alignmentGNSS position/velocityDuring navigation phase
Transfer alignmentAnother INS or INS/GNSSGuided weapons, wing pods

In all cases, a Kalman filter estimates the residual attitude errors, velocity errors, and often instrument biases. Maneuvers help: rotating the INS changes the relationship between accelerometer bias and attitude error, making them separately observable.

Correlation problem: When stationary, a 10 mm/s² accelerometer bias and a 1-mrad attitude error produce the same velocity drift. They cannot be separated without maneuvers. This residual correlation is why fine alignment cannot achieve unlimited accuracy.
Check: Why do maneuvers help fine alignment?

Chapter 7: Error Propagation

INS errors grow with time. Understanding how they grow is essential for integrated navigation design.

Short-term, straight-line propagation:

Error SourcePosition Error Growth
Accelerometer bias ba½ ba t² (quadratic)
Gyro bias bg⅙ g bg t³ (cubic, via attitude)
Initial velocity error δv0δv0 t (linear)
Initial attitude error δψ0½ g δψ0 t² (quadratic, via gravity)

Medium/long-term: Gravity feedback creates Schuler oscillations with an 84.4-minute period. Pitch/roll attitude errors and horizontal position errors oscillate at this period rather than growing unboundedly. However, heading errors are not bounded by Schuler and cause unbounded position drift.

INS Error Growth
The 84.4-minute Schuler period: This is the period of a pendulum with length equal to the Earth's radius. The gravity feedback in the navigation equations creates exactly this oscillation, bounding horizontal errors for pitch/roll sources. It was discovered by Max Schuler in 1923 for ship gyrocompasses.
Check: Why does gyro bias cause worse position errors than accelerometer bias?

Chapter 8: Platform INS and Horizontal-Plane Navigation

Historically, INS used gimballed platforms where the accelerometers and gyros were mounted on a mechanically stabilized platform that maintained alignment with the navigation frame. Gyros sensed deviation; torquers corrected it.

Advantages of platform INS: accelerometers always measure in navigation-frame axes (no attitude-dependent errors in force transformation), and the platform mechanically isolates sensors from body vibration.

Modern strapdown INS mount sensors rigidly to the body and perform all frame transformations computationally. Strapdown is lighter, cheaper, more reliable, and dominates today.

Horizontal-plane navigation: For land vehicles and pedestrians, a simplified 2D navigation solution uses only horizontal accelerometers and a heading gyro. This is less accurate than full 3D but requires fewer sensors and simpler math. Height is assumed known or measured by a barometer.

Check: What is the main advantage of strapdown INS over gimballed platform INS?

Chapter 9: Summary

Key takeaways:
• The INS navigation processor performs four steps: attitude update, specific-force transform, velocity update, position update
• ECI frame: simplest (no Coriolis/centrifugal), but needs post-transform for Earth-referenced output
• ECEF frame: matches GNSS, adds Coriolis and centrifugal terms
• Local nav frame: NED output with curvilinear position, most complex (transport rate)
• Wander azimuth avoids polar singularity
• Initialization: leveling (gravity → roll/pitch), gyrocompassing (Earth rotation → heading)
• Fine alignment uses Kalman filter to refine attitude using velocity error observations
• Gyro bias → cubic position error; accelerometer bias → quadratic
• Schuler oscillations (84.4 min period) bound horizontal errors from pitch/roll sources
• Heading errors cause unbounded drift
Check: What is the Schuler period and why does it matter?