# Navigation System Heading and Position Accuracy Improvement through GPS and INS Data Fusion

Authors: Ji Hyoung Ryu; Ganduulga Gankhuyag; Kil To Chong
Journal: Journal of Sensors
 (2016)

---

## Abstract

Commercial navigation systems currently in use have reduced position and heading error but are usually quite expensive. It is proposed that extended Kalman filter (EKF) and Unscented Kalman Filter (UKF) be used in the integration of a global positioning system (GPS) with an inertial navigation system (INS). GPS and INS individually exhibit large errors but they do complement each other by maximizing the advantage of each in calculating the heading angle and position through EKF and UKF. The proposed method was tested using low cost GPS, a cheap electronic compass (EC), and an inertial management unit (IMU) which provided accurate heading and position information, verifying the efficacy of the proposed algorithm.


---

## Body

## 1. Introduction

Computation of accurate heading and position data is a key task in a navigation system. Numerous products are available in the market which can perform above computations. However, they are expensive. Hence, there is a lot of research work devoted towards developing a precise navigation system which is reasonably priced.Global positioning system (GPS) is used in a variety of fields such as scientific and engineering, due to its superior capability of providing accurate navigation information. However, there are issues in the system such as the following: when the GPS does not receive the satellite signal leading to issue in generation of valid data. The heading information from only one GPS is not highly accurate. An inertial navigation system (INS) provides more accurate heading information than the GPS, but its position data is less reliable than that of the GPS. It can be seen that the GPS and INS do complement each other leading to various research works on integrated INS/GPS navigation systems for the past two decades. The above given problems are resolved in this work by fusing data from GPS, INS, and electronic compass (EC).Several types of complementary filters utilizing low-pass and high-pass filters were proposed due to the frequency filtering properties of a linear system [1, 2]. A ship heading control obtained using disturbance compensating model predictive control (DC-MPC) algorithm in wave fields was previously suggested [3]. Some works also combined Kalman filter (KF) and fuzzy inference in improving the accuracy of a navigation system [4–6]. The sensor selection was done through fuzzy logic while KF was utilized for sensor fusion. KF and its variations have been widely used for sensor fusion such as in determining an accurate azimuth of a pedestrian system by fusing EC and INS gyroscope information through decentralized Kalman filter [7] while another work fused EC, INS, and multiple GPS using extended Kalman filter-covariance intersection (EKF-CI) to determine heading information [8]. A dual-rate Kalman filter (DRKF) was designed to integrate GPS pseudoranges and time-differenced GPS carrier phases (possessing low noise and millimeter measurement precision) with INS measurements [9]. Estimation in nonlinear systems is extremely important since most systems are inherently nonlinear in nature. The successful practical nonlinear system implementation of a GPS/MEMS (microelectromechanical systems) based-IMU (inertial measurement unit) with heading update in an extended Kalman filter (EKF) framework has been previously demonstrated [10]. Another work utilized adaptive two-stage KF since EKF cannot effectively track time-varying or unknown parameters [11]. A major drawback of EKF is that it does not effectively estimate if the system is highly nonlinear since it uses first-order Taylor series expansion for linearizing the nonlinear system. The mean and covariance estimates acquired using the Unscented Kalman Filter (UKF) on the other hand are accurate at least up to the second order [12]. Several works have confirmed the higher estimation accuracy of UKF against the EKF [13–16] but their key limitation is that both cannot undertake the problem of nonlinear systems with non-Gaussian noise. An unscented particle filter algorithm, which is a particle filter using EKF to generate the proposal distribution, was proposed to solve this issue [17]. One study compared complementary filter and KF depending on the system model simplicity [16, 18]; another showed that EKF exhibited good performance in estimating attitude/orientation using low cost sensor in environments where GPS signals are denied [19].Locally weighted regression and smoothing scatterplot were previously utilized in deriving a more accurate heading angle using GPS data but it was limited for postprocessing only [20–23]. These works were expanded by further integrating EC with INS gyroscopic data for more accurate heading while the position information was determined by integrating GPS with ISN accelerometer data through EKF and UKF. It was observed that sensor fusion through KF improved accuracy similar to results of previous works [22–26].The remainder of this paper is organized as follows. EKF and UKF are explained in detail in Section2 through the navigation system model utilized in this work. The simulation and experimental tests are presented in Section 3 followed by the concluding remarks in Section 4.


## 2. Background and Algorithm

### 2.1. Extended Kalman Filter (EKF)

KF is an efficient recursive filter that estimates the state of a linear or nonlinear dynamic system from a series of noisy measurements while EKF is a representative algorithm of KF expanded and applied to nonlinear system. The study of EKF necessitates the understanding of a nonlinear system model first. Consider the following general nonlinear system equation:(1)xk=fxk-1+wk-1,(2)zk=hxk+vk,where (1) and (2) are the state and measurement models of the nonlinear system while random variables wk and vk are the process and measurement noise, respectively. Both noises are assumed to be zero-mean white noise with normal probability distribution, such that(3)pw~N0,Q,pv~N0,R.The process noise Q and measurement noise R covariance matrices might change with each time step or measurement but they are assumed to be constant for this study.The EKF can now be applied to the system upon obtaining the system model. The schematic flow chart of the EKF in Figure1(a) shows that the algorithm consists of two main operations, namely, the prediction and update processes [23].(1)
Prediction process (Step (I)) is responsible for projecting forward the current state and error covariance estimates to obtain a priori estimates for the next step.(2)
Correction or update process (Steps (II)–(IV)) which is the main point of the EKF is responsible for the feedback, to incorporate the new measurement into the a priori estimate to obtain an improved a posteriori estimate.Jacobian is utilized to linearize the nonlinear model in EKF. The A and H matrices in Figure 1(a) can be derived using the following equations:(4)A≡∂f∂xx^k,H≡∂h∂xx^k-.Figure 1
Filtering algorithms.
(a)
Extended Kalman filter
(b)
Unscented Kalman Filter


### 2.2. Unscented Kalman Filter

EKF is not efficient enough when the system is highly nonlinear with the following main drawbacks: (a) linearization may lead to highly unstable system and (b) the derivation of Jacobian matrices is not important in most applications and most often leads to implementation difficulties.UKF utilizes unscented transformation to perform state estimation of nonlinear systems without linearizing the system and measurement models. A set of carefully and deterministically chosen weighted samples that parameterize the mean and covariance of the belief is used in the transformation. Supposex is a random variable with dimension n through a nonlinear function y=fx and x has covariance Px and mean xmx~Nxm,Px. A set of points, calledsigma points, are chosen such that their mean and covariance are xm and Px, respectively. These points are applied in the nonlinear function y=fx to get ym and Py. The n-dimensional random variable x is approximated by 2n+1 weighted x sigma points. The sigma points χi and weights Wi for x are defined as follows:(5)χ1=xm;χi+1=xm+ui,i=1,2,…,n;χi+n+1=xm+ui,i=1,2,…,n,(6)W1=kn+k;Wi+1=k2n+k,i=1,2,…,n;Wi+n+1=k2n+k,i=1,2,…,n,where ui is a row vector from the matrix U and k is an arbitrary constant:(7)UTU=n+kPx.The method instantiates each sigma point through the functiony=f(x) resulting in a set of transformed sigma points, mean, and covariance as(8)ym=∑i=12n+1Wifχi,Py=∑i=12n+1Wifχi-ymfχi-ymT.The state and measurement with their covariance can be predicted upon understanding unscented transformation. The remaining steps of the UKF shown in Figure1(b) are similar to that of KF.The system function is applied to each sample resulting in a group of transformed points. The propagated mean and covariance are the mean and covariance of this group of points. The Jacobians of the system and measurement model do not have to be calculated since there is no linearization involved in the propagation of the mean and covariance which makes UKF practically attractive.


### 2.3. Navigation System Model

The kinematics of a vehicle is given by the following state equation [24]:(9)N′E′ψ′=cψ-sψ0sψcψ0001uvr+w=ucψ-vsψusψ+vcψr+w=fx+w,where u, v, and w are the linear velocities and r is the angular velocity along z-axis (yaw), while c and s represent cosine and sine functions. The measurement model can be defined as follows, based on the need to identify the position x,y and heading angle ψ:(10)zk=100010001NEψ+v=Hx+v.Jacobian matrices A and H are derived using (4) in order to linearize the system:(11)A=∂f1∂N∂f1∂E∂f1∂ψ∂f2∂N∂f2∂E∂f2∂ψ∂f3∂N∂f3∂E∂f3∂ψ=00-usψ-vcψ00ucψ-vsψ000,H=I3×3.Matrix H does not change since measurement model (6) is linear. Process noise covariance Q and measurement noise covariance R are chosen based on experimental data:(12)Q=0.010000.010001,R=0.30000.070000.03.


## 2.1. Extended Kalman Filter (EKF)

KF is an efficient recursive filter that estimates the state of a linear or nonlinear dynamic system from a series of noisy measurements while EKF is a representative algorithm of KF expanded and applied to nonlinear system. The study of EKF necessitates the understanding of a nonlinear system model first. Consider the following general nonlinear system equation:(1)xk=fxk-1+wk-1,(2)zk=hxk+vk,where (1) and (2) are the state and measurement models of the nonlinear system while random variables wk and vk are the process and measurement noise, respectively. Both noises are assumed to be zero-mean white noise with normal probability distribution, such that(3)pw~N0,Q,pv~N0,R.The process noise Q and measurement noise R covariance matrices might change with each time step or measurement but they are assumed to be constant for this study.The EKF can now be applied to the system upon obtaining the system model. The schematic flow chart of the EKF in Figure1(a) shows that the algorithm consists of two main operations, namely, the prediction and update processes [23].(1)
Prediction process (Step (I)) is responsible for projecting forward the current state and error covariance estimates to obtain a priori estimates for the next step.(2)
Correction or update process (Steps (II)–(IV)) which is the main point of the EKF is responsible for the feedback, to incorporate the new measurement into the a priori estimate to obtain an improved a posteriori estimate.Jacobian is utilized to linearize the nonlinear model in EKF. The A and H matrices in Figure 1(a) can be derived using the following equations:(4)A≡∂f∂xx^k,H≡∂h∂xx^k-.Figure 1
Filtering algorithms.
(a)
Extended Kalman filter
(b)
Unscented Kalman Filter


## 2.2. Unscented Kalman Filter

EKF is not efficient enough when the system is highly nonlinear with the following main drawbacks: (a) linearization may lead to highly unstable system and (b) the derivation of Jacobian matrices is not important in most applications and most often leads to implementation difficulties.UKF utilizes unscented transformation to perform state estimation of nonlinear systems without linearizing the system and measurement models. A set of carefully and deterministically chosen weighted samples that parameterize the mean and covariance of the belief is used in the transformation. Supposex is a random variable with dimension n through a nonlinear function y=fx and x has covariance Px and mean xmx~Nxm,Px. A set of points, calledsigma points, are chosen such that their mean and covariance are xm and Px, respectively. These points are applied in the nonlinear function y=fx to get ym and Py. The n-dimensional random variable x is approximated by 2n+1 weighted x sigma points. The sigma points χi and weights Wi for x are defined as follows:(5)χ1=xm;χi+1=xm+ui,i=1,2,…,n;χi+n+1=xm+ui,i=1,2,…,n,(6)W1=kn+k;Wi+1=k2n+k,i=1,2,…,n;Wi+n+1=k2n+k,i=1,2,…,n,where ui is a row vector from the matrix U and k is an arbitrary constant:(7)UTU=n+kPx.The method instantiates each sigma point through the functiony=f(x) resulting in a set of transformed sigma points, mean, and covariance as(8)ym=∑i=12n+1Wifχi,Py=∑i=12n+1Wifχi-ymfχi-ymT.The state and measurement with their covariance can be predicted upon understanding unscented transformation. The remaining steps of the UKF shown in Figure1(b) are similar to that of KF.The system function is applied to each sample resulting in a group of transformed points. The propagated mean and covariance are the mean and covariance of this group of points. The Jacobians of the system and measurement model do not have to be calculated since there is no linearization involved in the propagation of the mean and covariance which makes UKF practically attractive.


## 2.3. Navigation System Model

