GNSS-Based Attitude Determination Techniques—A Comprehensive Literature Survey

GNSS-based Attitude Determination (AD) of a mobile object using the readings of the Global Navigation Satellite Systems (GNSS) is an active area of research. Numerous attitude determination methods have been developed lately by making use of various sensors. However, the last two decades have witnessed an accelerated growth in research related to GNSS-based navigational equipment as a reliable and competitive device for determining the attitude of any outdoor moving object using data demodulated from GNSS signals. Because of constantly increasing number of GNSS-based AD methods, algorithms, and techniques, introduced in scientific papers worldwide, the problem of choosing an appropriate approach, that is optimal for the given application, operational environment, and limited financial funding becomes quite a challenging task. The work presents an extensive literature survey of the methods mentioned above which are classified in many different categories. The main aim of this survey is to help researchers and developers in the field of GNSS applications to understand pros and cons of the current state of the art methods and their computational efficiency, the scope of use and accuracy of the angular determination.

The attitude of any object is its spatial orientation with respect to the object's mass center. This parameter is usually represented by Euler angles, Rodriguez parameters, and quaternion or direction cosine matrix. Attitude Determination is an operation of attitude computation of the object relative to some inertial reference frame or Earth. AD is usually provided by sensors installed on the object and mathematical computations made on the microcontroller. Algorithms and techniques applied and computational power of the processing unit usually define the accuracy constraints. Attitude determination subsystems are widely implemented in satellites, vehicles, boats, aircrafts and other mobile objects. Inertial Measurement Units (IMU), GNSS receivers, magnetometers, digital compasses, gyroscopes, and accelerometers might be used as sensors in AD subsystems. Then, point to point or recursive attitude determination algorithms process readings from the sensors in order to estimate the attitude by means of kinematic and dynamic models.
The associate editor coordinating the review of this manuscript and approving it for publication was Masood Ur-Rehman .
Recent studies have proved that the GNSS can take an important place in numerous applications, including attitude determination, because of its stable operation, cost effectiveness and low power consumption. Computational methods and algorithms developed for solving problems in the area of GNSS-based AD are described in a great amount of scientific reports and journals that is why strong demand for providing well-structured reviews of these methods arises.
In [1], the authors provide a short overview of GNSSbased methods and models for AD of a spacecraft by means of phase measurements. The authors of [2] compare distinct methods, constrained Least-squares Ambiguity Decorrelation Adjustment (LAMBDA) and multivariate constrained LAMBDA, which represent two different approaches in the area of GNSS-based AD. The researchers in [3] make a comparison between methods based on single and double differenced carrier phase measurements. Baroni and Kuga in [4] made theoretical and experimental analysis that compared Least-Squares Ambiguity Search Technique (LSAST) and LAMBDA algorithms using quaternion formulation. The same researchers in [5] made a comparison between LSAST and LAMBDA methods providing their findings in analysis of the computational process of ambiguity resolution. VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see http://creativecommons.org/licenses/by/4.0/ However, the works mentioned above do not encompass all contemporary methods of GNSS-based AD in a single entity written in some structured way.
With the background presented in Section 1, the second section provides an overview and classification of current mathematical algorithms and techniques utilized in the process of GNSS-based AD. It outlines roughly three algorithmic steps of attitude determination and ambiguity resolution during computational operations, as well as baseline and attitude approaches in constructing GNSS-based AD methods. The third section elaborates on the interrelation between the sensors used for AD and corresponding computational techniques. The forth section discusses optimal ways of processing GNSS measurements depending on the mathematical model chosen for solving an attitude determination problem. This section also explains positioning and geometry free GNSS models that are used while employing various types of GNSS readings. In the fifth section, we describe the methods applied based on various dynamic and kinematic models of the moving object given in the problem. Finally, we make some conclusions and illustrate a representative list of research articles to emphasize the performance of GNSSbased AD methods.

