|
Quaternion kinematics gives a continuous differential equation for attitude. A real navigation computer, flight controller, or simulation must convert that continuous equation into a discrete update executed at the IMU sample rate. This is the numerical quaternion propagation problem.
For an inertial measurement unit, the gyroscopes supply the angular-rate information used for the attitude prediction. The accelerometers do not normally determine the high-rate quaternion propagation directly. Instead, their measured specific force is rotated by the propagated attitude and used elsewhere in the navigation state equations, while accelerometer or gravity information may also be used in a later attitude-correction step.
This entry develops the exact finite-increment update, the small-angle approximation, forward Euler and Runge–Kutta propagation, gyro bias correction, delta-angle IMU data, coning effects, sign continuity, and the role of a quaternion inside a larger inertial-navigation or attitude-estimation state.
This article continues the PhysicsLibrary convention used in Q11:
- right-handed orthonormal frames;
- Hamilton multiplication;
- scalar-first quaternion display,
 |
(1) |
- the attitude quaternion is
 |
(2) |
mapping body-frame coordinates into inertial-frame coordinates;
- the IMU gyroscope measurement is resolved in body axes unless stated otherwise.
With body-resolved angular velocity, Q11 derived
 |
(3) |
where
is embedded as a pure quaternion.
A useful first-order gyroscope measurement model is
 |
(4) |
where
is gyro bias and
represents measurement noise. An estimator or navigation solution uses its current bias estimate
to form
 |
(5) |
For a sample interval , the simplest delta-angle approximation is
 |
(6) |
If the IMU itself reports integrated delta angles rather than angular rates, then the measured
may be used directly after applying the appropriate bias, scale-factor, and calibration corrections.
Assume that
is constant over one sample. Define
 |
(7) |
and, for nonzero
,
 |
(8) |
The exact unit-quaternion increment is
 |
(9) |
Equivalently, in scalar-first column form,
![$\displaystyle \boxed{ \delta q = \begin{bmatrix} \cos(\Delta\theta/2)\\ [1mm] \dfrac{\sin(\Delta\theta/2)}{\Delta\theta} \Delta\boldsymbol\theta \end{bmatrix}. }$ $\displaystyle \boxed{ \delta q = \begin{bmatrix} \cos(\Delta\theta/2)\\ [1mm] \dfrac{\sin(\Delta\theta/2)}{\Delta\theta} \Delta\boldsymbol\theta \end{bmatrix}. }$](https://images.physicslibrary.org/cache/objects/1109/l2h/img18.png) |
(10) |
Because the gyro rate is body-resolved, the increment multiplies the attitude state on the right:
 |
(11) |
This exponential update is exact when the angular velocity is constant over the sample interval.
For IMU sampling at sufficiently high rate, the incremental rotation
is usually small. Expanding the exact increment gives
 |
(12) |
and
 |
(13) |
Thus
![$\displaystyle \delta q = \begin{bmatrix} 1-\dfrac{\Delta\theta^2}{8}\\ [1mm] \l... ...\theta^2}{48} \right) \Delta\boldsymbol\theta \end{bmatrix}+ O(\Delta\theta^4),$ $\displaystyle \delta q = \begin{bmatrix} 1-\dfrac{\Delta\theta^2}{8}\\ [1mm] \l... ...\theta^2}{48} \right) \Delta\boldsymbol\theta \end{bmatrix}+ O(\Delta\theta^4),$](https://images.physicslibrary.org/cache/objects/1109/l2h/img22.png) |
(14) |
and the familiar first-order form is
![$\displaystyle \boxed{ \delta q \approx \begin{bmatrix} 1\\ [1mm] \dfrac12\Delta\boldsymbol\theta \end{bmatrix}. }$ $\displaystyle \boxed{ \delta q \approx \begin{bmatrix} 1\\ [1mm] \dfrac12\Delta\boldsymbol\theta \end{bmatrix}. }$](https://images.physicslibrary.org/cache/objects/1109/l2h/img23.png) |
(15) |
The first-order formula has two important applications, and they should not be confused.
For a sufficiently small gyro increment, one may use
![$\displaystyle q_{k+1} \approx q_k \begin{bmatrix} 1\\ [1mm] \dfrac12\Delta\boldsymbol\theta_k \end{bmatrix},$ $\displaystyle q_{k+1} \approx q_k \begin{bmatrix} 1\\ [1mm] \dfrac12\Delta\boldsymbol\theta_k \end{bmatrix},$](https://images.physicslibrary.org/cache/objects/1109/l2h/img24.png) |
(16) |
followed by normalization. This is computationally cheap, but the exact exponential increment is usually preferable when trigonometric evaluation is not a burden.
In an error-state estimator, the nominal attitude remains a full unit quaternion while a local attitude error is represented by the three-vector
. From Q12,
![$\displaystyle \boxed{ \delta q_e \approx \begin{bmatrix} 1\\ [1mm] \dfrac12\delta\boldsymbol\theta \end{bmatrix}. }$ $\displaystyle \boxed{ \delta q_e \approx \begin{bmatrix} 1\\ [1mm] \dfrac12\delta\boldsymbol\theta \end{bmatrix}. }$](https://images.physicslibrary.org/cache/objects/1109/l2h/img26.png) |
(17) |
This is a linearization of the error, not a replacement for the nominal quaternion state.
Figure summarizes the distinction between these two uses.
Figure: A typical IMU attitude-propagation flow. Body-frame gyro measurements are corrected for estimated bias, integrated to a delta angle, converted to an incremental quaternion, and multiplied on the right of the nominal attitude. The small-angle quaternion has two distinct uses: approximating a very small sample increment and representing a local three-component attitude error.
|
|
One may discretize the continuous kinematic equation directly:
 |
(18) |
This is precisely the first-order Taylor approximation to the exponential update. The difficulty is that the Euler step does not preserve unit norm exactly. Therefore implementations commonly apply
 |
(19) |
Normalization corrects norm drift, but it does not recover all of the phase accuracy lost by a low-order integration method. At high dynamics or long sample intervals, exact or higher-order propagation is preferable.
If the angular rate changes across the sample, a useful second-order strategy is to approximate the rate at the midpoint:
 |
(20) |
Then form
 |
(21) |
and apply the exact quaternion increment of equation (10). This retains the unit-quaternion structure while improving the approximation of a varying rate.
The differential equation may also be integrated with a standard Runge–Kutta method. For example, fourth-order Runge–Kutta evaluates
 |
(22) |
at four points within the interval. The resulting quaternion should normally be normalized after the update because generic numerical integration does not preserve the unit sphere exactly.
Runge–Kutta is valuable when angular rate is supplied by a continuous model. For sampled IMU data, however, an exponential or coning-corrected delta-angle update is often more natural because the sensor already provides discrete angular information.
Suppose a body rotates at
deg/s |
(23) |
and the IMU is sampled at
s |
(24) |
The delta angle per sample is
rad |
(25) |
The exact increment is therefore approximately
 |
(26) |
Applying this increment 100 times produces a rotation about the body axis, up to floating-point roundoff.
Gyro bias integrates directly into attitude error. If an uncorrected constant bias
is small, then over a short interval
 |
(27) |
Thus even a small gyro bias can create a steadily growing attitude error.
A typical estimator therefore includes gyro bias in the state:
 |
(28) |
A simple random-walk bias model is
 |
(29) |
or in discrete time,
 |
(30) |
Consider a right, body-resolved attitude error as in Q12:
 |
(31) |
Let
![$\displaystyle \delta q_B \approx \begin{bmatrix} 1\\ [1mm] \dfrac12\delta\boldsymbol\theta^{B} \end{bmatrix}.$ $\displaystyle \delta q_B \approx \begin{bmatrix} 1\\ [1mm] \dfrac12\delta\boldsymbol\theta^{B} \end{bmatrix}.$](https://images.physicslibrary.org/cache/objects/1109/l2h/img45.png) |
(32) |
Define the gyro-bias estimation error as
 |
(33) |
To first order, a common right-error model satisfies
![$\displaystyle \boxed{ \delta\dot{\boldsymbol\theta}^{B} \approx - [\widehat{\bo... ...^{B}]_{\times} \delta\boldsymbol\theta^{B} - \delta\mathbf b_g - \mathbf n_g. }$ $\displaystyle \boxed{ \delta\dot{\boldsymbol\theta}^{B} \approx - [\widehat{\bo... ...^{B}]_{\times} \delta\boldsymbol\theta^{B} - \delta\mathbf b_g - \mathbf n_g. }$](https://images.physicslibrary.org/cache/objects/1109/l2h/img47.png) |
(34) |
A first-order discrete approximation is
 |
(35) |
The signs and multiplication side are convention dependent. The state, injection rule, and covariance model must all use the same error convention.
In strapdown navigation, the attitude update is only one part of the state propagation. The accelerometer measures specific force in body axes,
. The propagated quaternion supplies the rotation
 |
(36) |
which then enters the velocity and position equations. In a simple inertial frame model,
 |
(37) |
More complete navigation equations add Earth rotation, transport rate, gravity models, and sensor calibration terms. The important structural point is that gyro integration propagates the quaternion used to orient the accelerometer measurement.
Rotations do not commute. Therefore several IMU delta-angle samples cannot in general be replaced by a simple vector sum.
For two small body-frame increments applied in chronological order,
 |
(38) |
Using the first-order quaternion form for each increment and retaining the leading cross term gives the equivalent small rotation vector
 |
(39) |
The cross-product term is the first indication of the coning effect. Practical strapdown algorithms use more accurate coning corrections that depend on how the gyro samples or delta angles are accumulated within the update interval.
The quaternions and represent the same physical orientation. A numerical time history may therefore contain an unnecessary sign jump if a conversion algorithm chooses the opposite representative at one sample.
A common continuity rule is
 |
(40) |
This does not change the physical attitude. It simply chooses the quaternion representative closest to the previous sample, which is useful for plotting, interpolation, and finite differencing.
For many IMU applications the following hierarchy is useful:
- use the exact exponential increment when one rate or delta-angle vector is representative of the sample interval;
- use a midpoint or coning-corrected increment when angular rate changes significantly within the interval;
- use Runge–Kutta when integrating a continuous angular-rate model or when the system dynamics already use a compatible higher-order integrator;
- reserve the first-order small-angle update mainly for very small increments, linearized error-state equations, and analytical derivations.
The most common implementation errors are:
- multiplying a body-resolved increment on the left instead of the right;
- applying the small-angle approximation to a large sample rotation;
- subtracting no gyro bias, or using the wrong sign for the bias estimate;
- assuming normalization makes a low-order integrator exact;
- summing finite delta-angle vectors while ignoring noncommutativity and coning;
- confusing the small three-component attitude error with the full nominal quaternion state;
- rotating accelerometer specific force with a stale or oppositely defined attitude quaternion;
- treating the sign change
as a physical attitude jump.
Q14 consolidates the quaternion sequence into a larger graded exercise bank. The numerical ideas developed here also provide the direct bridge into strapdown inertial navigation, multiplicative attitude filters, and quaternion-based simulation states.
The continuous kinematic equation follows from Q11 and the small-error representation follows from Q12. The discrete exponential update is the finite-rotation form of that same kinematics. Gyro bias, delta-angle integration, coning, and attitude-state propagation are standard concerns in strapdown inertial navigation and spacecraft attitude computation.
This article is an original synthesis prepared for PhysicsLibrary and intended for release under CC BY-SA 4.0.
|