4.2.22 IMU/GNSS Sensor Fusion
Spacecraft navigation requires knowledge not only of attitude, but also of position, velocity, and motion through space. An inertial measurement unit (IMU) can provide very high-rate information about spacecraft rotational motion and non-gravitational acceleration, but an inertial solution gradually drifts because sensor errors are integrated with time.
GNSS provides an external navigation reference. When GNSS measurements are available, they can be used to constrain the accumulated inertial-navigation errors.
The fundamental idea is therefore
\[ \boxed{ \text{High-Rate IMU Propagation} + \text{GNSS Absolute Navigation Information} \rightarrow \text{Continuous Navigation Solution} } \]
The two systems are complementary:
\[ \boxed{ \text{IMU} \rightarrow \text{high-rate, continuous, self-contained propagation} } \]
\[ \boxed{ \text{GNSS} \rightarrow \text{long-term position/velocity reference} } \]
A practical fusion system may estimate
\[ \boxed{ \mathbf x = \begin{bmatrix} \mathbf r\\ \mathbf v\\ \mathbf q\\ \mathbf b_a\\ \mathbf b_g \end{bmatrix} } \]
where
- \(\mathbf r\) = position,
- \(\mathbf v\) = velocity,
- \(\mathbf q\) = attitude quaternion,
- \(\mathbf b_a\) = accelerometer bias,
- \(\mathbf b_g\) = gyroscope bias.
More advanced estimators may additionally include clock errors, scale factors, sensor misalignment, GNSS receiver clock states, antenna lever arms, or other calibration parameters.
4.2.22.1 What Does an IMU Measure?
An IMU normally contains at least two three-axis sensor groups:
\[ \boxed{\text{IMU} = \text{3-axis accelerometer} + \text{3-axis gyroscope}} \]
The gyroscopes measure angular rate, while the accelerometers measure specific force.
This distinction is fundamental.
The accelerometer does not directly measure inertial acceleration.
A simplified accelerometer measurement model is
\[ \boxed{ \mathbf f_m = \mathbf f^B+\mathbf b_a+\mathbf n_a } \]
where
- \(\mathbf f_m\) is measured specific force,
- \(\mathbf f^B\) is true specific force expressed in the body frame,
- \(\mathbf b_a\) is accelerometer bias,
- \(\mathbf n_a\) is measurement noise.
The gyro measurement can similarly be represented as
\[ \boxed{ \boldsymbol\omega_m = \boldsymbol\omega^B+\mathbf b_g+\mathbf n_g } \]
Thus both sensors contain useful motion information together with errors that must be estimated or modeled.
4.2.22.2 Specific Force
Specific force is the non-gravitational acceleration experienced by the accelerometer proof mass.
Conceptually,
\[ \boxed{ \mathbf f = \mathbf a-\mathbf g } \]
for a simple inertial-frame interpretation.
Therefore,
\[ \boxed{ \mathbf a=\mathbf f+\mathbf g } \]
after the specific-force measurement has been transformed into the appropriate navigation frame.
This is why accelerometer output cannot simply be integrated twice and called position.
The navigation algorithm must account for:
- spacecraft attitude,
- coordinate frames,
- gravity,
- sensor bias,
- sensor scale factors,
- numerical integration,
- and, depending on the formulation, rotating-frame effects.
Why specific force is different from inertial acceleration
An accelerometer senses non-gravitational force per unit mass. Gravity is therefore introduced through the navigation model rather than being read directly by the accelerometer.
4.2.22.3 Why Attitude Is Required for Inertial Navigation
Accelerometers are mounted in the spacecraft body frame.
Suppose the accelerometer measures
\[ \mathbf f^B. \]
Navigation position and velocity may instead be propagated in a navigation or inertial frame \(N\).
The measurement must therefore be transformed:
\[ \boxed{ \mathbf f^N = \mathbf C_{NB}(\mathbf q)\mathbf f^B } \]
where
\[ \mathbf C_{NB} \]
is the direction cosine matrix determined from the estimated attitude.
Therefore an attitude error creates an acceleration-transformation error.
This gives an important coupling:
\[ \boxed{ \text{Attitude Error} \rightarrow \text{Acceleration Error} \rightarrow \text{Velocity Error} \rightarrow \text{Position Error} } \]
Consequently, attitude estimation is not separate from translational inertial navigation. It directly affects it.
Attitude error becomes translation error
A small attitude error rotates the measured specific-force vector into the wrong navigation direction. Once integrated, that projection error appears first in velocity and then in position.
4.2.22.4 Inertial Navigation Mechanisation
The process of converting IMU measurements into navigation states is called inertial navigation mechanisation.
A simplified processing chain is
\[ \boxed{ \begin{array}{c} \text{Gyroscope}\\ \downarrow\\ \text{Attitude Propagation}\\ \downarrow\\ \mathbf C_{NB}\\ \\ \text{Accelerometer}\\ \downarrow\\ \text{Bias Correction}\\ \downarrow\\ \text{Frame Transformation}\\ \downarrow\\ \text{Gravity / Frame Corrections}\\ \downarrow\\ \dot{\mathbf v}\\ \downarrow\\ \mathbf v\\ \downarrow\\ \mathbf r \end{array} } \]
The exact mechanisation equations depend strongly on the selected reference frame.
4.2.22.5 Basic Position and Velocity Propagation
In a simple inertial frame,
\[ \boxed{ \dot{\mathbf r}=\mathbf v } \]
and
\[ \boxed{ \dot{\mathbf v} = \mathbf C_{IB}(\mathbf q) \left(\mathbf f_m-\hat{\mathbf b}_a\right) + \mathbf g^I } \]
where
- \(\mathbf C_{IB}\) rotates body-frame specific force into the inertial frame,
- \(\mathbf g^I\) is gravitational acceleration.
The attitude itself is propagated from gyro measurements:
\[ \boxed{ \dot{\mathbf q} = \frac12 \mathbf\Omega \left( \boldsymbol\omega_m-\hat{\mathbf b}_g \right) \mathbf q } \]
Thus the inertial navigation solution is fundamentally a coupled propagation of
\[ \boxed{ \mathbf r,\quad \mathbf v,\quad \mathbf q. } \]
4.2.22.6 Why IMU Navigation Drifts
An IMU can operate without external signals, but its navigation solution is not absolutely bounded.
Consider a constant accelerometer bias
\[ \mathbf b_a. \]
Ignoring other effects, velocity error approximately grows as
\[ \boxed{ \delta\mathbf v(t)\approx\mathbf b_a t } \]
and position error approximately grows as
\[ \boxed{ \delta\mathbf r(t) \approx \frac12\mathbf b_a t^2. } \]
This illustrates why even a small accelerometer bias eventually produces substantial navigation error.
Gyro bias creates an additional problem because it corrupts attitude, which then causes acceleration to be projected into the wrong direction.
Why inertial drift is unavoidable without aiding
Bias, noise, scale-factor error, and alignment error enter every propagation step. Because the navigation solution is obtained through integration, even small persistent sensor errors accumulate with time.
4.2.22.7 Gyro Error Coupling Into Position
Suppose the attitude estimate contains a small error
\[ \delta\boldsymbol\theta. \]
Then the body-to-navigation transformation is also slightly wrong.
A first-order specific-force transformation error has the approximate form
\[ \delta\mathbf f^N \approx - [\hat{\mathbf f}^N\times] \delta\boldsymbol\theta. \]
Therefore gyro errors can indirectly become translational-navigation errors:
\[ \boxed{ \text{Gyro Bias} \rightarrow \text{Attitude Drift} \rightarrow \text{Specific-Force Projection Error} \rightarrow \text{Velocity Drift} \rightarrow \text{Position Drift} } \]
This coupling is one reason an integrated IMU/GNSS estimator often includes both gyro and accelerometer biases.
Gyro quality affects position indirectly
Gyroscopes do not measure position, but gyro errors corrupt attitude. The resulting attitude error changes how accelerometer measurements are resolved into the navigation frame.
4.2.22.8 Accelerometer Bias
A common accelerometer model is
\[ \boxed{ \mathbf f_m = \mathbf f + \mathbf b_a + \mathbf n_a. } \]
Bias may be modeled as constant over short intervals:
\[ \dot{\mathbf b}_a=0, \]
as a random walk:
\[ \boxed{ \dot{\mathbf b}_a=\mathbf w_{ba}, } \]
or using a first-order Gauss-Markov model:
\[ \boxed{ \dot{\mathbf b}_a = -\frac{1}{\tau_a}\mathbf b_a+\mathbf w_{ba}. } \]
The model should be selected from the physical sensor characteristics rather than simply chosen for mathematical convenience.
4.2.22.9 Gyroscope Bias
Similarly,
\[ \boxed{ \boldsymbol\omega_m = \boldsymbol\omega + \mathbf b_g + \mathbf n_g. } \]
A common bias model is
\[ \boxed{ \dot{\mathbf b}_g=\mathbf w_{bg}. } \]
The GNSS does not directly measure gyro bias.
Instead, gyro bias becomes observable through its effect on attitude and, subsequently, on the predicted navigation trajectory.
This is an important principle:
\[ \boxed{ \text{Sensor Biases Are Often Estimated Through Their Effect on Other States} } \]
4.2.22.10 Accelerometer Scale Factor and Misalignment
A more complete accelerometer model can be written
\[ \boxed{ \mathbf f_m = (\mathbf I+\mathbf S_a)\mathbf M_a\mathbf f + \mathbf b_a+\mathbf n_a } \]
where
- \(\mathbf S_a\) represents scale-factor errors,
- \(\mathbf M_a\) represents axis misalignment and cross-axis coupling.
Similarly, the gyro may have
\[ \boxed{ \boldsymbol\omega_m = (\mathbf I+\mathbf S_g)\mathbf M_g\boldsymbol\omega + \mathbf b_g+\mathbf n_g. } \]
High-accuracy navigation may require some of these errors to be calibrated before flight or estimated during operation.
4.2.22.11 What Does GNSS Contribute?
GNSS provides information referenced to an external navigation system rather than relying only on integration.
Depending on receiver architecture, GNSS may provide:
- position,
- velocity,
- time,
- pseudorange,
- carrier phase,
- Doppler,
- satellite ephemeris information,
- measurement quality indicators.
At the simplest level,
\[ \boxed{ \mathbf z_{GNSS} = \begin{bmatrix} \mathbf r_{GNSS}\\ \mathbf v_{GNSS} \end{bmatrix}. } \]
These measurements periodically constrain the inertial solution.
4.2.22.12 GNSS Position Measurement Model
For a loosely coupled architecture, GNSS position may be represented as
\[ \boxed{ \mathbf z_r = \mathbf r+\mathbf v_r } \]
where \(\mathbf v_r\) is GNSS position measurement error.
The innovation is
\[ \boxed{ \mathbf r_r = \mathbf z_r-\hat{\mathbf r}^{-}. } \]
If the propagated IMU solution has drifted away from the GNSS solution, this residual provides information for correcting the navigation state.
4.2.22.13 GNSS Velocity Measurement Model
GNSS velocity can similarly be represented as
\[ \boxed{ \mathbf z_v = \mathbf v+\mathbf v_v. } \]
The innovation becomes
\[ \boxed{ \mathbf r_v = \mathbf z_v-\hat{\mathbf v}^{-}. } \]
Velocity measurements are especially useful because accelerometer bias directly drives velocity error.
Repeated GNSS velocity corrections can therefore provide information that helps estimate accelerometer bias.
4.2.22.14 Why GNSS Corrects More Than Position
It may appear that a GNSS position update should correct only position.
In a Kalman filter, however, covariance contains cross-correlations between states.
Suppose the state contains
\[ \delta\mathbf r,\; \delta\mathbf v,\; \delta\boldsymbol\theta,\; \delta\mathbf b_a,\; \delta\mathbf b_g. \]
Then the covariance contains terms such as
\[ \mathbf P_{r,b_a}, \qquad \mathbf P_{v,b_a}, \qquad \mathbf P_{v,\theta}. \]
Consequently,
\[ \boxed{ \text{GNSS Residual} \rightarrow \text{Position/Velocity Correction} + \text{Indirect Bias and Attitude Correction} } \]
when those states are sufficiently correlated and observable.
Cross-covariance is what enables indirect correction
A Kalman filter can correct states that are not directly measured when those states are statistically correlated with measured quantities. This is how GNSS residuals can help estimate IMU biases and attitude errors.
4.2.22.15 Typical Error-State Navigation Vector
A common error-state vector is
\[ \boxed{ \delta\mathbf x = \begin{bmatrix} \delta\mathbf r\\ \delta\mathbf v\\ \delta\boldsymbol\theta\\ \delta\mathbf b_a\\ \delta\mathbf b_g \end{bmatrix} } \]
which contains 15 states.
Thus,
\[ \boxed{ \delta\mathbf x\in\mathbb R^{15}. } \]
The nominal navigation state contains the full nonlinear quantities, while the filter covariance represents small errors around that nominal trajectory.
This is commonly called an error-state Kalman filter formulation.
4.2.22.16 Why an Error-State Filter Is Useful
Position and velocity errors can naturally be represented additively.
Attitude is different because rotations lie on a nonlinear manifold.
The error-state approach separates
\[ \boxed{\text{Nominal Navigation State}} \]
from
\[ \boxed{\text{Small Navigation Error State}}. \]
The nominal quaternion remains a valid unit quaternion, while the filter estimates a three-component small-angle error
\[ \delta\boldsymbol\theta. \]
After correction, that error is injected into the nominal state.
This avoids treating the four quaternion components as independent unconstrained states.
Why the error-state architecture fits navigation
Position and velocity can be corrected additively, while attitude is naturally corrected multiplicatively. The error-state formulation lets one covariance describe a locally linear error vector around a nonlinear nominal trajectory.
4.2.22.17 Continuous Error-State Dynamics
A general linearized error model is
\[ \boxed{ \delta\dot{\mathbf x} = \mathbf F\delta\mathbf x + \mathbf G\mathbf w } \]
where
- \(\mathbf F\) is the error-state dynamics matrix,
- \(\mathbf G\) maps process noise into the state,
- \(\mathbf w\) represents IMU and bias-driving noise.
For the 15-state system,
\[ \mathbf F \]
contains the coupling among position, velocity, attitude, accelerometer bias, and gyro bias.
Understanding these couplings is more important than merely memorizing the matrix.
4.2.22.18 Position-Error Dynamics
Since
\[ \dot{\mathbf r}=\mathbf v, \]
the position error approximately satisfies
\[ \boxed{ \delta\dot{\mathbf r} = \delta\mathbf v. } \]
Therefore any velocity error eventually becomes position error.
This is the first major integration relationship in inertial navigation.
4.2.22.19 Velocity-Error Dynamics
A simplified velocity-error equation is
\[ \boxed{ \delta\dot{\mathbf v} \approx - [\hat{\mathbf f}^{N}\times] \delta\boldsymbol\theta - \mathbf C_{NB}\delta\mathbf b_a + \delta\mathbf g + \mathbf w_v. } \]
This equation shows that velocity error can arise from:
- attitude error,
- accelerometer bias,
- gravity-model error,
- accelerometer noise,
- other model uncertainties.
Thus translational navigation quality cannot be assessed from accelerometer noise alone.
4.2.22.20 Attitude-Error Dynamics
A simplified attitude-error model is
\[ \boxed{ \delta\dot{\boldsymbol\theta} \approx - [\hat{\boldsymbol\omega}\times]\delta\boldsymbol\theta - \delta\mathbf b_g - \mathbf n_g. } \]
Therefore gyro bias drives attitude error.
That attitude error subsequently drives velocity error.
This creates the important chain
\[ \boxed{ \delta\mathbf b_g \rightarrow \delta\boldsymbol\theta \rightarrow \delta\mathbf v \rightarrow \delta\mathbf r. } \]
4.2.22.21 Covariance Propagation
For the continuous linearized error system,
\[ \boxed{ \dot{\mathbf P} = \mathbf F\mathbf P + \mathbf P\mathbf F^T + \mathbf G\mathbf Q\mathbf G^T. } \]
After discretization,
\[ \boxed{ \mathbf P_{k+1}^{-} = \mathbf\Phi_k \mathbf P_k^{+} \mathbf\Phi_k^T + \mathbf Q_{d,k}. } \]
The covariance represents how uncertain the propagated inertial solution has become.
Without external measurements, it should generally grow in the directions that are not sufficiently constrained.
Covariance is the estimator's uncertainty model
During propagation the filter should become less certain according to the process-noise model. External measurements reduce uncertainty only in directions that they actually observe.
4.2.22.22 Multi-Rate IMU/GNSS Fusion
IMU and GNSS operate at very different rates.
An IMU may provide measurements at tens, hundreds, or thousands of hertz.
GNSS navigation measurements may arrive much more slowly.
Therefore the architecture is naturally
\[ \boxed{ \text{IMU} \rightarrow \text{High-Rate Propagation} } \]
with
\[ \boxed{ \text{GNSS Arrival} \rightarrow \text{Measurement Correction}. } \]
There may be many IMU propagation cycles between two GNSS updates.
High-rate propagation and low-rate correction are intentional
The IMU preserves short-term continuity, while GNSS periodically constrains long-term drift. The different sensor rates are therefore a natural feature of the architecture rather than a problem to eliminate.
4.2.22.23 Asynchronous Measurement Processing
The estimator should not require every sensor to provide data at the same instant.
Instead,
\[ t_{IMU,1},t_{IMU,2},\ldots \]
define propagation events, while
\[ t_{GNSS,1},t_{GNSS,2},\ldots \]
define correction events.
This gives
\[ \boxed{ \text{Propagation Clock} \neq \text{Measurement-Update Clock}. } \]
This event-driven architecture is common in practical navigation systems.
4.2.22.24 Loosely Coupled IMU/GNSS Fusion
In a loosely coupled architecture, the GNSS receiver first computes its own navigation solution.
The fusion filter then receives quantities such as
\[ \boxed{ \mathbf z_{GNSS} = \begin{bmatrix} \mathbf r_{GNSS}\\ \mathbf v_{GNSS} \end{bmatrix}. } \]
The architecture is approximately
\[ \boxed{ \begin{array}{ccccc} \text{GNSS Signals} &\rightarrow& \text{GNSS Receiver Solution} &\rightarrow& \mathbf r,\mathbf v \\ &&&&\downarrow\\ \text{IMU} &\rightarrow& \text{INS Propagation} &\rightarrow& \text{Fusion Filter} \end{array} } \]
This is conceptually simple and modular.
What loose coupling means physically
The GNSS receiver solves its own navigation problem first. The fusion filter then treats that receiver solution as an external measurement of position and velocity.
4.2.22.25 Advantages of Loose Coupling
Loose coupling provides several practical advantages:
- simpler interfaces,
- clear separation between GNSS and inertial subsystems,
- easier integration,
- lower estimator complexity,
- independent GNSS receiver operation,
- straightforward position/velocity residuals.
For many applications, these advantages are significant.
The fusion filter does not need to process individual GNSS satellite observations.
4.2.22.26 Limitation of Loose Coupling
The major limitation is that the GNSS receiver normally needs enough usable satellite measurements to produce its own navigation solution.
If the receiver cannot produce a valid position/velocity solution, the loosely coupled estimator loses its GNSS correction.
Thus,
\[ \boxed{ \text{No Valid GNSS Navigation Solution} \rightarrow \text{No Loose-Coupled GNSS Update}. } \]
The IMU must then propagate the navigation state alone until GNSS returns.
4.2.22.27 Tightly Coupled IMU/GNSS Fusion
In a tightly coupled architecture, the fusion filter processes lower-level GNSS measurements directly.
These may include
\[ \boxed{ \text{Pseudorange} + \text{Doppler} + \text{Carrier Phase} } \]
depending on the receiver and application.
The architecture becomes
\[ \boxed{ \begin{array}{c} \text{IMU}\\ \downarrow\\ \text{INS Propagation}\\ \downarrow\\ \text{Predicted Navigation State}\\ \downarrow\\ \text{Predict GNSS Observables}\\ \downarrow\\ \text{Compare With Raw GNSS Measurements}\\ \downarrow\\ \text{Filter Correction} \end{array} } \]
This creates deeper integration between the inertial and GNSS systems.
What tight coupling changes
Tight coupling moves GNSS processing deeper into the estimator. Rather than waiting for a complete GNSS solution, the filter predicts and compares individual GNSS observables.
4.2.22.28 GNSS Pseudorange
For receiver position \(\mathbf r\) and satellite \(i\) at position \(\mathbf r_i\), the geometric range is
\[ \boxed{ \rho_i = \|\mathbf r_i-\mathbf r\|. } \]
A simplified pseudorange model is
\[ \boxed{ P_i = \rho_i + c(\delta t_r-\delta t_i) + \varepsilon_i } \]
where
- \(c\) is the speed of light,
- \(\delta t_r\) is receiver clock error,
- \(\delta t_i\) is satellite clock error,
- \(\varepsilon_i\) contains other measurement errors.
In a tightly coupled filter, the inertial state predicts the expected pseudorange.
4.2.22.29 Doppler and Range-Rate Information
GNSS Doppler provides information related to relative line-of-sight velocity between the receiver and satellite.
A simplified range-rate relation is
\[ \boxed{ \dot{\rho}_i = \mathbf u_i^T (\mathbf v_i-\mathbf v) } \]
where
\[ \mathbf u_i = \frac{\mathbf r_i-\mathbf r} {\|\mathbf r_i-\mathbf r\|} \]
is the line-of-sight unit vector.
Doppler measurements therefore strongly constrain receiver velocity and clock drift.
4.2.22.30 Why Tight Coupling Can Be More Robust
A loosely coupled system depends on the GNSS receiver producing a complete navigation solution.
A tightly coupled estimator can potentially use individual valid measurements even when the complete standalone GNSS solution is unavailable.
Conceptually,
\[ \boxed{ \text{Partial GNSS Measurement Availability} \rightarrow \text{Potentially Useful Navigation Information} } \]
rather than automatically discarding all GNSS information.
This can improve robustness under limited measurement availability, provided the remaining geometry and observability are sufficient.
Why tight coupling can retain partial information
Individual pseudorange or Doppler measurements may still carry useful state information even when there are not enough observations for an independent receiver navigation solution.
4.2.22.31 Deep or Ultra-Tight Coupling
An even deeper architecture allows inertial navigation information to assist GNSS receiver tracking loops.
Conceptually,
\[ \boxed{ \text{INS Prediction} \rightarrow \text{Aid GNSS Signal Tracking}. } \]
This can improve signal tracking under demanding dynamics or weak-signal conditions, but it requires much tighter integration with receiver internals.
Therefore loose, tight, and deep coupling describe progressively deeper interaction between the inertial and GNSS subsystems.
4.2.22.32 Loose Versus Tight Coupling
The distinction can be summarized as
\[ \boxed{ \text{Loose Coupling} \rightarrow \text{Fuse GNSS Navigation Solutions} } \]
\[ \boxed{ \text{Tight Coupling} \rightarrow \text{Fuse Individual GNSS Observables} } \]
\[ \boxed{ \text{Deep Coupling} \rightarrow \text{Fusion Extends Into GNSS Tracking} } \]
These are architectural choices rather than different physical navigation principles.
4.2.22.33 GNSS Receiver Clock States
Raw GNSS processing often requires receiver clock states.
The estimator may therefore include
\[ \delta t_r \]
and clock drift
\[ \delta\dot t_r. \]
The state can then be expanded:
\[ \boxed{ \delta\mathbf x = [ \delta\mathbf r, \delta\mathbf v, \delta\boldsymbol\theta, \delta\mathbf b_a, \delta\mathbf b_g, \delta t_r, \delta\dot t_r ]^T. } \]
These states are particularly important in tightly coupled architectures.
Clock states become part of navigation
Raw GNSS measurements depend on receiver timing. In tightly coupled filters, clock bias and clock drift are therefore estimated alongside vehicle states.
4.2.22.34 GNSS Antenna Lever Arm
The GNSS antenna phase center may not coincide with the spacecraft center of mass or IMU reference point.
Let the body-frame lever arm be
\[ \mathbf l_{BA}^{B}. \]
Then antenna position is approximately
\[ \boxed{ \mathbf r_A = \mathbf r_B + \mathbf C_{NB}\mathbf l_{BA}^{B}. } \]
Therefore GNSS measures the motion of the antenna location, not automatically the exact point represented by the inertial navigation state.
Antenna position is not automatically the vehicle reference point
GNSS measures the antenna phase center. If the estimator state is defined at the spacecraft center of mass or IMU, the lever arm must be modeled consistently.
4.2.22.35 Rotational Contribution to Antenna Velocity
If the spacecraft rotates, the offset antenna has an additional velocity.
Approximately,
\[ \boxed{ \mathbf v_A = \mathbf v_B + \mathbf C_{NB} \left( \boldsymbol\omega^B \times \mathbf l_{BA}^{B} \right). } \]
This contribution may be small for some spacecraft but significant for:
- large lever arms,
- high angular rates,
- precise velocity estimation.
Ignoring lever arms can therefore create systematic residuals.
4.2.22.36 IMU Lever Arm
The IMU itself may also be displaced from the navigation reference point.
For a rotating rigid body, acceleration depends on location.
Terms can include
\[ \boxed{ \dot{\boldsymbol\omega}\times\mathbf l + \boldsymbol\omega\times (\boldsymbol\omega\times\mathbf l). } \]
These are respectively related to tangential and centripetal acceleration.
Therefore precision inertial navigation requires clearly defined sensor reference points.
4.2.22.37 Time Synchronization
IMU and GNSS measurements must correspond to the correct physical epochs.
Suppose a measurement has timing error
\[ \Delta t. \]
Then approximately,
\[ \boxed{ \delta\mathbf r \approx \mathbf v\Delta t } \]
and
\[ \boxed{ \delta\mathbf v \approx \mathbf a\Delta t. } \]
Timing errors can therefore appear as navigation errors.
High-rate motion makes accurate synchronization increasingly important.
Timing errors look like state errors
A delayed measurement compares the current predicted state with information from an earlier physical state. During motion, this appears directly as position, velocity, and sometimes attitude residual.
4.2.22.38 GNSS Measurement Latency
GNSS measurements may be received after the physical measurement epoch because of:
- signal processing,
- navigation solution computation,
- communication,
- software scheduling.
The estimator should ideally use the measurement timestamp, not merely the packet-arrival time.
Possible strategies include:
- delayed-state update,
- buffering and repropagation,
- known-latency compensation,
- state augmentation.
4.2.22.39 Out-of-Sequence Measurements
Sometimes a GNSS measurement corresponding to an earlier time arrives after the estimator has already propagated beyond that epoch.
This creates an out-of-sequence measurement problem.
Simply applying the old measurement to the current state can introduce error.
A more consistent strategy is
\[ \boxed{ \text{Return to Measurement Epoch} \rightarrow \text{Apply Update} \rightarrow \text{Repropagate} } \]
when computational architecture permits it.
4.2.22.40 GNSS Outage
During GNSS outage,
\[ \boxed{ \text{GNSS Update}=0. } \]
The estimator continues using IMU propagation:
\[ \boxed{ \text{IMU} \rightarrow \mathbf q \rightarrow \mathbf v \rightarrow \mathbf r. } \]
But navigation uncertainty increases.
The rate of degradation depends on:
- accelerometer bias,
- gyro bias,
- sensor noise,
- outage duration,
- spacecraft dynamics,
- availability of other aiding measurements.
GNSS outage changes uncertainty before it necessarily destroys navigation
The inertial solution remains continuous during an outage, but the absence of external correction means position, velocity, and bias uncertainty generally grow with time.
4.2.22.41 Covariance During GNSS Outage
A physically realistic filter should reflect the loss of external navigation information.
Therefore,
\[ \boxed{ \text{GNSS Outage} \rightarrow \text{Increasing Navigation Covariance}. } \]
Position, velocity, bias, and possibly attitude uncertainty can all increase.
If covariance remains unrealistically small during a long outage, the estimator is becoming overconfident.
4.2.22.42 GNSS Reacquisition
When GNSS returns, the inertial solution may have accumulated significant error.
The first GNSS innovation may therefore be large:
\[ \mathbf r_k = \mathbf z_{GNSS,k} - h(\hat{\mathbf x}_k^-). \]
The estimator should validate reacquired measurements before applying large corrections.
Possible considerations include:
- innovation gating,
- measurement-quality checks,
- covariance consistency,
- staged reacquisition,
- reinitialization if errors exceed the local filter assumptions.
Reacquisition is a special operating condition
After a long outage, the inertial estimate may be far from the returning GNSS measurement. Large residuals should therefore be checked for validity before being allowed to produce a large state correction.
4.2.22.43 GNSS Innovation
For a generic GNSS measurement,
\[ \boxed{ \mathbf r_k = \mathbf z_k-h(\hat{\mathbf x}_k^-) } \]
and
\[ \boxed{ \mathbf S_k = \mathbf H_k\mathbf P_k^-\mathbf H_k^T+\mathbf R_k. } \]
The innovation contains more information than simply the numerical difference between GNSS and INS.
It should be interpreted relative to its predicted uncertainty.
4.2.22.44 Innovation Gating
A normalized innovation statistic is
\[ \boxed{ \mathrm{NIS} = \mathbf r^T\mathbf S^{-1}\mathbf r. } \]
A sufficiently large NIS can indicate:
- GNSS outlier,
- incorrect measurement covariance,
- timing error,
- filter divergence,
- model mismatch,
- bad satellite measurement.
Measurements should therefore be statistically validated rather than blindly fused.
NIS evaluates residual size relative to expected uncertainty
A raw residual has no statistical meaning without scale. NIS normalizes the residual using the innovation covariance so that a large error in a very uncertain direction is treated differently from the same error in a highly certain direction.
4.2.22.45 GNSS Measurement Covariance
GNSS measurement covariance is represented by
\[ \mathbf R_{GNSS}. \]
It determines how much confidence the estimator places in GNSS information relative to its propagated uncertainty.
A smaller covariance generally causes a stronger correction.
A larger covariance causes a weaker correction.
But covariance should represent actual measurement uncertainty, not be adjusted merely to force the desired filter behaviour.
4.2.22.46 IMU Process Noise
IMU uncertainty enters mainly through the process model.
The process-noise matrix may include:
- accelerometer white noise,
- gyro white noise,
- accelerometer bias instability,
- gyro bias instability.
Conceptually,
\[ \boxed{ \mathbf Q = f( \sigma_a, \sigma_g, \sigma_{ba}, \sigma_{bg} ). } \]
The continuous-time noise specifications must be converted correctly into discrete-time process noise.
4.2.22.47 Why Q and R Have Different Roles
The matrices should not be confused.
\[ \boxed{ \mathbf Q \rightarrow \text{Uncertainty Added During Propagation} } \]
whereas
\[ \boxed{ \mathbf R \rightarrow \text{Uncertainty of a Measurement}. } \]
IMU imperfections strongly influence \(\mathbf Q\).
GNSS measurement accuracy strongly influences \(\mathbf R\).
Together they determine how the filter balances propagation against correction.
Q and R should represent physics, not desired behaviour
Process noise describes uncertainty introduced by propagation; measurement noise describes uncertainty in a sensor observation. Artificially changing either matrix only to force smoother estimates can make the covariance statistically misleading.
4.2.22.48 Kalman Measurement Update
The Kalman gain is
\[ \boxed{ \mathbf K_k = \mathbf P_k^-\mathbf H_k^T \left( \mathbf H_k\mathbf P_k^-\mathbf H_k^T+\mathbf R_k \right)^{-1}. } \]
The estimated error is
\[ \boxed{ \delta\hat{\mathbf x}_k = \mathbf K_k\mathbf r_k. } \]
This error is then injected into the nominal navigation state.
4.2.22.49 Position and Velocity Error Injection
For position,
\[ \boxed{ \hat{\mathbf r}^{+} = \hat{\mathbf r}^{-} + \delta\hat{\mathbf r}. } \]
For velocity,
\[ \boxed{ \hat{\mathbf v}^{+} = \hat{\mathbf v}^{-} + \delta\hat{\mathbf v}. } \]
Bias corrections are similarly applied:
\[ \boxed{ \hat{\mathbf b}_a^{+} = \hat{\mathbf b}_a^{-} + \delta\hat{\mathbf b}_a } \]
and
\[ \boxed{ \hat{\mathbf b}_g^{+} = \hat{\mathbf b}_g^{-} + \delta\hat{\mathbf b}_g. } \]
4.2.22.50 Attitude Error Injection
For small attitude error,
\[ \delta\hat{\mathbf q} \approx \begin{bmatrix} 1\\ \frac12\delta\hat{\boldsymbol\theta} \end{bmatrix}. \]
Then
\[ \boxed{ \hat{\mathbf q}^{+} = \delta\hat{\mathbf q} \otimes \hat{\mathbf q}^{-} } \]
for one convention.
The quaternion should subsequently satisfy
\[ \boxed{ \|\hat{\mathbf q}\|=1. } \]
The multiplication order must remain consistent with the chosen attitude convention.
4.2.22.51 Error-State Reset
After corrections have been injected,
\[ \delta\hat{\mathbf r}\rightarrow0, \]
\[ \delta\hat{\mathbf v}\rightarrow0, \]
\[ \delta\hat{\boldsymbol\theta}\rightarrow0, \]
\[ \delta\hat{\mathbf b}_a\rightarrow0, \]
\[ \delta\hat{\mathbf b}_g\rightarrow0. \]
The covariance must be transformed consistently with the reset, particularly for the attitude-error coordinates.
Reset changes the local error coordinates
Once estimated errors are injected into the nominal state, the error origin moves. The covariance must remain consistent with that new local coordinate system.
4.2.22.52 Joseph Covariance Update
A numerically robust covariance update is
\[ \boxed{ \mathbf P^+ = (\mathbf I-\mathbf K\mathbf H) \mathbf P^- (\mathbf I-\mathbf K\mathbf H)^T + \mathbf K\mathbf R\mathbf K^T. } \]
This Joseph form helps preserve covariance symmetry and positive semidefiniteness under finite-precision computation.
4.2.22.53 GNSS Availability Logic
A practical estimator should not assume GNSS is always valid.
A measurement may be rejected because of:
- receiver status,
- insufficient observations,
- poor geometry,
- invalid navigation solution,
- signal-quality flags,
- innovation failure,
- unrealistic timestamp,
- corrupted data.
A useful software interface is
\[ \boxed{ \texttt{GNSS\_VALID}\in\{0,1\}. } \]
Only validated measurements should enter the estimator.
4.2.22.54 Satellite Geometry
GNSS navigation quality depends not only on measurement noise but also on satellite geometry.
Measurements from satellites with similar line-of-sight directions provide less independent geometric information.
Good geometry provides stronger constraints in multiple spatial directions.
Thus,
\[ \boxed{ \text{Navigation Accuracy} \neq \text{Measurement Noise Alone}. } \]
Geometry matters.
Geometry is part of measurement information
Two measurements with the same noise level can contribute very different navigation information depending on their line-of-sight geometry.
4.2.22.55 Dilution of Precision
GNSS geometry is often characterized using dilution-of-precision quantities such as:
- GDOP,
- PDOP,
- HDOP,
- VDOP,
- TDOP.
Conceptually,
\[ \boxed{ \text{Poor Geometry} \rightarrow \text{Larger Navigation Uncertainty}. } \]
These metrics should not be interpreted as sensor noise themselves; they describe how measurement geometry amplifies measurement uncertainty into solution uncertainty.
4.2.22.56 Spacecraft GNSS Considerations
GNSS use on spacecraft differs in several respects from ordinary terrestrial navigation.
The navigation design may need to consider:
- spacecraft altitude,
- antenna orientation,
- antenna field of view,
- received signal geometry,
- spacecraft attitude,
- receiver dynamics,
- signal acquisition and tracking,
- radiation environment,
- oscillator behaviour,
- antenna phase-center location.
Therefore GNSS performance should be evaluated for the actual orbital and spacecraft geometry rather than assumed from terrestrial receiver performance.
Spacecraft GNSS should be analyzed as a mission-specific sensing problem
Signal visibility, antenna orientation, orbital geometry, receiver dynamics, and environment can differ substantially from common terrestrial assumptions.
4.2.22.57 GNSS Antenna Visibility and Spacecraft Attitude
A GNSS antenna has a directional reception pattern.
As spacecraft attitude changes, satellite visibility and signal quality may also change.
Therefore,
\[ \boxed{ \text{Spacecraft Attitude} \rightarrow \text{Antenna Orientation} \rightarrow \text{GNSS Visibility / Quality}. } \]
This creates another connection between attitude and translational navigation.
4.2.22.58 Multiple GNSS Antennas
A spacecraft may use multiple GNSS antennas for:
- improved visibility,
- redundancy,
- attitude information,
- baseline measurements.
With sufficiently separated antennas and suitable carrier-phase processing, GNSS can also contribute attitude information.
Thus GNSS need not be limited to position and velocity.
4.2.22.59 GNSS-Based Attitude
Suppose two antennas define a known spacecraft baseline
\[ \mathbf b^B. \]
If GNSS processing estimates that baseline in a navigation frame,
\[ \mathbf b^N, \]
then
\[ \boxed{ \mathbf b^N = \mathbf C_{NB}\mathbf b^B. } \]
This provides attitude information.
A single baseline primarily constrains the direction of that baseline; multiple independent baselines can provide richer three-axis attitude information.
Multiple antennas can turn GNSS into an attitude sensor
A known baseline provides directional information. With multiple suitable baselines, the GNSS subsystem can contribute to full three-axis attitude estimation as well as translation.
4.2.22.60 Carrier-Phase Measurements
Carrier phase can provide much higher precision than code pseudorange, but it introduces integer ambiguity.
A simplified carrier-phase model is
\[ \boxed{ \Phi_i = \rho_i + c(\delta t_r-\delta t_i) + \lambda N_i + \varepsilon_{\Phi,i} } \]
where
- \(\lambda\) is carrier wavelength,
- \(N_i\) is integer ambiguity.
Carrier-phase processing can support precise navigation, but ambiguity management increases estimator complexity.
4.2.22.61 Doppler-Aided Velocity Estimation
Doppler measurements can provide precise velocity information.
This is particularly valuable for IMU fusion because velocity residuals strongly constrain accelerometer-driven drift.
Conceptually,
\[ \boxed{ \text{Doppler} \rightarrow \text{Velocity Information} \rightarrow \text{Improved Accelerometer-Bias Estimation}. } \]
The actual observability depends on geometry and motion.
4.2.22.62 Navigation Frame Selection
The estimator must explicitly define the frame in which position and velocity are represented.
Possible frames include:
- ECI,
- ECEF,
- local orbital frames,
- other mission-defined navigation frames.
The equations change depending on this choice.
For example, an Earth-fixed frame requires rotating-frame terms that are absent from a purely inertial formulation.
Frame choice changes the mechanisation equations
ECI, ECEF, and local orbital frames are all valid choices, but gravity, Earth-rotation terms, and measurement transformations must match the selected frame.
4.2.22.63 ECI Navigation
In an Earth-centered inertial frame,
\[ \boxed{ \dot{\mathbf r}^{I} = \mathbf v^{I} } \]
and a simplified translational equation is
\[ \boxed{ \dot{\mathbf v}^{I} = \mathbf C_{IB}\mathbf f^B + \mathbf g^I + \mathbf a_{\text{other}}^I. } \]
This formulation is conceptually natural for orbital dynamics.
GNSS measurements expressed in another frame must be transformed consistently before fusion.
4.2.22.64 ECEF Navigation
In an Earth-fixed rotating frame, the navigation equations include Earth-rotation effects.
A representative form is
\[ \boxed{ \dot{\mathbf v}^{E} = \mathbf C_{EB}\mathbf f^B + \mathbf g^E - 2\boldsymbol\omega_{IE}^E\times\mathbf v^E - \boldsymbol\omega_{IE}^E\times (\boldsymbol\omega_{IE}^E\times\mathbf r^E). } \]
The additional terms represent Coriolis and centrifugal effects.
The exact mechanisation must match the definitions used for gravity and reference frames.
4.2.22.65 Frame Consistency
Suppose GNSS position is expressed in ECEF but the inertial navigation state is represented in ECI.
Then one cannot form
\[ \mathbf r_{GNSS}^{E} - \hat{\mathbf r}^{I}. \]
The states must first be transformed into a common frame.
Therefore,
\[ \boxed{ \text{Measurement Frame} = \text{Prediction Frame} } \]
before innovation formation.
Frame mistakes can create errors far larger than sensor noise.
Frame inconsistency creates deterministic residuals
An estimator cannot meaningfully subtract states expressed in different frames. Frame conversion must occur before innovation formation.
4.2.22.66 Gravity Modelling
Accelerometers do not directly provide gravitational acceleration.
Gravity must be supplied by the navigation model.
At a simple level,
\[ \boxed{ \mathbf g(\mathbf r) = -\frac{\mu}{r^3}\mathbf r. } \]
More accurate models may include:
- Earth oblateness,
- higher-order gravity harmonics,
- third-body effects,
- other mission-relevant perturbations.
The required fidelity depends on the navigation objective and propagation duration.
4.2.22.67 Gravity-Model Error
Suppose the estimator uses
\[ \hat{\mathbf g} \]
while the true gravity is
\[ \mathbf g. \]
Then
\[ \boxed{ \delta\mathbf g = \mathbf g-\hat{\mathbf g}. } \]
This behaves as a model-driven acceleration error.
Over time it can produce velocity and position errors just as accelerometer error can.
Therefore improved sensor accuracy eventually makes environmental-model accuracy increasingly important.
4.2.22.68 Navigation Observability
A state is useful to estimate only if available measurements contain information about it.
For IMU/GNSS fusion, observability depends on:
- measurement type,
- satellite geometry,
- spacecraft motion,
- sensor orientation,
- state coupling,
- duration of measurement availability.
Position and velocity may be strongly observable from GNSS, while some calibration parameters may require specific motion.
Observability is not the same as including a state
A bias or calibration parameter may be present in the estimator but still fail to converge if the trajectory and measurements do not provide enough independent information about it.
4.2.22.69 Accelerometer Bias Observability
Accelerometer bias influences velocity:
\[ \delta\dot{\mathbf v} \supset - \mathbf C_{NB}\delta\mathbf b_a. \]
GNSS velocity and position measurements observe the resulting trajectory error.
Therefore,
\[ \boxed{ \text{Accelerometer Bias} \rightarrow \text{Velocity/Position Error} \rightarrow \text{GNSS Residual} } \]
allows bias estimation.
But observability can vary between axes depending on geometry and motion.
4.2.22.70 Gyro Bias Observability
Gyro bias first influences attitude:
\[ \delta\mathbf b_g \rightarrow \delta\boldsymbol\theta. \]
Attitude error then changes specific-force projection:
\[ \delta\boldsymbol\theta \rightarrow \delta\mathbf v. \]
GNSS observes the resulting navigation discrepancy.
Thus,
\[ \boxed{ \delta\mathbf b_g \rightarrow \delta\boldsymbol\theta \rightarrow \delta\mathbf v \rightarrow \delta\mathbf r \rightarrow \text{GNSS Residual}. } \]
This indirect chain can make gyro-bias observability weaker than direct position or velocity observability.
4.2.22.71 Motion and Observability
Motion can improve estimator calibration.
If the spacecraft experiences variation in:
- orientation,
- acceleration,
- angular rate,
- GNSS geometry,
the sensitivity of measurements to different error states changes.
Therefore,
\[ \boxed{ \text{Useful Excitation} \rightarrow \text{Improved Parameter Observability}. } \]
A calibration state that is theoretically estimable may still converge poorly if the spacecraft trajectory provides insufficient excitation.
Useful motion can reveal calibration errors
Changing attitude, acceleration, angular rate, or measurement geometry alters state sensitivity. That excitation can separate otherwise similar effects such as bias, scale factor, and misalignment.
4.2.22.72 Navigation During Low Dynamic Motion
Low-dynamic operation can be challenging for calibration-state estimation.
If specific force and angular motion change very little, some combinations of:
- bias,
- misalignment,
- scale factor,
may produce very similar measurement effects.
Therefore low dynamics can reduce observability even when sensor noise is small.
4.2.22.73 Navigation During Manoeuvres
During manoeuvres:
- accelerometer signals increase,
- angular rates may increase,
- attitude errors couple more strongly into velocity,
- timing errors become more visible,
- sensor scale-factor errors may become observable.
This can improve calibration observability.
At the same time, manoeuvres can stress:
- sensor dynamic range,
- GNSS tracking,
- filter linearization,
- synchronization.
So manoeuvres provide both useful excitation and a more demanding estimation environment.
Manoeuvres help and stress the estimator simultaneously
Dynamic motion can improve calibration observability, but it also magnifies timing, saturation, tracking, and linearization problems.
4.2.22.74 IMU Saturation
Every accelerometer and gyro has a finite measurement range.
If
\[ |f_i|>f_{\max} \]
or
\[ |\omega_i|>\omega_{\max}, \]
the measurement may saturate.
Once saturated, the true motion cannot be reconstructed merely by filtering the clipped measurement.
Therefore IMU range selection must consider the expected spacecraft dynamics and disturbances.
4.2.22.75 IMU Quantization
Digital sensors have finite resolution.
A measurement can be represented approximately as
\[ z_q = \Delta_q \operatorname{round} \left( \frac{z}{\Delta_q} \right) \]
where \(\Delta_q\) is the quantization step.
For very low dynamic motion, quantization can become important relative to the true signal.
This matters particularly when trying to resolve very small accelerations or angular rates.
4.2.22.76 Accelerometer Noise Integration
Accelerometer white noise is integrated into velocity and position.
Very approximately,
\[ \boxed{ \sigma_v\propto\sqrt{t} } \]
for ideal integrated white acceleration noise.
Position uncertainty grows more strongly because velocity is integrated again.
Real inertial sensors also contain colored noise, bias instability, scale-factor errors, and temperature dependence.
4.2.22.77 Gyro Noise Integration
Gyro noise causes attitude uncertainty.
That attitude uncertainty then affects acceleration transformation.
Thus gyro quality can influence translational navigation even if position itself is not measured by the gyro.
This is why IMU performance should be considered as an integrated navigation system rather than evaluating accelerometer and gyro specifications independently.
4.2.22.78 Temperature Effects
IMU bias and scale factor can vary with temperature.
A simple bias model may be
\[ \boxed{ \mathbf b_a(T) = \mathbf b_{a,0} + \mathbf K_T(T-T_0). } \]
Similar relationships can be used for gyroscopes.
Possible approaches include:
- pre-flight thermal calibration,
- onboard compensation,
- temperature-dependent error models,
- augmented estimation states.
4.2.22.79 IMU Calibration
IMU calibration may address:
- bias,
- scale factor,
- axis misalignment,
- cross-axis sensitivity,
- temperature dependence,
- nonlinearity.
Calibration is not separate from navigation performance.
A systematic calibration error repeatedly enters every propagation step.
Therefore:
\[ \boxed{ \text{Small Persistent IMU Error} + \text{Repeated Integration} \rightarrow \text{Large Navigation Error}. } \]
Calibration errors repeat at every propagation step
A fixed systematic IMU error is not a one-time offset. It continuously re-enters the navigation equations and is therefore repeatedly integrated.
4.2.22.80 Sensor Alignment
The IMU has its own sensor frame.
Let
\[ \mathbf C_{BI} \]
represent the calibrated rotation from IMU frame to spacecraft body frame.
Then
\[ \boxed{ \mathbf f^B = \mathbf C_{BI}\mathbf f^{IMU}. } \]
An alignment error causes specific force to be projected incorrectly.
For precision navigation, the physical mounting and software frame definition must agree.
4.2.22.81 Navigation Initialization
The estimator requires initial values for
\[ \mathbf r_0,\quad \mathbf v_0,\quad \mathbf q_0,\quad \mathbf b_{a,0},\quad \mathbf b_{g,0}. \]
GNSS may provide initial position and velocity.
Attitude may come from an attitude-determination system.
IMU biases may come from calibration or prior estimates.
Equally important is the initial covariance
\[ \boxed{ \mathbf P_0. } \]
It should represent the actual uncertainty of those initial conditions.
4.2.22.82 Initial Covariance
An unrealistically small initial covariance tells the filter that its initial estimate is already highly accurate.
This can cause the estimator to resist valid measurements.
An excessively large covariance can produce aggressive early corrections.
Therefore,
\[ \boxed{ \mathbf P_0 \rightarrow \text{Initial Confidence Model}. } \]
Initialization is part of filter design, not merely a software startup step.
Initial covariance controls early filter trust
The estimator uses P0 to decide how strongly it should trust its starting state relative to incoming measurements. Unrealistic P0 can create poor early transients even when the later filter model is correct.
4.2.22.83 Navigation Convergence
Different states may converge at different rates.
For example,
\[ T_r \neq T_v \neq T_{b_a} \neq T_{b_g}. \]
Position and velocity may converge quickly after GNSS becomes available, while some bias or calibration states may require longer observation and sufficient motion.
Therefore filter convergence should be assessed state by state.
Different states converge on different time scales
Position and velocity may respond immediately to GNSS, while IMU biases and calibration states often require time and sufficient excitation before they become well estimated.
4.2.22.84 Position Error
Define
\[ \boxed{ \delta\mathbf r = \mathbf r_{\text{true}} - \hat{\mathbf r}. } \]
A scalar position error is
\[ \boxed{ e_r = \|\delta\mathbf r\|. } \]
Useful performance measures include:
- RMS error,
- maximum error,
- 95th percentile,
- 99th percentile,
- axis-specific error.
4.2.22.85 Velocity Error
Similarly,
\[ \boxed{ \delta\mathbf v = \mathbf v_{\text{true}} - \hat{\mathbf v} } \]
and
\[ \boxed{ e_v = \|\delta\mathbf v\|. } \]
Velocity accuracy is especially important because it affects future propagated position and can be critical for guidance and control.
4.2.22.86 Bias Estimation Error
Accelerometer-bias error is
\[ \boxed{ \tilde{\mathbf b}_a = \mathbf b_a-\hat{\mathbf b}_a. } \]
Gyro-bias error is
\[ \boxed{ \tilde{\mathbf b}_g = \mathbf b_g-\hat{\mathbf b}_g. } \]
A filter can temporarily show good position accuracy because GNSS repeatedly corrects it while still carrying poor bias estimates.
Bias performance should therefore be evaluated independently.
4.2.22.87 Navigation Covariance
Position uncertainty may be represented by
\[ \mathbf P_r, \]
velocity uncertainty by
\[ \mathbf P_v, \]
and attitude uncertainty by
\[ \mathbf P_\theta. \]
For example,
\[ \boxed{ \sigma_{r_i} = \sqrt{P_{r,ii}}. } \]
The estimated covariance should be compared with actual errors in simulation or test.
4.2.22.88 Navigation NEES
For an error vector
\[ \delta\mathbf x \]
and covariance \(\mathbf P\),
\[ \boxed{ \mathrm{NEES} = \delta\mathbf x^T \mathbf P^{-1} \delta\mathbf x. } \]
NEES helps evaluate whether the estimator covariance is statistically consistent with actual state errors.
A filter with low RMSE can still be inconsistent if it reports unrealistically small uncertainty.
NEES checks whether covariance matches actual state error
Low navigation RMSE does not prove a filter is consistent. NEES tests whether the magnitude and direction of the true error agree with the uncertainty claimed by the estimator.
4.2.22.89 GNSS NIS
For GNSS innovation \(\mathbf r\),
\[ \boxed{ \mathrm{NIS} = \mathbf r^T \mathbf S^{-1} \mathbf r. } \]
NIS can be used for:
- innovation consistency,
- outlier rejection,
- covariance tuning assessment,
- fault detection.
It should be interpreted using the dimension of the measurement and an appropriate statistical threshold.
4.2.22.90 \(3\sigma\) Consistency
A common visual validation plots actual error together with covariance bounds:
\[ \boxed{ \pm3\sqrt{P_{ii}}. } \]
If the model and covariance are statistically appropriate, most errors should remain within the expected bounds over repeated trials.
A single trajectory is insufficient to establish statistical consistency.
A 3σ plot is a coverage diagnostic, not a strict bound
For Gaussian assumptions, most realizations should fall inside the expected envelope over repeated trials. Occasional excursions are not automatically failures.
4.2.22.91 GNSS Outage Performance Metric
For an outage beginning at \(t_0\) and ending at \(t_1\), useful metrics include
\[ \boxed{ e_{r,\max}, \quad e_{v,\max}, \quad P_{r,\max}, \quad T_{\text{recover}}. } \]
These describe:
- maximum position drift,
- maximum velocity drift,
- uncertainty growth,
- recovery after GNSS returns.
Outage testing should include recovery
The important questions are not only how far the inertial solution drifts, but also how quickly and safely the estimator returns to nominal performance after GNSS is restored.
4.2.22.92 Drift Rate During Outage
The navigation error can also be characterized as a function of outage duration:
\[ \boxed{ e_r=f(T_{\text{outage}}). } \]
This relationship is useful because a requirement may specify the maximum time for which inertial navigation must remain usable without GNSS.
The relationship is generally nonlinear because multiple error mechanisms interact.
4.2.22.93 GNSS Jump Testing
A GNSS solution can occasionally contain an abrupt erroneous jump.
Testing should inject
\[ \Delta\mathbf r_{GNSS} \]
or
\[ \Delta\mathbf v_{GNSS} \]
and evaluate whether the estimator:
- detects the abnormal innovation,
- rejects or down-weights it,
- avoids corrupting the inertial state,
- recovers when valid measurements return.
4.2.22.94 GNSS Bias Testing
A persistent GNSS bias is more difficult than a single outlier because each individual measurement may appear statistically plausible.
A biased measurement model is
\[ \boxed{ \mathbf z = h(\mathbf x)+\mathbf b_{GNSS}+\mathbf v. } \]
Persistent residual mean, comparison with independent sensors, or additional integrity monitoring may be needed to identify such faults.
4.2.22.95 IMU Bias-Step Testing
A useful robustness test introduces an abrupt change:
\[ \boxed{ \mathbf b_a \rightarrow \mathbf b_a+\Delta\mathbf b_a. } \]
The test evaluates:
- navigation transient,
- GNSS innovation,
- bias-estimator convergence,
- position/velocity recovery.
A similar test can be performed for gyro bias.
4.2.22.96 Timing-Offset Testing
Introduce an artificial IMU/GNSS timing offset
\[ \Delta t. \]
Then evaluate:
- innovation mean,
- position error,
- velocity error,
- attitude coupling,
- filter consistency.
Dynamic trajectories are particularly useful because timing errors become more observable when states are changing rapidly.
4.2.22.97 Lever-Arm Error Testing
Suppose the assumed antenna lever arm differs from the true value by
\[ \delta\mathbf l. \]
During spacecraft rotation, this can create periodic position and velocity residuals.
Testing lever-arm uncertainty helps distinguish sensor noise from systematic geometric modelling error.
4.2.22.98 Frame-Error Testing
Intentional frame errors are useful software-verification cases.
Examples include:
- swapped axes,
- incorrect sign,
- transposed DCM,
- ECI/ECEF mismatch,
- wrong sensor-to-body rotation.
These errors often create large structured residuals.
They should be detected during simulation long before flight.
4.2.22.99 Monte Carlo IMU/GNSS Testing
Monte Carlo testing should vary quantities such as:
- initial position error,
- initial velocity error,
- initial attitude error,
- accelerometer bias,
- gyro bias,
- sensor noise,
- scale factors,
- misalignment,
- GNSS measurement noise,
- GNSS outage duration,
- timing offset,
- antenna lever arm,
- measurement availability.
This establishes statistical navigation performance rather than performance for one favorable trajectory.
Monte Carlo reveals statistical navigation behaviour
A single run cannot establish percentile error, convergence probability, outage robustness, or covariance consistency. Randomized trials are needed to characterize those quantities.
4.2.22.100 Monte Carlo Performance Measures
For run \(j\), record
\[ \delta\mathbf r^{(j)}(t), \]
\[ \delta\mathbf v^{(j)}(t), \]
\[ \delta\boldsymbol\theta^{(j)}(t). \]
Then compute quantities such as
\[ \boxed{ \mathrm{RMSE}, \quad P_{95}, \quad P_{99}, \quad e_{\max}, \quad P_{\mathrm{conv}}. } \]
Consistency metrics such as NIS and NEES should also be examined.
4.2.22.101 Navigation Integrity
Navigation accuracy and navigation integrity are not identical.
Accuracy asks:
How close is the estimate to the true state?
Integrity asks:
Can the system determine when its navigation solution should not be trusted?
Therefore,
\[ \boxed{ \text{Good Navigation} = \text{Accuracy} + \text{Credible Uncertainty} + \text{Fault Awareness}. } \]
This distinction becomes particularly important when navigation feeds autonomous guidance and control.
Integrity is different from accuracy
An estimator may be accurate most of the time yet still be unsafe if it cannot recognize when its solution has become unreliable. Integrity addresses that detection problem.
4.2.22.102 Navigation Validity
A flight estimator may publish a validity flag:
\[ \boxed{ \texttt{NAV\_VALID}\in\{0,1\}. } \]
Validity may depend on:
- covariance thresholds,
- filter numerical health,
- GNSS status,
- IMU status,
- observability,
- innovation history,
- time since last absolute update.
The estimator can continue running while \(NAV_VALID = 0\).
Running and valid are different states
The navigation filter can continue to propagate internally while uncertainty or sensor health has degraded beyond operational limits. A validity flag communicates that distinction.
4.2.22.103 Degraded Navigation Mode
During loss of GNSS, the system may enter a degraded navigation mode.
The estimator can still provide
\[ \hat{\mathbf r}, \quad \hat{\mathbf v}, \quad \hat{\mathbf q}, \]
but with increasing uncertainty.
Mission logic may then restrict operations according to that uncertainty.
Thus,
\[ \boxed{ \text{Sensor Loss} \neq \text{Immediate Loss of Navigation} } \]
but it may eventually lead to navigation uncertainty exceeding operational limits.
4.2.22.104 Navigation Availability
Navigation availability can be interpreted as the fraction of time for which the navigation solution satisfies required validity and performance conditions.
Conceptually,
\[ \boxed{ A_{NAV} = \frac{T_{\text{valid navigation}}} {T_{\text{mission interval}}}. } \]
Availability therefore depends on more than whether the software is running.
It depends on whether sufficient information exists to support the required navigation quality.
4.2.22.105 Position and Velocity Requirements
A navigation requirement might be written
\[ \boxed{ e_{r,95} < r_{\mathrm{req}} } \]
and
\[ \boxed{ e_{v,95} < v_{\mathrm{req}}. } \]
Alternatively RMS or \(3\sigma\) requirements may be specified.
The statistical definition must be explicit.
A requirement such as “position accuracy = 1 m” is incomplete unless it defines the probability, axis/frame, operating condition, and measurement availability assumptions.
4.2.22.106 IMU/GNSS Fusion and Guidance
Guidance algorithms use the estimated state:
\[ \boxed{ \hat{\mathbf r}, \quad \hat{\mathbf v}, \quad \hat{\mathbf q}. } \]
Therefore navigation error becomes guidance input error.
A guidance algorithm cannot act on the unknown true state; it acts on the estimated state.
This gives the chain
\[ \boxed{ \text{Sensors} \rightarrow \text{Navigation} \rightarrow \text{Guidance} \rightarrow \text{Control}. } \]
Navigation is upstream of guidance
Guidance and control do not receive the true spacecraft state. They act on the estimated state and are therefore directly affected by navigation bias, delay, and covariance.
4.2.22.107 IMU/GNSS Fusion and Control
Control may use:
- estimated attitude,
- angular rate,
- position,
- velocity.
Noisy or delayed estimates can produce unnecessary control activity or degraded tracking.
Therefore estimator performance should eventually be tested in closed-loop simulation rather than only using standalone navigation metrics.
4.2.22.108 Navigation During Propulsive Manoeuvres
Thruster operation produces non-gravitational acceleration.
The accelerometer can observe that motion, but several effects may become important:
- vibration,
- sensor saturation,
- structural response,
- thrust uncertainty,
- plume-induced disturbances,
- attitude motion.
The navigation process-noise model may therefore need to reflect increased uncertainty during propulsion events.
Propulsive events can change the navigation error model
Thruster operation may increase vibration, structural excitation, and model uncertainty. Process-noise assumptions that work in coast may therefore be too optimistic during manoeuvres.
4.2.22.109 Known Control Input Versus IMU Measurement
A spacecraft may know its commanded thrust.
However,
\[ \boxed{ \text{Commanded Acceleration} \neq \text{Measured Specific Force}. } \]
The command depends on actuator models, while the accelerometer responds to actual spacecraft motion.
A navigation filter may use both, but their uncertainties and roles must be distinguished.
4.2.22.110 GNSS and Other Aiding Sensors
Although this section focuses on IMU/GNSS fusion, the same inertial navigation framework can accept other measurements.
Examples include:
- optical navigation,
- altimetry,
- ranging,
- Doppler measurements,
- inter-spacecraft measurements,
- star-tracker attitude,
- horizon sensing.
The generic architecture remains
\[ \boxed{ \text{Inertial Propagation} + \text{External Measurements} \rightarrow \text{Bounded Navigation Error}. } \]
4.2.22.111 General Relative-Navigation Extension
For missions involving another spacecraft or object, the estimator may additionally represent relative states such as
\[ \boxed{ \delta\mathbf r_{rel}, \qquad \delta\mathbf v_{rel}. } \]
Measurements may come from general relative-navigation sensors such as:
- inter-spacecraft ranging,
- optical line-of-sight sensing,
- LiDAR,
- relative GNSS where applicable.
The same estimation principles remain valid:
\[ \boxed{ \text{Propagate} \rightarrow \text{Predict Measurement} \rightarrow \text{Form Innovation} \rightarrow \text{Correct}. } \]
This is a general navigation architecture; the detailed relative-navigation sensor-fusion problem belongs to the next dedicated section.
General relative-navigation extension
The same estimator structure can support relative navigation by augmenting the state and changing the measurement models. The detailed RPO case is intentionally left for the next section.
4.2.22.112 Flight-Software Processing Sequence
A representative IMU/GNSS estimator sequence is
\[ \boxed{ \begin{array}{c} \text{Read IMU}\\ \downarrow\\ \text{Correct IMU Calibration}\\ \downarrow\\ \text{Propagate Attitude}\\ \downarrow\\ \text{Transform Specific Force}\\ \downarrow\\ \text{Propagate Velocity}\\ \downarrow\\ \text{Propagate Position}\\ \downarrow\\ \text{Propagate Covariance}\\ \downarrow\\ \text{Check GNSS Availability}\\ \downarrow\\ \text{Validate GNSS Measurement}\\ \downarrow\\ \text{Compute Innovation}\\ \downarrow\\ \text{Gate Measurement}\\ \downarrow\\ \text{Kalman Update}\\ \downarrow\\ \text{Inject Error State}\\ \downarrow\\ \text{Reset Error State}\\ \downarrow\\ \text{Publish Navigation Solution} \end{array} } \]
Processing order matters
Each measurement update should use a state and covariance propagated to the correct measurement epoch. The sequence also ensures calibration, gating, injection, and reset are performed coherently.
4.2.22.113 Published Navigation Solution
The estimator may publish
\[ \boxed{ \hat{\mathbf r}, \quad \hat{\mathbf v}, \quad \hat{\mathbf q}, \quad \hat{\mathbf b}_a, \quad \hat{\mathbf b}_g, \quad \mathbf P. } \]
It may also publish health indicators such as
\[ \texttt{NAV\_VALID}, \]
\[ \texttt{IMU\_VALID}, \]
\[ \texttt{GNSS\_VALID}. \]
Downstream GNC functions should use both the navigation state and its associated validity and uncertainty.
4.2.22.114 Practical Design Philosophy
A robust IMU/GNSS navigation system should:
- propagate attitude at IMU rate,
- transform accelerometer measurements using the correct attitude,
- model gravity consistently,
- propagate velocity and position,
- estimate accelerometer bias,
- estimate gyro bias,
- propagate realistic covariance,
- process GNSS measurements at their true timestamps,
- use appropriate loose or tight coupling,
- model GNSS measurement uncertainty,
- account for antenna and IMU lever arms where required,
- maintain coordinate-frame consistency,
- statistically validate measurements,
- reject outliers,
- increase uncertainty during GNSS outages,
- recover correctly after GNSS reacquisition,
- monitor estimator consistency,
- publish navigation validity,
- verify numerical stability,
- validate performance statistically.
Design philosophy
A robust implementation is defined as much by frame discipline, timing, validity, covariance realism, and recovery behaviour as by the Kalman equations themselves.
4.2.22.115 Key Takeaways
1. IMU/GNSS fusion combines complementary navigation information.
\[ \boxed{ \text{High-Rate IMU Propagation} + \text{GNSS Reference} \rightarrow \text{Continuous Navigation} } \]
2. An accelerometer measures specific force, not position and not directly inertial acceleration.
\[ \boxed{ \mathbf f_m = \mathbf f+\mathbf b_a+\mathbf n_a. } \]
3. Gyroscopes propagate attitude.
\[ \boxed{ \boldsymbol\omega_m = \boldsymbol\omega+\mathbf b_g+\mathbf n_g. } \]
4. Attitude is required to transform accelerometer measurements into the navigation frame.
\[ \boxed{ \mathbf f^N = \mathbf C_{NB}\mathbf f^B. } \]
5. IMU errors accumulate through integration.
\[ \boxed{ \text{Acceleration Error} \rightarrow \text{Velocity Error} \rightarrow \text{Position Error}. } \]
6. Gyro error also affects translational navigation through attitude error.
\[ \boxed{ \text{Gyro Bias} \rightarrow \text{Attitude Error} \rightarrow \text{Acceleration Projection Error} \rightarrow \text{Navigation Error}. } \]
7. GNSS bounds long-term inertial drift.
Position and velocity measurements repeatedly correct the propagated navigation solution.
8. GNSS updates can indirectly estimate IMU biases through state covariance and dynamic coupling.
9. A common error-state estimator contains 15 states.
\[ \boxed{ \delta\mathbf x = [ \delta\mathbf r, \delta\mathbf v, \delta\boldsymbol\theta, \delta\mathbf b_a, \delta\mathbf b_g ]^T. } \]
10. Loose coupling uses GNSS position/velocity solutions.
\[ \boxed{ \text{Loose} \rightarrow \text{GNSS Navigation Solution}. } \]
11. Tight coupling uses individual GNSS observables.
\[ \boxed{ \text{Tight} \rightarrow \text{Pseudorange/Doppler/Other GNSS Observables}. } \]
12. Deep coupling extends inertial aiding into GNSS tracking functions.
13. GNSS outage does not immediately stop navigation.
The IMU continues propagation, but uncertainty grows.
14. Covariance must increase when external navigation information disappears.
15. Reacquisition must be validated before large corrections are accepted.
16. GNSS and IMU timestamps must refer to the correct physical epochs.
\[ \boxed{ \text{Timing Error} \rightarrow \text{Navigation Error}. } \]
17. GNSS antenna and IMU lever arms can matter.
18. Coordinate frames must remain consistent throughout propagation and correction.
19. Sensor calibration errors are integrated repeatedly and can become significant navigation errors.
20. Position accuracy alone is not sufficient for evaluating an estimator.
Velocity, attitude, bias, covariance, NIS, NEES, convergence, outage drift, and recovery should also be evaluated.
21. Monte Carlo testing is necessary to establish statistical performance.
22. Navigation validity is different from merely having an estimator running.
23. The navigation solution ultimately feeds guidance and control.
\[ \boxed{ \text{Sensors} \rightarrow \text{State Estimation} \rightarrow \text{Guidance} \rightarrow \text{Control}. } \]
24. The central engineering principle is
\[ \boxed{ \begin{array}{c} \text{The IMU carries the navigation state forward at high rate,}\\[4pt] \text{while GNSS repeatedly anchors the inertial solution}\\[4pt] \text{and allows accumulated position, velocity, attitude, and bias errors}\\[4pt] \text{to be constrained and estimated.} \end{array} } \]
The natural next section is 4.2.23 Relative Navigation Sensor Fusion for RPO, where the same propagation, measurement prediction, innovation, observability, covariance, and fault-management principles are applied generally to relative position, relative velocity, line-of-sight, range, range rate, relative attitude, and pose estimation using combinations of GNSS, inter-spacecraft measurements, cameras, LiDAR, and inertial sensors.
Next: 4.2.23 Relative Navigation Sensor Fusion for RPO
After developing inertial-navigation mechanisation, IMU error propagation, GNSS position and velocity correction, loose and tight coupling, timing, lever arms, observability, outage behaviour, consistency, integrity, and Monte Carlo verification, the next section applies the same estimation principles to general spacecraft relative navigation.
4.2.23 Relative Navigation Sensor Fusion for RPO
GNSS, inter-spacecraft navigation, camera, LiDAR, IMU, line-of-sight, relative range, range rate, relative position, velocity, attitude, and pose estimation for rendezvous, proximity operations, and docking.
Continue to RPO Sensor Fusion →