II. GNSS-BASED ATTITUDE DETERMINATION METHODS
Current GNSS-based methods employed in AD algorithms can be generally divided into three operational groups, which are aimed for line bias/baseline computation, integer ambiguity resolution (IAR) and estimation of attitude angles [6]. ''Line biases commonly occur due to the differences in cable lengths between antennas and the receiver'' [7] or differences in radio frequency (RF) front ends in the receiver [8] or a combination of both. These parameters are generally given as constant variables and calibrated using some technique before launching a custom AD algorithm in GNSS attitude determination receivers, for example, Trimble's TANS (Trimble Advanced Navigation Sensor) Vector [6] and Space Systems/Loral's GPS Tensor. Another method is that the line biases are treated as components of the state vector of the system, and therefore, estimated along with other state components (for example [8]).
A GNSS receiver is able to measure only the fractional part of the carrier phase. The integer number of wavelengths between an antenna and a satellite cannot be measured directly. This is a well-known problem of integer ambiguity. Two main approaches have evolved to resolve the problem of integer ambiguity in the area of GNSS-based attitude determination. The approaches are either motionbased (for instance, [7]) or search-based (for example, ( [9]). Motion-based methods require acquiring measurements for a period of time during which considerable changes of a visible navigational satellites constellation or the antenna platform motion have happened. The search-based algorithms utilize only single epoch readings to retrieve the most likely solution that is why they are sometimes subject to incorrect solutions because of measurement noise. Two search-based techniques have been developed. In the first technique, the search is conducted in a real number domain. The search domain is composed of all potential grid points in the coordinate system of solution parameters. These parameters might be the actual length and azimuth angle of a baseline (for instance, [9]) or Euler angles of the antenna platform [10]. In the second search-based technique, the search environment is chosen in the integer number domain. ''The search domain is composed of all potential combinations of integer ambiguity candidates'' [9].
Nowadays the LAMBDA method is a common method for solving GNSS integer ambiguity resolution problems with unconstrained baselines. For nonlinearly constrained ambiguity resolution problems, the single baseline constrained LAMBDA method [23] was introduced and the newly suggested The Multivariate Constrained LAMBDA method ( [24] and [25]) determines the integer ambiguities and Euler's angles in an integral manner.
The third operational group of AD algorithms, implemented in the procedure of attitude angles estimation, is composed of three consecutive steps [26]. Firstly, a typical least-squares adjustment is employed in order to achieve the so-called float solution. All unknown parameters are evaluated to be real-valued. In the second step, the integer constraint on the ambiguities is taken into account. This implies that the float ambiguities are mapped to integer parameters. Various options of the mapping function are viable. The float ambiguities can merely be rounded to the closest integer values or rounded to some extent so that the correlation between the ambiguities reaches its minimum. Application of the integer least-squares estimator becomes optimal, that increases the probability of valid integer estimation. In the third step, after fitting the ambiguities to their integer counterparts, the remaining unknown parameters are resolved based on their correlation with the fixed ambiguities [27].
From the point of view of measurement processing, the techniques for attitude angles estimation can be approximately divided into the following two types: (a) point estimation techniques (for example [7]) and (b) stochastic filtering techniques (for instance [32]). There are two categories of point estimation techniques. The first category of point estimation technique employs vectorized measurements [33] and can be regarded as a two-level optimal estimation problem, the least squares problem and Wahba's problem [34]. The second category of point estimation techniques is related to the differenced carrier phase measurements directly. It either utilizes a non-linear, least-square fit (NLLSFit) method [35] or transforms the problem interchangeably into Wahba's problem [7].

III. SENSORS USED IN GNSS-BASED AD
To solve the problem of attitude determination of the moving object, one can use only GPS and other satellite navigation systems (standalone GNSS AD), make integration of GNSS receivers with INS (for example accelerometer and gyroscope), as well as integrate with other navigational sensors (for instance magnetic antenna, digital compass and magnetometer).
Standalone GNSS AD may require integration of GPS receivers with other satellite navigation sensors such as GLONASS, Russian Global Navigation Satellite System, Galileo, Europe's own global navigation satellite system, and Compass (Chinese second-generation satellite navigation system also known as Beidou-2). GNSS-based AD may be categorized as dedicated or non-dedicated. In the dedicated AD system, a single exclusively focused GNSS receiver is used while in the non-dedicated AD system, a set of independent, general-purpose GNSS receivers is used for the attitude determination of the object. Many companies that manufacture GNSS receivers like Trimble [36], [37]; Texas Instruments [38], [39]; Ashtech [40]- [42]; Adroit Systems [43], and others have been designing dedicated GNSS receivers with multiple antennas for attitude determination.
If we consider measurement types used for standalone GNSS-based AD, then they are divided as L1 frequency and L1/L2 frequency GNSS receivers. Double frequency receivers have much higher cost, but they lead to improvement of ambiguity resolution because of tackling the dispersive ionosphere delays.
The number of GNSS antennas, used for AD, might also vary. There are computational methods that use only one GNSS antenna (for instance [44], [45]), two GNSS antennas [46]- [48] that lead to a single computational baseline and three or more GNSS antennas. Employing one or two antennas usually provides an opportunity to calculate with good precision only two of three attitude angles.
GNSS receivers can also be divided as sensors able to register code phase (code) and carrier phase measurements or only code measurements. Furthermore, the majority of GNSS receivers provide code and carrier phase measurements. Because of the nature of these readings, AD based on carrier phase measurements can result in much more accuracy in comparison with code (pseudo range) measurements. That is why a centimeter level GNSS-based AD requires GNSS receivers that can measure carrier phase with a good precision. However, code measurements are often utilized in code-phase smoothing and cycle slip detection and repair algorithms, while utilization of carrier phase measurements requires implementation of IAR algorithm.

IV. GNSS-BASED ATTITUDE DETERMINATION MODELS
An overview of GNSS models and their applications in different areas [1] are presented in textbooks such as [49]- [54]) GNSS models have two main types: nonpositioning or geometry-free models and the positioning or geometry-based models. Furthermore, various GNSS models might be distinguished by virtue of the differencing utilized. By differencing, we mean to take the differences between measurements from different receivers and/or different satellites. It is usually used in order to get rid of several error types from the observation equations [23]. The single difference and double-difference methods are discussed in [3]. Unconstrained baselines are baselines for which preliminary information about the length is not known and constrained baselines are baselines for which the length is a-priori known and constant [55].
In general, all GNSS baseline models can be put in the following formula of linearized observation equations according to a Gauss-Markov model [56]: where y is the known vector of GNSS observables, a and b are the unknown parameter vectors of integer ambiguities and real-valued baselines correspondingly. E(:) and D(:) denote the expectation and dispersion operators, and A and B are the given design matrices which bound the data vector to the unknown parameters. Matrix A includes the carrier wavelengths and the geometry matrix B includes the receiversatellite unit line-of-sight vectors. The variance matrix of y is set to the positive definite matrix Q yy . The model defined by (1) is referred as the unconstrained model and its Integer Least Squares (ILS) solution is found in [56]. For GNSS-based attitude determination applications, one often may take advantage of the knowledge of the additional constraint on the baseline vector length, so that the Integer Least-Squares minimization problem can be reorganized as a Quadratically Constrained Integer Least-Squares (QC-ILS) problem [56].
After applying double differencing, the model (1) can be converted into a single-epoch, multi-frequency GNSS array model in a multivariate form as: with r number of baselines, f number of GNSS frequencies, s+1 number of GNSS satellites tracked, Y the 2fs × r data matrix of double-differenced observables, (M , N ) the 2fs × (3 + fs) design matrix, X ∈ R 3×r the unknown real-valued baseline matrix in the reference frame and Z ∈ Z fs×r the unknown integer ambiguity matrix. Depending from the types of constraints employed, the model (1) can be developed into a general GNSS attitude model, an affine model, or a quadratically-constrained model. The general GNSS attitude model contains the orthonormality constraint of the rotation matrix between body frame and the reference frame [25], [57] and it is formed by the (2) and (3): where The matrices Q r , Q f , Q Φ and Q P are co-factor matrices and the matrices D T r and D T s are differencing matrices. For some special cases when the number of baselines equals the dimension of the space spanned by those baselines, the GNSS attitude model reduces to the GNSS quadratically-constrained model [25], [24]: with Y ∈ R 2fs×r , X ∈ R 3×r , and Z ∈ Z fs×r . This model formulation is equivalent to that of the general GNSS attitude model for rank(X ) = r ≤ 3, that is, when the baseline matrix in a body frame is invertible. When the quadratic constraints are neglected, and only linear constraints are taken into account, the GNSS attitude model takes the linear form of the affine constrained GNSS attitude model [58]: With Y ∈ R 2fs×r , M ∈ R 2fs×3 , N ∈ R 2fs×fs , S ∈ R r×(r−q) , P ∈ R r×r , Q ∈ R 2fs×2fs and the unknown parameter matrices X ∈ R 3×r and Z ∈ Z fs×r . This model is referred to as the affine constrained GNSS attitude model, since the linear matrix constraint XS = 0 implies the formation of an affine transformation between reference-and body frames. Models employed for integer ambiguity resolution and attitude angles estimation are chosen depending on the application requirements which are related to the expected accuracy of output angular estimates, success rate and the initialization time of the accurate estimation as well as a predicted dynamic model of the object's motion. IAR is referred to be an initialization procedure because integer ambiguities are constant over time (while currently visible GNSS satellites are tracked continuously) and they do not require being resolved again for a short time span once they have been fixed. ''The IAR and attitude angles estimation are therefore often considered as two stand-alone processes, so that they have been discussed separately in the research papers'' [7], [9], [33], [35]. The line bias computation is produced together with the single-differenced IAR problem when the line biases correspond to the single-differenced measurements. This means that it is suggested to conduct data pre-processing for the line bias computation when IAR is produced in the single difference domain (for example [6]). The choice of employing models of undifferenced, single-differenced and double-differenced domains is often related with an aim of acquiring minimal correlation among output linearized observation equations.

