|
|
|||||||
After N equal intervals,
At a total positive frame rotation of 90∘,
This is the same passive convention diagnostic used throughout the preceding PhysicsLibrary quaternion series.
13 Using IMU supplied delta anglesMany inertial sensors report integrated angular increments directly:
Such an output may already incorporate internal high rate sampling and manufacturer specific coning processing. If the bias estimate is expressed as an angular rate and is approximately constant over the sample, a simple correction is
The corrected delta angle is then converted directly to the passive incremental quaternion. The device documentation must be checked to determine whether its reported increment is raw, internally compensated, expressed in a beginning sample frame, expressed in an ending sample frame, or uses another convention.
14 Gyroscope bias accumulationIf an uncompensated constant gyro bias has magnitude b, then for a simple single axis case the attitude error grows approximately as
For example, a bias of
![]() accumulates approximately
![]() of angle error in ten minutes. This simple calculation explains why accurate bias initialization, online bias estimation, temperature modeling, and external aiding are important in inertial systems.
15 Two successive body increments and coningConsider two small chronological body frame increments
![]() followed by
![]() The passive incremental quaternions are
![]() and
![]() Because body increments left multiply, the chronological combined update is
Expand the increment product through second order:
![]() The vector part of the last product is
![]() Matching the passive first order form
![]() gives the leading equivalent physical rotation vector
The cross product term is the leading coning contribution.
16 Why coning mattersIf the body rotates alternately about different axes during a sample interval, the vector sum of the measured increments is not generally the exact net rotation. The missing information appears first through cross products of successive angular increments. High accuracy strapdown inertial algorithms therefore use multiple subsamples or compensated delta angles to account for noncommutativity. A simple one sample exponential update is exact for a constant rotation vector over the interval. It is not automatically exact for arbitrary high frequency motion occurring within that interval. If an IMU already reports a coning compensated delta angle, applying an additional naive coning correction may double count the effect.
17 Attitude sign continuityThe unit quaternions
![]() and
![]() represent the same physical orientation. A numerical quaternion time history may therefore contain equivalent samples with alternating overall signs. For plotting, interpolation, finite differencing, or optimization, choose the representative nearest the previous sample. If
replace
This does not change the physical attitude. Sign continuity is a representation choice. It is distinct from quaternion normalization and from selecting the principal error quaternion in a local attitude error calculation.
18 Specific force transformationAn accelerometer rigidly attached to the body reports specific force resolved in body coordinates:
The passive attitude quaternion maps inertial coordinates into body coordinates, so the inverse DCM maps body coordinates back into inertial coordinates:
Since
![]() we have
The equivalent quaternion sandwich is
This inversion is important: the quaternion used for attitude propagation maps I → B, while navigation mechanization often needs to rotate a measured body vector B → I.
19 Velocity and position propagationIn a simple inertial frame model,
and
In a rotating navigation frame, Earth rotation, transport rate, Coriolis terms, and the chosen gravity model must also be included. A typical strapdown propagation cycle is therefore:
20 Why time centered attitude can matterUsing only the beginning or ending attitude to transform accelerometer data introduces an error when the body rotates appreciably during the sample. For constant body rate, a midpoint quaternion can be formed as
where
The corresponding midpoint DCM can then be used for a simple time centered specific force transformation. High accuracy inertial algorithms develop this idea further through sculling compensation and multiple sample integration.
21 Nominal quaternion and three component error stateA navigation filter can propagate the nominal attitude as a full unit quaternion while carrying only three attitude error states. For example, using the passive small error convention from the preceding article,
The nominal quaternion supplies a globally nonsingular orientation representation, while
![]() is a local three component perturbation suitable for linear covariance propagation. The chosen left or right error definition must remain consistent with the filter Jacobians and the side used for correction injection.
22 Direct small increment versus error state small angleThe same small angle expansion appears in two distinct roles. In direct IMU propagation,
![]() approximates the actual physical incremental rotation during one sample. Its accuracy depends on the size and variation of the sample motion. In an error state filter,
![]() represents a deliberately local estimation error around a nominal full attitude quaternion. The nominal vehicle attitude itself may be very large even when the local error state is small. These two uses should not be conflated.
23 Normalization versus sign continuityTwo common operations have different purposes. Normalization,
![]() restores the unit norm constraint. Sign continuity,
![]() when needed, chooses one of two equivalent quaternion representatives. Neither operation substitutes for an accurate attitude integration method.
24 Example propagation stepSuppose
![]()
![]() and
![]() The corrected rate is
For
![]() the delta angle is
Therefore
Numerically,
Since the initial attitude is the identity,
25 Forward Euler comparison for the same stepThe forward Euler result is
![]() so
Its norm is
After normalization,
This is close to, but not identical with, the exact exponential result.
26 Implementation pseudocodeA minimal constant rate passive update can be expressed conceptually as: omega_B = gyro_B - bias_hat_B dtheta_B = omega_B * dt a = norm(dtheta_B) if a is very small: s = 0.5 - a*a/48 c = 1.0 - a*a/8 else: s = sin(a/2) / a c = cos(a/2) dq = [c, -s*dtheta_B] q_new = dq * q_old q_new = q_new / norm(q_new) if dot(q_new, q_old) < 0: q_new = -q_new
The product in the line
![]() is the Hamilton product with scalar first semantic components. Software whose array order is scalar last may use different memory indices without changing the physical equations.
27 Common pitfalls
28 Verification batteryA numerical implementation should be checked against:
29 Relationship to adjacent PhysicsLibrary entriesThe preceding article, Relative Attitude and Error Quaternions, establishes multiplicative left and right errors and the passive local relation ![]() The present article combines that convention with the quaternion kinematics from quaternion kinematics and angular velocity to form sampled IMU attitude propagation. A separate companion entry, Numerical Quaternion Propagation and IMU Attitude State Integration: Examples, Exercises, and Solutions, provides the Q13E self study problem bank.
30 Sources and convention notesQuaternion propagation equations cannot be imported safely without identifying the represented frame map, the resolution of angular velocity, and the quaternion multiplication convention. Sommer and coauthors provide a modern discussion of convention management. Solà provides a detailed treatment of quaternion kinematics and IMU error state filtering. Titterton and Weston provide a broad engineering treatment of strapdown inertial navigation. Savage develops the classical strapdown attitude integration framework, including coning compensation. The equations in this entry are translated into the PhysicsLibrary passive inertial to body convention.
References
[1] H. Sommer, I. Gilitschenski, M. Bloesch, S. Weiss, R. Siegwart, and J. Nieto, “Why and How to Avoid the Flipped Quaternion Multiplication,” Aerospace, vol. 5, no. 3, article 72, 2018. Published under CC BY 4.0. Publisher article [2] J. Solà, “Quaternion Kinematics for the Error State Kalman Filter,” arXiv:1711.02508, 2017. arXiv preprint [3] D. H. Titterton and J. L. Weston, Strapdown Inertial Navigation Technology, 2nd ed., The Institution of Engineering and Technology, 2004/2005. Engineering reference. IET book page [4] P. G. Savage, “Strapdown Inertial Navigation Integration Algorithm Design Part 1: Attitude Algorithms,” Journal of Guidance, Control, and Dynamics, vol. 21, no. 1, pp. 19–28, 1998. DOI record
LicenseUnless otherwise noted, this PhysicsLibrary entry is intended for release under the Creative Commons Attribution ShareAlike 4.0 International license. "numerical quaternion propagation and IMU attitude state integration" is owned by bloftin.
Cross-references: quaternion multiplication, quaternion kinematics and angular velocity, kinematics, relation, commute, operations, injection, Jacobians, covariance, position, velocity, error quaternion, representation, frequency, algorithms, cross product, temperature, magnitude, phase, manifold, norm, force, diagram, composition, identity, scalar, vector, angular velocity, Euler Angle, unit, quaternions, system There are 4 references to this object. This is version 5 of numerical quaternion propagation and IMU attitude state integration, born on 2026-08-24, modified 2026-10-09. Object id is 1109, canonical name is NumericalQuaternionPropagationAndIMUAttitudeStateIntegration. Accessed 332 times total. Classification:
|
|
|
|
Pending Errata and AddendaNone.
|
DiscussionNo messages.
|
Interact |