1. Introduction
Strapdown inertial navigation systems (SINS) are widely used in various applications [
1,
2,
3,
4,
5,
6,
7]. The key task of SINS design is the development of attitude determination algorithm providing attitude angles (heading, pitch, and roll) calculation within required accuracy and output rate [
8]. Currently, many types of attitude determination algorithms have been developed on the base of the transformation matrix, Euler angles, quaternions, or rotation vector.
From a mathematical point of view, all these parameters lead to the same results for describing the algorithms of the SINS operation. The kinematic equations of quaternion parameters are linear, have the fourth order, and are defined for any yaw, pitch, and roll angles. The quaternion parameters require only one normalization equation. Kinematic equations in Euler angles have a low order (the third) and a clear structure, but contain trigonometric functions from the desired angles and allow singularity at a pitch angle equals to 90 degrees. The SINS attitude equations written using a transformation matrix are linear, defined for any yaw, pitch, and roll angles, but the equations have a fairly high order (the ninth). In addition, the equations must be supplemented with six coupling equations. Taking this into account, quaternions have been preferred for a long time in the numerical SINS attitude algorithms implementation [
8,
9,
10,
11].
The Moscow Aviation Institute MAI has been carrying out research and development in the field of INS since the middle of the last century. Currently, MAI has created a line of various accuracy grade SINS, depending on the type of gyroscopes used: from MEMS to laser gyroscopes [
2,
3]. Due to the increasing capabilities of embedded computers in the latest modifications of SINS, the attitude algorithm is based on a transformation matrix. These types of algorithms have such disadvantages as errors of scale and non-orthogonality growth and high-level (ninth) order of the system differential equations requiring a solution. It is possible to get rid of these disadvantages with the use of a transformation matrix scaling an orthogonalization special procedures [
8,
9,
10,
11] and the use of higher performance computers. At the same time, these disadvantages can also be eliminated by switching from the algorithm for calculating the elements of the transformation matrix to an algorithm of direct heading, pitch, and roll angles (Euler angles) calculation.
In this regard, the main objective of the paper is the analysis of direct attitude angles calculation algorithm practical application possibilities in various grades SINS using modern hardware onboard different types of mobile objects. To carry out such an analysis, a possible approach to the derivation of the direct heading, pitch, and roll angles calculation algorithm equations is proposed. The analysis is based on a comparison of the direct angles calculation algorithm with the transformation matrix based algorithm when they are implemented in the INS computer during car and helicopter tests.
It should be noted that the direct angles calculation algorithm has not been compared with a quaternions-based algorithm, since the quaternions-based algorithm research results have been published by many authors [
8,
9,
10,
11]. The accuracy and computational efficiency of the quaternions-based algorithm should, theoretically, be comparable to the direct angles calculation algorithm. However, additional calculations using inverse trigonometric functions will be required to obtain heading, pitch, and roll by the quaternions values.
The paper is organized as follows. In
Section 2, the mathematical description of attitude parameters being used, widely applicable transformation matrix algorithm basic equations and algorithm of direct heading, pitch, and roll angles calculation basic equation derivation, is given. In
Section 3 the technique, the main providing conditions, and the results of experimental studies of different types of attitude algorithms on different types of SINS installed on a car and helicopter, are given. Since the Global Navigation Satellite System (GNSS) receiver data was available on board during the experiments, attitude algorithms were implemented during the tests using high-speed measurements of the GNSS receiver. The test results of the SINS attitude algorithms based only on inertial measurements are compared with the attitude algorithms including high-speed measurements of the GNSS receiver. Analysis of the results of the experimental study are given in
Section 4.
2. Direct Attitude Angles Calculations
In this paper, heading, pitch, and roll attitude parameters, which determine the rotations of the body frame relative to the local level frame, are being considered [
12]. Unit vectors
,
, and
implement the body frame, and
(East),
(North), and
(Up), the local level frame. Initialization conditions are:
,
, and
.
Body frame rotation from the initial position is performed by following the sequence of rotations. The first rotation is about the axis including the unit vector
through the
angle clockwise. In this case, the unit vectors
and
will move to the
and
positions (shown by a dotted line in the
Figure 1). The second rotation is about the axis including the unit vector
through the pitch angle
. As a result, the unit vectors
and
will move to the
and
positions. Finally, the rotation about the roll angle
γ occurs through the axis including the unit vector
. The final rotation leads to the updated axes positions
,
, and
, and the body frame will be turned through the heading, pitch, and roll from its initial position. The vectors
,
, and
corresponding to heading, pitch, and roll angular rates are presented by the following form:
The unit vectors
and
using
,
, and
basis can be defined in terms of (
Figure 1):
Now the sum of the vectors
,
, and
can be written as follows:
The direction cosine matrix relating
,
, and
basis, and
,
, and
basis can be denoted as
. The elements of the
matrix in terms of
,
, and
angles can be expressed as:
In case of attitude determination functional algorithm, onboard computer (OC) implementation matrix
would be determined by solving differential equation:
In Equation (3):
where
are local level frame absolute angular rate vector
projections on to the local level frame axis with
,
, and
unit vectors; and
are body frame absolute angular rate vector
projections on to the body frame axis with
,
, and
unit vectors.
Solving the Equation (3) requires specification of the initial values of the matrix. At the same time, values are received by OC from gyros unit and values are computed in OC during navigation algorithm implementation.
In turn, navigation algorithm can be implemented if the following operation is being performed as a preliminary:
where
are acceleration vector
projections on to the body frame axis (values are received by OC from accelerometers unit); and
are acceleration vector
projections on to the local level frame axis.
In other sources attitude determination algorithms based on quaternions are also being considered. These algorithms differ from those considered above only by the
transformation matrix computing setup approach. The
matrix is computed using a direction cosine matrix related to body frame and reference (inertial) frame by unit vectors
,
,
:
and a direction cosine matrix related to local level frame and the same reference (inertial) frame:
Matrix
can be determined as follows:
In turn, to determine
and
matrices, linear systems of differential equations are used, each one of it is of the fourth order, and the unknowns are the elements of the corresponding quaternions.
,
, and
angles are still determined from the
matrix elements.
and
matrices can also be determined by solving differential equations systems as follows:
It seems practically important to develop an algorithm of direct , , and angles calculation, instead of a calculation using another attitude parameters.
The way in which direct attitude angles calculations algorithm can be developed is shown below [
12].
body frame absolute angular rate vector can be presented as follows:
where
is the local level frame absolute angular rate vector.
On the other hand,
vector can be written as follows:
and
vector using unit vectors
,
, and
can be written as follows:
where
are body frame absolute angular rate projections on to the body frame axis;
is the Earth angular rate, is the latitude angular rate, and is the longitude angular rate.
Heading, pitch, and roll angular rate vectors in (6) can be written using unit vectors
,
, and
:
The sign ““ in (9) takes into account the fact of clockwise heading count.
Now, taking into account expressions (7)–(11), the vector equality (6) can be represented as:
Multiplying the left and right sides of this vector equality scalarly and sequentially by unit vectors
,
, and
, the following equation can be obtained:
Denote the square matrix on the left side of expression (13) as
. The inverse matrix
has the form:
Considering
and taking into account the
matrix has the form (2), after left multiplying (13) by the matrix
the following result can be obtained:
The last expression (15) is a nonlinear differential homogeneous equation in which the unknowns are
,
, and
attitude angles. In expanded form Equation (15) can be rewritten as follows:
Systems of Equation (15) or (16) solutions can be obtained in the OC in following conditions:
- 1.
angular rate measurements are received by OC from sensors;
- 2.
, , and values are computed in OC during navigation algorithm implementation;
- 3.
, , and angles initial values are either set up or determined during initialization.
The navigation algorithm mentioned above requires acceleration vector projections on to the local level frame. In other words, the operation corresponding to the expression (4) should be performed in the OC. For that reason, it is necessary to calculate the matrix, whose elements are determined using (2), and , , and angles are calculated using (15) or (16).
Hence, the attitude determination algorithm and navigation algorithm are related as in the previous case of the matrix calculation. Note, this relation will be removed if , , and values are received by OC from non-inertial system, for example GNSS. In this case, it will be an attitude determination algorithm implementing independently of the SINS attitude determination algorithm. In fact, it will be a system that can be called gyro-satellite or gyro-GNSS AHRS (Attitude and Heading Reference System).
4. Discussion
The qualitative differences between the direct attitude angles calculations algorithm and the one determining attitude using elements of the transformation matrix can be noted.
Obviously, decreasing the order of differential equations system from ninth to third can be attributed to positive qualities. The transformation matrix, whose elements are computed using previously determined , , and angles, can be considered orthogonal.
Since scale and orthogonality errors occurring in equalities:
will depend on the calculation accuracy of sines and cosines of attitude angles; these functions can be determined in the OC with the accuracy that allows to consider negligible this group of errors.
If the matrix is determined by integrating the equations system (3), then the errors of scale and non-orthogonality depend on numerical method used in OC to solve this system.
Noteworthy, is one more feature of the direct attitude angles calculations algorithm that imposes restrictions on its application. The right-hand sides of equations systems (14) and (15) contain , , and angle functions. In aviation, for example, the limits of angle changes are usually accepted as . Obviously, these functions cannot be calculated in the OC in case of . However, even for most aviation applications, pitch angles are limited and do not exceed . The values of this angle for marine or automobile applications are significantly smaller.
Considering the error values experimental results shows the following. There are no advantages (Car test—
Table 1,
Figure 8,
Figure 9 and
Figure 10; and Helicopter test—
Table 2,
Figure 17,
Figure 18 and
Figure 19) of the direct attitude angles calculation algorithm based on differential Equation (15) compared to the algorithm of determining attitude using transformation matrix elements based on differential Equation (3) in test conditions described above. Such advantages may appear when inertial data output rate or attitude calculation rate due to low OC performance will be reduced. In this case, scale and orthogonality errors may occur in algorithm based on the transformation matrix approach. As expected, attitude determination errors using algorithms based on both approaches using GNSS velocity and coordinates data (gyro-GNSS AHRS) are smaller than the inertial-only solution. In current test conditions there are also no advantages of the direct attitude angles calculation algorithm over the algorithm of determining attitude using transformation matrix elements, even using GNSS velocity and coordinates data.
Special attention should be paid to the description of the heading error results obtained during the helicopter test (
Figure 19). A significant error increase is explained by the low accuracy of MEMS gyroscopes. Moreover, such error levels occur both in the autonomous SINS and gyro-GNSS AHRS modes, since satellite data is used only to calculate the position of local-level frame origin. In this case, the heading error mainly depends on the accuracy of measuring the object rotation around the vertical axis. These measurements are carried out by gyroscopes.
Comparing the achieved accuracy of calculating the attitude parameters with the results of other studies, the following can be concluded.
The performance comparison analysis of FOGs and MEMS IMUs under an enhanced GPS/Reduced INS land vehicles navigation system is given in [
19]. Novatel IMU-CPT was used as the FOGs IMU. As part of the tests, among other things, the accuracy of determining the attitude parameters during a GPS outage was estimated. Two trajectories in urban conditions with velocities of 50–60 km/h with stops were chosen to carry out the research. The accuracy of determining the heading angle in the work [
19] was at the levels from 0.5 to 2.1 degrees (RMS), which is somewhat rougher than the results given in
Table 1 (0.2–0.4 degrees). The accuracy of the roll/pitch determination in the work [
19] is the level from 0.5 to 3 degrees (RMS). The accuracy of the roll/pitch determination in
Table 1 is about 0.2 degrees.
The authors of [
20] present the results of Optolink FOG-based SINS tests. The marine system Optolink SINS500M was subjected to tests on a car, rotary test bench, and ships. The characteristics of FOG-based SINSs produced by Optolink and the leading world manufacturers are also given in [
20]. A system of a similar accuracy level (LISA200 Northrop Grumman, FOG bias drift is less than 0.5 deg/h) has pitch/roll error of 0.3 degrees, and heading error of 0.8 degrees. The angle determination accuracy obtained during tests on a car with Litef LCI (FOG bias drift is less than 1.0 deg/h) was comparable and even higher (
Table 1).
The results of experimental studies on velocity-aided attitude estimation for helicopter aircraft using microelectromechanical system inertial-measurement units are described in [
21]. At the same time, the accuracy of the autonomous attitude determination was separately estimated. The analog device ADIS 16488 was used as an IMU. The tests were carried out on a Korean utility helicopter (Surion). A flight test profile was conducted in accordance with an acceptance test procedure comprising a series of steps: take off, roll maneuver, pitch maneuver, landing, take off, loitering flight, and landing. The accuracy estimation was carried out only for roll and pitch angles. The error ranged from 0.33 to 0.41 degrees (RMS). The errors in determining these angles given in
Table 2 are at the levels from 0.8 to 1.1 degrees. Possible reasons for the obtained results showed the lower accuracy are different IMU characteristics, and differences in the helicopter trajectory parameters, as well as the implementation in [
21] of the improved attitude determination algorithm using the estimation of disturbance in the accelerometer measurements. The estimation of disturbance in the accelerometer measurements is carried out by the airspeed obtained from the air data computer.