An Extended Kalman Filter and Back Propagation Neural Network Algorithm Positioning Method Based on Anti-lock Brake Sensor and Global Navigation Satellite System Information

Telematics box (T-Box) chip-level Global Navigation Satellite System (GNSS) receiver modules usually suffer from GNSS information failure or noise in urban environments. In order to resolve this issue, this paper presents a real-time positioning method for Extended Kalman Filter (EKF) and Back Propagation Neural Network (BPNN) algorithms based on Antilock Brake System (ABS) sensor and GNSS information. Experiments were performed using an assembly in the vehicle with a T-Box. The T-Box firstly use automotive kinematical Pre-EKF to fuse the four wheel speed, yaw rate and steering wheel angle data from the ABS sensor to obtain a more accurate vehicle speed and heading angle velocity. In order to reduce the noise of the GNSS information, After-EKF fusion vehicle speed, heading angle velocity and GNSS data were used and low-noise positioning data were obtained. The heading angle speed error is extracted as target and part of low-noise positioning data were used as input for training a BPNN model. When the positioning is invalid, the well-trained BPNN corrected heading angle velocity output and vehicle speed add the synthesized relative displacement to the previous absolute position to realize a new position. With the data of high-precision real-time kinematic differential positioning equipment as the reference, the use of the dual EKF can reduce the noise range of GNSS information and concentrate good-positioning signals of the road within 5 m (i.e. the positioning status is valid). When the GNSS information was shielded (making the positioning status invalid), and the previous data was regarded as a training sample, it is found that the vehicle achieved 15 minutes position without GNSS information on the recycling line. The results indicated this new position method can reduce the vehicle positioning noise when GNSS information is valid and determine the position during long periods of invalid GNSS information.


Introduction
Along with the development of technologies such as cloud computing, big data and artificial intelligence, automotive technologies is being rapidly developed towards the new direction of "electronic, networking, intelligence and sharing" [1,2]. Telematics boxes (T-Boxes) [3] including functions such as positioning, long-distance communication and acquisition of vehicle status are being more popular. For example, the Chinese government requires new energy vehicles to be equipped The positioning system of this paper is a typical terminal-management-cloud structure shown in Figure 1. It is made up of three parts: a T-Box, wireless communication and cloud platforms. The T-Box primarily includes a positioning module, a remote communication module, controller area network (CAN) communication module and a microprocessor. The T-Box acquires ABS data through the CAN communication module and gets GNSS data from a Beidou positioning dual system (BDS) (containing GPS and Beidou units) and then send the above data to the cloud platform through the wireless communication platform. The ABS sensor data and GNSS data are fused on the cloud platform by means of dual EKF and BPNN and then there is a real-time position estimation. The platform sends the information to users (such as drivers, management, passengers, government and so on), thus, the system can effectively improve the position accuracy and enhance users' experience.

Fusion Positioning Method
The positioning method structure is shown as Figure 2. The nomenclature used in the paper is listed in Table 1. The preprocessing phase includes three steps. First, convert wheel angles from the ABS sensor into λabs values. Second, judge the positioning validity status. Third take the vehicle's starting position as the basic point, convert xlo, yla to absolute position xgnss (m), ygnss (m) and convert the high-precision RTK differential position data into the absolute position values xrtk, yrtk. The fusion position algorithm involves EKF and BPNN. The EKF is a nonlinear version of the Kalman filter which linearizes about an estimate of the current mean and covariance.
In this paper, the EKF algorithm is used to reduce the error of the Gaussian distribution of the ABS and GNSS data in the nonlinear system when the GNSS positioning status is valid. Nomenclature related to the method are presented in Table 1. When the GNSS positioning status is invalid or invalid for a long time, ABS fused data uk1, γk1 can be synthesized from the relative position, but this positioning method is easily suffers from interference from heading angle speed errors, resulting relative positioning failure. The purpose of BPNN is to obtain the heading angle speed error corresponding to different vehicle and heading angle speeds. The BPNN network is a kind of multilayer feed forward network with the error back propagation nature. There is no need to set up

Fusion Positioning Method
The positioning method structure is shown as Figure 2. The nomenclature used in the paper is listed in Table 1. The preprocessing phase includes three steps. First, convert wheel angles from the ABS sensor into λ abs values. Second, judge the positioning validity status. Third take the vehicle's starting position as the basic point, convert x lo , y la to absolute position x gnss (m), y gnss (m) and convert the high-precision RTK differential position data into the absolute position values x rtk , y rtk . The fusion position algorithm involves EKF and BPNN. The EKF is a nonlinear version of the Kalman filter which linearizes about an estimate of the current mean and covariance.
In this paper, the EKF algorithm is used to reduce the error of the Gaussian distribution of the ABS and GNSS data in the nonlinear system when the GNSS positioning status is valid. Nomenclature related to the method are presented in Table 1. When the GNSS positioning status is invalid or invalid for a long time, ABS fused data u k1 , γ k1 can be synthesized from the relative position, but this positioning method is easily suffers from interference from heading angle speed errors, resulting relative positioning failure. The purpose of BPNN is to obtain the heading angle speed error corresponding to different vehicle and heading angle speeds. The BPNN network is a kind of multilayer feed forward network with the error back propagation nature. There is no need to set up an initial dynamic or noise model and it will find a relationship among ∆γ and u k1 , γ k1 through self-study. The concrete steps of the fusion position method are as follows: fuse ABS sensor data u fl , u fr , u rl , u rr , γ abs and λ abs to u k1 and γ k1 by Pre-EKF. Distinguish positioning valid status, if the status is valid, through After-EKF fuse u k1 , γ k1 and GNSS data x gnss , y gnss , θ gnss to the new positioning data x k2 , y k2 and θ k2 . In the BPNN structure, the training sample output value ∆γ is from θ k2 and γ k1 . u k1 and γ k1 serve as input values of the training samples to train the BPNN. When the GNSS positioning status is invalid, we can put u k1 and γ k1 into the well-trained BPNN and get ∆γ. The relative location is synthesized through u k1 with a corrected γ k1 by ∆γ in accordance with the dead reckoning method [31]. heading angle speed ∆γ heading angle speed error self-study. The concrete steps of the fusion position method are as follows: fuse ABS sensor data ufl, ufr, url, urr, γabs and λabs to uk1 and γk1 by Pre-EKF. Distinguish positioning valid status, if the status is valid, through After-EKF fuse uk1, γk1 and GNSS data xgnss, ygnss, θgnss to the new positioning data xk2, yk2 and θk2. In the BPNN structure, the training sample output value Δγ is from θk2 and γk1. uk1 and γk1 serve as input values of the training samples to train the BPNN. When the GNSS positioning status is invalid, we can put uk1 and γk1 into the well-trained BPNN and get Δγ. The relative location is synthesized through uk1 with a corrected γk1 by Δγ in accordance with the dead reckoning method [31].

Dual Kalman Filtering-Based Positioning Research
Dual Extended Kalman Filter respectively refers to Pre-EKF (based on a vehicle kinematical model) and After-EKF. The purpose of Pre-EKF is to fuse the ABS data's four-wheel speed, yaw rate and steering wheel angle to determine an accurate vehicle speed and heading angle velocity. After-EKF is used to reduce the noise of GNSS data by fusing uk1, γk1 and GNSS data. The purpose of the dual EKF design is to improve the position accuracy, and provide low-noise training and validation samples for the BP neural network algorithm. And nomenclature related to the structure of the car are presented in Table 2.

Dual Kalman Filtering-Based Positioning Research
Dual Extended Kalman Filter respectively refers to Pre-EKF (based on a vehicle kinematical model) and After-EKF. The purpose of Pre-EKF is to fuse the ABS data's four-wheel speed, yaw rate and steering wheel angle to determine an accurate vehicle speed and heading angle velocity. After-EKF is used to reduce the noise of GNSS data by fusing u k1 , γ k1 and GNSS data. The purpose of the dual EKF design is to improve the position accuracy, and provide low-noise training and validation samples for the BP neural network algorithm. And nomenclature related to the structure of the car are presented in Table 2.

Fusion Positioning System
The establishment of the Pre-EKF equations is by vehicle kinematics analysis. While a vehicle is turning to prevent any additional resistance between vehicle and road and excessive tire wear, the design of the complete vehicle steering mechanism requires conformance to the Ackerman Principle [32]. As for a vehicle turning at a certain speed (Figure 3), all wheels are assumed to perform pure rolling motion, and the axes of all wheels intersect at the turning center (Point O) at this time. The complete vehicle may be virtually simplified as a two-wheel motorcycle model [33] with two degrees of freedom. In addition, the virtual steering angle corresponds to the center of the front axle. The following Equations (1)-(9) are quoted from [25], which gives a detailed introduction to the derivation process. This paper is slightly improved on this basis, where λ = tan (α) is assumed to simplify the calculation of the EKF algorithm.

Fusion Positioning System
The establishment of the Pre-EKF equations is by vehicle kinematics analysis. While a vehicle is turning to prevent any additional resistance between vehicle and road and excessive tire wear, the design of the complete vehicle steering mechanism requires conformance to the Ackerman Principle [32]. As for a vehicle turning at a certain speed (Figure 3), all wheels are assumed to perform pure rolling motion, and the axes of all wheels intersect at the turning center (Point O) at this time. The complete vehicle may be virtually simplified as a two-wheel motorcycle model [33] with two degrees of freedom. In addition, the virtual steering angle corresponds to the center of the front axle. The following Equations (1)-(9) are quoted from [25], which gives a detailed introduction to the derivation process. This paper is slightly improved on this basis, where  = tan ( ) is assumed to simplify the calculation of the EKF algorithm. In accordance with the turning principle and the assumption of the virtual steering angle, the turn radii of four wheels are expressed by: In accordance with the turning principle and the assumption of the virtual steering angle, the turn radii of four wheels are expressed by: Speeds of the four wheels are calculated by: The relationship between λ, u and γ is expressed as: As for designing variables for the EKF state equations, the relative motion of the vehicle may be derived from u and γ. On the other hand, with a view to α being greatly related to u k 1 and γ k 1 and the whole state equation of the entire Pre-EKF system including three variables (u k 1 , γ k 1 and λ k 1 ), the corresponding state equation is as follows: The variables of the measurement equation include u f l , u f r , u rl , u rr , γ abs and λ abs (to be measured and converted by the steering wheel angle sensor). In accordance with the above kinematics analysis of a turning vehicle, the system measurement equation is written as: (12) where W 1~N (0, Q 1 ) is the state noise, following a Gauss distribution with zero vector mean and covariance matrix Q 1 , V 1~N (0, R 1 ) is the measurement noise, following a Gauss distribution with zero vector mean and covariance matrix R 1 .

After-EKF Model
In case the GNSS information to the positioning module is valid and its x k 2 , y k 2 , θ k 2 , u k 2 and γ k 2 are selected as the variables of the state equation of the After-EKF, which is expressed as: where ∆t is data fusion interval. u k 1 and γ k 1 obtained by the Pre-EKF algorithm based on the vehicle kinematics fusion filtering. Heading angle θ gnss , relative latitude-conversion x gnss and relative longitude-conversion y gnss obtained by the chip-level GNSS receiving module, serve as variables of the measurement equation for the After-EKF filtering system, which is expressed as: where W 2~N (0, Q 2 ) is the state noise, following a Gauss distribution with zero vector mean and covariance matrix Q 2 , V 2~N (0, R 2 ) is the measurement noise, following a Gauss distribution with zero vector mean and covariance matrix R 2 .
The EKF is a first-order linearization truncation to the Taylor expansion of the nonlinear functions f(·) and h(·) and neglects the other higher order terms. The Jacobian determinant of EKF state matrix F k and measurement matrix H k can be derived by the derivatives of the functions f(·) and h(·). The results from such calculations are provided in Equations (15)-(18) respectively:

Study of Positioning Method Based on BP Neural Network
The study of the positioning method based on the BP neural network is primarily to solve the positioning issue and achieve the long-term positioning in the case invalid of GNSS positioning with the help of data from ABS. u k 1 and γ k 1 may be obtained by the Pre-EKF fusion and the θ can be obtained by integration of γ k 1 with time. The dead reckoning algorithm indicates that the vehicle position information in case of invalid GNSS positioning may be obtained based on u k 1 and θ. The error of θ will gradually increase as the error of γ k 1 accumulates. It is assumed that the actual change of γ within a period (T) is as shown in Figure 4. The meaning of the two parameters in Figure 4 is as follows: Measurement errors exist for γ k 1 and γ a due to the fact that ABS data may be affected by factors such as temperature, assembly and measurement precision. Moreover, the difference between γ k 1 and γ b is finally relatively large because the acquisition cycle time T is relatively long, and γ changes more frequently when the car turns sharply. γ k 1 is corrected based on the BP neural network model to reduce the difference between γ k 1 and γ b . Assuming ∆γ as the deviation of γ k 1 and γ b , it is known based on analysis of γ changing with time, that there exists a non-linear relationship between ∆γ, and u k and γ k 1 , which may be expressed by construction of the BP neural network model for two input layers and one output layer.  The scheme of this paper is to train the BPNN algorithm by using the heading angle speed error γ calculated from Equation (19) as the output target data (note: γ sourced from GNSS information is not an ideal datapoint, there is certain noise, but it is relatively small compared to the ABS acquisition of information noise). In order to prevent BPNN from fitting the linearity, cross validation is used to solve the problem of overfitting. The BPNN training time is relatively long, but with the help of the high computing speed of the cloud platform, the real-time performance is improved.

BP Neural Network Model
The structural diagram of the BP neural network is shown in Figure 5. Input signals are in forward propagation based on the sequence (input layer → hidden layer → output layer). Signals are sent from each node to all nodes. If the expected output is not obtained during the training process, the error will be predicted by means of the BP neural network to adjust the network weight and threshold.   The scheme of this paper is to train the BPNN algorithm by using the heading angle speed error γ calculated from Equation (19) as the output target data (note: γ sourced from GNSS information is not an ideal datapoint, there is certain noise, but it is relatively small compared to the ABS acquisition of information noise). In order to prevent BPNN from fitting the linearity, cross validation is used to solve the problem of overfitting. The BPNN training time is relatively long, but with the help of the high computing speed of the cloud platform, the real-time performance is improved.

BP Neural Network Model
The structural diagram of the BP neural network is shown in Figure 5. Input signals are in forward propagation based on the sequence (input layer → hidden layer → output layer). Signals are sent from each node to all nodes. If the expected output is not obtained during the training process, the error will be predicted by means of the BP neural network to adjust the network weight and threshold.  The scheme of this paper is to train the BPNN algorithm by using the heading angle speed error γ calculated from Equation (19) as the output target data (note: γ sourced from GNSS information is not an ideal datapoint, there is certain noise, but it is relatively small compared to the ABS acquisition of information noise). In order to prevent BPNN from fitting the linearity, cross validation is used to solve the problem of overfitting. The BPNN training time is relatively long, but with the help of the high computing speed of the cloud platform, the real-time performance is improved.

BP Neural Network Model
The structural diagram of the BP neural network is shown in Figure 5. Input signals are in forward propagation based on the sequence (input layer → hidden layer → output layer). Signals are sent from each node to all nodes. If the expected output is not obtained during the training process, the error will be predicted by means of the BP neural network to adjust the network weight and threshold.    The BPNN has a strong non-linear fitting ability. When the GNSS positioning status is valid, γ k 1 and u k 1 after the Pre-EKF data fusion are taken as the input variables and ∆γ calculated by Equation (19) based on data gained after the After-EKF data fusion is taken as the output target so that samples may be trained by the BP neural network algorithm:

Determination of the BP Neural Network Structure
For elimination of any adverse effect due to large differences between variables, the characteristic parameters (γ k 1 , u k 1 and ∆γ) of the system are normalized based on Equation (20) so that they shall be distributed in [−1, 1]: where A i and a i represent the original and normalized datum, respectively, A max and A min represent the maximum and minimum of A i , respectively. The number of hidden layer(s) and the number of nodes in the hidden layer are determined by repeated calculation. The number of hidden layer(s) starts from 1, and when good results are not achieved in this case, the number of hidden layer(s) may be added. The number of nodes in the hidden layer may be determined based on the following empirical formula: where p represents the number of nodes in the hidden layer, m and n represent the numbers of input and output variables, respectively, and q represents an integer between 1 and 10. The number of hidden layers is selected as two in the neural network and three nodes per hidden layer, which is the result of applying the BP neural network model many times. The transfer function for any node in the hidden layer is the tangent S type and a linear transfer function is selected for the output layer.

Testing Program
For verifying the positioning precision effects of the T-Box of the dual EKF system and the duration of reliable positioning after correcting the heading angle speed by the BP neural network algorithm in the cases where GNSS positioning status is invalid, a corresponding outdoor vehicle field test plan was designed to perform an experimental analysis. Throughout the experiment, positioning data received by a Beidou high-precision RTK differential positioning units acted as the high-precision reference data. The GNSS receiver module is a chip-level BD/GPS dual-mode satellite navigation receiver module embedded in an onboard device, which selects an effective signal as positioning data. The data acquisition frequency of the onboard GNSS receiving module is 1 Hz. The data acquisition frequency of the onboard ABS sensor is 5 Hz. The Beidou differential positioning system is connected to a computer whose sampling differential positioning data frequency is 5 Hz. ABS data are collected in accordance with ISO15765 protocol (auto diagnosis protocol) by the OBD interface of the T-Box, and GNSS data are sent from the positioning modules to the cloud server by the remote communication module, where the received data are stored in the data library.
The basic parameters of the test vehicle are show in Table 3. The test area is a road (width: about 5 m) in Wuhan, where valid GNSS positioning is very good. A part of the driving trajectory is shown in Figure 6.  The basic parameters of the test vehicle are show in Table 3. The test area is a road (width: about 5 m) in Wuhan, where valid GNSS positioning is very good. A part of the driving trajectory is shown in Figure 6. The driving test continued for up to 50 min. The original longitude and latitude data from the T-Box and the corresponding data from the ABS sensors are preliminarily processed on the PC PC to generate 45 min of effective GNSS data. Fusion is carried out first with the data of the ABS sensors by use of the Pre-EKF algorithm, and the Q1 and R1 values of the Pre-EKF covariance matrix are adjusted to achieve the optimal filtering effect.

Analysis of Positioning Effects in Case of GNSS Positioning Status Being Valid
Fusion is carried out to gnss x , gnss y , and gnss  acquired by the low cost BDS/GPS dual-mode satellite navigation unit by use of the After-EKF filtering algorithm and 1 k u and 1 k  obtained by use of the Pre-EKF algorithm, and the Q2 and R2 values of the After-EKF covariance matrix are adjusted to achieve the optimal filtering effect.
While the navigation error distance is assumed as D, and RTK x and RTK y represent the converted latitude and longitude data of the Beidou differential positioning system; their relationship is expressed as: With reference to the high-precision reference positioning data, a comparison is carried out to the original latitude and longitude obtained by the GNSS receiving module and the latitude and longitude data processed by means of the dual EKF model, and the distribution of their navigation error ratios is shown in Figure 7. The driving test continued for up to 50 min. The original longitude and latitude data from the T-Box and the corresponding data from the ABS sensors are preliminarily processed on the PC PC to generate 45 min of effective GNSS data. Fusion is carried out first with the data of the ABS sensors by use of the Pre-EKF algorithm, and the Q 1 and R 1 values of the Pre-EKF covariance matrix are adjusted to achieve the optimal filtering effect.

Analysis of Positioning Effects in Case of GNSS Positioning Status Being Valid
Fusion is carried out to x gnss , y gnss , and θ gnss acquired by the low cost BDS/GPS dual-mode satellite navigation unit by use of the After-EKF filtering algorithm and u k 1 and γ k 1 obtained by use of the Pre-EKF algorithm, and the Q 2 and R 2 values of the After-EKF covariance matrix are adjusted to achieve the optimal filtering effect.
While the navigation error distance is assumed as D, and x RTK and y RTK represent the converted latitude and longitude data of the Beidou differential positioning system; their relationship is expressed as: With reference to the high-precision reference positioning data, a comparison is carried out to the original latitude and longitude obtained by the GNSS receiving module and the latitude and longitude data processed by means of the dual EKF model, and the distribution of their navigation error ratios is shown in Figure 7.
D for the original positioning data is up to above 40 m, while the navigation error for the data corrected by the dual EKF algorithm may be effectively controlled within 18 m. Analysis of the results shown in Figure 7 indicates that coverage errors are above 10 m for most of the original positioning data, but the processed coverage errors are within 10 m. Thus, the positioning precision may be effectively improved and the errors of the low-cost positioning module may be actually reduced by means of the dual EKF processing of ABS data. D for the original positioning data is up to above 40 m, while the navigation error for the data corrected by the dual EKF algorithm may be effectively controlled within 18 m. Analysis of the results shown in Figure 7 indicates that coverage errors are above 10 m for most of the original positioning data, but the processed coverage errors are within 10 m. Thus, the positioning precision may be effectively improved and the errors of the low-cost positioning module may be actually reduced by means of the dual EKF processing of ABS data.

Analysis of Positioning Effects in Case of Invalid of GNSS Positioning Status
45 min of vehicle test data are processed by means of the dual EKF algorithm to extract the data (u k 1 , γ k 1 and ∆γ). The 45 min vehicle test data are divided into two groups based on time: (1) 30 min sample data; (2) 15 min performance display data.
In order to prevent overfitting during BPNN training, the 30 min sample data are divided into the training, the verification and the test data. Training data are primarily to train the neural network model; and the verification and measurement data are primarily utilized to verify the training effects of the BP neural network. The regression precision analysis of the BP neural network model is included. The linear regression results of the training, verification and measurement results are shown in Figure 8 ("target" means the value normalized ∆γ, "output" means u k 1 and γ k 1 input to the well-trained BPNN output value).
The linear regression results indicate that the errors of the training, verification and test results are randomly distributed on the both positive and negative sides, and the correlation coefficient (Rp) of the predicted and measured results of the training, verification and test samples is more than 0.94, thus, the nonlinear fitting degree of the model is very high.
Comparison of the positioning effects of the data gained from 15 min performance display data being processed by means of the neural network model in case of GNSS information being shielded and the high-precision positioning reference data is performed separately. The heading angle speed after Pre-EKF fusion is integrated with time to obtain the heading angle and then obtain the heading angle error with reference to the high-precision positioning heading angle. The relationship between the heading angle error and the driving time is the red curve in Figure 9, which indicates that the heading angle error rises rapidly and non-linearly with time (t) and it even is up to 180 • at time (15 min). The blue curve in Figure 9 represents the changing rule of the original heading angle error for the sensors. Comparison of the blue and red curves indicates that the original heading angle errors may not be corrected by combining the Pre-EKF fusion. The relationship between the heading angle errors corrected by means of the BP neural network training algorithm and the driving time is the black curve in Figure 9. The heading angle error falls from the original 180 • to 15 • after processing.
There are four kinds of data: (1) original data from ABS sensors, (2) data processed by the Pre-EKF algorithm based on the kinematics analysis, (3) data processed by means of the BP neural network model, and (4) the high-precision reference data from the Beidou differential positioning system.   (1) 30 min sample data; (2) 15 min performance display data.
In order to prevent overfitting during BPNN training, the 30 min sample data are divided into the training, the verification and the test data. Training data are primarily to train the neural network model; and the verification and measurement data are primarily utilized to verify the training effects of the BP neural network. The regression precision analysis of the BP neural network model is included. The linear regression results of the training, verification and measurement results are shown in Figure 8 ("target" means the value normalized Δγ, "output" means 1 k u and 1 k  input to the well-trained BPNN output value).
The linear regression results indicate that the errors of the training, verification and test results are randomly distributed on the both positive and negative sides, and the correlation coefficient (Rp) of the predicted and measured results of the training, verification and test samples is more than 0.94, thus, the nonlinear fitting degree of the model is very high.
Comparison of the positioning effects of the data gained from 15 min performance display data being processed by means of the neural network model in case of GNSS information being shielded and the high-precision positioning reference data is performed separately. The heading angle speed after Pre-EKF fusion is integrated with time to obtain the heading angle and then obtain the heading angle error with reference to the high-precision positioning heading angle. The relationship between the heading angle error and the driving time is the red curve in Figure 9, which indicates that the heading angle error rises rapidly and non-linearly with time (t) and it even is up to 180° at time (15 min). The blue curve in Figure 9 represents the changing rule of the original heading angle error for the sensors. Comparison of the blue and red curves indicates that the original heading angle errors may not be corrected by combining the Pre-EKF fusion. The relationship between the heading angle errors corrected by means of the BP neural network training algorithm and the driving time is the black curve in Figure 9. The heading angle error falls from the original 180° to 15° after processing.
There are four kinds of data: (1) original data from ABS sensors, (2) data processed by the Pre-EKF algorithm based on the kinematics analysis, (3) data processed by means of the BP neural network model, and (4) the high-precision reference data from the Beidou differential positioning system.  The above four kinds of data are marked as RAW, Pre-EKF, ANN and RTK, respectively. Their corresponding positioning trajectories are shown in Figure 10. Except for the trajectories of RTK, the other three trajectories are calculated by the heading algorithm. Analysis of the results shown in Figure 10 indicates that the Pre-EKF positioning trajectory is slightly corrected based on the RAW positioning trajectory but they are significantly different from the RTK positioning trajectory, but they deviate from the normal trajectory after the test vehicle began to turn and they may only be utilized for positioning the straight line trajectory in case of failure of the GNSS information, however, the ANN positioning trajectories are significantly improved with reference to the RAW and Pre-EKF positioning trajectories. Figure 10 indicates that ABS data may be corrected by the BP neural network model in case of failure of the GNSS information so that reliable positioning may be achieved within 15 min.
The above four kinds of data are marked as RAW, Pre-EKF, ANN and RTK, respectively. Their corresponding positioning trajectories are shown in Figure 10. Except for the trajectories of RTK, the other three trajectories are calculated by the heading algorithm. Analysis of the results shown in Figure 10 indicates that the Pre-EKF positioning trajectory is slightly corrected based on the RAW positioning trajectory but they are significantly different from the RTK positioning trajectory, but they deviate from the normal trajectory after the test vehicle began to turn and they may only be utilized for positioning the straight line trajectory in case of failure of the GNSS information, however, the ANN positioning trajectories are significantly improved with reference to the RAW and Pre-EKF positioning trajectories. Figure 10 indicates that ABS data may be corrected by the BP neural network model in case of failure of the GNSS information so that reliable positioning may be achieved within 15 min.

