A LSTM Algorithm Estimating Pseudo Measurements for Aiding INS during GNSS Signal Outages

: Aiming to improve the navigation accuracy during global navigation satellite system (GNSS) outages, an algorithm based on long short-term memory (LSTM) is proposed for aiding inertial navigation system (INS). The LSTM algorithm is investigated to generate the pseudo GNSS position increment substituting the GNSS signal. Almost all existing INS aiding algorithms, like the multilayer perceptron neural network (MLP), are based on modeling INS errors and INS outputs ignoring the dependence of the past vehicle dynamic information resulting in poor navigation accuracy. Whereas LSTM is a kind of dynamic neural network constructing a relationship among the present and past information. Therefore, the LSTM algorithm is adopted to attain a more stable and reliable navigation solution during a period of GNSS outages. A set of actual vehicle data was used to verify the navigation accuracy of the proposed algorithm. During 180 s GNSS outages, the test results represent that the LSTM algorithm can enhance the navigation accuracy 95% compared with pure INS algorithm, and 50% of the MLP algorithm.


Introduction
The inertial navigation system (INS) and global navigation satellite system (GNSS) are two of the main and most important approaches for providing position and attitude information for geographical references [1]. The INS has high accuracy in a short period of time not affected by the environment. However, a standalone INS solution will degrade over time, because of the large errors in the raw measurements of inertial measurement units (IMU) [2]. In this study, the signal from GNSS is adopted to provide high precision navigation solutions. Under decent visibility conditions, GNSS can provide continuous and accurate navigation information over a long period of time. However, GNSS alone cannot give reliable positions all of the time, as the satellite signal may be blocked or corrupted as a result of high buildings, viaducts, tunnels, mountains, multi-path reflections, and bad weather conditions [3][4][5]. Because of their complementary properties, INS and GNSS are commonly integrated by a Kalman filter (KF) for providing continuous and high precision navigation [3][4][5][6]. In an INS/GNSS system, GNSS aids INS by estimating its errors in KF [7,8]. Besides, INS connects the GNSS signal gap and helps the GNSS signal reacquisition after an outage [9,10]. However, when the GNSS signal is Figure 1 shows the common architecture of a loosely coupled GNSS/INS system. V, P, and A represent the velocity, position, and attitude, respectively. δV, δP and δA represent the estimated errors from the output of KF, respectively. The loosely coupled system is a widely used method of navigation, which utilizes the position error from GNSS and INS to correct the navigation result of INS. It is easy for understanding and operating, compared with the tightly coupled or ultra-tightly coupled model [28].

INS Mechanization Procedure
The INS is an important navigation system either in INS/GNSS or INS/AI. In INS/AI system, the velocity, position, attitude of the vehicle and raw measurements of the IMU are used as the input features of the AI algorithm [29]. Meanwhile, the position, velocity and attitude are integrated from the original measurements of accelerometer and gyroscope.
The measurements contain the specific force from the accelerometer unit, and the angular rate from a gyroscope. The superscript b represents the vehicle's body frame (b-frame). The bframe is defined along the forward (X), the transverse (Y), and the vertical (Z) direction of the body platform. Meanwhile, the subscript 'ib' indicates that the measurements from IMU are in the b-frame related to the inertial frame (i-frame). Actually, the IMU measurements are given in the sensor frame (s-frame), but the installation imperfection is ignored, which assumes that the s-frame is perfectly aligned with the b-frame.
In  Figure 1 shows the common architecture of a loosely coupled GNSS/INS system. V, P, and A represent the velocity, position, and attitude, respectively. δV, δP and δA represent the estimated errors from the output of KF, respectively. The loosely coupled system is a widely used method of navigation, which utilizes the position error from GNSS and INS to correct the navigation result of INS. It is easy for understanding and operating, compared with the tightly coupled or ultra-tightly coupled model [28].

INS Mechanization Procedure
The INS is an important navigation system either in INS/GNSS or INS/AI. In INS/AI system, the velocity, position, attitude of the vehicle and raw measurements of the IMU are used as the input features of the AI algorithm [29]. Meanwhile, the position, velocity and attitude are integrated from the original measurements of accelerometer and gyroscope.
The measurements contain the specific force f b ib from the accelerometer unit, and the angular rate ω b ib from a gyroscope. The superscript b represents the vehicle's body frame (b-frame). The b-frame is defined along the forward (X), the transverse (Y), and the vertical (Z) direction of the body platform. Meanwhile, the subscript 'ib' indicates that the measurements from IMU are in the b-frame related to the inertial frame (i-frame). Actually, the IMU measurements are given in the sensor frame (s-frame), but the installation imperfection is ignored, which assumes that the s-frame is perfectly aligned with the b-frame.
In the pure INS mode, INS uses the current measurements and previous values to update the next time value. The procedure of update in the velocity and position of pure INS mode is Remote Sens. 2020, 12, 256 In Equation (1), ν n k , ν n k−1 represent the velocity in n-frame at time k and k − 1, respectively; ∆ν n f ,k indicates the integration of f b ib from time k − 1 to k; ∆ν n g/cor,k is integration influenced by gravity (g) and Coriolis (cor) form time k − 1 to k. From Equations (2)-(5), L, λ, h represent latitude, longitude, and height, respectively. R M and R N represent the radius of curvature in meridian and radius of curvature in prime vertical, respectively. In the attitude update, the direction cosine matrix (DCM) C n b is improved by the estimated attitude errors obtained by the Kalman filtering algorithm. In Equation (6), φ is the estimated attitude errors by the Kalman filter, andĈ n b is the estimated attitude of the next time by INS mechanization.

INS/GNSS Integration Procedure
INS is commonly not used alone, as the inertial sensors' biases and integration errors will result in the navigation solutions diverging quickly with time. This means that INS requires external information to update for overcoming the divergence of the navigation solution.
A typical method to improve the performance of INS is adopted Kalman filter to optimally combine the INS and GNSS. In this case, a state vector is defined to represent the errors among INS and GNSS. The state vector includes the INS errors and sensors bias.
Ignoring some small influences, the linear error equation of INS is [30] .
where the superscript 'n' indicates the navigation frame (n-frame), and subscript 'e' donates the Earth frame (e-frame). ω n ie and δω n ie are the Earth self-rotation angular rate and its error, respectively, which are transformed from the e-frame to i-frame and projected into the n-frame. ω n en and δω n en are the angular rate and its error transformed from the n-frame to the e-frame, and projected into the n-frame. In Equation (7), ω n in = ω n ie + ω n en , φ means the misalignment angles vector and C n b is called the direction cosine matrix (DCM) transforming the coordinates from the b-frame to the n-frame. Equation (8) indicates the velocity error equation, where δ f b is the accelerometer zero offset error, f b is the output of accelerometer unit in b-frame and δg n is the gravity error, g n is gravity vector in n-frame. Equations (9)-(11) represent the position error, where δL and δλ represent the position error in latitude and longitude, δh represents the position error in height, and the R M and R N denote the radius of curvature in longitude and latitude, respectively. Figure 1 indicates that KF uses the position error measured from GNSS and INS to estimate the INS's error. The KF with a 15-states vector of X in Equation (13) where F and G are the state transition matrix and system noise coefficient matrix, separately, while W is the process noise vector.
Remote Sens. 2020, 12, 256 5 of 24 The system states vector X is Shown above, φ E,N,U are the misalignment angles calculated in Equation (7) in the n-frame. δV E,N,U are the velocity errors of three axes calculated from Equation (8) in the n-frame, while δL, δλ, and δh represent the position errors of latitude, longitude, and height, respectively, calculated from Equations (9)-(11) in n-frame. ∇ x , ∇ y , ∇ z , x , y , and z represent the accelerometer biases and gyroscope biases in three axes in the b-frame.
The position differences between INS and GNSS are defined as the measured value, denoted by Z. The measurement equation of which is shown as where V is the observation noise vector and H is the observation matrix denoted as [0 2×6 I 3×3 0 2×6 ]. Let the 15-states KF be re-written in discrete time, as The process of the prediction and update of KF are as follows: Prediction stage: Update stage: where Φ k,k−1 is the state transition matrix from state k − 1 to state k, K k is the Kalman gain matrix, Q k−1 and R k are the variance and co-variance matrices of state and observation, respectively. More knowledge about the Kalman filter can be found in the literature [31].

Structure of Memory Unit of LSTM
The recurrent neural network is now widely used in prediction sequence-based tasks such as pedestrian trajectory predicting [32] and vehicle trajectory prediction [33]. Unlike traditional multilayer perceptron neural networks, a basic RNN has a loop to allow information to persist.
In Figure 2, the chain-like architecture indicates that RNN is related to sequences and lists. However, in traditional RNN, there is a lack of capability to handle long-term dependency [34]. Whereas, the long short-term memory network (LSTM) is a special RNN with the ability of learning long-term dependency, the structure of which is shown in Figure 3.
Above LSTM block has three gates, including the input gate i t , forget gate f t , and output gate o t , all filled by green. Moreover, c t is the state of the cell, x t is the input data and the previous state is h t−1 . The blue circles demonstrate the multiplications and additions. Based on information flow in the structure, the mathematical model of LSTM can be summarized as Remote Sens. 2020, 12, 256 6 of 24 where the • donates the Hadamard product and σ means the sigmoid non-linearity function. Stacking and temporally concatenating the basic LSTM unit can lead to more powerful networks, which already have been applied to solve variety of time serial problems [35].
, , where , is the state transition matrix from state k − 1 to state k, is the Kalman gain matrix, and are the variance and co-variance matrices of state and observation, respectively. More knowledge about the Kalman filter can be found in the literature [31].

Structure of Memory Unit of LSTM
The recurrent neural network is now widely used in prediction sequence-based tasks such as pedestrian trajectory predicting [32] and vehicle trajectory prediction [33]. Unlike traditional multilayer perceptron neural networks, a basic RNN has a loop to allow information to persist.
In Figure 2, the chain-like architecture indicates that RNN is related to sequences and lists. However, in traditional RNN, there is a lack of capability to handle long-term dependency [34]. Whereas, the long short-term memory network (LSTM) is a special RNN with the ability of learning long-term dependency, the structure of which is shown in Figure 3.   Above LSTM block has three gates, including the input gate , forget gate , and output gate , all filled by green. Moreover, is the state of the cell, is the input data and the previous state is ℎ . The blue circles demonstrate the multiplications and additions. Based on information flow in the structure, the mathematical model of LSTM can be summarized as = ° + ° ^ where the ° donates the Hadamard product and means the sigmoid non-linearity function. Stacking and temporally concatenating the basic LSTM unit can lead to more powerful networks, which already have been applied to solve variety of time serial problems [35].

LSTM Algorithm Aiding the INS/GNSS Navigation System during GNSS Outages
The main idea of an AI-aided INS/GNSS integrated system is to mimic the mathematical relationship between the navigation information, and the vehicle dynamical data for maintaining high navigation accuracy during GNSS outages. Generally, navigation information includes the position error between INS and GNSS or the position increment of GNSS. Vehicle dynamical data includes the output from INS, such as velocity, attitude, specific force, and angular rate.
More recently, several AI modules have been explored to find the relationship. Almost all of these models can be divided into three classes by different outputs. The first is O INS − δP INS , which relates the information of INS with the position error between GNSS and INS to estimate the error [36]. The second is O INS − X K , which relates the information of INS with the state vector X K of KF [37]. Both of the above models have a problem, where the estimated information mixed the error of the INS and GNSS.
If the position error between GNSS and INS δP INS−GNSS is utilized as output of model, it can be calculated from Equation (28) In Equation (29), ∆P GNSS (t k ) means position increment of GNSS in t k , it only includes GNSS position measurement noise δP GNSS . It can be considered that the measurement noises at adjacent times belong to the same probability distribution and have the same variance. So, the value of δP GNSS (t k ) − δP GNSS (t k−1 ) is very small. As the navigation error of INS will propagate along the time, and the INS/GNSS system integrated by KF cannot be absolutely accurate, the value of δP INS−GNSS including the errors from GNSS and INS will bring in additional errors resulting in reducing the predicting accuracy. In order to avoid the mixed errors from INS and GNSS, a model based on estimating and predicting the increment of the GNSS position, which is denoted as O INS − ∆P GPS , is selected, and then generates the information of the pseudo GNSS position.
In this paper, O INS − ∆P GPS is adopted as a model framework, because of its ability to avoid the mixed operation of INS and GNSS. The output of this model is the increment of position ∆P n , which can be obtained by the differential equation of INS [38,39]. From Equations (2)-(5) indicating position update procedure of INS, it can be concluded that ∆P n k is the function of ν n k ∆P n k = f ν n k (30) where ∆P n k is position increment in time t k , ν n k is velocity in time t k , f represents the functional relationship.
The procedure of velocity ν n k update in INS is listed from Equations (31)-(34) From Equations (31)- (34), it can be concluded that ν n k is function of C n b , ω n ie , ω n en , g n , V n , ∆ν, ∆θ, while ∆ν, ∆θ is the incremental value of accelerometer and gyroscope, calculated in Equations (35) and (36).
Remote Sens. 2020, 12, 256 Then, the parameters related to ∆P n k can be rewritten as where f b ib is the output of the accelerometer unit, ω b ib is the output of the gyro, ω n ie is the angular rate of in Earth frame relative to the inertial frame, ω n en is the angular rate in navigation frame relative to Earth frame, V n is velocity, and g n is gravity. All the superscript indicates that these vectors are projected into navigation frame n. C n b is the direction cosine matrix to transform the coordinates from b-frame to n-frame, calculated by where θ, φ, and ψ represent the pitch, roll, and yaw, respectively. ω n ie and ω n en can be calculated by the latitude (R N ), longitude (R M ), and velocity (V n ). The formulas are According to Equations (30)-(40), the position increment ∆P n is mainly influenced by f b ib , ω b ib , ω n ie , ω n en , V n , and C n b . In terms of vehicles, the value of the pitch (θ) and roll (φ) in body frame are very small, and C n b will be mainly influenced by the value of the yaw (ψ). From Equations (39) and (40), ω n en is mainly related with the latitude R N , longitude R M , and velocity V n , while ω n ie is mainly influenced by the Earth rotation angular rate ω e . During a period of time of GNSS outages, the values of R N , R M , and ω e will not change a lot. Therefore, R N , R M , and ω e have an imperceptible impact on ω n ie and ω n en . In conclusion, the main factors that influence the value of ∆P n will mostly be f b ib , ω b ib , V n , and yaw (ψ), which is also the reason for choosing them as the input features.
Figures 4 and 5 illustrate the process and architecture of the LSTM network aiding for an INS/GNSS integrated navigation system. V, P, and A represent the velocity, position, and attitude, respectively. The subscript indicates the data from GNSS or INS. δ indicates the estimated errors from the output of KF. ψ represents the value of the yaw.
When the GNSS signal is available, the AI module works on the training mode, shown in Figure 4. On the one hand, the measurements of the position from GNSS and INS are fed into KF as inputs to estimate the errors of INS, which is just the loosely coupled mode. In the process of training, f b ib and ω b ib from IMUs, as well as V and A from the INS are fed into the AI module as input features. The position increment from the GNSS measurement as a target value is adopted to compute the loss function. In the training mode, the AI module tries to find a relationship between ∆P GPS and f b ib , ω b ib , V n , and the yaw. When the GNSS signal is lost, the system changes to predicting mode, indicated in Figure 5. Under these conditions, the value of f b ib , ω b ib , V n , and the yaw can still be obtained from INS, which will be fed into a well-trained AI module to get ∆P. After accumulating all of the ∆P from the beginning of predicting, the pseudo GNSS position can be attained at each time. Then, the pseudo GNSS position will be fed into KF as a substitute of the original position from GNSS. The hybrid system will maintain navigation continuously during GNSS outages.

