Abstract
Attitude determination is one of the most considerable applications in high-precision GNSS (Global Navigation Satellite System) positioning and navigation. For rigid-body applications, the baseline is approximately fixed on the same plane and its relative position does not change over time. This provides an important constraint that can be exploited to directly aid the attitude determination process. This study provides an attitude determination algorithm with orthogonal constraints for single frequency and single epoch by fully integrating the baseline orthogonal constraints into the observation equations. Carrier phase and pseudo-range measurement from more than two antennas are used to construct the double-difference observation equations. Given the inclusion analysis of the two search spaces, the LAMBDA algorithm is used to transform the non-ellipsoid space search into the ellipsoid space search. The attitude matrix is solved directly by the Lagrange multiplier method and the optimal solution is selected by search space verification. The analysis focuses on single-frequency, single-epoch, rigid-body attitude accuracy and calculation amount. Experimental results demonstrate that the proposed approach can effectively improve the success rate and reliability of single-frequency and single-epoch attitude resolution.
1. Introduction
GNSS-based attitude determination is a rich field of current studies, and there are a lot of methods of attitude determination that have been developed [1, 2]. The algorithm based on attitude determination includes error analysis and correction [3, 4] and attitude angle resolution. At present, the main attitude solving ideas are roughly divided into two types.
One method is direct attitude angle solving, which uses the relationship between antenna position and attitude to solve the attitude angle step by step [5–8]. Setting one baseline in the direction of the main axis of the rigid body, the heading and pitch angle are calculated firstly, and then the roll angle is calculated through the rotation relationship of another baseline. Baseline resolution and ambiguity fixing are the main research contents of this kind of method. On the basis of Teunissen [9], many studies with baseline resolution have been carried out [10–12], such as its performance study on short GPS baselines and short observation span in [11]. Considering the particularity of multiantenna attitude calculation, the orthogonal constraint in [10] and affine constraint in [9] are used to improve the accuracy of ambiguity resolution. In addition, based on the attitude domain, a constrained ambiguity search method using a priori condition of attitude angle was proposed in [13]. Another way is to solve it by the attitude matrix according to [14, 15]. The baseline coordinates are obtained by solving the overdetermined positioning equations of multiple satellites (at least 4 satellites) [16]. The attitude matrix is obtained by using the transformation relations of the baseline coordinates in different coordinate systems, and then the attitude angle is calculated [17]. Giorgi and Teunissen combined the baseline coordinates and attitude matrix solutions with orthogonal constraints to get an attitude matrix solution method based on orthogonal constraints [18].
However, the former method includes the calculation of baseline coordinates and attitude matrix, which makes the attitude angle obtained contain two-step errors, and the attitude matrix obtained usually does not have orthogonality [19–21]. In the latter method, when the Z-axis component of all antennas in the carrier coordinates is zero, the matrix is not ranked, and the attitude results obtained are unreliable in [22].
In this paper, an attitude algorithm based on orthogonal transformation is proposed, which directly establishes the ambiguity-attitude matrix double-difference model by using the prior condition of the baseline configuration and orthogonal transformation, avoiding the intermediate step of baseline resolution. Through the inclusion analysis of the search space, the non-ellipsoid space search is transformed into the ellipsoid space search by using LAMBDA algorithm, the Lagrange multiplier is used [23, 24] to complete the attitude directly resolution, and search space verification is used to select the optimal solution.
2. Attitude Determination Model
At least three antennas are necessary to complete attitude determination only using satellite navigation system to get precise attitudes such as heading, pitch, and roll. The antenna is fixed on the rigid body (the antenna configuration does not change with time). Three receive antennas are provided, one of which serves as the primary antenna, forming a dual-baseline system. Tracking satellites at the same time, construct the carrier phase and pseudo-range double-difference model.. is the measurement matrix of order is satellite-receiver vector matrix, and is a matrix of order of baseline coordinate vector. Besides, represents the design of order is a double difference phase integer ambiguity vector matrix, and , and represented by carrier phase and pseudo-range, respectively Where and is measurement matrix,is satellite-receiver vector matrix,is a matrix of baseline coordinate vector. Besides,represents design matrix,isdouble difference phase integer ambiguity vector matrix,is the matrix of errors due to the unmodeled effects. is the Kronecker product, and is used to describe the correlation caused by the shared antenna; for dual-baseline system, is normally set to
Obtain the known baseline length and the relative position and transform the baseline coordinates in the reference coordinate system (ECEF) into the attitude matrix in the observation model by orthogonal transformation. The linear relationship is described aswhere the attitude matrix satisfies the orthogonal relationship and links the two frames by means of rigid rotation. The known local (body: L1L2L3) baseline coordinates are described by matrix , which is usually defined as follows: the first axis is aligned with the baseline 1, the second axis is perpendicular to the first axis, and the third axis is formed by right-hand rotation rule. The baseline coordinates are transformed as shown in Figure 1. The coordinates in the local frame are defined bywhere is the number of baselines and represents the -th column of matrix .

Under orthogonal transformation, the double-difference model of the ambiguity-attitude matrix is defined aswith , ; substituting the baseline vector to obtain the attitude matrix, the intermediate steps of baseline coordinate calculation are directly avoided and two-step error is eliminated.
3. Float Solution Resolution
Define ; according to formula (5), the least squares method is used to obtain the float solution of the ambiguity and attitude matrices and the corresponding variance-covariance matrix.
If the integer ambiguities are assumed known, the constrained least squares float solution and variance matrix of the attitude matrix can be obtained.
4. Search Space Analysis
The least squares principle of linear systems is extended under the condition of integer constraint, the integer least squares principle is applied to solve (6) in a fast and efficient manner, and the objective function is constructed as the square norm of the minimum weighted (v-c matrix) residual.with ; if the integer ambiguities are assumed known, the above weighted residual can be written as the sum of several weighted residuals:where is expressed as the least squares residual amount; in the case of being negligible, the objective function of the ambiguity and the objective function of the ambiguity-attitude matrix are, respectively, expressed as
The ambiguity objective function weighs the distance between the float ambiguity matrix and the nearest integer matrix in the metric of . When equations (12) and (13) get the minimum values, the equation (9) becomes valid. The search space of two objective functions is defined aswhere is an ellipsoid space and is a non-ellipsoid space; the setting of should still contain enough candidate values when the search space is small enough. Given the variances of the carrier phase and the pseudo-range are and , define that , . The variance of the float ambiguity solution and the constrained float attitude matrix can be expressed in another form as
In general, ; for the ambiguity candidate values, the first term in the objective function can be obtained much smaller than the second term; then , and the inclusion relationship of the search space can also be obtained: , as shown in Figure 2.

If one searches the space directly by setting , then there will be too many ambiguous candidate values to make the search space expand a lot, and the amount of calculation increases accordingly. In order to avoid excessive search space and search complexity, one considers converting the search for a non-ellipsoidal space into that for an ellipsoidal space. A smaller value can be set up to satisfy the search space , and the LAMBDA algorithm is used to search for the optimal and corresponding sets of candidate values; then, the existing values are used to verify the validity of the objective function. The computational complexity of the direct search for each group of ambiguity-attitude matrix combinations in the objective function is reduced directly, and the search space is minimized as much as possible.
5. Attitude Angle Calculation
Based on the ambiguity objective function , transformation is performed after obtaining the float ambiguity and variance matrix. The initial threshold determines the search space and the search range. By gradual approximation and integer candidate test, several groups of candidate values satisfying the conditions are obtained and the optimal search threshold after iteration is recorded. This method is not an innovative content and only used to calculate the intermediate value.
The objective function of the attitude matrix is established under the condition that the optimal search threshold and the ambiguity integer candidate values of the ambiguity objective function are obtained:
Assume that and Lagrange multipliers ; according to the orthogonal constraints , the linear constraints of the attitude matrix and Lagrange functions can be obtained as
Take the derivative of and , respectively, in Lagrange functionswith , ; the simplification formula (17) can obtain the relationship between the float and the integer solution of the constrained attitude matrix:
Due to the symmetry of and , (19) can be expressed as ; combining (8), one can get the relationship between the float and the integer solution of the constrained attitude matrix and ambiguity:
Constraint conditions are established by Taylor expansion of attitude matrix at , and constrained equations are formed with formula (19).with . The general solution of Lagrange multipliers is obtained as follows.
The optimal attitude candidate matrix of Lagrange algorithm with orthogonal constraints is obtained by combining the attitude matrix and ambiguity float solution from equation (6) and the ambiguity integer candidate values obtained by LAMBDA algorithm.
It is needed to verify whether the matrix satisfies the search space constructed by of the LAMBDA algorithm after obtaining the optimal attitude candidate matrix. If the ambiguity-attitude matrix candidate values of each group cannot satisfy the search space , then the judgment candidate combination result is wrong, and repeat LAMBDA algorithm search process. If is satisfied, a set of ambiguity-attitude matrix solutions that minimize the search space threshold will be selected as the optimal solution from several groups of candidate values. After obtaining the optimal attitude matrix, it is rewritten to
The complete attitude angle (pitch angle, heading angle, and roll angle) through parameter transformation can be obtained as follows:
The algorithm steps are as follows (Figure3):(i)Step 1: build double-difference observation model of carrier phase and pseudo-range and obtain ambiguity-attitude matrix double-difference observation model by orthogonal transformation.(ii)Step 2: use ILS principle to obtain the unconstrained float solution , and the corresponding variance-covariance matrix and the constrained attitude float solution and variance matrix (assume that the ambiguity is known).(iii)Step 3: establish the objective function of ambiguity and ambiguity-attitude matrix: and , and determine the search space inclusion relation and the search order.(iv)Step 4: the LAMBDA algorithm is used to search the integer ambiguity candidate and obtain the initial threshold of the search space .(v)Step 5: build the Lagrange model with orthogonal constraints and obtain the initial attitude matrix candidate solution by the Lagrange multiplier method and Taylor constraint.(vi)Step 6: verify whether the candidate attitude matrix satisfies the search space of the initial threshold ; if it satisfies, select a set of ambiguity and the candidate attitude matrices that minimize the threshold as the optimal solution. If not, the LAMBDA search is carried out again and go to step 5.(vii)Step 7: calculate the attitude angle using optimal attitude matrix.

6. Test Verification and Analysis
6.1. Static Test
We have implemented the proposed method on Matlab 2017a and tested its performance with the real carrier phase and pseudo-range measurements from three u-blox single-frequency receivers with 1 Hz output. We will process about 1 hour and 58 minutes of observation measurements; data were collected on January 10, 2022, between 7:49:38 and 8:47:27 at a sampling rate of 1 Hz.
The placement of three antennas is shown in Figure 4. The size and performance of the three antennas are identical and numbered 1, 2, 3. Antenna numbered 1 was chosen as the main antenna and the two baseline lengths of antennas 1, 2 and antennas 1, 3 are 0.575 m and 0.63 m, respectively. According to the orthogonal transformation, the L1 axis is aligned with the baseline 12, the L2 axis is perpendicular to the L1 axis, and the L3 axis is formed by the right-hand rotation rule. Since the three antennas are on the same horizontal plane, the L3 axis is not considered. The local baseline coordinates of matrix F are given in Figure 4.

Figure 5 shows the satellite relative information (the elevation and DOP values of satellites) during the experiment, and the cutoff elevation is set at 15. The size of DOP value is directly proportional to the GPS positioning error. The larger the DOP value is, the greater the positioning error is. PDOP values directly reflect the spatial distribution of satellite constellation. When PDOP value is large, it indicates that the geometric distribution of the satellites in the sky is not very ideal. The perimeter of the graph formed by them is too short, and the calculation error of attitude angle is large.

(a)

(b)
Table 1 reports the single-epoch, single-frequency ambiguity fixed success rate (%) and GDOP and PDOP values, respectively. It can be obtained that the higher the number of satellites, the higher the success rate of the fixed ambiguity and the higher the success rate of the solved attitude matrix. The success rate of attitude calculation of the new algorithm is significantly higher than that of LAMBDA-based algorithm. The new method retains a larger success rate even if there are six satellites. When the number of tracking satellites is more than 8, the success rate is always greater than 90%. Even when the tracking satellites are 9 and 10, the success rate reaches 100%.
The standard deviation of attitude angle calculation results is shown in Table 2 on the premise that the satellite tracking number is 10 and the ambiguity is fixed correctly, which ensures the efficiency of attitude calculation in static experiments.
6.2. Dynamic Test
In order to verify the performance of this method for the dynamic test, this experiment collected the carrier phase and pseudo-range data of a single-frequency single-epoch u-blox receiver for 1 hour at a sampling frequency of 1 Hz and the data were collected on January 15, 2022. During the experiment, the cutoff angle of the satellite was set to 10 degrees (the low elevation satellite was deleted). The PRN of the satellite is 1, 3, 4, 7, 8, 9, 14, 16, 17, 19, 21, 27, 30, respectively. Satellite No. 3 lost tracking information in the second half of the test process. The experimental antenna installation and the orthogonal transformation of the baseline are shown in Figure 6, and the local baseline coordinate matrix is given in (25). Three antennas were attached along the experimental stand and rotated around the O point. The previous baseline information has been accurately measured to be 0.875 meters, 0.621 meters, and 1.034 meters before the device was rotated, respectively.

(a)

(b)
We processed about 60 minutes of observation measurements, 2800 seconds after stabilization of the rotation motion was analyzed, and the trajectory of the rotation is shown in Figure 6(a). Lagrange function methods were used to process the collected data to obtain the attitude resolution results. Three attitude angles (heading angle, pitch angle, and heading angle) calculated based on the correct fixed integer ambiguity are shown in Figure 7, and the high dynamics of the movement are evident from the steep variations of the attitude.

(a)

(b)

(c)

(d)
Under the condition that the search threshold and the fixed integer ambiguity are obtained based on the LAMBDA algorithm, the Lagrange algorithm is used to obtain the attitude matrix candidates and the corresponding search thresholds, and the optimal attitude matrix and attitude results are obtained by comparing the search thresholds corresponding to the candidate values of each epoch attitude matrix. As shown in Figures 7(b)–7(d), the attitude angle fluctuates greatly when the moving direction of the motion carrier changes, while the calculated attitude angle changes steadily when the carrier only rotates smoothly. Experiments show that the accurate attitude angle can be obtained by single-frequency, single-epoch Lagrange algorithm under the moving and rotating states of the motion carrier, and the high dynamics of attitude calculation are evident from the steep variations of the attitude.
7. Conclusion
This contribution utilizes baseline vector orthogonal constraints, pays full attention to the prior information of the baseline configuration, and integrates it into carrier phase and pseudo-range double-difference observable equations. A new fast and reliable method is proposed to improve the success rate of single-frequency, single-epoch attitude determination.
Using a priori condition of baseline configuration, the ambiguity-attitude matrix double-difference equations are established directly, the intermediate step of baseline coordinate solution is omitted, the two-step error is eliminated, and the orthogonality of the attitude result is guaranteed by the orthogonal constraint. Through the analysis of the inclusion relation in search space, the search in non-ellipsoid space is transformed into the search in ellipsoid space, which directly reduces the validation of candidate solutions in non-ellipsoid search space. The attitude matrix is solved directly by the Lagrange multiplier method and Taylor expansion constraints, avoiding repeated search and iteration of candidate solutions. The search space is used to verify the candidate solutions and correct the erroneous solutions, which improves the accuracy and reliability of the solution results.
Different from the traditional single-frequency, single-epoch attitude determination method, this paper makes full use of the baseline configuration prior information and eliminates the wrong candidate solution through search space verification. The experimental results show that the proposed method can effectively reduce the error introduced in the complex search process and the excessive computation and improve the success rate and reliability of the single-frequency single-epoch attitude solution.
Data Availability
The source code of this article can be found on GitHub with data.
Conflicts of Interest
The authors declare that there are no conflicts of interest regarding the publication of this paper.
Acknowledgments
This study was supported by the National Key R&D Program of China (2018YFB0505103), National Natural Science Foundation of China (620610610, 61861008, and 62161007), Science and Technology Major Project of Guangxi (AA1918207, AA19254029, AA20302022, and AB21196041), Natural Science Foundation of Guangxi (2018GXNSFAA294054 and 2019GXNSFBA245072), and Graduate Education Innovation Program of Guilin University of Electronic Science and Technology (2020YCXS029).