Conclusions and Outlook
In this paper, aiming at solving the problem of high noise of chip level GNSS information receiving modules in T-Boxes and being unable to locate vehicles in GNSS information failure situations due to multi-path effect during driving, a method based on ABS and GNSS information fusion positioning is proposed. By combining the collected vehicle ABS data and effective GNSS information, based on the dual extended Kalman filter algorithm, the positioning error range of the GNSS information receiving module can be reduced from 40 m to 18 m, while the error range is concentrated within 5 m. In case of GNSS information failure, the corrected BP neural network is used to modify the heading angular velocity in the ABS data. The heading angle error will not increase cumulatively with time, and reliable positioning can be realized for a long time in case of GNSS information failure.
As for the outlook of this article, firstly, when GNSS positioning is valid, but the noise of the GNSS information is too large the EKF algorithm cannot effectively reduce the error, requiring good diagnostic mechanisms for these noise GNSS information situations. Secondly, to obtain a better Q and R value in the EKF algorithm, a real-time optimization algorithm is needed to optimize Q and R based on the input.

Conclusions and Outlook
In this paper, aiming at solving the problem of high noise of chip level GNSS information receiving modules in T-Boxes and being unable to locate vehicles in GNSS information failure situations due to multi-path effect during driving, a method based on ABS and GNSS information fusion positioning is proposed. By combining the collected vehicle ABS data and effective GNSS information, based on the dual extended Kalman filter algorithm, the positioning error range of the GNSS information receiving module can be reduced from 40 m to 18 m, while the error range is concentrated within 5 m. In case of GNSS information failure, the corrected BP neural network is used to modify the heading angular velocity in the ABS data. The heading angle error will not increase cumulatively with time, and reliable positioning can be realized for a long time in case of GNSS information failure.
As for the outlook of this article, firstly, when GNSS positioning is valid, but the noise of the GNSS information is too large the EKF algorithm cannot effectively reduce the error, requiring good diagnostic mechanisms for these noise GNSS information situations. Secondly, to obtain a better Q and R value in the EKF algorithm, a real-time optimization algorithm is needed to optimize Q and R based on the input.