,
, and the yaw. When the GNSS signal is lost, the system changes to predicting mode, indicated in Figure 5. Under these conditions, the value of , , , and the yaw can still be obtained from INS, which will be fed into a well-trained AI module to get Δ . After accumulating all of the Δ from the beginning of predicting, the pseudo GNSS position can be attained at each time. Then, the pseudo GNSS position will be fed into KF as a substitute of the original position from GNSS. The hybrid system will maintain navigation continuously during GNSS outages.    Figure 6 illustrates the inner details of the AI module. In each time, serial vectors of ( − 3), . . . , ( ) are used as the inputs fed into the AI module, while ( ) represents a feature vector of { ( ), ( ), ( ), ( )} and time steps is 4. Then, the value of the last state in the last layer is sent to a fully-connected layer, with a LeakyReLU activation function [40] as output of the AI module, which is denoted as Δ ( ). From Figures 4-6, Because the LSTM is used for generating pseudo-GNSS position, so the out rate of ∆ ( ) is 1 Hz, which is the same as GNSS output rate.
For input features ( ), all data from INS in a GNSS cycle is used to predict the Δ ( ). The parameters in vector ( ) including , , , are all from INS, whose output rate is higher than that of GNSS. As indicated in the illustration in Figure 7, all data in a GNSS cycle is used for composing ( ). For example, if the sample rate of IMU is 50 Hz, 50 groups of { , , , } obtained in a GNSS cycle is composed to ( ). Then, ( − 3), ( − 2), ( − 1) and ( ) are used as input features to predict Δ ( ). Therefore, this will need four multiples of sample rate of IMU past history data while the GNSS rate is 1 Hz.
The LSTM algorithm is proposed in order to deal with the sequential process. Meanwhile, the vehicle dynamic process is actually a kind of sequential process. In fact, the next arriving position has a strong relationship with the current and previous information, which has been illustrated previously. A traditional static neural network can do a non-linear map well, but cannot solve the sequential process problem as well as the recurrent neural network. Therefore, the LSTM architecture is adopted in order to replace the traditional neural network so as to find a relationship between Δ , and , , and the yaw, which also appears to have a better performance than that of the static neural network. The test results will be illustrated in the next section.
, a(t)} and time steps is 4. Then, the value of the last state in the last layer is sent to a fully-connected layer, with a LeakyReLU activation function [40] as output of the AI module, which is denoted as ∆P(t). From Figures 4-6, Because the LSTM is used for generating pseudo-GNSS position, so the out rate of ∆P(t) is 1 Hz, which is the same as GNSS output rate.
Remote Sens. 2020, 12, x FOR PEER REVIEW 9 of 23   Then, the value of the last state in the last layer is sent to a fully-connected layer, with a LeakyReLU activation function [40] as output of the AI module, which is denoted as Δ ( ). From Figures 4-6, Because the LSTM is used for generating pseudo-GNSS position, so the out rate of ∆ ( ) is 1 Hz, which is the same as GNSS output rate.
For input features ( ), all data from INS in a GNSS cycle is used to predict the Δ ( ). The parameters in vector ( ) including , , , are all from INS, whose output rate is higher than that of GNSS. As indicated in the illustration in Figure 7, all data in a GNSS cycle is used for composing ( ). For example, if the sample rate of IMU is 50 Hz, 50 groups of { , , , } obtained in a GNSS cycle is composed to ( ). Then, ( − 3), ( − 2), ( − 1) and ( ) are used as input features to predict Δ ( ). Therefore, this will need four multiples of sample rate of IMU past history data while the GNSS rate is 1 Hz.
The LSTM algorithm is proposed in order to deal with the sequential process. Meanwhile, the vehicle dynamic process is actually a kind of sequential process. In fact, the next arriving position has a strong relationship with the current and previous information, which has been illustrated previously. A traditional static neural network can do a non-linear map well, but cannot solve the sequential process problem as well as the recurrent neural network. Therefore, the LSTM architecture is adopted in order to replace the traditional neural network so as to find a relationship between Δ , and , , and the yaw, which also appears to have a better performance than that of the static neural network. The test results will be illustrated in the next section.  For input features x(t), all data from INS in a GNSS cycle is used to predict the ∆P(t). The parameters in vector x(t) including f b , ω b , V n , ψ are all from INS, whose output rate is higher than that of GNSS. As indicated in the illustration in Figure 7, all data in a GNSS cycle is used for composing x(t). For example, if the sample rate of IMU is 50 Hz, 50 groups of { f b , ω b , v, ψ} obtained in a GNSS cycle is composed to x(t). Then, x(t − 3), x(t − 2), x(t − 1) and x(t) are used as input features to predict ∆P(t). Therefore, this will need four multiples of sample rate of IMU past history data while the GNSS rate is 1 Hz.