V. APPLICATION ENVIRONMENTS
The range of GNSS-based AD methods and techniques vary depending on the environment of proposed application due to the opportunity of using dynamic and kinematic models simulating the motion of the given object. These methods can be roughly categorized as suitable for a satellite, a rocket, an aircraft / UAV (unmanned aerial vehicle) and an object moving on the surface of Earth.
An attitude determination problem of the spinning rocket was solved in [68], [69]. To provide reliable and continuous angular estimates, the researchers have to make use of on-the-fly cycle slip detection and repair technique as well as a specific dynamic model that takes into account fast angular spinning rotation of the rocket.
A solution of GNSS-based AD problem for an aircraft and UAV was provided in a number of research articles [44], [70]- [74]. It is featured by integration with INS unit for more reliable and undisturbed angular estimation. Kalman filter is usually implemented in tightly or loosely integrated GNSS and INS based AD systems. In the case of tight integration, INS measurements are utilized for assisting in integer ambiguity resolution, as well as in an inertial integrated cycle slip detection algorithm.
On-the-fly GNSS-based attitude determination for land and sea vehicles was considered in [75]- [78]. That kind of applications generally do not require high precision in angular estimates, but they are more demanding for the time of initialization and computation, as well as the cost of hardware and equipment.

VI. CONCLUSION
It was discussed above that the problem of GNSS-based attitude determination is solved through implementing a wide range of methods within three consecutive steps that can be repeated during the computational process in order to obtain more accurate AD results. The same methods or their variations might be also employed for integration of       GNSS equipment with other navigational sensors, such as an accelerometer, gyroscope, electronic compass etc. That kind of integration results in more reliable, accurate and robust attitude determination. The set of methods suitable and optimal for usage in an abstract situation may change depending on application environment, applied sensors, mathematical and dynamic models. This also causes large differences in the accuracy obtained when utilizing different set of methods in a particular application.
The article summarizes some part of the findings based on the comprehensive literature survey provided in Table 1. The information given in the table has focused on the performance metrics (accuracy, precision, success rate of getting a correct solution, average baseline) that can be achieved while using various sets of sensors for GNSS-based attitude determination.
The literature survey has suggested that the performance metrics should be investigated in two different modes. First, according to the table, the Multivariate Constrained LAMBDA method has shown the best performance in static mode. Second, taking into account the literature survey, it has been assumed that combined implementation of extended Kalman filter based on the dynamic model and a baseline constrained LAMBDA method should be the most optimal in dynamic mode. This assumption will be tested and verified in future works.