Navigation equations in ECI, ECEF, and local frames. Attitude update, velocity integration, alignment, and error propagation.
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:
| Step | Input | Output |
|---|---|---|
| 1. Attitude update | Gyro angular rate (ωibb) | Updated rotation matrix Cb |
| 2. Specific-force transform | Accel specific force (fibb) | Specific force in nav frame |
| 3. Velocity update | Transformed specific force + gravity | Updated velocity |
| 4. Position update | Updated velocity | Updated 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).
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:
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:
Velocity update. Inertially referenced acceleration is specific force plus gravitational acceleration. Integration gives:
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:
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:
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:
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:
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:
where Ωinn = Ωien + Ωenn combines Earth rotation and transport rate.
Velocity update. Now includes Coriolis from both Earth rotation and transport rate:
Position update. Now in curvilinear coordinates (latitude L, longitude λ, height h). The meridional and transverse radii of curvature (RN, RE) appear:
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:
| Application | Typical Rate | First-Order OK? |
|---|---|---|
| Marine, aviation INS | 50–200 Hz | Usually, with care |
| Tactical grade | 100–400 Hz | Yes |
| MEMS / consumer | 100–1000 Hz | Yes (sensor noise dominates) |
| High-dynamics (missiles) | 200–1000 Hz | May 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.
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:
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).
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:
| Technique | Reference | Application |
|---|---|---|
| Quasi-stationary | Zero velocity (ZUPT) | Ground, before mission |
| GNSS alignment | GNSS position/velocity | During navigation phase |
| Transfer alignment | Another INS or INS/GNSS | Guided 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.
INS errors grow with time. Understanding how they grow is essential for integrated navigation design.
Short-term, straight-line propagation:
| Error Source | Position 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.
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.