Road Experimental Testing Results
The test data acquisition platform is shown in Figure 8. The sensors specifications (features) are described in Table 1. ICM-20602 is a low-cost six-axis MEMS (microelectromechanical systems) motion-tracking device, while Ublox-M8P is a high precise GNSS module. The reference navigation solution-i.e. true position, velocity, and attitude-is recorded by a loose-coupled GNSS/INS system with RTK during vehicle experiment. After all the experiment data was collected, GNSS signal outages can be simulated by software algorithm to evaluate the performance of different neural network algorithms. The aim of this study is to improve the navigation performance of low-cost IMU during GNSS outages by utilizing an AI model based on LSTM.  The LSTM algorithm is proposed in order to deal with the sequential process. Meanwhile, the vehicle dynamic process is actually a kind of sequential process. In fact, the next arriving position has a strong relationship with the current and previous information, which has been illustrated previously. A traditional static neural network can do a non-linear map well, but cannot solve the sequential process problem as well as the recurrent neural network. Therefore, the LSTM architecture is adopted in order to replace the traditional neural network so as to find a relationship between ∆P GPS , and f b ib , ω b ib , V n and the yaw, which also appears to have a better performance than that of the static neural network. The test results will be illustrated in the next section.

Road Experimental Testing Results
The test data acquisition platform is shown in Figure 8. The sensors specifications (features) are described in Table 1. ICM-20602 is a low-cost six-axis MEMS (microelectromechanical systems) motion-tracking device, while Ublox-M8P is a high precise GNSS module. The reference navigation solution-i.e. true position, velocity, and attitude-is recorded by a loose-coupled GNSS/INS system with RTK during vehicle experiment. After all the experiment data was collected, GNSS signal outages can be simulated by software algorithm to evaluate the performance of different neural network algorithms. The aim of this study is to improve the navigation performance of low-cost IMU during GNSS outages by utilizing an AI model based on LSTM.
The proposed LSTM-based method aiding for the INS/GNSS integrated system was tested and analyzed both in the training and prediction mode, and the procedure and diagram are illustrated in Figures 4 and 5, respectively. The parameter turning, and the influence of the number of time steps and hidden units in the LSTM model are also explored. The proposed model of AI is trained and tested at different times.

Data Description
The trajectory of this experiment is shown in Figure 9, which was collected in China, Hubei Province, at Wu Chang. The sampling rates of the INS and GNSS are 50 Hz and 1 Hz, respectively. The red icon and blue icon represent the start point and end point, separately. During the path of the red line, the whole system works under loosely coupled mode during the trajectory. At that time, the GNSS data and INS data were integrated to maintain continuous and high-precision navigation results, meanwhile the LSTM-based model was under the training process. The input features of the LSTM module include the specific force, angular rate, yaw, and velocity at the current and past seconds, while the position increments calculated from the GNSS are as the output.
When the vehicle was running along with the three parts of test path where the GNSS signal had assumed outages, which means the GNSS signal outages is simulated, the navigation results only depended on pure INS reckoning.
In the experiment, the trajectory data from INS and GNSS (in Figure 9) was split into the following two parts: the first part with 4400 s, marked by the red line, is used as the training set; the second part with 1400 s, marked by green line, is used as the test set. Meanwhile, three parts of test path for 60 s, 120 s, and 180 s which were signed in Figure 9 were selected to evaluate the performance of the proposed algorithm. Actually, when a GNSS signal is available, all of the data from INS will be used to train the AI model. Once the GNSS signal is unavailable, the well-trained model will substitute the GNSS to supply the position information for the Kalman filter, so as to decrease the errors of INS. All of the data have been scaled between −1 and 1 for accelerating the process of training.
In a typical machine learning application, the data set is usually iterated many times using a gradient descent algorithm. However, navigation is a real-time application, which needs normalize the data by a section of road data in practical applications. In this experiment, the off-line mode is used to explore the feasibility of the neural network methods in terms of improving the INS navigation solutions when the GNSS signal is lost. Furthermore, different features have different numerical values and sizes. Normalization and standardization are mainly used to make calculations more convenient.
For example, the size of two variables is different, while one value is larger than the other. Then, they may cause a numerical calculation error when both of them are simultaneously variables. Therefore, the scaling input data is needed for making calculations more convenient and quickly convergent. assumed outages, which means the GNSS signal outages is simulated, the navigation results only depended on pure INS reckoning.
In the experiment, the trajectory data from INS and GNSS (in Figure 9) was split into the following two parts: the first part with 4400 s, marked by the red line, is used as the training set; the second part with 1400 s, marked by green line, is used as the test set. Meanwhile, three parts of test path for 60 s, 120 s, and 180 s which were signed in Figure 9 were selected to evaluate the performance of the proposed algorithm. Actually, when a GNSS signal is available, all of the data from INS will be used to train the AI model. Once the GNSS signal is unavailable, the well-trained model will substitute the GNSS to supply the position information for the Kalman filter, so as to decrease the errors of INS. All of the data have been scaled between −1 and 1 for accelerating the process of training. Figure 9. Trajectory for training path. Figure 9. Trajectory for training path.

Design the LSTM Network
The AI model is comprised of two LSTM layer and a fully-connected layer activated by softmax function. In the process of designing an LSTM network, there are several hyper parameters that need careful tuning, namely: (1) the number of hidden units, and (2) the step time length. Setting too many hidden units and too lengthy time steps will spend more time making an algorithm convergence, and may lead an over-fitting problem. In the experiment, the other parameters' values are shown in Table 2. The training set has reserved 20% data as a validation set to adjust the model parameters. That means 80% of the data of the training set is used to train the model, the remaining 20% is used to evaluate the performance of model. The criterion for selecting parameters is the root mean square error value on the validation set. The smaller the value generally means better the generalization ability of model. In this study, a grid search method is adopted to find the best parameter combination, while three time-step lengths (1, 4, and 8) and three hidden units of LSTM (32, 64, and 128) are selected to be evaluated. Three-time steps and three hidden units will generate nine combinations. The model performance is evaluated by the root mean square error (RMSE).
The training time and RMSE in the validation were calculated and compared in each combination, then the final parameters were selected from the best choices of these combinations. The experimental results are displayed in Table 3 which indicates that the setting time step and hidden units are equal to 4 and 64, respectively, making the LSTM algorithm obtain less RMSE. The low RMSE implies the high confidence of the prediction method. Specifically, the different performance of prediction with different time steps and hidden units relate to the overfitting problem, which produces the large value of RMSE.  Figure 10 indicates the varying losses with epochs during the training process. It can be seen that the loss of training and validation will decrease to the minimum value after 150 epochs or so. Then, the trends of training and validation tend to be flat, which seems that setting early stopping will save more time without losing any performance.

Experiment Results
In this section, the navigation performance of the LSTM model is compared with that of MLP. MLP uses a time window length of four to predict the future position increment, whose input features are the same as that of LSTM, including , , , and the yaw. Aiming to have same hidden units as LSTM, MLP has two hidden layers, each of which has 64 hidden units, except for the input and output layer. The algorithm was implemented with Python 3.6 and Tensorflow 1.9, which are very famous deep learning frameworks developed by Google [41], and trained by Adam optimizer [42].
Under the training procedure of the above algorithms (LSTM and MLP), the 4400 s training set, including the above features ( , , , and the yaw), is employed to train the models of MLP and

Experiment Results
In this section, the navigation performance of the LSTM model is compared with that of MLP. MLP uses a time window length of four to predict the future position increment, whose input features are the same as that of LSTM, including f b ib , ω b ib , V n , and the yaw. Aiming to have same hidden units as LSTM, MLP has two hidden layers, each of which has 64 hidden units, except for the input and output layer. The algorithm was implemented with Python 3.6 and Tensorflow 1.9, which are very famous deep learning frameworks developed by Google [41], and trained by Adam optimizer [42].
Under the training procedure of the above algorithms (LSTM and MLP), the 4400 s training set, including the above features ( f b ib , ω b ib , V n , and the yaw), is employed to train the models of MLP and LSTM, respectively. Part of test set containing the above features, is applied in order to estimate the effect of the trained models, from which the effectiveness of predicting the position increments of three models can be distinguished, while the increment of position is formed with latitude, longitude, and height. Comparison results are shown in Figure 11, and summarized in Table 4 The distribution of prediction Δ error in MLP and LSTM algorithms are shown in Figure 11. The value of the mean absolute error (MAE) of the predicting position increments in the north direction using the algorithms of LSTM and MLP are 1.573 m and 3.053 m, respectively, whereas the standard deviation of each algorithm is 2.506 m and 4.109 m, respectively. The value of the mean absolute error of the predicting position increments in the east direction are 1.422 m and 1.965 m, respectively, meanwhile the standard deviations are 2.138 m and 2.686 m, respectively. Table 4 shows that the performance of predicting Δ in LSTM algorithm is more reliable and stable than that in the traditional MLP algorithm. In order to compare the performance of different models during GNSS outages more specifically, three different length of test path were selected, which were 60 s, 120 s, and 180 s. For dealing with land vehicles, the position, velocity in North and East, as well as heading were selected to display the performances of improving the navigation results during GNSS outages in different algorithms.

60-s Outage Experiment Results
From Figures 12-14 show the navigation results among different algorithms during 60 s GNSS outages. Before 475,330 s, where the GNSS signal is still available, the whole system works on loosely coupled mode, while three algorithms show the same results. When the GNSS signal is assumed outages, and the navigation performance varies in three different methods.
In Figures 12 and 13, the proposed LSTM algorithm obviously outperforms the MLP algorithm and pure INS. The navigation errors of all three methods gradually deteriorates with time during the GNSS signal outages. In Figure 12, the max position error in east of pure INS, MLP, and LSTM is 42.4, 10.7, and 1.5 m; meanwhile, the max position error in north is 15.6, 21.1, and 9.25 m, respectively. In Figure 13 the max velocity error in east of pure INS, MLP, and LSTM is 0.58, 0.95, and 0.12 m/s, Figure 11. Comparison of multilayer perceptron neural network (MLP) and LSTM algorithms in terms of prediction ∆P error. The distribution of prediction ∆P error in MLP and LSTM algorithms are shown in Figure 11. The value of the mean absolute error (MAE) of the predicting position increments in the north direction using the algorithms of LSTM and MLP are 1.573 m and 3.053 m, respectively, whereas the standard deviation of each algorithm is 2.506 m and 4.109 m, respectively. The value of the mean absolute error of the predicting position increments in the east direction are 1.422 m and 1.965 m, respectively, meanwhile the standard deviations are 2.138 m and 2.686 m, respectively. Table 4 shows that the performance of predicting ∆P in LSTM algorithm is more reliable and stable than that in the traditional MLP algorithm.
In order to compare the performance of different models during GNSS outages more specifically, three different length of test path were selected, which were 60 s, 120 s, and 180 s. For dealing with land vehicles, the position, velocity in North and East, as well as heading were selected to display the performances of improving the navigation results during GNSS outages in different algorithms.

60-s Outage Experiment Results
From Figures 12-14 show the navigation results among different algorithms during 60 s GNSS outages. Before 475,330 s, where the GNSS signal is still available, the whole system works on loosely coupled mode, while three algorithms show the same results. When the GNSS signal is assumed outages, and the navigation performance varies in three different methods.
in three methods. Figure 15 indicates that LSTM can greatly decrease the pure INS's navigation error. At the end of GNSS outages, the position error of the LSTM algorithm is 80% performance improvement compared with pure INS mode.     Figure 15 indicates that LSTM can greatly decrease the pure INS's navigation error. At the end of GNSS outages, the position error of the LSTM algorithm is 80% performance improvement compared with pure INS mode.    In Figures 12 and 13, the proposed LSTM algorithm obviously outperforms the MLP algorithm and pure INS. The navigation errors of all three methods gradually deteriorates with time during the GNSS signal outages. In Figure 12, the max position error in east of pure INS, MLP, and LSTM is 42.4, 10.7, and 1.5 m; meanwhile, the max position error in north is 15.6, 21.1, and 9.25 m, respectively. In Figure 13 the max velocity error in east of pure INS, MLP, and LSTM is 0.58, 0.95, and 0.12 m/s, meanwhile the velocity error in north is 1.5, 0.24, and 0.32 m/s, respectively. In Figure 14, the heading error among three algorithms is 1.15 • , 0.95 • , and 0.18 • . All the results are summarized in Table 5. At 475,390 s, the system turns to the loosely coupled mode, and navigation error quickly converges both in three methods. Remote Sens. 2020, 12, x FOR PEER REVIEW 16 of 23

120-s Outage Experiment Results
This section, a longer GNSS signal time and more complicated scene was selected to test the performances of different algorithms. Figures 16-18 show the navigation results among different algorithms during 120 s GNSS outages.
From Figure Figure 18, the heading error among three algorithms is 0.63°, 0.62°, and 0.27°. All the results are summarized in Table 6.    This section, a longer GNSS signal time and more complicated scene was selected to test the performances of different algorithms. Figures 16-18 show the navigation results among different algorithms during 120 s GNSS outages.

120-s Outage Experiment Results
This section, a longer GNSS signal time and more complicated scene was selected to test the performances of different algorithms. Figures 16-18 show the navigation results among different algorithms during 120 s GNSS outages.
accuracy compared with pure INS. At the end of GNSS outages, the position error of the LSTM algorithm is 68.5% performance improvement compared with the pure INS.    algorithm is 68.5% performance improvement compared with the pure INS.

180-s Outage Experiment Results
This section, a 180 s GNSS signal time was selected to test the performances of different algorithms. Figures 20-22 show the navigation results among different algorithms during 180 s GNSS outages.
In Figure 20, the proposed LSTM algorithm is obviously better than the MLP algorithm and pure INS. At 474,500 s, the max position error in east of pure INS, MLP, and LSTM is 460, 280, and 17 m, meanwhile the max position error in north is 303, 115, and 10 m. In Figure 21, the max velocity error in east of pure INS, MLP, and LSTM is 4.6, 3.7, and 0.4 m/s, meanwhile the max velocity error in north is 6.7, 2.8, and 0.7 m/s. In Figure 22, the heading error among three algorithms is 0.7°, 0.75° and 0.55°. All the results are summarized in Table 7.  Figure 18, the heading error among three algorithms is 0.63 • , 0.62 • , and 0.27 • . All the results are summarized in Table 6. From Figures 16 and 17, it can be seen that LSTM performs worse in beginning 40 s in north, but for last 80 s, LSTM performs better than MLP for position and velocity in both directions. From the time average performance, LSTM also performs better than MLP.
In Figure 19, under the condition of longer GNSS signal outages and complicated scene with three benches, the performances of all algorithms have reduced, but LSTM also get higher navigation accuracy compared with pure INS. At the end of GNSS outages, the position error of the LSTM algorithm is 68.5% performance improvement compared with the pure INS.  In Figure 20, the proposed LSTM algorithm is obviously better than the MLP algorithm and pure INS. At 474,500 s, the max position error in east of pure INS, MLP, and LSTM is 460, 280, and 17 m, meanwhile the max position error in north is 303, 115, and 10 m. In Figure 21, the max velocity error in east of pure INS, MLP, and LSTM is 4.6, 3.7, and 0.4 m/s, meanwhile the max velocity error in north is 6.7, 2.8, and 0.7 m/s. In Figure 22, the heading error among three algorithms is 0.7°, 0.75° and 0.55°. All the results are summarized in Table 7. In Figure 23, under the condition of 180 s GNSS signal outages and complicated scene with three benches, the performances of all algorithms have reduced, but LSTM can also improve the navigation errors. At the end of GNSS outages, the position error of the LSTM algorithm is 95.5% performance improvement compared with the pure INS.       In Figure 20, the proposed LSTM algorithm is obviously better than the MLP algorithm and pure INS. At 474,500 s, the max position error in east of pure INS, MLP, and LSTM is 460, 280, and 17 m, meanwhile the max position error in north is 303, 115, and 10 m. In Figure 21, the max velocity error in east of pure INS, MLP, and LSTM is 4.6, 3.7, and 0.4 m/s, meanwhile the max velocity error in north is 6.7, 2.8, and 0.7 m/s. In Figure 22, the heading error among three algorithms is 0.7 • , 0.75 • and 0.55 • . All the results are summarized in Table 7. In Figure 23, under the condition of 180 s GNSS signal outages and complicated scene with three benches, the performances of all algorithms have reduced, but LSTM can also improve the navigation errors. At the end of GNSS outages, the position error of the LSTM algorithm is 95.5% performance improvement compared with the pure INS.

Experiment Summary
When the GNSS signal is not available, the whole system turns to predicting mode. The measurements from INS-which are the specific force, velocity, yaw, and angular rate-are sent to a well-trained AI-based model so as to attain a predicting value of position increments. Then, accumulating these position increments can get the pseudo-GNSS position to act as a substitute of the true GNSS position, which will subtract the position measurement from INS to constitute a part of the input vector of the Kalman filter. Finally, the Kalman filter will correct the INS errors so as to attain the corrected position, attitude, and velocity. The test results indicate that the MLP algorithm, which suffers from an incapability of dealing with time-dependency between current and past vehicle dynamics, cannot be a proper model for aiding INS during GNSS signal outages. When the GNSS

Experiment Summary
When the GNSS signal is not available, the whole system turns to predicting mode. The measurements from INS-which are the specific force, velocity, yaw, and angular rate-are sent to a well-trained AI-based model so as to attain a predicting value of position increments. Then, accumulating these position increments can get the pseudo-GNSS position to act as a substitute of the true GNSS position, which will subtract the position measurement from INS to constitute a part of the input vector of the Kalman filter. Finally, the Kalman filter will correct the INS errors so as to attain the corrected position, attitude, and velocity. The test results indicate that the MLP algorithm, which suffers from an incapability of dealing with time-dependency between current and past vehicle dynamics, cannot be a proper model for aiding INS during GNSS signal outages. When the GNSS signal is lost, the LSTM algorithm can get a more accurate navigation result because of its capability of constructing the relationship between future and past information.

Conclusions
This paper proposes a novel approach of estimating pseudo measurements employing the LSTM algorithm to reduce the accumulating INS errors when the GNSS signal is blocked. Even in challenging environments, such as complete GNSS outages, this hybrid approach aggregates LSTM neural network, leading to a substantial decrease in position error of vehicle. In this research, the input features and output of the LSTM module were carefully analyzed, where the input features-including the specific force, angular rate, velocity, and yaw-can represent the dynamic vehicle information well. Then, the estimated output was selected as the position increment, which can avoid bringing in additional errors caused by mixing the information of GNSS and INS. Compared with the MLP algorithm, a kind of traditional static neural network, the proposed algorithm based on LSTM can obtain more accurate and stable predictions of navigation results due to its incredible property of dealing with sequential processes. Thus, the LSTM algorithm can provide a more accurate and reliable way to develop a navigation scheme during GNSS outages.