An Improved Adaptive Kalman Filter for a Single Frequency GNSS/MEMS-IMU/Odometer Integrated Navigation Module

: Aiming at the GNSS receiver vulnerability in challenging urban environments and low power consumption of integrated navigation systems, an improved robust adaptive Kalman ﬁlter (IRAKF) algorithm with real-time performance and low computation complexity for single-frequency GNSS/MEMS-IMU/odometer integrated navigation module is proposed. The algorithm obtains the scale factor by the prediction residual, and uses it to adjust the artiﬁcially set covariance matrix of the observation vector under different GNSS solution states, so that the covariance matrix of the observation vector changes continuously with the complex scene. Then, the adaptive factor is calculated by the Mahalanobis distance to inﬂate the state prediction covariance matrix. In addition, the one-step prediction Kalman ﬁlter is introduced to reduce the computational complexity of the algorithm. The performance of the algorithm is veriﬁed by vehicle experiments in the challenging urban environments. Experiments show that the algorithm can effectively weaken the effects of abnormal model deviations and outliers in the measurements and improve the positioning accuracy of real-time integrated navigation. It can meet the requirements of low power consumption real-time vehicle navigation applications in the complex urban environment.


Introduction
Global navigation satellite system (GNSS) has high positioning accuracy and no cumulative error. However, the GNSS receiver needs at least four satellites to be able to locate [1]. In the environment of avenues, viaducts, urban canyons, and tunnels, the satellite signal is vulnerable to occlusion and multipath effects [2]. The GNSS receiver with the real-time kinematic (RTK) algorithm is prone to losing lock in the complex environment. It takes several seconds to fix the integer ambiguity when reentering the open environment, which makes the continuity and availability of GNSS positioning not guaranteed. Inertial navigation has high short-term positioning accuracy and is not restricted by the environment. However, the INS positioning accuracy will diverge exponentially with time due to the errors of device noise, zero offset, scale factor, axis deviation, and nonlinearity [3]. Taking advantage of each other, combining GNSS and INS can provide more accurate [4], continuous and reliable navigation information (including position, speed, and attitude). In other words, through the information fusion of multi-source heterogeneous sensors, complementary advantages can be achieved.
Kalman filter is one of the most commonly used optimal estimation methods in integrated navigation [5,6]. However, its performance will be degraded by GNSS measurement outliers or non-Gaussian distribution noise [7]. In response to this problem, various filtering algorithms have been proposed to control their impact on the accuracy of integrated navigation positioning, such as robust Kalman filter, H filter [8,9], DIA methods [10], robust interval Kalman filter [11], adaptive robust filter based on Mahalanobis distance [12][13][14], adaptive Kalman filter [15][16][17], and so forth. Robust filtering can control the influence of measurement outliers on motion state estimation [18], but it cannot effectively manage the effect of model deviation. H filter can solve the interference of the stochastic model [19], but it cannot do anything about GNSS outliers. In addition, the calculation amount of this method is enormous. DIA methods are detection, identification, and adaptation. This method can eliminate the influence of outliers on integrated navigation, but it is difficult to identify outliers when the measurement is unreliable [20]. A robust interval Kalman filter combines robust estimation with an interval Kalman filter. It can deal with the model parameters' uncertainty and weaken the effects of model errors. The adaptive robust filter based on Mahalanobis distance defines the judgment index based on Mahalanobis distance. When the observation value is reliable, the adaptive Kalman filter is executed, otherwise, the robust estimation method is used for the robust filtering. This method can weaken the influence of abnormal model deviation and abnormal measurement. Adaptive Kalman filter can control the influence of model error [21,22]. However, adaptive Kalman filter based on prediction residual needs reliable observation information, and its performance is significantly affected by outliers. Different from the adaptive filtering of prediction residual strategy, Yang et al. proposed an adaptive robust filter technology combining robust estimation and adaptive factors [23,24]. This technology can effectively suppress the influence of observation anomaly and carrier state disturbance anomaly on the parameter estimation of dynamic systems, and has been successfully applied in many fields [24][25][26]. Currently, deep neural networks have been widely used and are very effective [27][28][29][30]. Despite having a good performance, these methods cannot be used when power consumption is a primary concern.
The above methods solve the problem of poor integrated navigation positioning accuracy caused by abnormal GNSS observations and model deviations under dynamic conditions. However, their effect on single-frequency GNSS that is vulnerable and does not output the covariance of the observation vector is limited. (GNSS vulnerability means that GNSS signals easily interfere in a complex urban environment. When it is suddenly blocked or blocked in a short time, the positioning error will increase instantaneously, and it is difficult to converge from the RTK float solution to a fixed solution.) Besides, these methods cannot operate on low-cost and low power consumption embedded chips. A real-time low computation complexity IRAKF algorithm is proposed to solve these problems. The algorithm obtains the scale factor by the single epoch prediction residual estimation method and adjusts the artificially set observation vector covariance matrix under different GNSS solution states. Subsequently, the Mahalanobis distance based on the prediction residual is used to detect disturbance anomalies and obtain the adaptive factor to inflate the state prediction covariance matrix. In addition, the one-step prediction Kalman filter is combined to reduce the amount of calculation. The combination of these three methods realizes low power consumption chip-level single-frequency GNSS/MEMS-IMU/odometer robust adaptive integrated navigation. The algorithm is verified on a small volume embedded module, and a real-time vehicle experiment is carried out in Wuhan, China. This paper focuses on improving positioning accuracy and reducing the power consumption of low-cost integrated navigation and positioning modules in complex scenes to be widely used in vehicle navigation. The main contributions of this paper are as follows: First, an improved robust adaptive algorithm is proposed for single-frequency GNSS that is vulnerable and does not output the covariance of the observation vector; Second, a one-step predictive Kalman filter is adopted to reduce power consumption.
The paper is organized as follows: Section 2 introduces the conventional robust adaptive extended Kalman filter algorithm. Next, the improved robust adaptive Kalman filter with real-time performance and low computation complexity for the single-frequency GNSS/MEMS-IMU/odometer integrated navigation is presented in Section 3. In Section 4, the experimental route and hardware platform are described. Next, the corresponding results are presented and analyzed in Section 5. Finally, the discussions about the results and the conclusions are given in Sections 6 and 7, respectively.

Conventional Robust Adaptive Extended Kalman Filter
The adaptive filter has been widely applied and investigated in the field of dynamic navigation and positioning. In order to demonstrate the performance of the real-time low computation complexity IRAKF algorithm more clearly, the conventional robust adaptive Kalman filter (CRAKF) is first briefly introduced. The CRAKF mainly adjusts the observation vector covariance matrix and the state prediction vector covariance matrix [15,25,26].
Take the calculation window as m, and the predicted residual is used to obtain the estimation value of the observation vector covariance matrix: where V k−i is the predicted residual vector, H k denotes the design matrix, P k,k−1 represents the state prediction covariance matrix. The prediction residual is defined by: where Z represent the observation vector. The prediction residual is used to construct a two-segment adaptive factor, which can be written as where V k = V k / trace(P V k ), P V k is the prediction residual covariance matrix, and trace() represents the least-squares norm and the trace of the matrix, respectively. c is the threshold by the experience, and 1 ≤ c ≤ 2.5. The adaptive factor is used to inflate the state prediction covariance matrix.
The estimated value of the observation vector covariance matrixR k and adaptive factor α k are substituted into extended Kalman filter [6], and the gain matrix, state estimation vector, and state estimation vector covariance matrix of the CRAKF can be obtained as follows:K where X is the error state vector; K is the Kalman filter gain matrix, which determines the weights of measurement information when the error state is updated; I denotes the identity matrix. All the subscripts indicate the state change. For example, X k,k−1 means the error state vector from epoch k − 1 to epoch k.

System Overview
Due to power consumption, the GNSS receiver adopts a simplified RTK algorithm, which leads to poor positioning accuracy and vulnerability. It cannot be compared with other similar receivers on the market in terms of positioning accuracy. Besides, because the receiver signal is susceptible to interference from a complex environment, the observation vector covariance matrix is prone to error values, so the receiver does not output the covariance matrix of the observation vector. As a result, the positioning accuracy of the integrated navigation system with the GNSS receiver is poor. Based on the disadvantage of the GNSS receiver, this paper proposes an IRAKF algorithm for a single frequency GNSS/MEMS-IMU/odometer low power consumption real-time loosely coupled integrated navigation. The algorithm combines the robust adaptive algorithm and the one-step prediction Kalman filter, which improves the robustness of the integrated navigation system and dramatically reduces the algorithm's computational complexity. It meets the requirements of real-time and low-power consumption of integrated navigation modules in challenging urban environments. The flow chart of the proposed algorithm is shown in Figure 1. The red dotted rectangle indicates the calculation of the scale factor and adaptive factor, and the blue dotted rectangle indicates the one-step prediction Kalman filter. The specific implementation process is as follows: firstly, the prediction residual is calculated by GNSS observation information, and the estimated observation vector covariance matrix is obtained according to the prediction residual. Then it is compared with the artificially set covariance matrix of the observation vector. If the estimated covariance matrix of the observation vector is larger than the set covariance matrix of the observation vector, the outlier GNSS exists at this time. Subsequently, the scale factor adjusts the set covariance matrix of the observation vector to reduce the weight of GNSS in the Kalman filter. On the contrary, the current GNSS observation quality is consistent with the estimated value, and there is no need to adjust the R matrix. With the outlying observations, the estimated value of the observation vector covariance matrix calculated by the scale factor becomes unreliable. The Mahalanobis distance based on the prediction residual is introduced to detect disturbance anomalies and obtain the adaptive factor to inflate the state prediction covariance matrix.
In addition, a particular case is also considered. GNSS RTK is susceptible to interference and turns into a pseudo-fixed solution when the vehicle enters the tunnel, which will disturb the system state after it participates in the integrated navigation, resulting in poor positioning accuracy in the tunnel. The PDOP value and the number of satellites tracked reflect the influence of weather and environment on GNSS positioning accuracy. With these two parameters, the pseudo-fixed solution of GNSS can be identified and eliminated. Finally, to reduce the computation complexity of the integrated navigation algorithm, the one-step prediction Kalman filter is adopted. In the one-step prediction Kalman filter, the Kalman prediction process only calculates the state transition matrix, and the prediction state covariance matrix is executed in the Kalman filter update process. In this way, the computing load of the P-matrix is reduced. The clock frequency of MCU in the module is reduced by decreasing the algorithm's calculation amount to realize the low-power consumption of the module. The relationship between power consumption and the clock frequency is as follows [31]: P total = P MCU + P GNSS + P I MU + P others (7) P MCU = P clock f requency + P peripherals + P IO port + P others .   From Equation (7), the power consumption of the single-frequency GNSS/MEMS-IMU/odometer integrated navigation module mainly includes MCU, GNSS, IMU, and other sensors. Since the power consumption of GNSS, IMU, and other sensors are fixed values and cannot be changed. So, only MCU can be used to reduce power consumption. However, as shown in Equation (8), MCU power consumption comprises clock frequency, internal peripherals, and IO ports. The peripherals used inside the MCU include SPI, serial, encoder, timer, and so forth. These peripherals and IO ports are connected to external sensors and cannot be reduced. Therefore, the module can only reduce the system power consumption by lowering the clock frequency of the MCU. In this paper, the computational complexity is reduced by decreasing the algorithm complexity, which in turn can reduce the clock frequency of the MCU. In the experiment, the operating frequencies of MCU are 400 MHz, 200 MHz, 100 MHz, and 50 MHz, respectively. It is concluded that the lower the frequency, the lower the power consumption of the integrated navigation system. Through the real-time vehicle navigation experiment, the clock frequency of the MCU is reduced to 50 MHz in this research, and the average power consumption of the module is 143 mW.
In addition, during the initialization of the integrated navigation, we have adopted a dynamic alignment method to calibrate the INS, that is, using satellites for dynamic alignment. In dynamic alignment, the position and speed information of IMU can be obtained by using GNSS information through lever arm vector correction. Since the vehicle is on a horizontal plane, it can be considered that the pitch and roll are zero, and the heading can be solved according to the following formula through GNSS speed information ψ = tan −1 (v E /v N ). At this time, the attitude information of IMU is still rough. In the subsequent process, the attitude information uses the position information provided by GNSS to converge through the Kalman filter to realize fine alignment.

Improvement Algorithm
This research uses the IRAKF with real-time performance and low computation complexity to implement the single-frequency GNSS/MEMS-IMU/odometer integrated navigation [32]. The IRAKF fuses the single-frequency GNSS, MEMS-IMU, and an odometer to achieve optimal integrated navigation system state estimates. In order to show the IRAKF algorithm, a scaling factor based on the GNSS solution state, an adaptive factor based on the Mahalanobis distance, and a one-step prediction Kalman filter model are introduced in this section.

Scaling Factor Based on GNSS Solution State
Single-frequency GNSS signal is vulnerable to serious interference in the complex environment such as boulevards, tunnels, urban canyons, and viaducts. The positioning result of single-frequency GNSS is easy to change from the RTK fixed solution to a float solution or a differential solution. Since the commercial receiver does not output the observation vector covariance matrix, the matrix R k can be set according to the GNSS solution.
where diag() function converts a vector into a diagonal matrix, and the elements not on the diagonal are all zero. σ 2 f ix , σ 2 f loat and σ 2 di f f erential are the position variances of fixed, float, and differential solutions of the single-frequency RTK, respectively. Considering the different hardware characteristics of other receivers, this value needs to be obtained through many experimental data statistical calculations.
The R k set by prior knowledge is discontinuous, but it changes continuously in the challenging urban environment. It is inconsistent with the value of GNSS receiver output in the complex urban environment. In addition, when the positioning error of the GNSS RTK changes from large to small, the vehicle may not move from an obscured environment to an open environment. In this case, R k given by prior knowledge is unreliable. If this value is used as the covariance matrix of the observation vector, integrated navigation will be significantly affected. Therefore, a robust adaptive algorithm based on the GNSS solution state is designed.
In vehicle navigation applications with medium and low dynamics, the state prediction vector X k and the state prediction vector's covariance matrix P k,k−1 are generally considered reliable within one second. Therefore, the reliability of the measurement information Z k can be inferred from the predicted residual According to the propagation law of covariance matrix, the theoretical covariance of prediction residual is as follows: However, there are many methods for estimating covariance of prediction residuals, including the Sage windowing estimation method, single epoch prediction residual estimation method, recursive estimation method, and so on [25,26]. In these methods, the Sage windowing estimation method sometimes cannot reflect the size of the model error of the current epoch. In contrast, the recursive estimation method uses the estimation model based on the information of the previous epoch. It cannot also reflect the state of the current epoch in time. Therefore, the single-epoch prediction residual estimation method with a small amount of calculation is selected according to the hardware conditions to estimate the covariance of the prediction residuals. The covariance matrix of V k can be obtained by Since the error of the dynamic model is small within one second, the error of the observation vector can be seen by comparing the theoretical covariance and estimated covariance of the prediction residual. In the robust theory, if the observation vector error is large, the covariance matrix of the observation vector R k should be α k R k (α k > 1), which means that the weight of the observation vector is weakened. However, we hope that the theoretical and estimated values of the predicted residual covariance after applying the scaling factor are the same. So, suppose that the two formulas of (11) and (12) are equal, that is: According to the above formula, the estimated value of the observation vector covariance matrix is as follows:R AfterR k and R k are traced, the scaling factor is Thus, the scaling factor for the GNSS RTK fixed solution can be expressed as where R k, f ix = diag(σ 2 f ix ) is the observation vector covariance matrix of the fixed solution.
The scaling factor for the GNSS RTK float solution can be expressed as where R k, f loat = diag(σ 2 f loat ) is the observation vector covariance matrix of the float solution. The scaling factor for the GNSS differential solution can be expressed as where R k,di f f erential = diag(σ 2 di f f erential ) is the observation vector covariance matrix of the differential solution.
Comparing trace(R k ) and trace(R k, ), if the former is greater than the latter, then α k R k > R k, . Obviously, the influence of the observation vector on the state estimation is weakened. However, suppose the former is less than the latter. In that case, it means that the observation vector error is small, and there is no need to adjust the covariance matrix of the observation vector by the scale factor. At this time, α k is equal to 1. Therefore, the estimated observation vector covariance can be written as follows: Additionally, there is another situation that quickly disturbs the state of the integrated navigation system in a complex environment, leading to increased positioning errors. That is, the GNSS RTK state is a fixed solution, but the positioning accuracy is poor. In this case, the observation covariance matrix R k is minimal. It means that the weight of the observation vector is strengthened, and the Kalman filter trusts the observation information more. However, after the observation information with significant errors participates in the integrated navigation, it is easy to disturb the system state, resulting in extensive positioning errors for an extended period. Therefore, before the measurement update of the Kalman filter, the horizontal dilution of precision (HDOP) and the number of tracked satellites of the receiver are combined to eliminate the wrong GNSS RTK fixed solution. The judgment conditions are as follows: where HDOP is the horizontal dilution of precision at the current time; N sat is the number of satellites tracked by the receiver; C 1 and C 2 are the threshold of HDOP and the number of satellites, respectively.

Adaptive Factor Based on the Mahalanobis Distance
The scaling factor obtained by the prediction residual single-epoch method in the above section may not optimize the state estimation value of the Kalman filter. In the CRAKF, based on the estimation value of the observation vector covariance matrix, the adaptive factor is used to adjust the state prediction covariance matrix. However, with the outlying observations, the prediction residual becomes unreliable, and the adaptive factor may degrade the performance of the CRAKF. Therefore, it is necessary to find a reliable way to obtain the adaptive factor. Based on the Mahalanobis distance of the prediction, residual is adopted to detect the disturbance anomaly and uses it to obtain the adaptive factor [7,12,14]. The specific implementation process is as follows.
Consider the state-space model of a stochastic system, where Φ k,k−1 is the state transition matrix; W k−1 and V k are the system noise vector and the observation noise vector, respectively. For the above formula, the observation vector should be Gaussian distributed with the mean Z k and covariance P Z k , and the probability density function ρ(Z k ) can be written as [7,12]: where m represents the dimension of an observation vector. The probability density function will no longer hold if the outlying observations or observation noise is contaminated. Therefore, it can be judged whether there is a gross error in the observation according to this characteristic. The test statistic is constructed according to formula (22) to detect modeling errors. Consequently, the square of the Mahalanobis distance from observation Z k to mean Z k is used as the test statistic. where residual between the observation vector and the predicted state vector is just the Mahalanobis distance. Thus, the Mahalanobis distance of the prediction residual can be written as follows: The prediction residual V k follows a standard normal distribution, so the Mahalanobis distance between the observation vector and predicted state vector should be Chi-square distributed with the degree of freedom m.
where α is the significance level, it is a small value, and 0.01 is used in this contribution; m is the dimension of the prediction residual; P{} denotes the probability of γ k being more significant than χ 2 α , and the probability value is α. However, it is a small probability event that the calculated value of γ k is more remarkable than χ 2 α (m). If this small probability event holds, it indicates some outlying measurements in the observation data. Otherwise, there are no outliers. According to this feature, the adaptive factor can be solved. An adaptive factor β k is introduced to inflate the state predicted vector covariance matrix, According to the Formula (25), the following equation can be satisfied Change the above formula into the following form, The adaptive factor β k is solved according to Gauss-Newton iterative method [14], where i represents the i-th iteration. In Equation (29), the derivative of an inverse matrix is as follows [33]: Substituting (28) and (30) into (29) gives The initial value β k (0) = 1.

One-Step Prediction Kalman Filter Model
In traditional integrated navigation Kalman filter, the state prediction vector covariance matrix P and state prediction vector X are performed together, significantly increasing the computation load and unsuitable for systems with real-time and low power consumption requirements [5,6,34,35]. In our research, the Kalman filter is improved, and the state prediction vector covariance matrix P is performed together with the measurement update, which dramatically reduces the computation load. The improved algorithm is as follows: Prediction: Update: where Φ represents the state transition matrix;Φ denotes the calculated state transition matrix, which is obtained by multiplying the current Φ by the previousΦ. For example, Φ k,k−1 means the state transition matrix from epoch k − 1 to epoch k.
In order to put the state predicted covariance matrix P into the measurement update process, it is necessary to use the state transition matrix Φ to achieve this goal. Therefore, theoretical reasoning is needed to prove the feasibility of the formula.
According to the theoretical derivation, Q and P of the k + 3 epoch in the extended Kalman filter are as follows [36]: where Q is the constant spectral density matrix; ∆t is the sampling interval of the navigation system.
Expand the Formula (39): where Q k ≈ Q k+1 ≈ Q k+2 ≈ · · · ≈ Q k+n is the system noise covariance matrix. By observing Equation (40), it can be found that the first and second terms on the right side of the equation are easier to calculate, while the third and fourth terms are relatively complicated. If we want to calculate the third and fourth terms, we must save the previous value of Φ. However, as time grows, the number of Φ that also needs to be saved increases, which seriously wastes hardware memory resources. Therefore, in order to facilitate the calculation, we should construct the third and fourth terms into the form of the first term, as shown below: Consequently, substituting (41) and (42) for the last two items in (40), In order to verify the feasibility of replacing the last two items of Formula (40) with the constructed Formulas (41) and (42), we use Formula (43) to subtract Formula (40). If the result approaches zero, it indicates that the construction method is feasible. The procedures (43)-(40) are as follows: According to the theoretical formula of the Kalman filter state transition matrix, it can be known that there is ∆t in the matrix, so it is assumed that Φ k ≈ I + F k ∆t. In the Kalman filter, ∆t is equal to 0.01s. Putting it into Equation (44), it can be seen that (43)-(40) are high-order small quantities, and the result approaches zero. The details are as follows: Therefore, the third and fourth terms of Formula (40) can be replaced by (41) and (42). The P matrix of the epoch k + 3 can be rewritten as follows: where P k+3,k is the state predicted covariance matrix from epoch k to epoch k + 3. It can be seen from the above formula that the calculation of the state prediction covariance matrix from epoch k to k + 3 can be realized in one step. Then, the state transition matrix from epoch k to epoch k + 3 can be written as: Similarly, the matrix of P and Φ are extended to n epochs, namely from k epochs to k + n epochs, as follows: Therefore, the P can be executed in the measurement update process, and in the Kalman filter prediction process, a new Φ can be obtained by multiplying each previous Φ. The state transition matrix Φ and the predicted state vector covariance matrix P of the code running in the chip can be written in the following form: In Kalman filter prediction, the amount of calculation of the Φ matrix is much less than that of P matrix, which significantly reduces the computational complexity.

Experimental Route and Hardware Platform
This study selected a section of complex scene road in Wuhan, Hubei Province as the test route, as shown in Figure 2. The route includes scenes such as Boulevard 1, Tunnel 1, Boulevard 2, and Tunnel 2. They constitute a continuous GNSS high occlusion scene, and there are continuous s-turns and up and down ramps, and multipath interference of lake reflected signals. The vehicle-mounted experimental platform is shown in Figure 3. The testing equipment and reference equipment are installed on the vehicle's roof, and the odometer is attached to the wheel. The experimental equipment is a multi-sensor fusion navigation and positioning module, which incorporates single-frequency GNSS, MEMS-IMU, magnetometer, barometer, temperature and humidity sensor, NB-IoT, and e-sim to form an integrated navigation and positioning system. The reference equipment is NovAtel SPAN CPT6, a navigation-level device with dual-frequency GNSS and fiber optic gyroscope tight integrated navigation technology. Table 1 shows the performance indicators of the two devices. gyroscope tight integrated navigation technology. Table 1 shows the performance indicators of the two devices.    Table 1 shows the performance indicators of the two devices.

Operands Analysis and Comparison
In order to verify the effectiveness of the simplified one-step prediction Kalman filter in the improved robust adaptive algorithm, the calculation amount and positioning performance are analyzed and compared with the extended Kalman filter.
In the IRAKF algorithm, the simplified one-step prediction Kalman filter is used. That is, the prediction state covariance matrix is only calculated once in the measurement update cycle. Consequently, the algorithm dramatically reduces calculation and can run in real-time in a low-cost MCU with a low operating frequency. It ensures that the system works with low power consumption. In order to evaluate the computational complexity of the one-step prediction Kalman filter and extended Kalman filter in the IRAKF algorithm, the operation number of multiplication (M), addition and subtraction (A&S), division (D), square root (SR), and trigonometric (T) function are counted. Figure

Operands Analysis and Comparison
In order to verify the effectiveness of the simplified one-step prediction Kalman filter in the improved robust adaptive algorithm, the calculation amount and positioning performance are analyzed and compared with the extended Kalman filter.
In the IRAKF algorithm, the simplified one-step prediction Kalman filter is used. That is, the prediction state covariance matrix is only calculated once in the measurement update cycle. Consequently, the algorithm dramatically reduces calculation and can run in real-time in a low-cost MCU with a low operating frequency. It ensures that the system works with low power consumption. In order to evaluate the computational complexity of the one-step prediction Kalman filter and extended Kalman filter in the IRAKF algorithm, the operation number of multiplication (M), addition and subtraction (A&S), division (D), square root (SR), and trigonometric (T) function are counted. Figure 4    In order to verify whether the simplified one-step prediction Kalman filter in the IRAKF algorithm will affect the positioning performance of the integrated navigation system, the real-time vehicle-mounted experiments are carried out in a challenging urban environment. Meanwhile, the simplified one-step prediction Kalman filter is replaced with the extended Kalman filter in the algorithms, and the positioning accuracy of the two is compared. The positioning errors of the two in the North, East, and Down directions are shown in Figure 5. It can be seen from the figure that although the simplified one-step prediction Kalman filter reduces the number of operations of the algorithm, its positioning accuracy hardly deteriorates. The overlap curve in Figure 5a is expanded to the separation curve in Figure 5b to make the figures clearer. In order to verify whether the simplified one-step prediction Kalman filter in the IRAKF algorithm will affect the positioning performance of the integrated navigation system, the real-time vehicle-mounted experiments are carried out in a challenging urban environment. Meanwhile, the simplified one-step prediction Kalman filter is replaced with the extended Kalman filter in the algorithms, and the positioning accuracy of the two is compared. The positioning errors of the two in the North, East, and Down directions are shown in Figure 5. It can be seen from the figure that although the simplified one-step prediction Kalman filter reduces the number of operations of the algorithm, its positioning accuracy hardly deteriorates. The overlap curve in Figure 5a is expanded to the separation curve in Figure 5b to make the figures clearer.

Performance Verification
The accuracy of the positioning, velocity, and attitude are essential indicators that reflect the performance of the integrated navigation system. In order to verify the performance of the IRAKF algorithm in complex scenarios, real-time vehicle-mounted experiments are carried out. This section analyzes the horizontal positioning, forward velocity,

Performance Verification
The accuracy of the positioning, velocity, and attitude are essential indicators that reflect the performance of the integrated navigation system. In order to verify the performance of the IRAKF algorithm in complex scenarios, real-time vehicle-mounted experiments are carried out. This section analyzes the horizontal positioning, forward velocity, and heading errors of the single-frequency GNSS/MEMS-IMU/odometer integrated nav-igation module with the IRAKF algorithm. In addition, the positioning performance of challenging scenes, namely boulevard and tunnel, is also analyzed and compared.
The horizontal position, forward velocity, and heading errors of the whole test route estimated by the methods of the CRAKF, Sage filter, extended Kalman filter, and IRAKF are shown in Figure 6. It can be noted that the horizontal position error of the extended Kalman filter exhibits large values between 281,989 s (280,000 + 1989) and 282,344 s (280,000 + 2344). Compared with the CRAKF, Sage filter, extended Kalman filter, the IRAKF algorithm proposed in this paper has the highest positioning accuracy and the best robustness. But it is only limited to most road scenes. The main reason is that the GNSS receiver cannot output the observation vector covariance matrix, and the manually set value cannot accurately represent the current positioning error. In terms of horizontal velocity error, it can be seen from Figure 6 that the proposed IRAKF can provide better performance than the other three methods. From the heading error in Figure 6, it can be seen that the heading error of IRAKF is smaller than the other three methods in most periods and the error curve is smoother. To make the figures clearer, the subfigures of horizontal position error, velocity error, and heading error are shown in Figure 7, showing the curves in each figure.    The single-frequency GNSS signal is easy to block on the boulevard, resulting in poor positioning accuracy. As shown in Figure 8  The statistical values of the root mean square (RMS) and maximum errors of the horizontal position, forward velocity, and heading of the CRAKF, Sage filter, extended Kalman filter, and IRAKF are shown in Table 2. It can be seen that the RMS and maximum errors of the proposed IRAKF are minor than those of the other three methods. The specific comparative analysis is as follows. Compared with the CRAKF, the RMS errors of the horizontal position, forward speed, and heading of the IRAKF are increased by 3.8%, 7.9% and 2.3%, respectively. Compared with Sage filtering, it has increased by 10.7%, 10.3% and 6.5% respectively. However, compared with extended Kalman filter, it has increased by 80.7%, 84.1%, and 44.2%, respectively. In terms of maximum error, the horizontal position, forward speed and heading of IRAKF are improved by 1.2%, 22.2% and 0%, respectively compared with the CRAKF. Compared with Sage filtering, it is improved by 2.9%, 22.2% and 1% respectively. However, compared with extended Kalman filter, it has increased by 90.4%, 95.9% and 47.9%, respectively. The single-frequency GNSS signal is easy to block on the boulevard, resulting in poor positioning accuracy. As shown in Figure 8 In the boulevard scene, the horizontal position errors of the CRAKF, Sage filter, extended Kalman filter, and IRAKF at the moment of GNSS abnormal observations are shown in Table 3. It can be seen that the integrated navigation system with the IRAKF eliminates GNSS gross errors and improves positioning accuracy. Compared with the other three methods, its positioning accuracy at the time of GNSS gross errors are improved by 20%, 14.3%, and 96.8%, respectively.  In the boulevard scene, the horizontal position errors of the CRAKF, Sage filter, extended Kalman filter, and IRAKF at the moment of GNSS abnormal observations are shown in Table 3. It can be seen that the integrated navigation system with the IRAKF eliminates GNSS gross errors and improves positioning accuracy. Compared with the other three methods, its positioning accuracy at the time of GNSS gross errors are improved by 20%, 14.3%, and 96.8%, respectively. The tunnel scene significantly influences the positioning accuracy, and if it is not processed, a significant error will occur. The GNSS signal is blocked when the vehicle enters the tunnel, and only the odometer assists the INS. However, the GNSS RTK is a pseudo-fixed solution when the vehicle enters the tunnel, as shown at 282,327 s in Figure 9. In the tunnel scene, the horizontal position errors of the CRAKF, Sage filter, extended Kalman filter, and IRAKF at the moment of GNSS RTK pseudo-fixed solution are shown in Table 4. It can be seen from the table that the integrated navigation system with IRAKF eliminates GNSS abnormal observation and improves positioning accuracy. Compared with the other three methods, its positioning accuracy at the RTK pseudo-fixed solution epoch is improved by 12.5%, 15.2%, and 93.3%, respectively.  In the tunnel scene, the horizontal position errors of the CRAKF, Sage filter, extended Kalman filter, and IRAKF at the moment of GNSS RTK pseudo-fixed solution are shown in Table 4. It can be seen from the table that the integrated navigation system with IRAKF eliminates GNSS abnormal observation and improves positioning accuracy. Compared with the other three methods, its positioning accuracy at the RTK pseudo-fixed solution epoch is improved by 12.5%, 15.2%, and 93.3%, respectively.

Comparison with Other Filtering Algorithms
The IRAKF algorithm is verified in the single-frequency GNSS/MEMS-IMU/odometer integrated navigation module, and compared with the CRAKF, Sage filter, and extended Kalman filter. The real-time errors of the position, velocity and attitude of the four algorithms in the entire experimental route are shown in Figures 10-12, respectively. In addition, to make the graph clearer, the subfigures of the position, velocity, and attitude errors are shown in Figures 13-15, respectively, which show each curve in the figure. It can be seen from the figures that, in complex scenes such as Boulevard 1, Tunnel 1, Boulevard 2, and Tunnel 2, the position, velocity, and attitude errors are relatively large. In these scenarios, the integrated navigation system with the extended Kalman filter algorithm is difficult to reduce the positioning error caused by the GNSS gross error. Although the integrated navigation with the Sage filter and CRAKF algorithms can achieve a certain effect, the performance is still unsatisfactory in some harsh environments. However, the proposed IRAKF can effectively eliminate GNSS gross errors, slow down system divergence errors in complex environments, and improve the position, velocity and attitude accuracy of single-frequency GNSS/MEMS-IMU/odometer integrated navigation.           In the entire experimental route, the RMS errors of the position, velocity, and attitude of the CRAKF, Sage filter, extended Kalman filter, and IRAKF are shown in Table 5. Since the extended Kalman filter has weak robustness, its RMS errors of the position, velocity and attitude are relatively large. The CRAKF, Sage filter, and IRAKF can eliminate gross errors, and their performance indexes are better than the extended Kalman filter. However, according to the data in Table 5, the proposed IRAKF has the best performance. In terms of positioning accuracy, compared with the CRAKF algorithm, IRAKF has improved by 14.3%, 12.5%, and 24.3% in the north, east, and down directions, respectively. Compared with the Sage filter, it has improved by 10%, 26.3%, and 17.6%, respectively. In the entire experimental route, the RMS errors of the position, velocity, and attitude of the CRAKF, Sage filter, extended Kalman filter, and IRAKF are shown in Table 5. Since the extended Kalman filter has weak robustness, its RMS errors of the position, velocity and attitude are relatively large. The CRAKF, Sage filter, and IRAKF can eliminate gross errors, and their performance indexes are better than the extended Kalman filter. However, according to the data in Table 5, the proposed IRAKF has the best performance. In terms of positioning accuracy, compared with the CRAKF algorithm, IRAKF has improved by 14.3%, 12.5%, and 24.3% in the north, east, and down directions, respectively. Compared with the Sage filter, it has improved by 10%, 26.3%, and 17.6%, respectively. However, compared with the extended Kalman filter, it is improved by 83.7%, 78.7%, and 45.1%, respectively.

Real-Time Power Consumption Verification and Comparision
In the process of real-time vehicle navigation, the power meter and power supply are used to test the power consumption of the multi-sensor fusion navigation and positioning module, and the data are saved. The real-time power consumption curve is shown in Figure 16. The MCU operating frequency in the module with the IRAKF algorithm can be reduced to 50 MHz, and its average power consumption is 143 mW. Because CRAKF, Sage filter, and extended Kalman filter do not adopt Kalman one-step prediction strategy, the working frequency of MCU can only be reduced to 200 MHz. The average power consumption of these methods is relatively high-296 mW, 300 mW, and 304 mW, respectively. According to the above analysis, IRAKF reduces the module's power consumption by reducing the computational complexity. working frequency of MCU can only be reduced to 200MHz. The average power consumption of these methods is relatively high-296mW, 300mW, and 304mW, respectively. According to the above analysis, IRAKF reduces the module's power consumption by reducing the computational complexity.

Discussion
In this paper, robustness and low computation complexity are the topics. According to the presented results, the IRAKF applied to single-frequency GNSS/MEMS-IMU/odometer integrated navigation in the challenging urban environment can improve the robustness ability of the system and significantly reduce the computational complexity of the algorithm. Compared with the CRAKF, Sage filter, and extended Kalman filter algo-

Discussion
In this paper, robustness and low computation complexity are the topics. According to the presented results, the IRAKF applied to single-frequency GNSS/MEMS-IMU/odometer integrated navigation in the challenging urban environment can improve the robustness ability of the system and significantly reduce the computational complexity of the algorithm. Compared with the CRAKF, Sage filter, and extended Kalman filter algorithms, the IRAKF with the one-step prediction Kalman filter dramatically reduces computation. As shown in Figure 4, the number of M, A&S, and D operations decreased by 75.6%, 80.8%, and 42.3%, respectively. The IRAKF not only reduces the amount of calculation but also slows down the error divergence. As shown in Figure 6, the maximum errors of horizontal position, forward speed, and the heading of CRAKF are 1.67 m, 0.18 m/s, and 4.06 degrees, respectively. For the Sage filter they are 1.7 m, 0.18 m/s, and 4.1 degrees, respectively, and for the extended Kalman filter they are 17.1 m, 3.4 m/s, and 7.8 degrees, respectively. However, for the IRAKF they are only 1.65 m, 0.14 m/s, and 4.06 degrees, respectively. Regarding the RMS errors, the horizontal position, forward speed, and heading of the IRAKF are 0.29 m, 0.04m/s, and 0.72 degrees, respectively.
Compared with the CRAKF, Sage filter, and extended Kalman filter algorithm, the IRAKF improves robustness. In the boulevard, when the GNSS signal is blocked suddenly, the positioning result becomes worse. Since the covariance matrix of the observation vector is a fixed value, the gain matrix of the extended Kalman filter cannot change with the GNSS positioning accuracy, so the influence of these outliers cannot be eliminated. However, the IRAKF algorithm can use the scale and adaptive factors to adjust the measurement vector and state prediction covariance matrices. The gain matrix can change with the GNSS positioning accuracy and improve the robust performance of the integrated navigation system. As shown in Figure 8, the IRAKF suppresses the abnormal GNSS and improves the positioning accuracy of integrated navigation. In addition, it also has a specific effect in terms of improving the accuracy of the tunnel scene. When the vehicle enters the tunnel, GNSS RTK is a pseudo-fixed solution. The IRAKF can eliminate the RTK pseudo-fixed solution and reduce the system state error. However, sometimes the positioning error of the IRAKF is greater than the CRAKF, Sage filter, and extended Kalman filter. The main reason is that the observation vector covariance matrix is an artificially set fixed value, which cannot accurately represent the current GNSS positioning accuracy. If the GNSS receiver can output the observation vector covariance matrix, it is believed that the positioning accuracy of the integrated navigation system with the IARKF will be further improved.
In addition, since the calculation amount of the IRAKF algorithm is less than that of the CRAKF, Sage filter, and extended Kalman filter, the MCU with the IRAKF algorithm can run at a lower operating frequency. As can be seen from Figure 16, compared with the other three algorithms, IRAKF has the lowest power consumption.

Conclusions
This paper presents an improved robust adaptive Kalman filter algorithm with realtime performance and low computation complexity for single-frequency GNSS/MEMS-IMU/odometer integrated navigation in the challenging environment. It is implemented in multi-sensor fusion navigation and positioning module. The algorithm obtains the scale factor by the prediction residual to adjust the artificially set covariance matrix of the observation vector under different GNSS solution states. It can make the observation vector covariance matrix constantly change with complex scenes. Since the Mahalanobis distance can better reflect the disturbance anomaly, the Mahalanobis distance based on the prediction residual is introduced to detect disturbance anomalies and obtain the adaptive factor to inflate the state prediction covariance matrix. Furthermore, the one-step prediction Kalman filter is adopted to reduce the computation complexity of the algorithm and realize the low power consumption real-time integrated navigation.
The robust adaptive algorithm based on the GNSS state suppresses the GNSS gross errors in the avenue scene, eliminates the GNSS-RTK pseudo-fixed solution in the tunnel scene, and improves the positioning accuracy of integrated navigation. In addition, compared with the CRAKF, Sage filter, and extended Kalman filter, the IRAKF reduces the amount of calculation and realizes the low power consumption of the integrated navigation module. The average power consumption in the whole test route is only 143 mW. It is of great significance for real-time vehicle navigation applications in complex environments. With measurements from the multi-sensor fusion navigation and positioning module, the proposed filtering method can provide real-time medium and low dynamic horizontal positioning error of less than 0.25 m, a forward velocity error of less than 0.035m/s, and a heading error of less than 0.43 degrees, which are far better than the results of the same level commercial integrated navigation module or other existing filtering methods.