1. Introduction
In a strapdown inertial navigation system (INS), inertial sensors, i.e., gyros and accelerometers, are directly mounted to the vehicle body frame [
1,
2,
3]. This physical connection configuration makes the gyro and accelerometer highly susceptible to carrier vibrations and environmental disturbances, particularly in dynamic or vibration environments, which can significantly degrade the accuracy of the strapdown INS. Since the strapdown INS replaces a physical platform with a mathematical one, its core algorithms must perform real-time computation to resolve the carrier’s attitude. Therefore, the calculation of vehicle attitude is the core part of a strapdown INS [
4,
5].
The study of attitude update algorithms based on the rotation vector differential equation traces its origins to Bortz’s seminal work in 1971 [
6]. Savage advanced an attitude update framework by employing equivalent rotation vectors to significantly improve attitude update accuracy [
7]. Using Taylor series expansion in powers of time, Wang presented a new coning correction algorithm, which can recover the maneuver accuracies of known coning algorithms [
8]. Based on the functional iterative integration and Chebyshev polynomials, Wu proposed a novel inertial navigation attitude algorithm that reduces the coning error that has perplexed the navigation community for long [
9]. Yang proposed a novel attitude algorithm based on a pseudo-linear model in the geographic frame, and has higher algorithm accuracy under the condition of high dynamics and large maneuver [
10]. Furthermore, Yang proposed a new attitude update algorithm by approximating the angular velocity function using Legendre polynomials, with the numerical method of the differential equation at its core [
11]. Yan proposed a new numerical attitude updating algorithm deduced on the basis of Taylor series expansion according to the differential equation of the attitude matrix with implicit non-commutativity error compensation [
12]. Wang described a strapdown INS attitude numerical updating algorithm based on Adams-PECE, and this algorithm does not need to calculate rotation errors [
13]. Lu proposed a high-dynamic attitude updating algorithm based on sine function fitting of angular velocity and the sixth-order Taylor series expansion of the equivalent rotation vector [
14]. Liang proposed an angular-rate attitude algorithm based on multi-interval information correction to increase the attitude update frequency and calculation accuracy [
15]. Naidu proposed novel attitude estimation with Singular Value Decomposition (SVD) for stable, computationally efficient estimation [
16]. Patera proposed attitude propagation for a slewing angular-rate vector [
17]. It is applicable only to specific types of motion, such as those where the angular velocity is a known function or those exhibiting coning motion. All existing algorithms are primarily designed for error compensation in high-dynamic or high-rotation-rate environments. They implicitly rely on assumptions such as time-scale separation, small-angle approximation, and the dominance of non-commutative errors. However, these assumptions all become invalid under low-dynamic motion.
Aiming at the mentioned problems, a symmetry-based strapdown attitude update algorithm suitable for low-dynamic motion is proposed in this paper. The proposed algorithm integrates an auxiliary frame in which the angular-rate vector becomes constant in the existing attitude update framework. The attitude update reduces to a steady rotation about a fixed axis. Consequently, the attitude update in this frame can be performed without approximation errors. This transformation exploits the rotational symmetry inherent in rigid-body rotation [
18,
19,
20]. Furthermore, it systematically evaluates the applicability of the algorithm under this motion. The subsequent sections address the following:
Section 2 presents the traditional methods. In
Section 3, a proposed method is described.
Section 4 describes the error analysis of proposed algorithm under low-dynamic motion.
Section 5 details the simulation results and discussion. The conclusion is provided in
Section 6.
2. Traditional Attitude Update Algorithm
Within the attitude update cycle
H, the angular velocity of the vehicle is assumed to be representable by a second-order polynomial in time:
where
,
, and
are coefficients. The gyroscope samples the angular velocity twice during each update cycle, i.e.,
H = 2
h. Three angular velocity measurements can be obtained over the time interval [
t,
t +
H], including the sample from the previous update cycle’s termination time.
The polynomial coefficients can then be expressed in terms of these sampled angular velocity measurements as follows:
The integral of (1) over interval
H yields the following angular increment:
In algorithm design, the differential equation of the rotation vector is typically approximated as
where
represents the angular increment of the carrier.
Integrating (4) over the attitude update cycle
H gives the following:
Using Taylor series expansion combined with (2), the computational value for the rotation vector increment is derived as
where
is an undetermined coefficient for the cross-product terms of angular rates, and
denotes the angular increment value during the velocity update cycle
H.
When the body performs a typical coning motion, the angular velocity of the body frame relative to the inertial frame is [
17]
where
is the coning half-apex angle and
denotes the coning frequency.
Substituting the angular velocity of the carrier in a typical coning motion into (5) yields the true value of the rotation vector increment over interval
H.
The algorithmic design principle requires equality between the true and computed rotation vector increments, i.e.,
Substituting (6) and (8) into (9) yields the two-interval coning compensation algorithm for angular velocity [
21]:
where
,
.
The derived attitude update algorithm, as presented in (4), is based on the equivalent rotation vector approximation. This approximation inherently introduces integration errors during attitude computation, as it neglects the higher-order terms in the Taylor series expansion of the rotation vector’s differential equation.
3. Proposed Attitude Update Algorithm
To eliminate the approximation errors existing in traditional algorithms and simplify the numerical integration of angular velocity
, an auxiliary frame,
frame, is introduced in the existing attitude update framework. The reason for its introduction is that integrating a constant vector is significantly easier and more accurate than integrating a varying one. At the start of each attitude update cycle
, the
frame and
frame coincide, and their spatial relationship at
is shown in
Figure 1. In each attitude update cycle at any time, the
frame rotates at a constant angular velocity around the
z-axis of the
frame. The spatial relationships among the
frame,
frame, and angular velocity vector
at any time
are illustrated in
Figure 2.
As shown in
Figure 1, the
frame and
frame coincide at the start of each attitude update cycle
. So, one has
Figure 2 illustrates that at any time
, the
frame rotates at a constant angular velocity
around the
z-axis of the
frame. This implies a fixed spatial relationship between the
frame and the angular velocity vector
at
. Consequently, the projection of
onto the
frame remains constant, satisfying the following relation:
Using (11) and (12), one obtains
Given the definition of the
frame,
denotes the angular velocity of the
frame relative to the
frame. So, the absolute angular velocity vector
can be expressed as the sum of the gyroscope output projected onto the
frame and the rotational angular velocity
.
Substituting (12) into (14) yields
where
represents the gyroscope output at
and
is the rotational angular velocity of the
frame relative to the
frame, that is, the rotational angular velocity. Since both
and
are constant vectors,
is also a constant vector.
The relationship between the rotation vector and the angular velocity vector
is expressed by the following [
14]:
As indicated by (15),
is a constant vector, and its unit vector aligns with the rotation vector. Applying the vector cross-product identity, the latter two terms in (16) vanish. Thus, (16) can be rewritten as [
2]
Subsequently, the vector
can be computed:
The vector
can be computed:
Based on the relationship between the direction cosine matrix and rotation vector
, the transformation matrix
is [
4]
Similarly, the transformation matrix
is
Applying the chain rule for direction cosine matrices (DCMs), one can obtain the following from (20) and (21):
Over each small time interval, the magnitudes of the angular velocity vector
and
are constant. These constant-magnitude segments are then concatenated using the chain rule, resulting in
To complete the velocity update using the proposed algorithm, the rotational angular velocity vector
in (21) needs to be determined.
can be computed from the gyroscope’s output angular velocity vectors using a cross-product method, as illustrated in
Figure 3. Within the velocity update interval, the angular velocity is sampled consecutively at time
,
and
, yielding
,
, and
.
Considering that the magnitude of the angular velocity vector remains constant within the frame, and that the plane formed by vectors and is perpendicular to the rotational angular velocity vector , it follows that vector is co-directional with .
The unit vector of the rotational angular velocity vector
can be obtained using
Substituting (24) into (25) yields
Based on the principle of the cross product of vectors, the angle between
and
is
and the magnitude of the rotational angular velocity vector
can be obtained by
Substituting (27) into (28) yields
The rotational angular velocity vector
can therefore be expressed in terms of its magnitude
and unit vector
as follows [
17]:
where
If consecutively sampled angular velocity vectors are constant, i.e.,
, (30) becomes singular and cannot compute the rotation angular velocity vector
. However,
Figure 3 demonstrates that in this case it exists that
. Conversely, if consecutively sampled angular velocities differ, (30) can successfully compute the rotation angular velocity vector
.
The next three sampled angular velocity vectors are used to compute for the subsequent attitude update cycle. This method directly calculates the rotational angular velocity vector via the cross product of angular velocity vectors, offering relatively low computational complexity. It is suitable for scenarios where the velocity update intervals are sufficiently short.
The attitude update algorithm proposed in this study is summarized and listed in
Table 1 to facilitate better execution in the navigation computer.
4. Algorithm’s Performance Under Low-Dynamic Motion
In low-dynamic motion, the angular velocity
typically exhibits smooth variations, which can be mathematically approximated as a polynomial function of time [
7]. Within attitude update cycle
, the angular velocity
is modeled as a second-order polynomial:
where
are constant vectors.
Three equidistant angular velocity vectors are sampled within the attitude update cycle , where .
The angular velocity vectors under low-dynamic motion can be expressed as
The relationship between the algorithm error and low-dynamic motion parameters is described in detail in the
Appendix A. The algorithm’s performance under low-dynamic motion reduces to a functional relationship
. The attitude error is influenced by the values of
and is also dependent on the size of the attitude update cycle.
The algorithm error
vanishes for two special conditions in (31). One is a piecewise constant scenario; the other one is the limit as H → 0. A comprehensive performance evaluation against low-dynamic motion is presented in
Section 5.
5. Simulations and Discussion
Simulations are carried out using MATLAB R2016b to numerically verify the accuracy of the proposed attitude algorithm. The proposed attitude algorithm (Prop) is evaluated to validate its performance under low-dynamic motion, as described in (31). The comparison algorithms are the traditional algorithm (Trad1), as described in
Section 2, and a muti-interval information algorithm (Trad2), as described in [
15]:
where
,
.
As in the error analysis in
Section 4, the algorithm error depends on the parameters of the low-dynamic motion.
Table 2 lists the simulation parameters under low-dynamic motion. The simulation results are represented in
Figure 4,
Figure 5,
Figure 6,
Figure 7 and
Figure 8.
Table 3 provides a comprehensive quantitative comparison of algorithm errors.
In case 2, the increase in parameter , which the parameter sets aim to represent, corresponds to a slight offset in the initial rotational state of the object, i.e., changing from nearly stationary to extremely slow rotation. In case 3, the increase in parameter , which the parameter sets aim to represent, corresponds to a faint change in the initial trend of rotational acceleration, i.e., shifting from completely uniform motion to an extremely gradual increase in speed. In case 4, the increase in parameter , which the parameter sets aim to represent, corresponds to an upward bend in the angular velocity curve of the object’s motion, meaning that it accelerates more and more rapidly.
Figure 4,
Figure 5,
Figure 6,
Figure 7 and
Figure 8 show that under all five cases, the yaw, pitch, and roll error curves of Prop are consistently lower than those of Trad1 and Trad2. Analysis of
Table 3 further reveals the following: when increasing low-dynamic parameter
(case 2), the maximum yaw error of Trad1 and Trad2 remained unchanged, its maximum pitch error decreased, and its maximum roll error increased. For Prop, the maximum yaw and roll errors remained unchanged, while its maximum pitch error increased. With increased low-dynamic parameter
(case 3), the maximum roll and pitch errors of Trad1 and Trad2 increased, while their maximum yaw error remained unchanged. The maximum yaw and pitch errors of Prop remained unchanged, but its maximum roll error increased. Under increased low-dynamic parameter
(case 4), the maximum yaw error of Trad1 and Trad2 remained unchanged, while their maximum pitch and roll errors decreased. The maximum pitch and roll errors of Prop remained unchanged, but its maximum yaw error increased. With increased low-dynamic parameter
(case 5), the maximum yaw, pitch, and roll errors of Trad1 and Trad2 all remained unchanged. The maximum yaw, pitch, and roll errors of Prop all increased. Comparing the maximum errors of Trad1 and Trad2 under five cases shows that the yaw error is the largest among the three, significantly exceeding both the pitch and roll errors. In contrast, the maximum errors of Prop vary with changes in low-dynamic parameters; they all remain within the order of magnitude of
across all five cases. It is significantly lower than the three-axis errors of Trad1 and Trad2. This validates the effectiveness of Prop in low-dynamic motion and aligns with the error analysis results in
Section 4.
A comparative analysis of algorithm accuracy and computational cost between the proposed algorithm and traditional ones is necessary. The single-update execution time of algorithms was quantified by employing tic and toc functions in MATLAB R2016b.
As shown in
Table 4, under all five cases, Trad1 has the smallest time consumption, followed by Trad2, and Prop has the largest. Combined with the algorithm accuracy analysis, it can be concluded that Prop outperforms Trad1 and Trad2 in terms of accuracy and it incurs a higher computational cost. Despite this, its execution time still satisfies the constraint of being less than 70% of the algorithm update cycle [
22].