The kinematics of a vehicle is given by the following state equation [24]:(9)N′E′ψ′=cψ-sψ0sψcψ0001uvr+w=ucψ-vsψusψ+vcψr+w=fx+w,where u, v, and w are the linear velocities and r is the angular velocity along z-axis (yaw), while c and s represent cosine and sine functions. The measurement model can be defined as follows, based on the need to identify the position x,y and heading angle ψ:(10)zk=100010001NEψ+v=Hx+v.Jacobian matrices A and H are derived using (4) in order to linearize the system:(11)A=∂f1∂N∂f1∂E∂f1∂ψ∂f2∂N∂f2∂E∂f2∂ψ∂f3∂N∂f3∂E∂f3∂ψ=00-usψ-vcψ00ucψ-vsψ000,H=I3×3.Matrix H does not change since measurement model (6) is linear. Process noise covariance Q and measurement noise covariance R are chosen based on experimental data:(12)Q=0.010000.010001,R=0.30000.070000.03.


## 3. Simulation Setup and Result

The GPS, EC, and INS (with gyroscope and accelerometer) mounted on an experimental board as shown in Figure2(a) were utilized for data gathering. The CMPS03 EC has a heading accuracy of 3 to 4 degrees and costs $44. The uBlox GPS receiver with model UIGGUB01-V02R01 has a position accuracy of 10 m and data rate of 10 Hz, utilizes NMEA 0183 protocol, and costs $40. The MySEN-M INS has a data rate of 100 Hz and heading accuracy of 4 degrees. A Furuno SC50 satellite compass system was utilized as the reference system. It has a heading accuracy of 0.5 degrees, position accuracy of 2 to 3 m, and setting time of 3 min and costs $4,995.Figure 2
Experimental setup.
(a)
Experimental board setup
(b)
Experimental car setup
(c)
Experiment locationThe experiment board and reference system are placed on top of the car as shown in Figure2(b). A car was utilized instead of a ship due to the difficulty of performing the test out on the ocean. A roadway on a newly reclaimed area in Gunsan city of South Korea was chosen for the location of the experiment, due to the availability of open-sky area with minimal traffic. The actual experimental location as seen through Google Earth is shown in Figure 2(c).GPS and accelerometer data from INS were set as the measurement state and the state to estimate the position, respectively. The resulting position information when using both EKF and UKF is shown in Figure3 with several parts zoomed in order to clearly distinguish the performance of each. The raw gyroscope and EC data shown in Figure 4 are fused to obtain accurate heading information for navigation. Heading information based on the GPS COG, EKF, UKF, and reference systems is shown in Figure 5 with EKF giving values closest to that of the reference system. COG is “Course Over Ground” heading information from the GPS device while HDT is “True Heading” of the GPS device obtained by processing RF cycle in the GPS carrier frequency:(13)RMSEposition=1n∑i=1nΔEi2+ΔNi2,RMSEheading=1n∑i=1nψ^i-ψi2.The root mean square errors (RMSE) calculated using (13) are shown in Table 1 to give a better perspective in the differences of the position and heading result. The EKF took 132.4128 secs while UKF took 137.0245 secs to fully simulate the process.Table 1
Heading and position errors.
EKF
UKF
GPS COG
Heading (RMSEheading)
0.326 deg.
0.2196 deg.
8.1218 deg.
Position (RMSEposition)
1.12 m
1.12 m
1.33 mFigure 3
Comparative position information (GPS, EKF, UKF, and Furuno).Figure 4
Heading information.
(a)
Raw gyroscope data
(b)
Raw compass dataFigure 5
Comparative heading information (GPS COG, EKF, UKF, and Furuno HDT).


## 4. Conclusion

Commercial navigation systems produce accurate information with reduced errors but are usually expensive. This work proposes a system that can estimate accurate heading and position information comparable to more expensive ones at a fraction of the cost. Low cost sensors such as global positioning system (GPS) and electronic compass (EC) are fused with inertial navigation system (INS)/inertial measurement unit (IMU) through extended Kalman filter (EKF) and Unscented Kalman Filter (UKF) to achieve the desired results. It was shown that individual heading information from several cheaper devices with big errors can produce a much more accurate fused heading value.Position estimation results for both EKF and UKF show the same slight increase in accuracy, but heading estimation results showed that UKF output was closer to the reference than that of EKF. It was seen that EKF is better than UKF when taking into consideration the time it took to perform the process. It can be eventually concluded that accurate heading and position information can be obtained from the fusion of several low cost sensors, verifying the effectiveness of the proposed algorithm.



---

*Source: 7942963-2016-01-06.xml*