1. Introduction
As the main source of global referenced positioning for Intelligent Transportation Systems (ITS), the Global Navigation and Positioning System (GNSS) can provide all-weather position information in outdoor scenarios [
1]. Unfortunately, the positioning accuracy of GNSS is greatly affected by the environment. Interference, spoof, and outage occur frequently due to the multipath effects and non-line-of-sight (NLOS) receptions [
2], which limit positioning accuracy. In contrast, the inertial navigation system (INS) can autonomously provide position information at a high output frequency with little dependence on the external environment but the navigation error will accumulate over time. GNSS/INS integrated navigation systems [
3,
4] make use of their advantages, which can provide high-precision and high-frequency navigation results. The popular existing GNSS/INS integration methods can be divided into filter frameworks and optimization frameworks.
Extended Kalman filter (EKF) based on filtering frameworks has been widely used to integrate different sensors due to its simple calculations and real-time performance [
5]. However, from the mathematical interpretation, EKF can only iterate in a single step based on the first-order Markov assumption, which does not make full use of the historical information and is unable to perform correct repeated linearization. To solve this problem, unscented Kalman filter [
6], and cubature Kalman filter [
7] are proposed to improve the adaptability of nonlinear systems through more precise modeling. Furthermore, the iterated Kalman filter [
8] is proposed to achieve multiple iterations, which significantly mitigates the linearization error. However, all these solutions did not fully utilize historical information. In addition, adding and removing sensors in filtering frameworks requires reconfiguration of the system, which increases complexity and time consumption.
The recently proposed factor graph optimization (FGO) [
9] scheme provides a new view for multi-sensor fusion. Factor graphs have been widely used in Simultaneous Localization and Mapping (SLAM) to integrate diverse sensor measurements. In recent years, FGO has attracted much attention in the field of integrated navigation due to the advantages of multiple iterations, re-linearization, and the use of historical information [
10]. The factor-graph-based multi-source fusion algorithms have been validated in simulations or experiments on several platforms, including aircraft, vehicles, and ships [
11,
12,
13,
14], which indicates that the FGO-based method is superior to the EKF-based method.
Although the potential of factor graph algorithms for positioning has been explored, it has also been shown that improved methods based on FGO are better adapted to the error distribution of multi-sensor fusion [
15]. However, in complex environments, such as urban canyons, multipath, and NLOS, interference occurs frequently, which creates a greater impact on the accuracy of integrated navigation systems. A lot of research has been conducted on how to obtain more reliable and accurate GNSS positioning results, including detecting cycle slips by Melbourne-Wübbena [
16] and geometry-free [
17], which have significantly improved the data quality control. Nevertheless, there are still roughness and model-free errors in the observation that affect the localization accuracy.
Typically, methods to solve this problem can be classified into two categories: one is probabilistic statistics-based fault detection and isolation, which usually employ binary hypothesis tests based on residuals to detect faults then isolate them using the plug-and-play nature of the factor graph framework. The work described in [
18] proposed a GNSS pseudorange fault detection method, which employs a chi-square test to detect faults and isolate them directly using factor graph. In [
19], an iRAIM method is proposed where faults are detected in a fixed time window. The study in [
20] combines the advantages of the sliding window and chi-square to allow faults to be estimated repeatedly to improve GNSS integrity. Similarly, the work in [
21] uses the history information within a sliding window to fit new observations, reducing the effect of coarseness. However, all these solutions have a certain degree of time delay [
22]. The other category is robust model-aided fault suppression. These strategies usually use a robust weight function to adjust the cost function to reduce the weight of the fault measurements, including the Huber kernel function [
23], switchable constraints [
24], dynamic covariance [
25], etc. Wei et al. [
26] proposed an improved factor graph fusion algorithm with enhanced robustness, which achieves the weight assignment and robust adjustment before the fusion of sensors, effectively reducing the adverse effect of sensor failures on the navigation results. Unfortunately, the weight function depends on the confidence distance and is restricted to [0, 1], which is not suitable for least squares approaches that require a continuous domain [
27]. Yi et al. [
28] proposed a robust loss function through parameter learning using a differentiable optimization. They use an end-to-end approach for learning state estimator modeled as the factor-graph-based smoother, which has a significant improvement over existing baselines. However, the use of neural networks for parameter estimation introduces a large computational effort. Nam et al. [
29] built a robust adaptive state estimation framework based on the type-2 fuzzy inference system, which can learn the uncertainty by using particle swarm optimization, improving the robustness of the system. However, the increase in robustness usually implies a loss in accuracy; hence, the obtained solution is not optimal.
To overcome the limitations above, we propose an innovative IMU/GNSS/ODO loosely coupled integrated navigation framework based on factor graph. Firstly, inspired by the work in [
30,
31], to reduce the Inertial Measurement Unit (IMU) drift, an odometer (ODO) is derived to provide auxiliary measurements into the graph by constructing an IMU-ODO preintegration factor. Subsequently, we put forward a GNSS anomaly detection method based on multi-conditional analysis with a weighted fusion algorithm for adaptive covariance estimation. The original weighting estimate is used when the detection is normal and the adaptive covariance estimation is used for weighting when the test is anomalous, reducing the negative influence of faults. In addition, the impact of the delay in parameter estimation on the system accuracy is reduced by autonomously switching between the two weighting modes. The main contributions of the article are as follows:
An IMU/GNSS/ODO integrated navigation framework based on factor graph is described. We accommodate the key parameters of each sensor and add ODO into preintegration to construct the IMU-ODO preintegration factor, which reduces the drift of IMU.
To enhance the accuracy and robustness, an adaptive weighting estimation (AWE) algorithm is proposed, which can estimate the state and covariance simultaneously. We derive the principle of AWE from the maximum a posteriori (MAP) perspective.
We put forward a GNSS anomaly detection method based on multi-conditional analysis. Through anomaly detection, the system achieves autonomous switching between two modes, original weighting estimation or adaptive weighting estimation, significantly reducing the missed alarm rate and time delays in fault recovery due to parameter estimation.
The remainder of this paper is organized as follows.
Section 2 introduces the factor graph algorithm and the formulation in the IMU/GNSS/ODO integrated navigation system.
Section 3 presents a robust factor graph optimization based on adaptive weighting estimation with multi-conditional analysis. The experiment results and discussion are presented to validate the effectiveness of the proposed algorithms in
Section 4. Finally, the conclusion of this study is composed.
3. Robust Factor Graph Optimization Based on Adaptive Weighting Estimation with Multi-Conditional Analysis
In this section, we will introduce a novel GNSS anomaly detection method and an adaptive covariance estimation algorithm to enhance accuracy and robustness. An overview of the method proposed is shown in
Figure 2. The FGO integrates multi-sensor measurements aided by the weighting from the switching mode options. The whole process is called switching adaptive weighting estimation factor graph optimization (SAWE-FGO) in this paper.
3.1. GNSS Anomaly Detection Based on Multi-Conditional Analysis
Based on Equation (17), the residual of the GNSS factor can be obtained as follows:
Assuming that the observation model and the IMU-ODO model do not contain errors, this yields the following conditional density on the measurement
:
If the GNSS equipment fails, the statistical nature of the measurement noise changes and the mean of the residual will no longer be equal to 0, as described below.
According to the binary hypothesis to
,
indicates that there are no faults:
indicates a malfunction:
Since the residuals have three dimensions, latitude, longitude, and height, the same judgment criterion can be used in each dimension. The residual criterion in one dimension is as follows:
where
is the threshold for the judgment.
represents the residual between the measured value and the predicted value; thus, the larger
is, the less reliable the measurement information is. The selection of
will affect the results of fault detection. If
is too large, it will lead to a high rate of missed alarms. Inversely, if
is too small, it will not be able to meet the statistical characteristics. The threshold value can be set according to the accuracy and performance of different sensors, but the basic criterion is to set it between the maximum probability value of the independent variable and the mean of the chi-square distribution. In this paper, we have chosen the value of
to be 0.2.
Using the Mahalanobis distance of residuals, the chi-square test is simple in operation and small in computation compared to sequential methods with the same number of samples. However, this approach introduces missed alarms and time delays for slow-change faults. Therefore, the GNSS and IMU-ODO preintegrated incremental error criterion is provided to assist the residuals in determining whether there is an anomaly in the standard deviations (SD) of latitude, longitude, and altitude measurement.
During a GNSS epoch, the IMU-ODO preintegration is recursed in increments, with mileage increments
. Obtained from the IMU-ODO mechanization,
and
are the navigation-state estimates for two neighboring moments without the GNSS fusion.
represents displacement increments from the GNSS result of the previous epoch. Since relative changes are described, to accurately reflect the incremental changes, we align
with
in position and use vector decomposition in the b-frame, as shown in
Figure 3.
The longitudinal and lateral incremental error can be expressed as:
Thus, the incremental error of IMU-ODO preintegration with GNSS is:
The incremental error criterion is:
Under normal GNSS operation, the displacement increments of GNSS and the mileage increment of IMU-ODO are in the same trend for a short period and the incremental error between them is very small. When the GNSS is abnormal, the GNSS increment will be much larger than the IMU-ODO mileage increment, which generates a large incremental error. The threshold is set to the maximum possible probability value of the independent variable; here, we choose 0.45.
The detection method combines residual judgment, SD judgment, GNSS, and IMU-ODO incremental error judgment. It is specifically divided into four categories as
Table 1 shown.
In cases 1 or 2, the result is judged to be a normal condition when residual and SD methods detect it identically. In case 3, the combination of judgments has a lower probability because false positives are small probability events in navigation systems. In case 4, which is a priority for us, the SD shows GNSS signals are normal at this moment, while the residual method displays exceptions, known as missed alarms of SD. The original SD values become implausible under this condition. Thus, using the original SD values as covariates will increase the percentage of fault measurement in integrated navigation systems. Since the residual is more sensitive to faults, extra time is required for the system to return to normal as faults accumulate. We introduce the incremental displacement errors of GNSS and IMU-ODO preintegration to assist in determining the end of the failure event. If the incremental error determines that the system has returned to normal, we choose to use the original SD from then on.
Therefore, the switchable GNSS factor error function can be written as:
When the results are judged normal, it means that the edges associated with the variables are added to the graph entirely and the GNSS covariance is computed using the original SD; when the results are judged abnormal, the proportion of the edges added to the graph is decided by the weight obtained from adaptive covariance estimation. The optimization can be defined on R instead of [0, 1] in existing methods.
3.2. Adaptive Weighting Estimation
If the results are judged to be abnormal, the GNSS SD at this time can no longer correctly reflect the degree of data correlation. Therefore, when the result is abnormal, the factor graph optimization becomes both a state and covariance estimation problem. Then, the cost function becomes:
where
is the unknown covariance matrix.
The MAP problem can be modified to:
where
is the estimate of the covariance matrix.
The decomposition of the posterior probability can be obtained:
According to Bayes’ rule, decomposing the posterior probability density
is obtained:
where
and
are the a priori probability densities for prediction
and measurement
, respectively.
has nothing to do with
and
, so it can be ignored. Since there is no priori covariance, the conditional probability density
is denoted [
44]:
where
is the determinant of the matrix
. However, if there is no a priori knowledge of the
, an accurate estimate of the state
is not available in practice. Then, we obtain only an approximation of the state
and the likelihood probability density will change to:
Combining Equations (30), (32), and (34), the objective function can be written as:
where
denotes the residual covariance matrix after the
observation. Our strategy is to find the optimal
to eliminate it from the expression. Assuming that the covariance matrices of the same observations are the same. The derivation of Equation (35) with respect to
and letting the derivative be 0 yields
:
The residual sequence can be approximated as:
where
is the Jacobian of the measurement function and
is the estimation error of the navigation state.
is the measurement noise.
The propagation process of the covariance is derived below:
where
is a posteriori covariance matrix updated with the IMU preintegrated error model:
where
is the derivation of Equation (9) with respect to position, velocity, and attitude.
and
are the derivations of the equations of motion with respect to force and angular velocity.
and
are the measurement noise of the accelerometer and gyroscope, respectively.
Thus, the estimation of the measurement covariance can be obtained:
From the derivation, it can be seen that the estimation requires a priori , where the a priori value is averaged over the residual covariance of all observations before switching to adaptive weight estimation.
4. Experiment Results and Discussion
To evaluate the performance of the proposed method, we built the testbed for the IMU/GNSS/ODO integrated navigation system. The data acquisition vehicle is shown in
Figure 4. The sensors used are all commercial and the specific parameters are shown in
Table 2. The sampling frequency of the MEMS-IMU SCHA634-D03 is set at 100 Hz and the frequency of the Bynav X1 GNSS receiver is at 5 Hz. We use RTK mode to obtain the positioning results in the experiments. The ODO is mounted on the rear wheel bearing. In addition, forward and backward filtering postprocessing is used to provide the ground truth. We run the algorithms on a desktop computer equipped with an Intel i7-12700 at 2.10 GHz and 32 GB RAM and the size of the sliding window is set to 1 s.
The vehicle-mounted test was conducted on a viaduct in the Daxing district, Beijing, with an average speed of 16 km/h and a duration of 1190 s. The specific trajectory is shown in
Figure 5a. The experimental environment includes up and down the viaduct and stable driving. However, in complex urban environments, GNSS signals are highly susceptible to interference; thus, the SD output from the GNSS board is not completely reliable. We choose #1 and #2, which have no faults in raw data then add faults manually to simulate the situation where there are faults in the GNSS signals but the SD judgment is completely ineffective. To verify the effectiveness and robustness of the proposed algorithm, three sections of the trajectory including two typical fault types are selected for verification:
- (1)
#1 and #2 are selected during the stable driving process in an open environment, which means that the original data in these segments are error-free. The complete failure of SD detection, which is the worst-case scenario, can be simulated by adding errors. To simulate the ramp and step fault of the satellite, we add slow-growth faults at 400 s to 580 s (#1), lasting 180 s, and step faults at 700 s to 730 s (#2), lasting 30 s, to the latitude and longitude of the satellite. The GNSS anomaly detection algorithm is validated using all segments including simulation errors.
- (2)
#1 and #3 are selected to verify the effectiveness of SAWE-FGO. #3 (from 1153 s to 1162 s) is a winding road where the vehicle passes through the staggered elevation before the turn, with continuous random jump points in the raw data (from 1138 s to 1152 s).
The GNSS output trajectory after adding the faults is shown in
Figure 5b, with the distance information relative to the start point (0 s).
4.1. Validation of the GNSS Anomaly Detection Algorithm
In the simulation, the whole duration is about 180 s in #1 and 30 s in #2; the GNSS measurements are available during these two periods of time. Slow-growth faults and step faults are added to the latitude and longitude, respectively. The size of the added faults in #1 (group A) and #2 (group B) is shown in
Figure 6.
We apply the proposed GNSS anomaly detection method to the entire trajectory segment, which includes both real and simulated faults, for comprehensive evaluation. To illustrate the specific results of typical failure types, we select two representative segments of the trajectory (#1 and #2).
The missed alarms and false positives of different methods are demonstrated in
Figure 7a. For the judgment curves, a value of 1 means missed alarms or false positives and a value of 0 means normal detection. Meanwhile, the failure level by different methods is shown in
Figure 7b. For the judgment curves, a value of 1 signifies that the detection method detects a perceived fault and a value of 0 denotes no fault.
As
Figure 7a illustrates, the SD statistics have a long duration during 400 s to 580 s, while the residual statistics identify the missed detection. However, a 17 s duration is required for the residual statistics parameter to fall under the fault alarm shoulder. Meanwhile, a new fault appears in the raw data at 597 s. As shown in
Figure 7b, the residual detection is unable to distinguish between the two adjacent faults and it is straightforward to determine that all of them are abnormal from 404 s to 618 s. The proposed method is composed of an SD test unit, a residual test unit, and an incremental error unit, which significantly reduces missed alarms. As
Table 3 shows, the missed alarm rate of the combined method is reduced by 81.7% compared with the SD criterion and the false alarm rate of the combined method is reduced by 85.7% compared with the residual criterion.
In addition, to represent the performance of the use of the incremental error criterion to assist the residual criterion in the case of complete failure of SD detection, #1 and #2 are selected to evaluate the advantages of the proposed method by comparing the detection and recovery ability for different types of faults, as shown in
Figure 8 and
Figure 9.
Figure 8 shows the results for group A in ramp failure, while
Figure 9 presents the results for group B in step failure. The statistical curves of residual, incremental error, and combined fault detection methods are compared in
Figure 8a and
Figure 9a where the pink line represents the threshold. Meanwhile, the judgment results of these methods are presented in
Figure 8b and
Figure 9b. For the judgment curves, a value of 1 means that the detection method detects a perceived fault and a value of 0 means normal. The fault detection delays for different detection methods are listed in
Table 4.
Among the results presented in
Table 4, the following conclusions can be easily found:
(1) For step faults, all methods are able to detect the start of the fault quickly. For ramp failure, the combined fault detection method chooses the minimum detection time due to the sensitivity of the residual method.
(2) The proposed method can recover after the failure termination, with a 92–97% reduction in delay compared to the residual method.
(3) In group A, it is not hard to see original faults appearing after the end of adding faults. In
Figure 8, the residual method cannot distinguish between different faults, which is not possible for multiple-failure detection. Instead, the proposed method overcomes the drawback of the residual method in failure recovery, which can detect second faults.
Fault delay detection and recovery usually adversely affect the parameter estimation, making the AWE not optimal. Therefore, the proposed detection algorithm is used to solve this problem in the next part, which can quickly and accurately determine the moment when the system returns to normal and then switch to the normal weighting mode.
4.2. Comparison of Performance between Different Information Fusion Methods
To verify the effectiveness of the switching adaptive weighting estimation (SAWE), #1 is selected for verification. We compared our methods with the EKF method, which is commonly used in engineering applications, and the traditional FGO method. The elapsed time of all data for the FGO algorithm with the equipped CPU is about 18 s.
Figure 10,
Figure 11 and
Figure 12 demonstrate the localization results produced by each algorithm.
The traces of the different algorithms are shown in
Figure 10. It can be seen that, after the addition of the damp faults, there are obvious fluctuations in EKF. The smoothing effect of FGO is better than that of the EKF; however, there are still some large errors here. Instead, there is not a significant decrease in the navigation accuracy of the AWE-FGO and SAWE-FGO.
Figure 11 and
Figure 12 show the position errors and velocity errors, respectively. We can see that the position and velocity errors are remarkably reduced using AWE-FGO and SAWE-FGO. The position results are shown in
Table 5.
For the eastward position, the STD values of FGO and AWE-FGO reach 1.304 m and 0.509 m, respectively, while EKF reaches 2.155 m. The STD of FGO improved by 39.4% compared to EKF. Similarly, for the northward position, the STD improves by 19.9%. It can be seen that the positioning accuracy of EKF and FGO is comparable. After applying AWE to the FGO, the errors reduce noticeably in
Table 5, which shows the effectiveness of the proposed AWE method. Moreover, with the help of SAWE via SAWE-FGO, the position errors decrease to 0.489 m and 0.208 m, respectively, resulting in a further improvement in accuracy from AWE-FGO. RMSE can reflect the deviation of the estimated value from the reference value. The use of RMSE can assess the impact of outliers on navigation and reflect the navigation accuracy and robustness. It can be seen that the RMSE of AWE-FGO is significantly smaller than that of EKF and FGO, with reductions of 76.3% and 57.2% in eastward and northward positions, respectively. When the traditional factor graph algorithm is enhanced by SAWE-FGO, the position accuracy improves by 80%. The higher accuracy and robustness of the proposed method depend on the fact that the SAWE-FGO can recognize the end time of faults and adjust the corresponding covariance according to the error changes, which makes the weighting more accurate. In contrast, the traditional factor graph model does not take into account the exceptions of sensor measurements in the information fusion process, which leads to a decrease in navigation accuracy.
In addition, we interestingly discovered that the fault detection delay has a much greater effect on the turnaround than the straight line. Therefore, we choose #3 for additional validation. It can be seen in
Figure 5b that there are random jump points in the GNSS signals before passing a turnaround section (#3) as the road crosses the viaduct for a while. As shown in
Figure 13, we use the SAWE-FGO method compared with full use of the AWE-FGO method for the selected trajectory (#3). It can be seen that the AWE-FGO method causes an error of about 1 m in the northward position, while the SAWE-FGO method has a maximum of only 0.1 m, which validates the effectiveness of SAWE.
4.3. Experimental Validation Using an Open-Source Dataset
To challenge the performance of the proposed fault detection algorithm and adaptive weight estimation strategy, we test the proposed algorithms on the open-source dataset collected in the Odaiba districts of Tokyo Urban Canyons [
45], which has denser buildings and multiple viaducts compared with the experimental environment in which we collected data. In other words, the selected open-source dataset is collected in a typical urban canyon environment with a higher percentage of multipath/NLOS effects.
Figure 14 shows the vehicle traveling trajectory provided by the high-precision INS/RTK positioning results. It can be seen that the road condition is quite complicated, which not only contains straight lines and turning sections but also passes through dense buildings and several viaducts.
In order to validate the effectiveness of the proposed algorithm, we performed fault detection validation and adaptive weight estimation validation on this dataset, respectively. The missed alarms and false positives of different methods are demonstrated in
Figure 15. For the judgment curves, a value of 1 means missed alarms and false positives and a value of 0 means normal detection.
Figure 15 shows that, in typical urban canyon environments, GNSS signals are significantly disturbed by multipath/NLOS effects, resulting in frequent anomalies in the SD values of GNSS outputs.
As
Table 6 shows, the missed alarm rate of the combined method is reduced by 41% compared with the SD criterion and the false alarm rate of the combined method is reduced by 62% compared to the residual criterion.
A comparison of performance between different information fusion methods is shown in
Figure 16 and
Figure 17.
The traces of the different algorithms are shown in
Figure 16. The three zoomed-in trajectories (T1, T2, and T3) correspond to three elevated segments. With the AWE method, the trajectories at the corners are significantly smoother and the corresponding errors are smaller than those of EKF and FGO. When the system is operating in switchable modes, there is a further reduction in error at corners, except for section T1, which occurs because the fault detection algorithm fails to detect partial faults in the segment, failing to switch up to AWE mode.
Figure 17 shows the position error. It can be seen that the EKF has a large error and FGO has a relatively reduced error, while the AWE-FGO significantly reduces the error. The position results are shown in
Table 7.
For the eastward position, the STD values of AWE-FGO and SAWE-FGO reach 1.108 m and 0.906 m, respectively. The position accuracy of AWE-FGO improved by 37.7% compared with FGO. Relative to EKF, the AWE-FGO errors are reduced by 68.8%. Similarly, for the northward position, the position accuracy of AWE-FGO improves by 39.0% compared with FGO. Compared to EKF, the AWE-FGO errors are reduced by 45.1%. While SAWE-FGO significantly reduces errors in the northward position, it does not perform as well in the eastward position due to the failure of fault detection at T1.
In short, the errors are reduced significantly with the help of AWE. Moreover, the proposed fault detection method based on multi-conditional analysis is also validated on the challenging dataset. With the aid of fault detection, the SAWE exhibits less positional error. Since the selection of the threshold values directly affects the effectiveness of fault detection, we need to continue to improve and explore the criteria for threshold selection in the future.