Next Article in Journal
Human Body Parts Tracking and Kinematic Features Assessment Based on RSSI and Inertial Sensor Measurements
Next Article in Special Issue
Fast Thermal Calibration of Low-Grade Inertial Sensors and Inertial Measurement Units
Previous Article in Journal
Fetal Electrocardiogram (fECG) Gated MRI
Previous Article in Special Issue
Polycarbonate as an Elasto-Plastic Material Model for Simulation of the Microstructure Hot Imprint Process

Sensors 2013, 13(9), 11280-11288; doi:10.3390/s130911280

GPS/MEMS INS Data Fusion and Map Matching in Urban Areas
Hone-Jay Chu, Guang-Je Tsai, Kai-Wei Chiang and Thanh-Trung Duong *
Department of Geomatics, National Cheng Kung University, No.1, University Road, Tainan 701, Taiwan
Author to whom correspondence should be addressed: Tel.: +886-6-237-0876; Fax: +886-6-237-5764.
Received: 20 June 2013; in revised form: 19 August 2013 / Accepted: 22 August 2013 / Published: 23 August 2013


: This paper presents an evaluation of the map-matching scheme of an integrated GPS/INS system in urban areas. Data fusion using a Kalman filter and map matching are effective approaches to improve the performance of navigation system applications based on GPS/MEMS IMUs. The study considers the curve-to-curve matching algorithm after Kalman filtering to correct mismatch and eliminate redundancy. By applying data fusion and map matching, the study easily accomplished mapping of a GPS/INS trajectory onto the road network. The results demonstrate the effectiveness of the algorithms in controlling the INS drift error and indicate the potential of low-cost MEMS IMUs in navigation applications.
map-matching; GPS; MEMS IMU; Kalman filter

1. Introduction

A critical component of a navigation system is the Global Positioning System (GPS). However, outages and multi-path phenomenon of GPS signals frequently occur in urban areas. Another navigation system, the inertial navigation system (INS), is an interesting complementary navigation system [1]. GPS has long-term stability with homogeneous accuracy, while the short-term stability with high navigation accuracy of the INS is excellent, but stand-alone INS positioning accuracy deteriorates rapidly with time. Thus, the integration of GPS and INS provides a high data rate of complete navigation solutions (i.e., position, velocity, and attitude) with superior accuracy. Advances in Micro-Electro-Mechanical System (MEMS) inertial sensor technology have rendered the integrated GPS and INS a low-cost option for positioning and navigation. In data fusion, the Kalman Filter (KF) suffers from divergence in the approximations of the linearization process during GPS outages. Inertial sensor biases are not well estimated leading to residual drifts, especially when using MEMS-based inertial measurement units (IMUs) [2,3]. Previous studies applied KF to combine GPS and IMU data in vehicle and aircraft navigation [4,5]. Bevly [4] demonstrated the ability of a low-cost GPS receiver to reduce errors inherent in low-cost ground vehicle IMUs. Wendel et al. [5] addressed the development of an integrated navigation system based on MEMS IMU and GPS for an unmanned aerial vehicle (UAV).

To obtain a robust navigation system, mapping the position onto a spatial road map is necessary [6]. This spatial mismatch is particularly severe at junctions and built-up areas with complex routes. Quddus et al. [7] reviewed the literature on map matching and listed the advantages and drawbacks of the various algorithms. The commonly used methods are point-to-curve matching and curve-to-curve matching. The point-to-curve matching algorithm attempts to identify the curve (link) that is closest to a point. The approach uses a local or incremental algorithm that maps current positions onto a road line on a map. Cossaboom et al. [8] used KF to integrate GPS and INS in a loosely coupled scheme to enhance navigational solution while further improvement is achieved by the map matching. However, the approach only considers the current position and the matching accuracy is generally low. A more novel approach is curve-to-curve matching, which considers the estimated location as a curve consisting of a set of points. This algorithm achieves better accuracy based on certain distance measures and aligns an entire trajectory with a road map.

The main purpose of this study is to conduct KF and map matching by integrating GPS and INS data to identify the right trajectory and robust navigation, and to improve the matching navigation accuracy. In addition, this study compares the point-to-curve and curve-to-curve matching approaches in the process of using a road network map. Result shows that the curve-to-curve matching approach is more effective in navigation applications.

2. Methods

2.1. Data Fusion Algorithm

KF is used for data fusion in this study. KF addresses the general problem to estimate the state x of a discrete-time controlled process that is governed by the state equation as follows:

x k = Φ k 1 ; k x k 1 + w k
Where x k = [ δ R δ V δ ψ b a b g s a s g ] 21 × 1 T is the state vector at time k including position error, velocity error, attitude error, accelerometer bias, gyroscope bias, accelerometer scale factor, and gyroscope scale factor, respectively, Фk−1;k is the state transition matrix from time k1 to k, and wk is the system noise.

The measurement model is:

z k = H x k + ɛ k

Since the aiding measurements from GPS are position and velocity, Equation (2) can be rewritten as:

z k = [ R INS e R GPS e V INS e V GPS e ] = [ H R 0 0 H V ] [ δ R e δ V e ] + [ ɛ R ɛ V ]
where H R = H V = [ 1 0 0 0 1 0 0 0 1 ] are mapping matrices, δRe = (δxe, δye, δze)T is the position error vector; δ V e = ( δ V x e , δ V y e , δ V z e ) T is the velocity error vector expressed in the Earth-centered Earth-fixed frame (ECEF or e-frame); εR and εV are the position and velocity noise, respectively. R INS e and R GPS e are the positions in the e-frame obtained by INS and GPS, respectively. V INS e and V GPS e are the velocities in the e-frame obtained by INS and GPS, respectively.

In a KF-based system, the system noise (wk) and the measurement noise (εk) are assumed to be independent normal distributions with zero mean and variances (Qk and Rk), respectively:

w k ~ N ( 0 , Q k ) , ɛ k ~ N ( 0 , R k )
In fact, the system noise and measurement noise are not usually correctly estimated but can be modeled by the representation of a system noise model and measurement noise model. In practice, Qk is modeled based on sensor calibration and Rk is modeled based on the GPS position and velocity uncertainty.

Now, let's define x ^ k and P k as the a priori state and associated variance matrix estimated at time k given the knowledge of the process prior to time k1, where:

x ^ k = ϕ k 1 ; k x ^ k 1
P k = ϕ k 1 ; k P k 1 ϕ k 1 ; k T + Q k
x̂k is the a posteriori state estimate at time k given the measurement zk. A priori and a posteriori estimate errors and associated covariance matrices are:
e k = x k x ^ k , P k = E [ e k e k T ]
e k = x k x ^ k , P k = E [ e k e k T ]

The linear combination between the a posteriori state estimate k, a priori state estimate x ^ k , and a weighted difference between actual measurement zk and measurement prediction H x ^ k is:

x ^ k = x ^ k + K ( z k H x ^ k )

The associated covariance matrix Pk is determined as:

P k = P k K k H k P k
where the equation ( z k H x ^ k ) is called measurement innovation or the residual. K is called as Kalman gain matrix and can be shown by:
K k = P k H T ( H P k H T + R k ) 1

The KF estimates a process by using a form of feedback control—the filter estimates the process state at some time and then obtains feedback in the form of measurements. As such, the KF updates in two steps each stage: time update and measurement update. The time update estimates the current state and error covariance for the next time step. The measurement update incorporates a new measurement into the a priori estimate to obtain an improved a posteriori estimate.

2.2. Map-Matching Algorithm

The purpose of developing the curve-to-curve algorithm was to reduce the position error drift during GPS outages. The method used in the study is modified from [8]. Figure 1 shows the processes in the algorithm. In the data processing, signal points are ordered in time and then point ID are attached. A link represents a road in the map and the road azimuth is known. The steps are described as follows:

  • Integrate GPS and IMU data using the KF: Extended KF (EKF) is used to integrate GPS and INS data based on a loosely coupled scheme. The details of EKF can be found in previous researches [3]. In this study, a linear approximation of a nonlinear function is proposed. The EKF can be simplified to the KF algorithm. The equations of the algorithm are shown in Equations (1)(11).

  • Search candidate road links in a 30-m trajectory buffer and project points to links: The purpose of this step is to determine all link candidates and project signal points to candidate links for map matching. Firstly, the buffer is created based on the GPS/ INS trajectory. All links within the buffer will be defined as the candidate road links.

  • Cluster point sets considering projected link azimuth and point ID continuity: Signal points and candidate road links are stored in a database of a GIS. When the position errors in some points are large, the projected link azimuth and point ID are vital information to facilitate dividing links into point clusters. Figure 2 illustrates the clustering process. Point sets in each road link can be separated when considering projected link azimuth and point ID information. Gi and Gij are defined as the clustering point sets based on link azimuth i and the ones based on link azimuth i and section j. A two-step clustering approach is shown. For example, the point sets are firstly separated into G2 (p4, 5) and the other cluster G1 (p1, 2, 3, 6, 7, 8) based on the projected link azimuth, and then are separated into G11 (p1, 2, 3) and G12 (p6, 7, 8) according to point ID continuity.

  • Determine the closest link in each point set: The objective is to determine the minimum distance from a point set to a link as the map matching indicator. If the minimum distance from a point set to a candidate link is determined, the link with the minimal distance is identified as the matching link:

    L i = arg min ( D i j )
    where Dij is the distance from a point set i to a link j; Li is the matching link in a point set i. For example, in Figure 2, the link with the minimal average distance is the best-matched link such as L1 link 1 in G11, L2: link 4 in G2, and L3: link 6 in G12. However, the point-to-curve algorithm skips step 4 and directly determines the closest link in each point.

  • Reduce redundancy: When the testing motorcycle stops, the redundancy is a large amount of duplicated random points. In the model, redundancy can be identified and removed automatically based on velocity information:

    i f v i < v thres , then pi is a redundant point .
    where vi is velocity of the vehicle at point pi; vthres is the threshold velocity in motorcycle stopping.

3. Experiments and Materials

Tests were performed in Tainan City to assess the efficacy of both algorithms. The test trajectory length was approximately 6 km and the total experiment time was about 1,500 s. The MIDG II low-cost IMU and single frequency GPS receiver were mounted on a motorcycle to collect data (Figure 3). Table 1 shows the MIDG II specifications. The MIDG II is a GPS-aided INS for use in obtaining attitude, position, velocity, acceleration, and angular rates for navigation.

4. Results and Discussion

Figure 4 shows the raw GPS point data (Left panel) and GPS/INS data integrated by KF (Right panel). Although GPS signals are often unavailable due to signal outages in urban canyons, the MEMS-based inertial sensor technology has high-frequency signals without outages for low-cost integrated vehicle navigation systems [9]. An integrated GPS and INS will overcome the outages, but the KF cannot compensate all the drift errors caused by both sensors on the motorcycle platform. The resulting trajectory doesn't match well the road map used as the reference. The average error of each integrated point to a matching line is 5.09 m (right panel in Figure 4). Compared to the average errors of only GPS from each point to the matching road, an INS/GPS system with an average position error is still large because the platform is a motorcycle. Motorcycles are not as stable as vehicles. In the system, we don't consider the nonholonomic constraint (NHC) that limits the velocity of the vehicle in the plane perpendicular to the forward direction. Thus, map matching is used directly to overcome the problem

Figure 5 displays the point-to-curve (left) and curve-to-curve (right) map-matching results. Average errors for each point in both matching approaches are 1.73 and 0.61 m. The results show that the point-to-curve algorithm exhibits low accuracy, and some links are discontinuous when the motorcycle platform is not steady and the drift errors in the integrated data are large. The low-accuracy point-to-curve algorithm cannot identify all the right links for map matching (Left panel of Figure 5). However, the curve-to-curve algorithm mitigates most of the errors and improves the navigational solution (Right panel of Figure 5). Figure 6 shows the details of matching result comparisons of the two algorithms. The matched links are separated into three sub-links using the point-to-curve algorithm (Left panel of Figure 6), but can be improved using the curve-to-curve algorithm (Right panel of Figure 6).

Most of the limitations of existing algorithms have been explained in [7]. Two major limitations of map matching are incorrect matches at junctions or parallel roads (Equation (1)) and redundant points when the motorcycle stops (Equation (2)). The difficulty of identifying the correct link at a junction using the traditional map-matching procedures is observable in the left panel of Figure 6. The point-to-curve algorithm assigns an incorrect link because the algorithm does not take all azimuth (heading) information of the trajectory into account. In our approach, the heading information for each point set is considered in the map matching. This information implies that the trajectory is the same link. The algorithm accurately matches the correct track with the road map (Right panel of Figure 6). In the system, KF has not considered the constraint of zero velocity update, however, many redundant points occurred when the motorcycle stopped in waiting areas and crossroads. The problem of redundant points will be solved by using map matching. According to the model, redundancy can be removed using the curve-to-curve algorithm when the motorcycle stops (Right panel of Figure 7). The algorithm can overcome the redundant point problem (Left panel of Figure 7) by considering point ID continuity and road network information, therefore, the research develops a smart map matching algorithm for road networks. The algorithm can reduce the drift errors associated with the GPS outages, incorrect matches, and redundant points when the motorcycle is stationary for the precise identification of the correct link.

5. Conclusions

This study applies data fusion and a map-matching model in identifying the relationship between GPS/INS measured data and road map data for a robust navigation solution. The algorithm is suitable for integrating GPS and INS data into map matching in urban areas, and improves the incorrect routes based on the point-to-curve map matching. Therefore, even using a low-cost IMU or an unstable platform, the curve-to-curve map-matching algorithm can identify the right routes. Consequently, the proposed scheme can provide consistent navigation solutions with improved sustainability in GPS-denied environments. The best routes of map matching can be determined by reducing the irrational routes in GPS-denied environments. Future studies will be conducted to extend the procedure from 2-D to 3-D in land vehicular navigation systems. In addition, further study of personal mobile devices for real-time pedestrian navigation will be undertaken.


The authors thank the financial supporting this research under Contract No. 101-2119-M-006-013. The authors also would like to thanks Deng and Lin for treatments of paper editing. This research received funding from the Headquarters of University Advancement at the National Cheng Kung University, which is sponsored by the Ministry of Education, Taiwan.

Conflicts of Interest

The authors declare no conflict of interest.


  1. Godha, S.; Cannon, A.M.E. GPS/MEMS INS integrated system for navigation in urban areas. GPS Solut. 2007, 11, 193–203. [Google Scholar]
  2. Sukkarieh, S.; Nebot, E.M.; Durrant-Whyte, H.F. A high integrity IMU GPS navigation loop for autonomous land vehicle applications. IEEE Trans. Rob. Autom. 1999, 15, 572–578. [Google Scholar]
  3. Dissanayake, G.; Sukkarieh, S.; Nebot, E.; Durrant-Whyte, H. The aiding of a low-cost strapdown inertial measurement unit using vehicle model constraints for land vehicle applications. IEEE Trans. Rob. Autom. 2001, 17, 731–747. [Google Scholar]
  4. Bevly, D.M. Global positioning system (GPS): A low-cost velocity sensor for correcting inertial sensor errors on ground vehicles. J. Dynam. Syst. Measur. Control Trans. ASME 2004, 126, 255–264. [Google Scholar]
  5. Wendel, J.; Meister, O.; Schlaile, C.; Trommer, G.F. An integrated GPS/MEMS-IMU navigation system for an autonomous helicopter. Aerosp. Sci. Technol. 2006, 10, 527–553. [Google Scholar]
  6. Ochieng, W.Y.; Quddus, M.A.; Noland, R.B. Map-matching in complex urban road networks. Braz. J. Cartogr. 2004, 55, 1–18. [Google Scholar]
  7. Quddus, M.A.; Ochieng, W.Y.; Zhao, L.; Noland, R.B. A general map matching algorithm for transport telematics applications. GPS Solut. 2003, 7, 157–167. [Google Scholar]
  8. Cossaboom, M.; Georgy, J.; Karamat, T.; Noureldin, A. Augmented kalman filter and map matching for 3D RISS/GPS integration for land vehicles. Int. J. Navig. Observ. 2012, 2012, 1–16. [Google Scholar]
  9. Park, M.; Gao, Y. Error and performance analysis of MEMS-based inertial sensors with a low-cost GPS receiver. Sensors 2008, 8, 2240–2261. [Google Scholar]
Figure 1. The map-matching algorithm.
Figure 1. The map-matching algorithm.
Sensors 13 11280f1 1024
Figure 2. Two-step signal point clustering.
Figure 2. Two-step signal point clustering.
Sensors 13 11280f2 1024
Figure 3. The GPS Receiver and MEMs IMU mounted on a motorcycle.
Figure 3. The GPS Receiver and MEMs IMU mounted on a motorcycle.
Sensors 13 11280f3 1024
Figure 4. Raw GPS (Left) and integrated GPS/INS point data by KF (Right).
Figure 4. Raw GPS (Left) and integrated GPS/INS point data by KF (Right).
Sensors 13 11280f4 1024
Figure 5. Point-to-curve (Left) and curve-to-curve (Right) map-matching results.
Figure 5. Point-to-curve (Left) and curve-to-curve (Right) map-matching results.
Sensors 13 11280f5 1024
Figure 6. Details of point-to-curve (Left) and curve-to-curve (Right) map-matching results.
Figure 6. Details of point-to-curve (Left) and curve-to-curve (Right) map-matching results.
Sensors 13 11280f6 1024
Figure 7. Map matching before (Left) and after signal redundancy reduction (Right).
Figure 7. Map matching before (Left) and after signal redundancy reduction (Right).
Sensors 13 11280f7 1024
Table 1. MIDG II specification.
Table 1. MIDG II specification.
Physical CharacteristicsIMU Performance
Output rate (Hz)50
Gyro bias (degree/h)47
Gyro scale factor (ppm)5,000
Accelerometer bias (mg)6.0
Accelerometer scale factor (ppm)19,700
Sensors EISSN 1424-8220 Published by MDPI AG, Basel, Switzerland RSS E-Mail Table of Contents Alert