1. Introduction
Global navigation satellite systems (GNSSs) are a widely recognized navigation technology that has been applied in various fields, including robotics, the military, and agriculture. Intelligent transport systems (ITSs) are one of the most popular research areas due to the prosperity of autonomous vehicles. However, the system performance highly depends on positioning accuracy. In urban canyons, GNSS signals are susceptible to multipath and non-line-of-sight (NLOS) effects due to the reflection and blockage of signals from high-rise buildings [
1]. The multipath effect may cause meters of positioning error, while an NLOS signal can seriously deteriorate the GNSS positioning accuracy to errors of a hundred meters [
2,
3].
Numerous research has been proposed to enhance the accuracy and reliability of GNSS positioning results. The 3D-mapping-aided (3DMA) GNSS approach is one of the popular methods applied in urban areas. Researchers [
4,
5] employed a 3D building model incorporated with the ray tracing technique to predict the transmission path of the GNSS signal and correct the NLOS delay. Lee et al. [
6] developed an algorithm that matches images taken by a fisheye camera with skymasks generated by 3DMA to decide the position and heading of the fisheye image. However, this method requires an up-to-date 3D building model and strong computational power to simulate the path and process the image. Another popular approach is multi-sensor fusion. The development of GNSSs, inertial navigation systems (INSs), and light detection and ranging (Lidar)-integrated systems have enhanced the positioning continuity and accuracy during GNSS outage periods and under challenging environments [
7,
8]. Wan et al. [
9] adaptively fused GNSS, Lidar, inertial measurement unit (IMU), and real-time kinematic (RTK) sensors according to an uncertainty estimation algorithm to prevent system failures in various scenes. Cao et al. [
10] proposed a tightly coupled GNSS–visual–inertial fusion system to cope with challenging environments for positioning. However, incorporating multiple sensors results in increased cost, which forms a barrier to integration into commercial products, whereas GNSS/INS integration is more economical and widely applicable in the industry. Enhancing the positioning accuracy of GNSS/INS integration using various algorithms has attracted researchers’ interest. The coupling methods can be divided into loosely coupled (LC), tightly coupled (TC), and ultra-tightly coupled (UTC) depending on the type of GNSS data used to perform integration. LC integration utilizes the position information of GNSS receivers, while TC integration uses the raw GNSS measurements such as pseudo-range and Doppler observables [
11,
12]. In UTC integration, in-phase (I) and quadrature-phase (Q) components of the signal are directly fed into the filter [
13]. However, it requires adjustment on receiver architectures, which limits its applicability with general equipment. The traditional KF method and its extensions, such as extended Kalman filter (EKF), unscented Kalman filter (UKF), and cubature Kalman Filter (CKF), are the most common integration algorithms. The effectiveness and robustness of KF-based algorithm have been verified by several studies [
14,
15,
16,
17,
18,
19,
20,
21]. Kim et al. [
17] employed EKF to integrate linearized correlator outputs and INS measurements. Nevertheless, EKF might cause large errors during the linearization process. Instead of approximating non-linear functions by a Taylor series expansion, UKF adopts probability distribution to represent the non-linearity [
18]. A derivative UKF of TC integration was proposed by Hu et al. [
19] to achieve at least a second-order accuracy of the Taylor series. CKF features more accurate state estimation using the cubature technique [
20], and the research work by Liu et al. [
21] proved that CKF further reduces the positioning error and computational time compared with UKF. Particle filter (PF) is another filtering technique that utilizes importance sampling to draw particles from the selected importance density and calculate the corresponding weight of each particle. Unlike the KF-based algorithms, this method can handle non-linear systems and non-Gaussian noise [
22]. Researchers usually incorporate PF with other techniques in GNSS/INS integration. For example, the unscented PF proposed by Seo et al. combines the benefits from UKF and PF and shows superior noise reduction capability [
23]. However, the intrinsic disadvantage of PF, such as being more receptive to measurement noise in resampling [
24] and significantly rising computational load when the number of particles increases [
25], make it less favorable than KF.
Approximating non-linear functions may still cause errors, and the optimization procedure is applied to the current state without considering the wide range of historical data. To further improve the performance of state estimation, the use of factor graph optimization (FGO) has attracted researchers’ attention. It is a novel integration method that maximizes a posterior probability of system states [
26]. All sensor measurements are considered as related state variables (i.e., factors) of the factor graph, which are used to construct the function of maximization problems. This technique is widely used in a variety of fields such as simultaneous localization and mapping (SLAM), artificial intelligence, and wireless networking [
15,
27]. Studies have also shown that FGO can remarkably enhance the positioning performance in GNSS/INS integration compared with the KF-based methods [
28]. A recent work proposed by Wen et al. [
11] showed that FGO outperforms EKF in terms of positioning accuracy in both LC and TC integration. Chang et al. [
29] incorporated GNSS/INS/LiDAR-SLAM with FGO, and the results showed that FGO achieves a lower than 1-meter root mean square error (RMSE) in urban areas. Li et al. [
30] suggested the auto-regressive integrated moving average (ARIMA) auxiliary model to supply GNSS data during the GNSS outage period, and the integration results conducted by factor graph algorithm have a better performance compared with EKF. Zeng et al. [
31] suggested a multi-sensor fusion algorithm based on FGO, which fuses information from the GNSS receiver, barometric altimeter, magnetometer, optic flow sensor, and sonar sensor. These research studies show that FGO has great potential in increasing positioning accuracy. In the aspect of data processing, rather than considering only the previous epoch like KF, FGO utilizes all historical data to improve the accuracy of estimation [
32], which increases the resistance against outliers and enhances estimation accuracy. However, the fact that FGO considers all historical information and uses more complex optimization techniques leads to higher computational complexity, which becomes an obstacle to the application in real time. Another advantage of FGO is that the graphical model has a straightforward architecture and therefore enables a more flexible “plug and play” integration of GNSS and INS information.
Despite the great advantage brought by various GNSS/INS integration algorithms, the measurement reliability of different GNSS receivers may still be challenging to determine properly. Fast-changing urban environments can significantly deteriorate GNSS positioning and result in fluctuating solution quality; therefore, the GNSS solution uncertainty can hardly be regarded as fixed. In contrast, adaptively changing the value of uncertainty can largely improve the fused solution quality in the urban environment [
33]. This conception comes with different practices of adaptive KF (AKF). Wu et al. [
15] proposed an adaptive EKF model to adjust the covariance matrix of EKF based on dilution of precision (DOP). Zhang and Hsu [
16] employed machine learning to determine the noise covariances of KF. Such environment-dependent functionality can also be enabled by the deep learning approach, which has been proven effective in solving different types of problems and applied in many research of GNSS field over the recent years [
6,
34,
35,
36]. CNN, as one of the most popular deep learning algorithms, is inspired by human brain neurons and has the significant advantage of capturing complex patterns and spatial information through functions such as filtering and pooling. Moreover, for the same dimension of inputs, CNN contains a fewer total number of trainable parameters than the conventional fully connected neural network, thus appearing to be less prone to overfitting [
37,
38].
Motivated by strengths brought from the FGO algorithm and CNN, the proposed AFGO approach first extracts some features from GNSS measurements and then predicts the GNSS solution uncertainty used in the adaptive GNSS/INS integration with the trained CNN model. Moreover, it is considered that the carrier phase measurement is popular in precise positioning, but its performance can be significantly degraded in urban areas due to cycle slips and the poor measurement quality of consumer-grade devices [
39]. Thus, this study was focused on using the code measurement rather than the carrier phase measurement for positioning. The contribution of this paper is fourfold: (1) we developed an adaptive GNSS/INS integrated positioning algorithm implemented by MATLAB based on the FGO architecture to achieve better accuracy and robustness; (2) we employed deep learning to predict the GNSS solution uncertainty during its integration with INS; (3) we assessed and compared the performance of conventional KF and FGO with the open-source large-scale datasets, UrbanNav [
40] in terms of different grades of receivers; and (4) we validated the feasibility of the proposed algorithm using the preceding large-scale datasets with different environments (i.e., different urbanization levels) and receiver grades.
The rest of this paper is structured as follows:
Section 2 demonstrates the mechanisms of GNSS/INS coupling methods, while
Section 3 will discuss how the adaptive functions operate in multi-sensor coupling. The validation of the proposed algorithm will be presented using experiments in
Section 4, along with a further evaluation of results in
Section 5.
Section 6 will finally itemize some limitations of current work, summarize this study, and propose prospective research areas.
6. Conclusions and Future Research Direction
This paper compares different GNSS/INS integration methods based on KF and FGO to process data from different levels of receivers (i.e., U-Blox, Xiaomi, and NovAtel). Despite being impacted by the quality of the trained deep learning model, the choice of uncertainty parameters (e.g., fixed, min, and max uncertainty), and limited duration (920s) with less evaluated epochs, the proposed MATLAB-implemented AFGO shows the promising capability to adaptively generate the most accurate (in terms of RMSE) and smooth (in terms of STD) solutions for all level of receivers among all discussed integration methods (i.e., KF, AKF, FGO, and AFGO).
The current limitations partly come from a diversity of GNSS receivers because CNN models are trained separately across different receivers and are then employed to adaptively assist GNSS/INS integrations. Future work should include a generalized adaptation model in the AFGO architecture for all grades of receivers and should validate the feasibility and advantages of AFGO in a wider range of urbanization scenarios. Additionally, there can be large residuals between the truth and predicted solution uncertainty, indicating the necessity to propose better-functioning deep learning models. This could be potentially realized through various methods, including introducing more effective features, upgrading the network structure using methods such as optimizing the types and number of layers, and training through a larger amount of urban GNSS data. Moreover, the GNSS measurements like Doppler are related to the user dynamics. Thus, extending the proposed network for GNSS-based motion detection to compensate for INS error is worth investigating in the future. The implementation of the proposed algorithm in practical applications is also worth investigating in the future, where additional algorithms to reduce the computation load, such as the sliding window [
11], may need to be developed.