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.
Notation
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.
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) $$
(1)
$$ \upgamma =-{\sin}^{-1}\left(\frac{{\mathrm{f}}_{\mathrm{x}}+{\mathrm{V}}_{\mathrm{V}}{\upomega}_{\mathrm{z}}}{\mathrm{gcos}\upbeta}\right) $$
(2)
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 $$
(3)
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] $$
(4)
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] $$
(5)
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.
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} $$
(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] $$
(7)
$$ \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] $$
(8)
$$ \delta {\dot{A}}_z=\delta {\omega}_z+\Delta {A}_z\kern9em $$
(9)
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 $$
(10)
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 $$
(11)
$$ \gamma ={\sin}^{-1}\frac{-{f}_x}{g\ \cos \beta}\kern2.5em $$
(12)
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 $$
(13)
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 $$
(14)
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. $$
(15)
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\} $$
(16)
$$ -\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 $$
(17)
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) $$
(18)
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) $$
(19)
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).