Next Article in Journal
Accountability-Aware Fractional Control for Embodied Intelligent Systems: Mittag-Leffler Stability and Conditional Proxemic Safety
Previous Article in Journal
Design and Analysis of Non-Binary Cyclic Permutation Sequences for Low-Correlation Multiuser Synchronization
Previous Article in Special Issue
Finite-Region Boundedness and Stabilization of 2D Continuous-Time Roesser Models
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Symmetry-Based Strapdown Attitude Update Algorithm Suitable for Low-Dynamic Motion

by
Qianqian Gao
* and
Bixin Cai
School of Mechanical and Automotive Engineering, Anhui Polytechnic University, Wuhu 241000, China
*
Author to whom correspondence should be addressed.
Symmetry 2026, 18(6), 888; https://doi.org/10.3390/sym18060888
Submission received: 16 April 2026 / Revised: 18 May 2026 / Accepted: 22 May 2026 / Published: 23 May 2026
(This article belongs to the Special Issue Applications Based on Symmetry/Asymmetry in Control Engineering)

Abstract

The attitude update algorithm is the core component determining the navigation accuracy of strapdown INS, directly affecting velocity and position solution precision. Existing algorithms were designed typically based on first-order Taylor expansions of the rotation vector differential equation, inevitably introducing approximation errors. To obtain precise attitude information under low-dynamic motion, a symmetry-based strapdown attitude update algorithm is proposed. An auxiliary frame is constructed in which the angular-rate vector becomes constant. This transformation exploits the rotational symmetry inherent in rigid-body rotation. 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. The performance of the proposed algorithm under low-dynamic motion was sufficiently compared with that of the traditional algorithms in the simulation. The simulation results demonstrate that the proposed method outperforms traditional ones with an accuracy improvement of five orders of magnitude, validating its suitability for low-dynamic motion.

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:
ω t + τ = a + 2 b τ + 3 c τ 2
where a , b , and c are coefficients. The gyroscope samples the angular velocity twice during each update cycle, i.e., H = 2h. 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:
a = ω 0 b = 4 ω 1 3 ω 0 ω 2 / 2 H c = 2 ω 2 2 ω 1 + ω 0 / 3 H 2
The integral of (1) over interval H yields the following angular increment:
α = a H + b H 2 + c H 3
In algorithm design, the differential equation of the rotation vector is typically approximated as
ϕ ˙ ω i b b + 1 2 α × ω i b b
where α = ω i b b d t represents the angular increment of the carrier.
Integrating (4) over the attitude update cycle H gives the following:
Δ ϕ = α + 1 2 t t + H α × ω i b b d t
Using Taylor series expansion combined with (2), the computational value for the rotation vector increment is derived as
Δ ϕ ^ = α + h 2 i = 0 1 j = i + 1 2 K i j ( ω i × ω j ) α = H 6 ( ω 0 + 4 ω 1 + ω 2 )
where K i j 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]
ω i b b ( t ) = 2 Ω sin 2 ( ϕ 2 ) Ω sin ϕ sin Ω t Ω sin ϕ cos Ω t
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.
Δ ϕ = Δ ϕ x Δ ϕ y Δ ϕ z = 2 sin 2 ( ϕ / 2 ) sin ( Ω H ) 2 sin ϕ sin ( Ω H / 2 ) sin Ω [ ( t + H / 2 ) ] 2 sin ϕ sin ( Ω H / 2 ) cos Ω [ ( t + H / 2 ) ]
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]:
β = α + h 2 1 45 ω 0 × ω 2 + 28 45 ω 1 × ω 2
where α = H 6 ( ω 0 + 4 ω 1 + ω 2 ) , H = 2 h .
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 ω i b t , an auxiliary frame, u 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 t m 1 , the b frame and u frame coincide, and their spatial relationship at t m 1 is shown in Figure 1. In each attitude update cycle at any time, the u frame rotates at a constant angular velocity around the z-axis of the b frame. The spatial relationships among the b frame, u frame, and angular velocity vector ω i b t at any time t t m 1 , t m are illustrated in Figure 2.
As shown in Figure 1, the b frame and u frame coincide at the start of each attitude update cycle t m 1 . So, one has
ω i b u ( t m 1 ) = ω i b b ( t m 1 )
Figure 2 illustrates that at any time t t m 1 , t m , the u frame rotates at a constant angular velocity ϑ b , u around the z-axis of the b frame. This implies a fixed spatial relationship between the u frame and the angular velocity vector ω i b t at t t m 1 , t m . Consequently, the projection of ω i b t onto the u frame remains constant, satisfying the following relation:
ω i b u ( t ) = ω i b u ( t m 1 )
Using (11) and (12), one obtains
ω i b u ( t ) = ω i b b ( t m 1 )
Given the definition of the u frame, ϑ b , u denotes the angular velocity of the u frame relative to the b frame. So, the absolute angular velocity vector ω i u u t can be expressed as the sum of the gyroscope output projected onto the u frame and the rotational angular velocity ϑ b , u .
ω i u u ( t ) = ω i b u ( t ) + ϑ b , u
Substituting (12) into (14) yields
ω i u u ( t ) = ω i b b ( t m 1 ) + ϑ b , u
where ω i b b t m 1 represents the gyroscope output at t m 1 and ϑ b , u is the rotational angular velocity of the u frame relative to the b frame, that is, the rotational angular velocity. Since both ω i b b t m 1 and ϑ b , u are constant vectors, ω i u u t is also a constant vector.
The relationship between the rotation vector and the angular velocity vector ω i u u t is expressed by the following [14]:
ϕ ˙ i u ( t ) = ω i u u t + 1 2 ϕ i u t × ω i u u t + 1 ϕ i u t 2 1 ϕ i u t 2 cot ϕ i u t 2 ϕ i u t × 2 ω i u u t
As indicated by (15), ω i u u t 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]
ϕ ˙ i u ( t ) = ω i u u t
Subsequently, the vector ϕ i u ( t ) can be computed:
ϕ i u ( t ) = t m 1 t ω i b b t m 1 + ϑ b , u d τ
The vector ϕ i u ( t ) can be computed:
ϕ u b ( t ) = t m 1 t ϑ b , u d τ
Based on the relationship between the direction cosine matrix and rotation vector ϕ i u ( t ) , the transformation matrix C i   m 1 u is [4]
C i   m 1 u = I + sin ϕ i u t ϕ i u t ϕ i u t × + 1 cos ϕ i u t ϕ i u t 2 ϕ i u t × 2
Similarly, the transformation matrix C u   m 1 b is
C u   m 1 b = I + sin ϕ u b t ϕ u b t ϕ u b t × + 1 cos ϕ u b t ϕ u b t 2 ϕ u b t × 2
Applying the chain rule for direction cosine matrices (DCMs), one can obtain the following from (20) and (21):
C i   m 1 b = C u   m 1 b C i   m 1 u
Over each small time interval, the magnitudes of the angular velocity vector ω i b b and ϑ b , u are constant. These constant-magnitude segments are then concatenated using the chain rule, resulting in
C i b ( t m ) = C i   1 b C i   2 b C i   3 b C i   m 1 b
To complete the velocity update using the proposed algorithm, the rotational angular velocity vector ϑ b , u in (21) needs to be determined. ϑ b , u 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 t m 1 , t m 1 / 2 = t m 1 + H / 2 and t m = t m 1 + H , yielding ω i b b t m 1 , ω i b b t m 1 / 2 , and ω i b b t m .
Considering that the magnitude of the angular velocity vector remains constant within the u frame, and that the plane formed by vectors ω i b b t m 1 / 2 ω i b b t m 1 and ω i b b t m ω i b b t m 1 / 2 is perpendicular to the rotational angular velocity vector ϑ b , u , it follows that vector ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2 is co-directional with ϑ b , u .
We set
e = ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2
The unit vector of the rotational angular velocity vector ϑ b , u can be obtained using
e ϑ = e e
Substituting (24) into (25) yields
e ϑ = ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2 ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2
Based on the principle of the cross product of vectors, the angle between ω i b b t m 1 / 2 ω i b b t m 1 and ω i b b t m 1 / 2 ω i b b t m 1 is
Δ ϑ = 2 sin 1 ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2 ω i b b t m 1 / 2 ω i b b t m 1 · ω i b b t m ω i b b t m 1 / 2
and the magnitude of the rotational angular velocity vector ϑ b , u can be obtained by
ϑ b , u = Δ ϑ H
Substituting (27) into (28) yields
ϑ b , u = 2 H sin 1 ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2 ω i b b t m 1 / 2 ω i b b t m 1 · ω i b b t m ω i b b t m 1 / 2
The rotational angular velocity vector ϑ b , u can therefore be expressed in terms of its magnitude ϑ b , u and unit vector e ϑ as follows [17]:
ϑ b , u = ϑ b , u ·   e ϑ
where
e ϑ = ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2 ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2
ϑ b , u = 2 H sin 1 ω i b b t m 1 / 2 ω i b b t m 1 × ω i b b t m ω i b b t m 1 / 2 ω i b b t m 1 / 2 ω i b b t m 1 · ω i b b t m ω i b b t m 1 / 2
If consecutively sampled angular velocity vectors are constant, i.e., ω i b b t m 1 = ω i b b t m 1 / 2 = ω i b b t m , (30) becomes singular and cannot compute the rotation angular velocity vector ϑ b , u . However, Figure 3 demonstrates that in this case it exists that ϑ b , u = 0 . Conversely, if consecutively sampled angular velocities differ, (30) can successfully compute the rotation angular velocity vector ϑ b , u .
The next three sampled angular velocity vectors are used to compute ϑ b , u 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 ω i b b t typically exhibits smooth variations, which can be mathematically approximated as a polynomial function of time [7]. Within attitude update cycle H = t m t m 1 , the angular velocity ω i b b t is modeled as a second-order polynomial:
ω i b b t = a + b t t m 1 + c t t m 1 2
where a , b , c are constant vectors.
Let
a = a 1 a 2 a 3 , b = b 1 b 2 b 3 , c = c 1 c 2 c 3
Three equidistant angular velocity vectors ω i b b t 0 , ω i b b t 1 , ω i b b t 2 are sampled within the attitude update cycle H = t m t m 1 , where t 1 = t 0 + h , t 2 = t 0 + 2 h .
The angular velocity vectors under low-dynamic motion can be expressed as
ω i b b t 0 = a , ω i b b t 1 = a + b h + c h 2 ω i b b t 2 = a + 2 b h + 4 c h 2
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 Δ E r r = f a , b , c , h , h 2 , h 3 . The attitude error is influenced by the values of a , b , c , and is also dependent on the size of the attitude update cycle.
The algorithm error Δ E r r 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]:
β = α + H 2 0.1662 ω 1 × ω 2 + 0.0052 ω 0 × ω 2     + 0.6926 α 1 × α 2 + H 0.4390 ω 1 × α 2 0.0597 ω 2 × α 2
where α = H 6 ( ω 0 + 4 ω 1 + ω 2 ) , α 1 = H 3 ω 1 , α 2 = H 3 ω 2 , H = 2 h .
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 a , 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 b , 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 c , 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 a (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 b (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 c (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 H (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 10 5 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].

6. Conclusions

To enhance the accuracy of attitude update algorithms under low-dynamic motion, this paper proposes a novel symmetry-based attitude update method. It systematically evaluates the applicability of the algorithm under this motion. The performance of the proposed algorithm under low-dynamic motion was sufficiently compared with that of the traditional ones in the simulation. Simulation results demonstrate that the proposed algorithm outperforms traditional algorithms.

Author Contributions

Conceptualization, Q.G. and B.C.; methodology, Q.G.; software, B.C.; validation, Q.G.; formal analysis, B.C.; investigation, B.C.; resources, Q.G.; data curation, Q.G.; writing—original draft preparation, Q.G.; writing—review and editing, Q.G.; visualization, Q.G. and B.C.; supervision, B.C.; project administration, Q.G. and B.C.; funding acquisition, Q.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Industry-University-Research Horizontal Project, grant number HX-2026-03-014 and “The APC was funded by authors or their institutions”.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Acknowledgments

The authors sincerely thank the editor and reviewers for their valuable comments and constructive suggestions.

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A. Relationship Between the Attitude Error and Low-Dynamic Motion Parameters

ϑ b , u can be obtained by (30)
ϑ b , u = sin 1 2 h b × c b + c h b + 3 c h 2 h b × c b × c
During the attitude update cycle H = t m t m 1 = 2 h , the projection of ω i b b t in the u frame is ω i b b t 0 . Consequently, the rotation vector from i frame to the u frame can be derived as
ϕ 1 = ω i b b t 0 + ϑ b , u t = 2 a 1 h + k b 2 c 3 b 3 c 2 2 a 2 h + k b 1 c 3 b 3 c 1 2 a 3 h + k b 1 c 2 b 2 c 1
ϕ 2 from the u frame to the b frame is
ϕ 2 = ϑ b , u t = k b 2 c 3 b 3 c 2 k b 1 c 3 b 3 c 1 k b 1 c 2 b 2 c 1
where k = Δ γ 2 h b × c .
Based on the relationship between the rotation vector ϕ and quaternion Q ,
Q = cos ϕ 2 + ϕ ϕ sin ϕ 2
and after combining with (A2) and (A3), the θ 1 , θ 2 corresponding attitude quaternions can be derived as follows:
Q 1 = cos θ 1 2 + θ 1 θ 1 sin θ 1 2 Q 2 = cos θ 2 2 + θ 2 θ 2 sin θ 2 2
Equation (A4) can be expanded into vectors composed of a i , b i , c i , i = 1 , 2 , 3 , k , h .
r i = Q 1 r s Q 1 *
r s = Q 2 r b Q 2 *
By substituting (A6) and (A7) into (22), one obtains the following:
r i = Q 1 Q 2 r b Q 2 *   Q 1 * = Q 1 Q 2 r b Q 2 Q 1 *
From (A8), the rotation quaternion Q 1 Q 2 from the b frame to the i frame is determined.
The true rotation vector ϕ can be calculated by integrating the rotational vector differential equation:
ϕ = t m 1 t m 1 + H ω i b b + 1 2 α × ω i b b d t
By integrating the angular velocity of the vehicle’s motion into low-dynamic motion, we obtain
α t t m 1 = a t t m 1 + b t t m 1 2 + c t t m 1 3
Because attitude update cycle is small, one can obtain the second term of (A9) as follows:
t m 1 t m 1 + H 1 2 α × ω i b b d t = 1 12 a × b H 3
Thus, the true rotation vector is obtained:
ϕ = 2 a h + 2 b h 2 + 8 3 c h 3 + 2 3 h 3 a × b = 2 a 1 h + 2 b 1 h 2 + 8 3 c 1 h 3 + 2 3 h 3 a 2 b 3 a 3 b 2 2 a 2 h + 2 b 2 h 2 + 8 3 c 2 h 3 + 2 3 h 3 a 1 b 3 a 3 b 1 2 a 3 h + 2 b 3 h 2 + 8 3 c 3 h 3 + 2 3 h 3 a 1 b 2 a 2 b 1
The quaternion corresponding to (A12) is
Q 3 = cos ϕ 2 + ϕ ϕ sin ϕ 2
From (A8) and (A13), the error quaternion Q e can be derived [8]:
Q e = Q 3 Q 1 Q 2
The component form of the error quaternion is defined as
Q e = Q e 1 Q e 2 Q e 3 Q e 4 T
The first element Q e 1 of the error quaternion Q e is
Q e 1 = cos q 3 2 q 11 q 21 sin q 1 2 sin q 2 2 q 1 q 2 cos q 1 2 cos q 2 2 + q 12 q 22 sin q 1 2 sin q 2 2 + q 13 q 23 sin q 1 2 sin q 2 2 q 1 q 2 q 31 sin q 3 2 q 2 q 11 cos q 2 2 sin q 1 2 + q 1 q 21 cos q 1 2 sin q 2 2 + q 12 q 23 sin q 1 2 sin q 2 2 q 13 q 22 sin q 1 2 sin q 2 2 q 1 q 2 q 3 q 32 sin q 3 2 q 2 q 12 cos q 2 2 sin q 1 2 + q 1 q 22 cos q 1 2 sin q 2 2 q 11 q 23 sin q 1 2 sin q 2 2 + q 13 q 21 sin q 1 2 sin q 2 2 q 1 q 2 q 3 q 33 sin q 3 2 q 2 q 13 cos q 2 2 sin q 1 2 + q 1 q 23 cos q 1 2 sin q 2 2 + q 11 q 22 sin q 1 2 sin q 2 2 q 12 q 21 sin q 1 2 sin q 2 2 q 1 q 2 q 3
The second element Q e 2 of the error quaternion Q e is
Q e 2 = cos q 3 2 q 2 q 11 cos q 2 2 sin q 1 2 + q 1 q 21 cos q 1 2 sin q 2 2 + q 12 q 23 sin q 1 2 sin q 2 2 q 13 q 22 sin q 1 2 sin q 2 2 q 1 q 2 q 31 sin q 3 2 q 11 q 21 sin q 1 2 sin q 2 2 q 1 q 2 cos q 1 2 cos q 2 2 + q 12 q 22 sin q 1 2 sin q 2 2 + q 13 q 23 sin q 1 2 sin q 2 2 q 1 q 2 q 3 q 32 sin q 3 2 q 2 q 13 cos q 2 2 sin q 1 2 + q 1 q 23 cos q 1 2 sin q 2 2 + q 11 q 22 sin q 1 2 sin q 2 2 q 12 q 21 sin q 1 2 sin q 2 2 q 1 q 2 q 3 q 33 sin q 3 2 q 2 q 12 cos q 2 2 sin q 1 2 + q 1 q 22 cos q 1 2 sin q 2 2 q 11 q 23 sin q 1 2 sin q 2 2 + q 13 q 21 sin q 1 2 sin q 2 2 q 1 q 2 q 3
The third element Q e 3 of the error quaternion Q e is
Q e 3 = cos q 3 2 q 2 q 12 cos q 2 2 sin q 1 2 + q 1 q 22 cos q 1 2 sin q 2 2 q 11 q 23 sin q 1 2 sin q 2 2 + q 13 q 21 sin q 1 2 sin q 2 2 q 1 q 2 + q 31 sin q 3 2 q 2 q 13 cos q 2 2 sin q 1 2 + q 1 q 23 cos q 1 2 sin q 2 2 + q 11 q 22 sin q 1 2 sin q 2 2 q 12 q 21 sin q 1 2 sin q 2 2 q 1 q 2 q 3 q 32 sin q 3 2 q 11 q 21 sin q 1 2 sin q 2 2 q 1 q 2 cos q 1 2 cos q 2 2 + q 12 q 22 sin q 1 2 sin q 2 2 + q 13 q 23 sin q 1 2 sin q 2 2 q 1 q 2 q 3 q 33 sin q 3 2 q 2 q 11 cos q 2 2 sin q 1 2 + q 1 q 21 cos q 1 2 sin q 2 2 + q 12 q 23 sin q 1 2 sin q 2 2 q 13 q 22 sin q 1 2 sin q 2 2 q 1 q 2 q 3
The fourth element Q e 4 of the error quaternion Q e is
Q e 4 = cos q 3 2 q 2 q 13 cos q 2 2 sin q 1 2 + q 1 q 23 cos q 1 2 sin q 2 2 + q 11 q 22 sin q 1 2 sin q 2 2 q 12 q 21 sin q 1 2 sin q 2 2 q 1 q 2 + q 31 sin q 3 2 q 2 q 12 cos q 2 2 sin q 1 2 + q 1 q 22 cos q 1 2 sin q 2 2 q 11 q 23 sin q 1 2 sin q 2 2 + q 13 q 21 sin q 1 2 sin q 2 2 q 1 q 2 q 3 q 32 sin q 3 2 q 2 q 11 cos q 2 2 sin q 1 2 + q 1 q 21 cos q 1 2 sin q 2 2 + q 12 q 23 sin q 1 2 sin q 2 2 q 13 q 22 sin q 1 2 sin q 2 2 q 1 q 2 q 3 q 33 sin q 3 2 q 11 q 21 sin q 1 2 sin q 2 2 q 1 q 2 cos q 1 2 cos q 2 2 + q 12 q 22 sin q 1 2 sin q 2 2 + q 13 q 23 sin q 1 2 sin q 2 2 q 1 q 2 q 3
Based on the relationship between quaternion and direction cosine matrix, we obtain the following [7]:
t 12 = 2 Q e 2 Q e 3 Q e 1 Q e 4 t 22 = 1 2 Q 2 e 2 + Q 2 e 4 t 31 = 2 Q e 2 Q e 4 Q e 1 Q e 3 t 32 = 2 Q e 3 Q e 4 Q e 1 Q e 2 t 33 = 1 2 Q 2 e 2 + Q 2 e 3
The attitude angle error can be derived as
ψ e = tan 1 t 12 t 22 θ e = sin 1 t 32 γ e = tan 1 t 31 t 33
The above analysis shows that the attitude error expansion is a function of a , b , c , h , h 2 , h 3 . The attitude error is influenced by the values of a , b , c , and is also dependent on the size of the attitude update cycle.

References

  1. Yao, Y.; Zhang, H. Research on the positioning method of In-pipe detector based on strapdown inertial navigation and global optimization algorithm. In Proceedings of the 43rd CCC, Kunming, China, 28–31 July 2024. [Google Scholar] [CrossRef]
  2. Yue, Y.; Yang, Z. Research on a Strapdown Inertial Navigation Algorithm Based on Unmanned Driving. In Proceedings of the 9th CACRE, Jeju Island, Republic of Korea, 18–20 July 2024. [Google Scholar] [CrossRef]
  3. Lu, X.; Li, Y.; Gao, L. Comparison of Three Navigation Algorithms Based on Strapdown Inertial Navigation System. In Proceedings of the 6th IMCEC, Chongqing, China, 2 July 2024. [Google Scholar] [CrossRef]
  4. Zharkov, M.; Veremeenko, K.; Kuznetsov, I. Experimental Results of Attitude Determination Functional Algorithms Implementation in Strapdown Inertial Navigation System. Sensors 2022, 22, 1849. [Google Scholar] [CrossRef] [PubMed]
  5. Sokolov, S.V.; Marshakov, D.V.; Chub, E.G. Stable solution to the problem of autonomous navigation of moving objects on analytical trajectory intervals using inertial measurement results. Meas. Tech. 2024, 67, 259–274. [Google Scholar] [CrossRef]
  6. Bortz, J.E. A new mathematical formulation for strapdown inertial navigation. IEEE Trans. Aerosp. Electron. Syst. 1971, 7, 61–66. [Google Scholar] [CrossRef]
  7. Savage, P.G. Strapdown inertial navigation integration algorithm design Part 1: Attitude algorithms. J. Guid. Control Dyn. 1998, 21, 19–28. [Google Scholar] [CrossRef] [PubMed]
  8. Wang, M.S.; Wu, W.Q.; Pan, X.F. Engineering notes: Approach to recovering maneuver accuracy in classical coning algorithms. J. Guid. Control Dyn. 2013, 36, 1872–1880. [Google Scholar] [CrossRef]
  9. Wu, Y.X. Next-generation inertial navigation computation based on functional iteration. In Proceedings of the ICINS, St. Petersburg, Russia, 25–27 May 2019. [Google Scholar] [CrossRef]
  10. Yang, X.K.; Yan, G.M.; Li, S.J. An SINS algorithm in geographical coordinate system based on pseudo-linear model. J. Astronaut. 2022, 43, 1227–1235. [Google Scholar]
  11. Yang, X.K.; Yang, H.; Yan, G.M. A high-accuracy SINS attitude update algorithm based on Legendre polynomial. J. Northwestern Polytech. Univ. 2022, 40, 1021–1029. [Google Scholar] [CrossRef]
  12. Yan, G.M.; Yang, X.K.; Weng, J. A new error free algorithm for SINS numerical updating. J. Navig. Position. 2018, 6, 20–22. [Google Scholar] [CrossRef]
  13. Wang, Z.G.; Liu, W.C.; Li, D. A SINS numerical updating algorithm based on Adams-PECE. J. Chin. Inert. Technol. 2023, 31, 222–227. [Google Scholar] [CrossRef]
  14. Lu, Y.L.; Yang, J.; Sun, Q. Highly dynamic strapdown inertial navigation attitude updating algorithm based on sine function fitting. J. Chin. Inert. Technol. 2024, 32, 1–7. [Google Scholar] [CrossRef]
  15. Liang, Z.; Zhou, Z.F.; Xu, Z.H. Angular rate attitude algorithm based on muti-interval information correction. J. Syst. Eng. Electron. 2022, 44, 1636–1643. [Google Scholar] [CrossRef]
  16. Naidu, S.N.; Gupta, R.K. Novel attitude Estimation of strapdown inertial navigation systems with singular value decomposition technique. Def. Sci. J. 2022, 72, 281–289. [Google Scholar] [CrossRef]
  17. Patera, R.P. Attitude propagation for a slewing angular rate vector. J. Guid. Control Dyn. 2010, 33, 1847–1855. [Google Scholar] [CrossRef]
  18. Fukuda, H.; Kanomata, C.; Mutoh, N.; Nakamura, G.; Schattschneider, D. Polyominoes and Polyiamonds as Fundamental Domains of Isohedral Tilings with Rotational Symmetry. Symmetry 2011, 3, 828–851. [Google Scholar] [CrossRef]
  19. You, Y.; Jiao, W.; Chen, J.; Wang, Z.; Liu, X.; Liu, Z.; Chen, Y.; Zhang, X. A Curvature-Based Three-Dimensional Defect Detection System for Rotational Symmetry Tire. Symmetry 2024, 16, 1581. [Google Scholar] [CrossRef]
  20. Davis, G.; Freericks, J.K. Hidden Rotation Symmetry of the Jordan–Wigner Transformation and Its Application to Measurement in Quantum Computation. Symmetry 2026, 18, 251. [Google Scholar] [CrossRef]
  21. Ben, Y.; Sun, F.; Gao, W. Generalized Method for Improved Coning Algorithms using Angular Rate. IEEE Trans. Aerosp. Electron. Syst. 2009, 45, 1565–1572. [Google Scholar] [CrossRef]
  22. Colin, A.; Puaut, I. Worst-case execution time analysis of the RTEMS real-time operating system. In Proceedings of the 13th Euromicro Conference on Real-Time Systems, Delft, The Netherlands, 13–15 June 2001; pp. 191–198. [Google Scholar] [CrossRef]
Figure 1. Spatial relationship between b frame and u frame at t m 1 .
Figure 1. Spatial relationship between b frame and u frame at t m 1 .
Symmetry 18 00888 g001
Figure 2. Spatial relationship between b frame and u frame at t t m 1 , t m .
Figure 2. Spatial relationship between b frame and u frame at t t m 1 , t m .
Symmetry 18 00888 g002
Figure 3. Cross-product method.
Figure 3. Cross-product method.
Symmetry 18 00888 g003
Figure 4. Algorithm error comparison under case 1.
Figure 4. Algorithm error comparison under case 1.
Symmetry 18 00888 g004
Figure 5. Algorithm error comparison under case 2.
Figure 5. Algorithm error comparison under case 2.
Symmetry 18 00888 g005
Figure 6. Algorithm error comparison under case 3.
Figure 6. Algorithm error comparison under case 3.
Symmetry 18 00888 g006
Figure 7. Algorithm error comparison under case 4.
Figure 7. Algorithm error comparison under case 4.
Symmetry 18 00888 g007
Figure 8. Algorithm error comparison under case 5.
Figure 8. Algorithm error comparison under case 5.
Symmetry 18 00888 g008
Table 1. Summary of the proposed algorithm.
Table 1. Summary of the proposed algorithm.
Inputs:  ω i b b t m 1 , ω i b b t m   1 / 2 , ω i b b t m
Perform the following:
  • Compute rotational angular velocity vector ϑ b , u using the cross product of the sampled angular-rate vectors:
    ϑ b , u = ϑ b , u ·   e ϑ
  • Get the rotation vector ϕ u ( t ) given ω i b b t m 1 and ϑ b , u
    ϕ i u ( t ) = t m 1 t ω i b b t m 1 + ϑ b , u d τ
  • Get the rotation vector ϕ u b ( t ) given ϑ b , u
    ϕ u b ( t ) = t m 1 t ϑ b , u d τ
  • Compute the transformation matrix C i   m 1 u .
    C i   m 1 u = I + sin ϕ i u t ϕ i u t ϕ i u t × + 1 cos ϕ i u t ϕ i u t 2 ϕ i u t × 2
  • Get the transformation matrix C u   m 1 b
    C u   m 1 b = I + sin ϕ u b t ϕ u b t ϕ u b t × + 1 cos ϕ u b t ϕ u b t 2 ϕ u b t × 2
  • Compute the transformation matrix C i   m 1 b
    C i   m 1 b = C u   m 1 b C i   m 1 u
  • Obtain the transformation matrix at t m : C i b ( t m ) = C i   1 b C i   2 b C i   3 b C i   m 1 b
Output:  C i b ( t m )
Table 2. Simulation parameters under low-dynamic motion.
Table 2. Simulation parameters under low-dynamic motion.
Conditions a rad / s b rad / s 2 c rad / s 3 H s
Case 1 1 0 0 T 0 1 0 T 0 0 1 T 0.01
Case 2 2 0 0 T 0 1 0 T 0 0 1 T 0.01
Case 3 1 0 0 T 0 2 0 T 0 0 1 T 0.01
Case 4 1 0 0 T 0 1 0 T 0 0 2 T 0.01
Case 5 1 0 0 T 0 1 0 T 0 0 1 T 0.02
a represents the variation in initial angular velocity; b represents the variation in initial angular acceleration; c represents the variation in the rate of change in angular acceleration.
Table 3. Algorithm errors of each case under low-dynamic motion.
Table 3. Algorithm errors of each case under low-dynamic motion.
ConditionsErrorTrad1
Maximum (deg)
Trad2
Maximum (deg)
Prop
Maximum (deg)
Case 1Yaw89.9989.98 2.6 × 10 6
Pitch12.212.17 4.0 × 10 5
Roll14.4514.38 2.0 × 10 5
Case 2Yaw89.9989.99 2.6 × 10 6
Pitch9.4659.463 8.0 × 10 5
Roll15.8815.82 2.0 × 10 5
Case 3Yaw89.9989.98 2.6 × 10 6
Pitch26.9226.85 4.0 × 10 5
Roll26.6326.47 4.0 × 10 5
Case 4Yaw9089.98 5.3 × 10 6
Pitch7.2427.226 4.0 × 10 5
Roll9.729.661 4.0 × 10 5
Case 5Yaw89.9789.98 2.1 × 10 5
Pitch12.212.14 8.0 × 10 5
Roll14.4914.34 8.0 × 10 5
Table 4. Single-update execution time of algorithms.
Table 4. Single-update execution time of algorithms.
Algorithm TimeTrad1 (s)Trad2 (s)Prop (s)
Case 1 1.8 × 10 5 2.8 × 10 5 5.5 × 10 5
Case 2 2.3 × 10 5 2.8 × 10 5 5.3 × 10 5
Case 3 2.0 × 10 5 2.8 × 10 5 5.3 × 10 5
Case 4 2.2 × 10 5 3.3 × 10 5 5.5 × 10 5
Case 5 3.0 × 10 5 3.3 × 10 5 6.6 × 10 5
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Gao, Q.; Cai, B. A Symmetry-Based Strapdown Attitude Update Algorithm Suitable for Low-Dynamic Motion. Symmetry 2026, 18, 888. https://doi.org/10.3390/sym18060888

AMA Style

Gao Q, Cai B. A Symmetry-Based Strapdown Attitude Update Algorithm Suitable for Low-Dynamic Motion. Symmetry. 2026; 18(6):888. https://doi.org/10.3390/sym18060888

Chicago/Turabian Style

Gao, Qianqian, and Bixin Cai. 2026. "A Symmetry-Based Strapdown Attitude Update Algorithm Suitable for Low-Dynamic Motion" Symmetry 18, no. 6: 888. https://doi.org/10.3390/sym18060888

APA Style

Gao, Q., & Cai, B. (2026). A Symmetry-Based Strapdown Attitude Update Algorithm Suitable for Low-Dynamic Motion. Symmetry, 18(6), 888. https://doi.org/10.3390/sym18060888

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop