Skip to main content
  • Original article
  • Open access
  • Published:

A hybrid error modeling for MEMS IMU in integrated GPS/INS navigation system


Continuity of accurate navigational data for intelligent transportation applications has been widely provided by utilizing low-cost navigation systems through integrating GPS with micro-electro-mechanical-system (MEMS) inertial sensors. To achieve the required accuracy, augmentation of Kalman filter (KF) with nonlinear error modeling techniques such as fast orthogonal search (FOS) was introduced to enhance the navigational solution by estimating and eliminating a great part of both linear and nonlinear errors of azimuth angle sensed by MEMS gyro. Although this augmented approach enhanced the overall navigational accuracy to some extent, it still suffers from some drawbacks that diverge the system accuracy during GPS long outage periods. These drawbacks stem from the wide-variational behavior and high nonlinearities of the errors in MEMS gyros which make it difficult to depend on the non-adaptive linear error model provided by KF to model the two types of MEMS azimuth errors.

In this paper we tried to minimize the effect of uncertainties associated with the KF azimuth prediction during the absence of GPS by introducing a hybrid error model which employs support vector machine (SVM) to model the KF output and FOS, based on autoregressive (AR) concept, to model the nonlinear azimuth errors. The performance of the proposed hybrid SVM-FOS approach is evaluated for GPS/ RISS (Reduced inertial sensor system integrated system) and the results were compared with the conventional KF and augmented KF-FOS approaches.


For several years, development of low-cost inertial navigation systems has been made possible by the great advances in MEMS technology. Small size and light weight with low cost characterize MEMS inertial measurement units (IMUs) compared to high-end inertial sensors. These merits of MEMS sensors made it attractive choice for navigation in intelligent transportation applications (Angrisano 2010). Nevertheless, the high noise level, instability of characteristics and extreme stochastic variance that characterize MEMS inertial sensors made it a challenge to use MEMS in autonomous mode for extended periods. So, MEMS IMUs are used in conjunction with aiding sensors to overcome their drawbacks where the aiding sensor is selected based on the application (Poshtan et al. 2014). For vehicle navigation, MEMS inertial sensors combined with GPS have become the principal approach where real time position and attitude estimation is being required. GPS represents a prime position information provider with reasonable accuracy. The acquired GPS navigational information helps in inertial solution stabilization where inertial sensor errors are bounded by the GPS updates. In the meanwhile, the GPS unavailability periods are bridged using the inertial sensors (Hol 2011). Loosely coupled approach represents the most popular integration approach where trusted system measurements are used for other system errors correction (Gianluca et al. 2017). KF represents the widely used real-time fusion algorithm where its output is used to correct the estimated inertial data (Vinh 2017). The system model with its initial conditions and noise characteristics must be defined in advance for KF realization. In practical situations, a precisely defined model is unrealistic because it violates the statistical distributions assumptions due to noise description and system models uncertainties (Chen et al. 2013). Consequently, the estimation error is accumulated with time. Practically, KF optimality is limited to linear systems whereas for nonlinear systems, linearization is an acceptable solution in case of high-end IMU usage where the nonlinear residuals are discarded. In the case of MEMS IMUs, linearization becomes a source of errors as these errors are nonlinear and highly correlated which violate the KF stationary and whitening assumptions of errors. These problems become significant in the case of GPS signals unavailability where MEMS inertial solution generates large errors. Different approaches were developed to overcome the MEMS based inertial sensor problems in case of its integration with GPS. Reduced inertial sensor system (RISS) was developed for vehicles navigation to limit the number of the used inertial sensors (Atia et al. 2014). This limitation reduces the uncompensated errors inherent in the full IMU; mostly associated with gyros; which are grown rapidly during 3D INS mechanization integration process. This was explained in (Noureldin et al. 2013), where gyro uncompensated errors produce an angle error leads to positional error proportional to t3. Meanwhile, calculation of pitch and roll from accelerometers measurements leads to positional error reduction as it becomes proportional to t2. Augmentation of KF with nonlinear techniques to model RISS nonlinear residual errors was introduced to estimate the nonlinearities during GPS outage (Zhang et al. 2015; Ismail et al. 2016). Among these techniques, FOS is one of the recently adopted algorithms that could be used as nonlinear system identification technique. Different approaches were introduced to use FOS models in order to bridge GPS unavailability and achieve more accurate navigation system (Zhi et al. 2011; Zhi 2012; Tamazin et al. 2013). Such techniques focus on using KF as an estimator for the sensor linear errors which represent the candidates for adopted FOS to model sensor nonlinear errors. Looking closely on such approach, we figured out that FOS model discards the uncertainties of KF output due to the lack of KF update resulting from the shortage of GPS information. Moreover, the KF is considered a non-adaptive filter because it uses a constant state model and its accuracy degrades quickly when it loses GPS updates. In addition, sometimes FOS fails to select candidates that can define the model.

Some researchers tried to solve the above problems by modeling GPS data during its availability. The achieved model estimates GPS signals during its outage to virtually aid integration filter to develop more accurate navigation results and overcome updating shortage. Employing mechanized inertial velocities as model candidates, support vector machine (SVM) was proposed to model GPS velocities to provide its estimates for unscented KF updates during GPS denied conditions (Jiang et al. 2013; Xu et al. 2012). SVM has been used widely as a regression algorithm for both linear and nonlinear modeling but this approach neglects that the filter is derived by errors which may lead to a growth of the overall system errors. SVM is able to define a model based on small training data (Xu et al. 2012) with little training time and hence it is suitable for real time implementation. It shows robustness against overfitting problems (Jiang et al. 2013) and does not need priori knowledge of the noise model.

In this paper, we consider a hybrid model which employs SVM to model the KF output that represents the linear error and FOS used as AR modeling algorithm to model the nonlinear errors. Several candidate sets were checked with SVM to get the best-trained model that could replace KF during GPS denied conditions. In addition, based on the AR concept, the calculated nonlinear azimuth error is delivered to FOS. Once the GPS signally denies, the algorithm starts to run both models in the prediction phase. SVM begins to estimate the linear azimuth error instead of KF while FOS auto regressively estimates its nonlinear error.

Experimental results show that SVM can replace KF to predict azimuth linear error in case of GPS outage and FOS succeeded to model azimuth nonlinear errors. We compared the proposed hybrid modeling approach with respect to the KF and augmented KF/FOS approaches. Positional root-mean-square error (RMSE) is used as the measuring parameter in our comparison.

The rest of the paper is organized as follows: GPS/RISS integrated system is briefly reviewed in Section II while section III provides a background on the modeling algorithms used in our proposed hybrid algorithm. The proposed system architecture is depicted in Section IV while the experimental work and the results are discussed in Section V followed by a conclusion in Section VI.


Throughout this paper, the following notations are adopted: small letters with over line represent vectors and with hat represent the predicted values.

GPS/RISS integrated system

The RISS essential goal is to provide a good functioning navigation solution with reduced cost. Cost reduction achieved through MEMS usage while limiting the number of used sensors is one of the RISS short ways for error minimization (Iqbal et al. 2008). A vehicular navigation solution was introduced in (Georgy et al. 2010) using 3D GPS/RISS loosely coupled integration scheme. Sole gyro vertically aligned with the vehicle body frame and two accelerometers pointed in the vehicle’s forward and transverse directions together with the built-in odometer or mounted wheel speed sensor form the 3D RISS as shown in Fig. 1. Besides lower cost as a result for usage of fewer inertial sensors for 3D RISS, it has two main advantages over a full IMU. These advantages are represented in the usage of accelerometers for roll and pitch calculations instead of gyros, and the calculation of velocity based on wheel speed sensor instead of accelerometers. Superiority of these calculations in attitude and position error reduction is detailed in (Noureldin et al. 2013). This left the vertically aligned gyro as the only main remaining source of error in RISS, and can be limited through appropriate modeling of its stochastic drift (augmented KF-FOS and our hybrid SVM-FOS). Assuming the vehicle mostly remains in the horizontal plane, the speed sensor measurement is used to obtain the vehicle’s speed (V V ) and its heading is deduced from the gyroscope reading. Based on these values, the velocities along the east direction (Ve) and the north direction (Vn) are derived to enable tracking of longitude and latitude.

Fig. 1
figure 1

Configuration of 3D RISS

The vehicle’s pitch angle (β) represents the angle it makes with respect to the ground level and its roll angle (γ) represents its rotation about the longitudinal axis. Based on the vehicle’s actual acceleration (aV), transversal accelerometer measurement (fx), forward accelerometer measurement (fy) and vertical gyro measurement (ωz) the off-plane motion can be estimated and consequently compensate tilt errors to obtain accurate azimuth calculation. Pitch and roll angles can be obtained as follows (Karamat et al. 2014):

$$ \beta ={\sin}^{-1}\left(\frac{f_y-{a}_V}{g}\right) $$
$$ \upgamma =-{\sin}^{-1}\left(\frac{{\mathrm{f}}_{\mathrm{x}}+{\mathrm{V}}_{\mathrm{V}}{\upomega}_{\mathrm{z}}}{\mathrm{gcos}\upbeta}\right) $$

where g represents the gravity acceleration.

To obtain the azimuth (A z ), a compensation for vertical inclination and the effect of the Earth’s angular rate (ω e ) should be performed to compute the vehicle azimuth relative to the north direction. The derivation of this compensation was discussed deeply in (Noureldin et al. 2013). In our algorithm, we use the following relation to compute the azimuth:

$$ \dot{A_z}=-\left({\omega}_z-{\omega}_e\sin \varphi -\frac{V_e\tan \varphi }{R_N+h}\right)\kern4em $$

where φ is the latitude, h is the elevation, and R N represents the normal radius of the Earth’s ellipsoid curvature. The negative sign in the above equation is due to using of ENU frame. The second term represents the compensation for Earth’s rotation. Meanwhile, the third term represents the compensation of the local level vertical misalignment. Then, the velocity components along the east, and north axes beside vertical velocity (V u ) can be obtained as:

$$ \left[\begin{array}{c}{V}_e\\ {}{V}_n\\ {}{V}_u\end{array}\right]=\left[\begin{array}{c}{V}_V\mathit{\sin}{A}_z\mathit{\cos}\beta \\ {}{V}_V\mathit{\cos}{A}_z\mathit{\cos}\beta \\ {}{V}_V\mathit{\sin}\beta \end{array}\right] $$

The position components including latitude, longitude (λ), and elevation can be computed according to (5) taking into consideration that RM represents meridian radius of the Earth’s ellipsoid curvature.

$$ \left[\begin{array}{c}\dot{\varphi}\\ {}\dot{\lambda}\\ {}\dot{h}\end{array}\right]=\left[\begin{array}{ccc}0& {\left({R}_M+h\right)}^{-1}& 0\\ {}{\left(\left({R}_N+h\right)\cos \varphi \right)}^{-1}& 0& 0\\ {}0& 0& 1\end{array}\right]\left[\begin{array}{c}{V}_e\\ {}{V}_n\\ {}{V}_u\end{array}\right] $$

Equations for 3D RISS, well derived in (Georgy et al. 2010), show that IMU with this reduced sensors number together with vehicle speed sensor is capable of producing vehicle’s complete navigation solution. A simplified block diagram for 3D RISS mechanization is shown in Fig. 2.

Fig. 2
figure 2

3D RISS mechanization algorithm

The 3D RISS uses two accelerometers instead of gyros to obtain pitch and roll angles. In fact, accelerometers generate less error than gyros as shown in (6) where the relation between the accumulated position error over time and some inertial error parameters is presented. These inertial parameters include mechanization without any provided corrections over Δt time period.

$$ \delta p(t)=\delta p\left({t}_0\right)+\delta V\left({t}_0\right)\Delta t+\delta {b}_a\left({t}_0\right)\frac{\Delta {t}^2}{2}+\delta {b}_g\left({t}_0\right)g\frac{\Delta {t}^3}{6}+\delta {\theta}_{r,p}\left({t}_0\right)g\frac{\Delta {t}^2}{2}+\dots +\delta {\theta}_A\left({t}_0\right)V\Delta t+{\delta}_{SFa}\left({t}_0\right)\frac{\Delta {t}^2}{2}+{\delta}_{SFg}\left({t}_0\right)g\frac{\Delta {t}^3}{6} $$

where δp(t) is the positional error drift after time (t) with initial value δp(t0), δV(t0) is the initial velocity error, b a (t0) and δ SFa (t0) are the initial accelerometer offset bias and scale factor error respectively, δb g (t0) and δ SFg (t0) are the initial gyro offset bias and scale factor error respectively. δθr, p(t0) and δθ A (t0) are the initial non-orthogonality error due to the roll/ pitch and azimuth errors respectively. V is the average velocity during time period Δt. As the residual gyro errors are multiplied by the cube of the time interval, it produces the largest positional drift over time. KF integration with GPS provides the corrections needed to reduce the inertial errors but during its denied conditions the errors problem remains the same. Estimation of nonlinear errors can be used to limit its rapid accumulation during GPS outage periods.

Velocity calculations also provide a further improvement in RISS since it uses speed sensor reading as a replacement for accelerometers. Velocity calculation based on accelerometers introduces velocity error proportional to t and position error proportional to t2 (Karamat et al. 2014). On the other hand, velocity calculations based on speed sensor need only single usage of integration, which finally improves the position error. The same relations are applicable during GPS outage periods, where the error will be related to the square of the outage period in case of accelerometers based calculations. So, the azimuth errors are the main source of errors in 3D RISS due to its vertically aligned gyro. Errors nonlinear estimation is one of the methods that can be used to limit its rapid accumulation during GPS outage periods. In the meanwhile, providing solutions for KF aiding during outage periods enhance its estimation capabilities.

KF implementation needs identification for system error model. RISS error state vector composed of position errors (δφ, δλ, δh), velocity errors (δVe, δVn, δVu), azimuth error (δAz), and sensors error (δaV, δωz). These errors can be represented as differential equations through application of Taylor series approximation of RISS mechanization equations. The error model can be described as follows (Noureldin et al. 2013):

$$ \left[\begin{array}{c}\delta \dot{\varphi}\\ {}\delta \dot{\lambda}\\ {}\delta \dot{h}\end{array}\right]=\left[\begin{array}{ccc}0& {\left({R}_M+h\right)}^{-1}& 0\\ {}{\left(\left({R}_N+h\right)\cos \varphi \right)}^{-1}& 0& 0\\ {}0& 0& 1\end{array}\right]\left[\begin{array}{c}\delta {V}_e\\ {}\delta {V}_n\\ {}\delta {V}_u\end{array}\right]+\left[\begin{array}{c}\Delta {V}_e\\ {}\Delta {V}_n\\ {}\Delta {V}_u\end{array}\right] $$
$$ \left[\begin{array}{c}\delta {\dot{V}}_e\\ {}\delta {\dot{V}}_n\\ {}\delta {\dot{V}}_u\end{array}\right]=\left[\begin{array}{ccc}\sin {A}_z\cos \beta & {a}_V\cos {A}_z\cos \beta & 0\\ {}\cos {A}_z\cos \beta & -{a}_V\sin {A}_z\cos \beta & 0\\ {}\sin \beta & 0& {a}_V\cos \beta \end{array}\right]\left[\begin{array}{c}{\delta a}_V\\ {}{\delta A}_z\\ {}\delta \beta \end{array}\right]+\left[\begin{array}{c}{\Delta a}_V\\ {}{\Delta A}_z\\ {}\Delta \beta \end{array}\right] $$
$$ \delta {\dot{A}}_z=\delta {\omega}_z+\Delta {A}_z\kern9em $$

where Δ(.) represents the corresponding higher order errors.

Since proposed system has a GPS, so its measurement can be used for initialization process. Unless starting point is priori known, GPS position is used for initialization. The velocity vector is initialized by zero if the vehicle is stationary during initialization process. Otherwise, in dynamic conditions, the GPS velocity measurement is used to initialize the velocity vector.

In the meanwhile, the attitude alignment is performed in two steps. The platform is leveled by pitch and roll angle initialization, then gyro-compassing is used to initialize heading or azimuth. When the vehicle is stationary, the accelerometers measure gravity components owing to the horizontal plane tilt by pitch and roll. The accelerometers measurements in the body frame for the full IMU can be described as:

$$ \left[\begin{array}{c}{f}_x\\ {}{f}_y\\ {}{f}_z\end{array}\right]={R}_l^b\left[\begin{array}{c}0\\ {}0\\ {}g\end{array}\right]={\left({R}_b^l\right)}^T\left[\begin{array}{c}0\\ {}0\\ {}g\end{array}\right]=\left[\begin{array}{c}-g\cos \beta \sin \gamma \\ {}g\sin \beta \\ {}g\cos \beta \cos \gamma \end{array}\right]\kern7.75em $$

Where \( {R}_b^l \)represents the rotation matrix used in transformation from body frame to local-level frame. Since only two accelerometers are used in RISS (x and y), then the pitch and roll can be defined as:

$$ \beta ={\sin}^{-1}\frac{f_y}{g}\kern4.25em $$
$$ \gamma ={\sin}^{-1}\frac{-{f}_x}{g\ \cos \beta}\kern2.5em $$

Gyro-compassing depends on the gyro measurement due to Earth’s rotation rate to initialize azimuth. Since MEMS noise threshold exceeds the signal of the Earth’s rotation, so this approach is not feasible (Noureldin et al. 2013). The solution to this problem is achieved through the usage of the east and north velocities supplied by GPS after the platform has started to move. This solution is feasible since the pitch and roll are calculated as separate quantities. The azimuth can be defined in this case as:

$$ {A}_z^{GPS}={\tan}^{-1}\frac{V_e^{GPS}}{V_n^{GPS}}\kern5.75em $$

Modeling algorithms

Support vector machine (SVM)

On the basis of the theory of the statistical learning, SVM is proposed as a general machine learning method to map the input data space using a kernel function to a high- dimensional space (Wei et al. 2011). Structural risk minimization principles are used in its implementation that results in superior performance in regression problems as well as classification technique. SVM training is achieved through solving of quadratic programming problem; leading to a unique global optimum solution using inner products and kernel functions.

Assuming that the training data set \( D=\left\{\left({\overline{a}}_1,{b}_1\right),\left({\overline{a}}_2,{b}_2\right),\dots .,\left(\overline{a_l},{b}_l\right)\right\}\subset {R}^n\times R \), where \( {\overline{a}}_i,{b}_i \) represent the input vector, and target value (output) respectively, with (l) training set length. The SVM regression task is to identify a real valued function f(a) used to estimate the output (b) for any input vector (\( \overline{a} \)). To achieve this scenario, the solution algorithm performs the regression in a high dimensional space F based on a nonlinear mapping Φ to map the input vector (\( \overline{a} \)) into that space. The function can be described as:

$$ f(a)={W}^T\varPhi (a)+c;\varPhi :{R}^n\to F,W\in F $$

where W and c are unknowns. To satisfy structure risk minimization concept, SVM selects non-negative upper and lower training errors ξi and \( {\upxi}_{\mathrm{i}}^{\ast } \) respectively. With regression accuracy coefficient (ε), and penalty factor (s) which determines the tradeoff between the flatness and training error, the convex constrained optimization problem can be described as:

$$ \underset{W,c,\xi, {\xi}^{\ast }}{\min}\kern0.75em \frac{1}{2}{W}^TW+s\sum \limits_{i=1}^l\left({\xi}_i+{\xi}_i^{\ast}\right) $$
$$ S.T.\left\{\begin{array}{c}{b}_i-\left[{W}^T\Phi \left({a}_i\right)+c\right]\le \varepsilon +{\xi}_i\\ {}\left[{W}^T\Phi \left({a}_i\right)+c\right]-{b}_i\le \varepsilon +{\xi}_i^{\ast}\end{array}\right. $$

where i = 1,2,…,l. Constructing Lagrange function (L) as the dual formulation with nonnegative Lagrange multipliers v i , η i  for the primal problem in (15) can be described as (Kaytez et al. 2015):

$$ L=\frac{1}{2}{W}^TW+s\sum \limits_{i=1}^l\left({\xi}_i+{\xi}_i^{\ast}\right)-\sum \limits_{i=1}^l\left({\eta}_i{\xi}_i+{\eta}_i^{\ast }{\xi}_i^{\ast}\right)-\sum \limits_{i=1}^l{\nu}_i\left\{\varepsilon +{\xi}_i+{b}_i-\left[{W}^T\Phi \left({\overline{a}}_i\right)+c\right]\right\} $$
$$ -\sum \limits_{i=1}^l{\nu}_i^{\ast}\left\{\varepsilon +{\xi}_i^{\ast }+{b}_i-\left[{W}^T\Phi \left({\overline{a}}_i\right)+c\right]\right\} $$

Based on both Karush-Kuhn-Tucker (KKT) conditions to identify parameters ν and c in (16), and the Mercer’s theorem to use kernel function \( K\left(\overline{a_i},\overline{a_j}\right) \)in simplification, the final approximated solution can be given by:

$$ f\left(\overline{a}\right)=\sum \limits_{i=1}^l\left({\nu}_i-{\nu}_i^{\ast}\right)K\left(\overline{a_i},\overline{a_j}\right)+c $$

There are many types of kernel functions that may be used and appropriate kernel selection enhances the model estimation accuracy.

In this paper, SVM is employed to model the linear azimuth error estimated by KF using mechanized data as model input. Gaussian radial basis function (RBF) is selected as kernel function because it gives an acceptable accuracy with less difficulty for its implementation (Kaytez et al. 2015). To achieve that, \( f\left(\overline{a}\right) \) in (13) will represent linear azimuth error and \( \overline{a_i} \) represent the model input data set at time instant i. The training results using different data sets as model input are discussed in the experimental results section.

Fast orthogonal search (FOS)

FOS (Korenberg 1989) is employed in this work to model the significant nonlinear azimuth error of RISS gyro. Improving RISS azimuth calculation inside mechanization algorithm during GPS denied conditions was the motive behind the nonlinear azimuth error model development based on FOS with its high-resolution estimation capabilities. Based on a weighted sum of M linear or nonlinear arbitrary basis functions p m (n), FOS is an identification technique that approximates system’s output (Tamazin et al. 2016). Weighting coefficients k m are identified targeting for minimization of the mean square error (e2(n)) between the real system output y(n) and its estimate \( \widehat{y}(n) \). The constructed model takes the form:

$$ y(n)=\sum \limits_{m=1}^M{k}_m{p}_m(n)+e(n) $$

FOS selects M most significant functions which greatly reduce the mean square error (MSE) through iteratively searching N available candidate basis functions. FOS algorithm employs Gram-Schmidt (GS) orthogonalization principals to identify orthogonal candidates qm(n) generated from p m (n) function, and coefficients g m (n) to quantify the error reduction. GS usage produces a new orthogonal set, and the model takes the form:

$$ y(n)=\sum \limits_{m=1}^M{g}_m{q}_m(n)+e(n)=\widehat{y}(n)+e(n) $$

FOS reduces the time consumed for orthogonal functions definition and the required memory through its implicit determination using GS coefficients, which are calculated using time averaging instead of point-by-point computation (Korenberg 1989). The original weights k m can be identified from the orthogonal expansion weights and GS coefficients. The FOS iterative process for orthogonal functions identification is stopped when the error of the model is less than an acceptable value. Because the FOS orthogonal candidates are not computed directly, models development is extremely fast. Further details of FOS algorithm calculations can be found in (Korenberg 1989).

In this paper, modeling the nonlinear azimuth error is the task assigned to the FOS algorithm. As shown in Fig. 3, the autocorrelation function (ACF) for the nonlinear azimuth errors demonstrates high correlation throughout the whole test track. So, unlike approaches (Zhi et al. 2011; Zhi 2012; (Tamazin et al. 2013) for modeling of nonlinear azimuth errors, AR concept is employed to use candidates represent the previously calculated nonlinear azimuth errors. This approach reduces the uncertainty of using KF output as candidates since during GPS outage it will not be so accurate due to the lack of GPS updates. The modeled nonlinear azimuth error at training instant i will be represented by y(n) in (18) while p m will represent the model candidates constructed from the previous nonlinear azimuth error (m = 1,…, i-1).

Fig. 3
figure 3

ACF for nonlinear azimuth error of real track


Proposed hybrid error modeling

Augmented KF-FOS approaches discussed in (Zhi et al. 2011; Zhi 2012; Tamazin et al. 2013) are based on FOS to model the nonlinear azimuth errors. These approaches used the linear errors estimated by KF as candidates for the model. During model training, the output of KF is delivered to FOS to build the nonlinear model. During GPS outage, the linear errors required for the model to estimate the nonlinear errors are delivered from KF in prediction mode with a lack of its GPS updates. These approaches result in models with associated uncertainties which affect the positioning accuracy.

To reduce the position error of the GPS/RISS integrated system, an SVM-FOS hybrid modeling algorithm is proposed to model individually KF output and azimuth residual nonlinear errors. The idea behind this proposal is to isolate the influence of the unaided KF output on the final navigation results during GPS outage. This achieved through the usage of SVM to model the KF output during its GPS aiding and replacing KF during GPS unavailability. In the meanwhile, FOS is used to model the nonlinear azimuth error based on the AR concept to be estimated in case of GPS outage. Keeping in mind that the KF output represents the linear error, this approach enables the model to estimate both linear and nonlinear errors without using KF prediction in case of GPS outage. The block diagram of the proposed approach is shown in Fig. 4.

Fig. 4
figure 4

Hybrid SVM-FOS proposed approach during GPS availability

Through GPS availability, the integrated system provides trusted navigation information. A sliding window is used to continuously provide training data for both modeling algorithms. Once GPS terminates aiding KF for any reason, models training are stopped and estimation configuration starts its mission. SVM models the KF output (\( \delta {A}_z^{KF} \)) which represents linear azimuth error, while the FOS models the true nonlinear azimuth error (∆A z ). ∆A z can be identified through calculations based on mechanized azimuth (\( {A}_z^{mec} \)), GPS aiding azimuth (\( {A}_z^{GPS} \)) and the KF predicted azimuth which represents the linear azimuth error as follow:

$$ \Delta {A}_z={A}_z^{mec}-{A}_z^{GPS}-\delta {A}_z^{KF} $$

GPS aiding azimuth (\( {A}_z^{GPS} \)) is obtained by incorporating GPS east and north velocity components (\( {V}_e^{GPS},{V}_n^{GPS} \)) (El-Sheimy et al. 2010). It is measured from north direction, and can be calculated as in (13).

The lever arm between the GPS antenna and the IMU must be compensated before GPS azimuth determination to improve the obtained azimuth accuracy. To achieve stable GPS velocity derived azimuth with reasonable accuracy, a constrained azimuth algorithm must be used to overcome the numerical problems encountered during low dynamics as denominator approaches zero (Huang et al. 2007). The obtained azimuth supposed to be in the interval (−π, π). Also, the algorithm takes care if zero forward velocity is sensed (e.g., during ZUPT).The accuracy of the calculated azimuth depends on the GPS receiver accuracy in velocity determination. In our experiment, Ublox GPS receiver chipset was used, which already provide heading information. According to its data sheet, the heading accuracy is 0.5 degrees and velocity accuracy is 0.1 m/s.

Three candidates sets were checked and compared to obtain more accurate SVM model for \( \delta {A}_z^{KF} \): SVM1 contains only \( {A}_z^{mec} \), SVM2 adds mechanized velocities (V e , V n ) with \( {A}_z^{mec} \) while SVM3 contains angular rate ω z  and mechanized velocities (V e , V n ). Mechanized velocities are proposed as candidates because azimuth is in direct relation with their values as seen in (3). The third option SVM3 is selected because it got the best training results as shown in the next section. FOS training depends on delivering the calculated ∆A z as proposed candidates to construct the model.

Once GPS outage occurred, the proposed system enters the prediction phase and the algorithm freeze the obtained models. Figure 3 illustrates the architecture of the system in this phase. The input data still delivered to the SVM model to estimate the KF output as the linear azimuth error (\( \delta {\widehat{A}}_z^{KF} \)). FOS model starts to predict the nonlinear azimuth error (\( \Delta {\widehat{A}}_z \)), delivered it to the algorithm and feed it back to the model. This estimated error used to update the data in the model input buffer to use it in the next epoch. The corrected azimuth estimation (\( {A}_z^{\ast } \)) is calculated as:

$$ {A}_z^{\ast }={A}_z^{mec}-\delta {\widehat{A}}_z^{KF}-\Delta {\widehat{A}}_z $$

This estimated azimuth is delivered with speed sensor measurement to another mechanization algorithm (INS mechanization II in Fig. 5) to calculate the corrected navigation data.

Fig. 5
figure 5

Hybrid SVM-FOS proposed approach during GPS outage

Because our proposal does not depend on the KF output during GPS blockage, the KF remains working in the background in the prediction configuration without any GPS updates. During GPS updates, KF linearized model dependence on a linear stochastic model for the sensor error such as Gauss Markov model does not affect the system accuracy. The KF prediction works in the background enables the system to accelerate the KF convergence after reacquisition of GPS aiding signal.

Results and discussions

A road test is used to evaluate the performance of the proposed navigation solution. This data set was supplied by navigation and instrumentation lab; royal military college of Canada RMC; where the experiment was performed between Kingston and Toronto. Vehicle’s speed obtained from its odometer reading and logged in through on-board diagnostic version II (OBD II) interface to CarChip device with 1 Hz sampling rate. Vehicle’s azimuth measurement obtained from the vertical angular rate measurements delivered from gyroscope of Crossbow MEMS grade IMU300CC-100. To evaluate the system performance, G2 Pro-Pack SPAN unit provided by NovAtel is employed to deliver a reference navigation solution. Validation of the overall performance of the proposed system is achieved through comparing it with the reference solution. The proposed system is evaluated during an offline running of the collected data of testing track shown in Fig. 6 which illustrates the reference track in GPS visualizer tool. Ten GPS data blockage periods with 60 s long were virtually implemented during post processing to enable position accuracy evaluation of the proposed system. The blockage periods cover all the possible navigation conditions such as turns, slopes, different speeds, stops and straight portions.

Fig. 6
figure 6

Testing track indicating GPS blockage periods with zooming on outage #7 and 10

The estimated navigation solution using our proposed SVM-FOS hybrid approach is compared to FOS solution proposed in (Zhi et al. 2011) in addition to conventional KF integration approach based on the positional RMSE of each approach compared to the reference solution. As mentioned above, augmented KF-FOS approach enhances the azimuth accuracy and obtains better performance than using KF only.

Aiming to get a more accurate model for KF during SVM training in our proposed system implementation, different sets of candidates were investigated to select the best performance. Since SVM is based on statistical learning theory, then adding more candidates develops more robust models especially when these candidates describe more information about the fitting parameter. All the training periods for the implemented outages were examined to conclude the required results. The preferable training results among them obtained from the third model SVM3, as shown in Figs. 7 and 8 which compare the different models output with the KF output as modeled data. It is clear that SVM3 model followed the variation of the modeled data and got the least error between the obtained model and the real data. So, the best results delivered by SVM3 may be referred to the more informative candidates that are used to describe the linear azimuth error (Atia et al. 2014). All of the selected candidates in SVM3 (ve, vn, wz) are chosen because they are in direct/indirect relations with the linear azimuth error. After credence of SVM3 option, it is selected to be used by the proposed solution.

Fig. 7
figure 7

Outage #5 SVM model training output compared to the real KF output

Fig. 8
figure 8

Outage #7 SVM model training output compared to the real KF output

Two FOS models for nonlinear azimuth error are compared to the real data. Our SVM-FOS proposal with its usage of AR concept to construct the nonlinear error model is compared to KF-FOS augmented approach which uses KF estimated linear error as model candidates (Zhi et al. 2011). As shown in Fig. 9 SVM-FOS achieved better training performance than KF-FOS and in Fig. 10 KF-FOS failed to select candidates to identify the model, while SVM-FOS approach succeeded to define the model. The comparison declares that proposed approach did not fail to identify model candidates in any outage. This achievement indeed helps to suppress the azimuth error and result in better position accuracy.

Fig. 9
figure 9

Training output of different approaches for FOS implementation during outage #1

Fig. 10
figure 10

Training output of different approaches for FOS implementation during outage #5

The overall performance of our proposal is compared with the other approaches based on their positional RMSE as shown in Fig. 11. The results show that SVM-FOS proposed approach achieves better accuracy in positioning which means enhancement of the navigation solution. The results shows that the proposed algorithm RMSE may be comparable to augmented KF-FOS approach, but exploring the results closely confirm that proposed approach succeeded to suppress some peak errors as in outage #2 and #3.

Fig. 11
figure 11

Comparison of positional RMSE for different approaches

The system overall performance shows the significance of the azimuth error and its effect on the position error, and how the nonlinear residual errors have a great effect in case of MEMS usage. Dealing with common KF integration approach with MEMS inertial sensors result in a system suffering from drifts. The proposed hybrid SVM-FOS error model succeeded in replacing KF during GPS outage to estimate linear error based on SVM model. In the same time, FOS with AR concept gives a stable model for nonlinear azimuth error.

The average position RMSE during GPS outages achieved by our proposed hybrid model is 6.2 m compared to 28.8 m average RMSE obtained using approach. Comparing our proposal with respect to augmented KF-FOS approach results in about 2.7 m achieved reduction of its average positional RMSE. In the meanwhile, the high RMSE associated with KF solution explains the significant effect of the nonlinear errors when MEMS inertial sensors are used.

The system performance during seventh and tenth outages presented in the zoomed portions of Fig. 5 proves the promising behavior of the proposed approach. Comparing the system performance to the KF with respect to the reference track shows the enhanced position accuracy. Also, it is consistent with the theoretical expectations regarding the significant growth of the azimuth errors at high speeds and speed variations since the azimuth is related to velocities as showed in Eq. (4). Fig. 12 shows the vehicle’s velocities during these outages. In outage #7, the vehicle stopped for more than 30 s and then started to acquire acceleration with a hard turn to reach high speed in short time. Our hybrid modeling approach achieved more than 77% reduction in RMSE than KF approach. Whereas during outage # 10, the vehicle experienced slight turn with different changes in its speed. The KF positional RMSE during this outage is reduced more than 94% when the hybrid model approach is used.

Fig. 12
figure 12

Vehicle north and east velocities during outages #7 and #10 respectively

Moreover, augmented KF-FOS approach failed to select candidates for the model in outages #2, #5, #7 and #8. Our proposal identifies the nonlinear model candidates during these outages and achieved about 11% reduction in positional RMSE than augmented KF-FOS approach.

Since our proposed algorithm uses a hybrid of two modeling techniques (FOS –SVM) then its time and memory complexity will be more than KF or augmented KF-FOS algorithms. To evaluate the computing efficiency, a real-time implementation of proposed algorithm must be deployed on a digital signal processor, which is the subject of future researches. However, we discussed the time complexity of our proposal as a rational factor (percentage) with respect to using augmented KF-FOS algorithm in offline processing. This may give rough information about the expected increase in the processing time for real time system.

Our proposed algorithm takes 10.97% more time than KF-FOS, which is acceptable in our situation. After deploying real-time system, parallel processing may be used which may offers more time reduction.


KF is an acceptable estimator for linear errors but due to inherent nonlinear errors of MEMS and its highly varied output, KF only is not suitable for error compensation in MEMS gyro. Low cost GPS/RISS integrated system offered an error minimization approach with its usage of limited number of inertial gyros. KF augmented with FOS solutions showed some enhancements in the navigational accuracy but it neglects the dependency of the KF output on its linear and non-adaptive state error model. In this paper, we proposed a hybrid error model which utilizes both SVM and FOS approaches to estimate and eliminate the errors of MEMS gyro with no need to use KF output during GPS outages. It succeeded to minimize the positional RMSE during GPS outages independently on KF uncertainties. Moreover, employing AR approach with FOS showed good results in candidates’ selection and model accuracy.

The test results agreed with theoretical expectations and demonstrated the promising performance of the proposed algorithm during periods of GPS blockage where it achieved more than 75% positional RMSE reduction. Also, the proposed algorithm showed advantage over the augmented KF-FOS fusion technique by achieving better accuracy and offered 30% reduction in the positional RMSE.


  • Angrisano A, Petovello M, Pugliano G (2012) Benefits of Combined GPS/GLONASS with Low-Cost MEMS IMUs for Vehicular Urban Navigation. Sensors 12(4): 5134-5158.

  • Atia M, Noureldin A, Korenberg M (2014) Nonlinear error modeling of reduced GPS/INS vehicular tracking systems using fast orthogonal search. In: Proceeding of 3rd International conference on advances of vehicular systems (IARIA), Seville (Spain), pp 16–21. ISSN: 2327-2058

  • Chen X, Shen C, Zhang W, Tomizuka M, Xu Y, Chiu K (2013) Novel hybrid of strong tracking Kalman filter and wavelet neural network for GPS/INS during GPS outages. Measurement 46(10):3847–3854

    Article  Google Scholar 

  • El-Sheimy N, Aggarwal P, Syed Z, Noureldin A (2010) Initial alignment of inertial sensors. MEMS-based integrated navigation. Artech House 2010:63–83

    Google Scholar 

  • Georgy J, Noureldin A, Korenberg M, Bayoumi M (2010) Low cost three dimensional navigation solution for RISS/GPS integration using mixture particle filter. IEEE Trans on Vehicular Technology 59(2):599–615.

    Article  Google Scholar 

  • Gianluca F, Pini M, Marucco G (2017) Loose and tight GNSS/INS integrations: comparison of performance assessed in real urban scenarios. Sensors 17(2):255.

    Article  Google Scholar 

  • Hol JD (2011) Sensor fusion and calibration of inertial sensors, vision, ultra-wideband and GPS. Ph.D. dissertation. Linkping University, Sweden. ISBN 978-91-7393-197-7

  • Huang Y, Yuan Li C, Wu H, Changa H, Hu H, Chianga K (2007) Improving the attitude accuracy of a low cost MEMS/GPS integrated system using GPS heading sensors. In ISPRS Archives 36:5–11

    Google Scholar 

  • Iqbal U, Okou AF, Noureldin A (2008) An integrated reduced inertial sensor system-RISS/GPS for land vehicle. In: Proceeding of position, location and navigation symposium IEEE/ION, Monterey. pp 1014–1021.

  • Ismail M, Abdelkawy E, Zeidan N (2016) Modeling of nonlinear errors for integrated GPS/MEMS based INS navigation systems. In: proceeding of the 29th international technical meeting of the satellite division of the Institute of Navigation (ION GNSS+ 2016), Portland, pp 3598–3606

  • Jiang Z, Liu C, Zhang G, Wang Y, Huang C, Liang J (2013) GPS/INS integrated navigation based on UKF and simulated annealing optimized SVM. In: Proceeding of IEEE 78th vehicular technology conference, Las Vegas, pp 1–5.

  • Karamat T, Atia MM, Noureldin A (2014) An enhanced 3D multi-sensor integrated navigation system for land-vehicles. J Navig 67(4):651–671

    Article  Google Scholar 

  • Kaytez F, Taplamacioglu MC, Cam E, Hardalac F (2015) Forecasting electricity consumption: a comparison of regression analysis, neural networks and least squares support vector machines. Int J Electr Power Energy Syst 67:431–438

    Article  Google Scholar 

  • Korenberg M (1989) A robust orthogonal algorithm for system identification and time-series analysis. Biol Cybern 60(4):267–227

    Article  Google Scholar 

  • Noureldin A, Karamat T, Georgy J (2013) Three-dimensional reduced inertial sensor system/GPS integration for land-based vehicles. Fundamentals of inertial navigation, satellite-based positioning and their integration, Springer Science & Business Media 2013:273–296

    Article  Google Scholar 

  • Poshtan J, Wagner A, Nordheimer E, Badreddin E (2014) Cascaded Kalman and particle filters for photogrammetry based gyroscope drift and robot attitude estimation. IEEE ISA transactions 53(2):524–532

    Article  Google Scholar 

  • Tamazin M, Noureldin A, Korenberg M (2013) Robust modeling of low-cost MEMS sensor errors in mobile devices using fast orthogonal search. Journal of Sensors.

  • Tamazin M, Noureldin A, Korenberg M, Kamel A (2016) A new high-resolution GPS multipath mitigation technique using fast orthogonal search. J Navig 69(4):794–814

    Article  Google Scholar 

  • Vinh NQ (2017) INS/GPS integration system using street return algorithm and compass sensor. Procedia Computer Science 103:475–482

    Article  Google Scholar 

  • Wei G, Li G, Wu Y, Long X (2011) Application of least squares-support vector machine in system-level temperature compensation of ring laser gyroscope. Measurement 44(10):1898–1903

    Article  Google Scholar 

  • Xu Y, Chen X, Li Q (2012) INS/WSN-integrated navigation utilizing LS-SVM and H∞ filtering. Mathematical Problems in Engineering 2012.

  • Zhang B, Hairong C, Tingting S, Jia H, Guo L, Zhang Y (2015) Error prediction for SINS/GPS after GPS outage based on hybrid KF-UKF. Mathematical Problems in Engineering 2015.

  • Zhi S (2012) Nonlinear modeling of inertial errors by fast orthogonal search algorithm for low cost vehicular navigation. Ph.D. dissertation, Queen’s university (Canada).

  • Zhi S, Georgy J, Korenberg M, Noureldin A (2011) Low cost two dimension navigation using an augmented Kalman filter/fast orthogonal search module for the integration of reduced inertial sensor system and global positioning system. Transportation Research Part C: Emerging Technologies 19(6):1111–1132

    Article  Google Scholar 

Download references


No funding is used for this research. This research supports post graduate studies (Ph.D.).

Availability of data and materials

All data generated or analyzed during this study are included in this published article and its supplementary information files.

Author’s contributions

Introduce a new hybrid approach based on support vector machine and fast orthogonal search to model MEMS inertial sensors errors in GPS/INS integrated navigation system. Eliminate the dependency on Kalman filter due to its inherent uncertainty during GPS outage in GPS/INS integrated navigation system. Improve the positional accuracy in GPS/RISS integrated system. Both authors read and approved the final manuscript.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Maged Ismail.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (, which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ismail, M., Abdelkawy, E. A hybrid error modeling for MEMS IMU in integrated GPS/INS navigation system. J. Glob. Position. Syst. 16, 6 (2018).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: