# Intelligent Environment-Adaptive GNSS/INS Integrated Positioning with Factor Graph Optimization
## 1 Introduction
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 [PERSON] 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 [PERSON] et al. [11] showed that FGO outperforms EKF in terms of positioning accuracy in both LC and TC integration. [PERSON] 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. [PERSON] 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. [PERSON] 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). [PERSON] et al. [15] proposed an adaptive EKF model to adjust the covariance matrix of EKF based on dilution of precision (DOP). [PERSON] and [PERSON] [16] employed machine learning to determine the noise covariances of KF.