Keywords

1 Introduction

Obtaining continuous and accurate navigation solutions in any environment is a challenge because GNSS signals are obstructed in environments such as downtowns, tunnels or areas covered with foliage. Integrating the GNSS sensor with another self-contained navigation sensor such as an Inertial Measurement Unit (IMU) becomes necessary in such cases. The advent of IMUs based on micro-electro-mechanical sensors (MEMS) has brought a whole new market of low-cost IMU sensors. MEMS IMU sensors are cheaper by price but also come with some significant in-built errors such as bias, noise and scale factor (Abd Rabbou and El-Rabbany 2015). Shin et al. (2005), Abdel-Hamid et al. (2006), Scherzinger (2000) and many other researchers have all performed integrated navigation of GNSS and MEMS IMU by applying Differential GPS (DGPS) or Real-Time Kinematic (RTK) techniques to improve continuity and accuracy of the navigation solution in the event of GNSS signal outage. Precise Point Positioning (PPP) is an augmentation technique that does not require a local reference station unlike the RTK technique (Zumberge et al. 1997). Precise orbit and clock information is broadcast via satellites or the Internet to the user. The performance accuracy achieved is decimetre- to centimetre-level. The initial convergence time of the PPP technique is minutes to the decimetre-level, which is one of its major drawbacks. PPP is a widely used technique for applications such as marine mapping, crustal deformation, airborne mapping, precision agriculture and construction applications (Seepersad 2012; Aggrey 2015; Aggrey and Bisnath 2017). PPP can be further augmented to reduce convergence period by applying satellite phase biases to obtain integer ambiguities and a priori atmospheric refraction information (Lannes and Prieur 2013; Teunissen and Khodabandeh 2015). This enables a stand-alone user-receiver to achieve RTK-like performance with a shorter convergence period, while limiting dependency on external infrastructure.

In the recent past, researchers have started applying the PPP technique to perform GNSS and MEMS IMU integration which has offered promising outcomes. Abd Rabbou and El-Rabbany (2015) experimented with GPS-PPP integration using a high-end GPS sensor and a MEMS IMU. The study showed decimetre-level accuracy with no GPS signal outages and during a 60 s of signal outage, sub-metre-level accuracies were demonstrated. Liu et al. (2018) conducted a study on integrating a low-cost, single-frequency (SF) GNSS with a MEMS IMU and were able to achieve centimetre- to decimetre-level accuracy with no GNSS signal loss. During a GNSS signal loss of 3 s, the solution performed at the metre level.

The motivation of this research is to assess and analyze the performance of the recently emerging low-cost, dual-frequency (DF) GNSS receivers in the market integrated with a relatively low-cost MEMS IMU. The research questions addressed are: (1) What is the accuracy performance of a low-cost DF GNSS PPP receiver integrated with a MEMS IMU? And (2) What is the accuracy performance of a low-cost DF GNSS PPP receiver integrated with a MEMS IMU during a 30 s GNSS signal outage?

Modern-day applications such as low-cost vehicle autonomy, augmented reality, and pedestrian dead reckoning demand decimetre-level accuracy with low-cost sensors. Therefore, integrated, low-cost, DF GNSS PPP with MEMS IMU has the potential to offer accurate, continuous and precise navigation solution for the next generation of applications which is the objective of this research.

2 Inertial Navigation System

The raw measurements from an IMU, specific force and turn rates, are converted into position, velocity, and attitude using the IMU mechanization process. Known position, velocity and attitude are also inputs to the mechanization. The equation for accelerometer and gyro measurements with errors is as given below in Eqs. (1) and (2) (Farrell 2008).

$$ {\overset{\sim }{f}}^a=\left(I-\delta S{F}_a\ \right)\left({f}^a-\delta {b}_a-\delta n{l}_a-{v}_a\right) $$
(1)
$$ \overset{\sim}{\omega}_{ip}^g=\left(I-\delta S{F}_g\right)\left({\omega}_{ip}^g-\delta {b}_g-\delta {k}_g-{v}_g\right) $$
(2)

\( {\overset{\sim }{f}}^a \) is the actual accelerometer measurement that accounts for all measurement errors, δSFa is the accelerometer scale factor error, δba is the accelerometer bias, δnla is the accelerometer nonlinearity error, va is the measurement noise. \( {\overset{\sim }{\omega}}_{ip}^g \) is the actual gyro measurement accounting for all measurement errors, δSFg is gyro scale factor, δbg is gyro bias, δkg represents gyro g-sensitivity, vg is measurement noise. fa and \( {\omega}_{ip}^g \) are obtained in body-frame. After error compensations are made position and velocity can be calculated using IMU mechanization equations.

There are four main steps to the mechanization process: (1) Attitude update using the turn rates from gyroscopes; (2) reference frame conversion of specific force from body to the intended reference frame; (3) velocity update; and (4) position update.

Figure 1 depicts the IMU mechanization process. The details of mechanization in all the reference frames is explained in Groves (2013). For this research, the Earth-Centred-Earth-Fixed (ECEF) frame of mechanization is used because the range measurements from the GNSS satellites can be used directly in the estimation process. In the Fig.~1, specific force fb from accelerometer and the angular rate \( {\boldsymbol{\omega}}_{\boldsymbol{ib}}^{\boldsymbol{b}} \) from gyroscope are output in body frame. They are converted into the ECEF frame using direction cosine matrices or quaternions. After gravity compensation and Coriolis correction, along with the initial position, velocity and attitude estimates, time integration gives the current position, velocity and attitude.

Fig. 1
figure 1

Block diagram of IMU mechanization process (after Titterton et al. 2004)

Inputs to IMU mechanization are specific force fb and turn rates \( {\omega}_{ib}^b \). Mechanization process including equations are described in detail in (Farrell 2008).

3 GNSS PPP/INS Tightly Coupled Kalman Filter

In this research, a tightly-coupled Extended Kalman Filter (EKF) is used to fuse the GNSS and IMU measurements. In a tightly-coupled integration architecture, raw measurements from the sensors are used, which enables continuous navigation during a GNSS signal outage. The typical error budget for GNSS PPP is listed in Table 1.

Table 1 PPP Error budget (Choy 2018)

The inputs to the complementary Kalman filter are (1) code and phase measurements from a low-cost DF GNSS receiver corrected for atmosphere, relativistic errors and clock and orbit errors using the precise PPP corrections, and (2) predicted code and phase measurements that are formed using the IMU position and velocity with the satellite position and velocity. For this research work, the ionosphere-free (IF) model is used to avoid estimation of the ionosphere, which simplifies the number of states to be estimated. The ambiguities estimated are float only. The mathematical model for IF PPP can be written as (Parkinson and Spilker 1996):

$$ P=\rho +c\left(d{t}_r-d{t}^s\right)+T+c\left({B}_p^r-{B}_p^s\right)+{e}_P $$
(3)
$$ \varphi =\rho +c\left(d{t}_r-d{t}^s\right)+T+c\left({B}_{\varphi}^r-{B}_{\varphi}^s\right)+ N\lambda +{e}_{\varphi } $$
(4)

In Eqs. (3) and (4), dtr and dts are the receiver clock error and satellite clock errors respectively, T is the tropospheric delay, \( {B}_p^r \) and \( {B}_p^s \) are the code bias for receiver and satellite, \( {B}_{\varphi}^r \) and \( {B}_{\varphi}^s \) are the phase bias for receiver and satellite, eP and eφ are the unmodelled errors in pseudorange and carrier phase measurements, and is the ambiguity term between the receiver and satellite on phase measurements.

Figure 2 provides the representation of the EKF integration of the GNSS-PPP and IMU.

Fig. 2
figure 2

Block diagram depicting PPP-INS tightly coupled integration

In Fig. 2, fb, wb are the IMU specific force and turn rate measurements. These measurements are converted into position PIMU, velocity VIMU and attitude AIMU from a known position, velocity and attitude by applying IMU mechanization process. Predicted ρIMU, φIMU are constructed by using the satellite position and velocity, which are corrected by applying the precise orbit and clock corrections. DF code and phase measurements ρGNSS, φGNSS are corrected for typical errors such as the errors mentioned in Table 1. The estimated output from the EKF are the error in IMU position δrn, velocity δvn attitude δεn and biases bg and ba. \( {P}_{IMU}^e,{V}_{IMU}^e\ \mathrm{and}\ {A}_{IMU}^e \) give the final IMU position, velocity and attitude.

The state vector consists of the navigation states, IMU states, and the GNSS only states. Navigation states include position error, velocity error and attitude error. While the inertial states consist of accelerometer and gyroscope biases. The GNSS states estimated are: GNSS receiver clock, as well as drift and the float ambiguity terms. The state vector is represented mathematically in Eq. (5) (Jekeli 2012; Groves 2013, p. 201; Abd Rabbou and El-Rabbany 2015).

$$ \delta x=\left[\delta P\kern0.5em \delta v\kern0.5em \delta \varepsilon \kern0.5em \delta {t}_c\kern0.5em \dot{\delta {t}_c}\kern0.5em {d}_{tropo}\kern0.5em {b}_a\kern0.5em {b}_g\kern0.5em {N}_1\kern0.5em {N}_2\kern0.5em \dots \kern0.5em {N}_n\right] $$
(5)

In the Eq. (5), δP is the 3D position error, δv is the 3D velocity error, δε is the attitude error, δtc GNSS receiver clock error, \( \delta \dot{t_c} \) is GNSS receiver clock drift error, dtropo is the troposphere wet delay, ba and bg are accelerometer and gyroscope bias and Ni float ambiguity of satellite i.

In continuous time, the transition matrix is given by Groves (2013).

$$ F(t)=\left[\begin{array}{ccccc}{0}_{3x3}& {I}_{3x3}& {0}_{3x3}& {0}_{3x3}& {0}_{3x3}\\ {}{F}_{23}^e& -2{\Omega}_{ie}^e& {F}_{21}^e& {C}_b^e& {0}_{3x3}\\ {}{0}_{3x3}& {0}_{3x3}& -{\Omega}_{ie}^e& {0}_{3x3}& {C}_b^e\\ {}{0}_{3x3}& {0}_{3x3}& {0}_{3x3}& {0}_{3x3}& {0}_{3x3}\\ {}{0}_{3x3}& {0}_{3x3}& {0}_{3x3}& {0}_{3x3}& {0}_{3x3}\end{array}\right] $$
$$ {F}_{21}^e=\left[-\left({C}_b^e{f}_{ib}^b\right)\boldsymbol{X}\right]\kern1.25em F_{23}^e = -\frac{2\widehat{\gamma_{\imath b}^{e}}}{r^{e}_{eS}(\widehat{L_{b}})}\frac{\hat{r}_{eb}^{e}{}^{T}}{\left|\hat{r}_{eb}^{e}\right|} \vspace*{3pt}$$

Terms \( {F}_{21}^e \)and \( {F}_{23}^e \) are explained in detail in Groves (2013).

The measurement vector is the difference between corrected GNSS measurements, pseudorange, carrier phase and predicted IMU measurements. The measurement vector is given in Eq. (6)

$$ z=\left[\begin{array}{c}{\rho^i}_{GNSS}-{\rho^i}_{INS}\\ {}{\varphi^i}_{GNSS}-{\varphi^i}_{INS}\\ {}\vdots \end{array}\right] $$
(6)

In Eq. (6), ρi is the pseudorange of the satellite i and φi is the carrier phase measurement corresponding to satellite i. The design matrix will encompass the partial derivatives to the state terms related to GNSS. The other terms become zero.

$$ H=\left[\begin{array}{ccccccccccccccc}\frac{\partial {\rho}_i}{\partial x}& \frac{\partial {\rho}_i}{\partial y}& \frac{\partial {\rho}_i}{\partial z}& {0}_{3x3}& {0}_{3x3}& 1& 0& 0& sn{e}_i& 0& 0& 0& 0& 0& \dots \\ {}\frac{\partial {\Phi}_{\mathrm{i}}}{\partial x}& \frac{\partial {\Phi}_{\mathrm{i}}}{\partial y}& \frac{\partial {\Phi}_{\mathrm{i}}}{\partial z}& {0}_{3x3}& {0}_{3x3}& 1& 0& 0& sn{e}_i& 0& 0& 0& 0& \lambda & \dots \\ {}\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \dots \end{array}\right] $$
(7)

In Eq. (7), \( sn{e}_i=\frac{1}{\sin (elevation)} \) is the mapping function for the troposphere wet delay component. λ is a partial derivative entry for the ambiguity terms which is wavelength corresponding to ambiguity N.

Fig. 3
figure 3

Track of data collected around York University, Toronto, Canada

4 Field Test and Results

To test and evaluate the tightly-coupled EKF, kinematic data were collected at the York University main campus in Toronto, Canada. A low-cost, dual-frequency receiver, Piksi-multi by Swift Navigation, and low-cost MEMS IMU, Inertial sense μINS, were used. The Piksi is a multi-constellation, dual-frequency receiver that can offer 0.75 m accuracy in horizontal (CEP 50 in SBAS mode) (SwiftNav 2012). The Piksi is also capable of offering RTK like cm-level solutions with fast convergence with horizontal accuracy of 1 cm. The inertial Sense μINS consists of a SF uBlox GNSS receiver, magnetometer, barometer, and IMU. The MEMS IMU onboard μINS is comparable to a tactical grade IMU based on the specifications (Inertial Sense 2013). The specifications of the InertialSense uINS is detailed in Table 2. As per the categorization of IMUs given in (Vector Nav Library 2008), uINS can be categorized as a tactical-grade IMU from the specifications given in Table 2. The antenna used in the experiment is a geodetic grade antenna by SwiftNav. Since, a geodetic grade antenna was used in the setup, the quality of the measurements were better than the ones acquired using a low-cost antenna such as a patch antenna.

Table 2 Specifications of uINS MEMS IMU

Both the GNSS and IMU sensors were placed beside each other in the car trunk. The geodetic grade antenna was installed on the car roof. The data logged consisted of a multi-constellation carrier phase and pseudorange information. Thus, collected raw observables were then processed using the York PPP + IMU algorithm for validation.

Figure 3 represents the track of data collected at a parking lot near the York University Campus in Toronto, Canada. The data were collected on October 12, 2019, DOY 168 for a period of ~24 min.

Logging data rate of GNSS observables was set to 5 Hz and the IMU data rate was set to 100 Hz. Novatel’s Waypoint software was used to post-process the measurements in RTK mode for the same data used as the reference. The processing parameters used for the data are summarized in Table 3.

Table 3 Processing parameters used for PPP + IMU TC algorithm
Fig. 4
figure 4

Plot of available satellite and DOP vs elapsed time

Figure 4 represents a plot of GNSS satellites available during the span of data collection and corresponding position dilution of precision (PDOP). The average number of satellites is 15 and the mean PDOP is 1.7. It is clear from Fig. 4 that the number of BeiDou satellites is much less compared to other constellations as the data were collected in North American region.

Figure 5 is a plot of horizontal and vertical error of the GNSS PPP and IMU solution when compared to the Novatel’s Waypoint reference solution. The highlighted black box in the Fig. 3 is area where there are many trees and a signal outage took place. This can be seen in Fig. 5 as a jump in the position solution at 1,200 s. The rms error of the solution is 23 cm in the horizontal direction and 33 cm in the vertical direction. The rms was calculated after the solution reaches convergence time which is 400 s and before signal outage due to trees happens at 1,200 s. The decimetre-level performance of the algorithm makes it appropriate and suitable for the applications that require decimetre-level accuracy in positioning for a lower price.

Fig. 5
figure 5

Plot of horizontal and vertical error compared to the reference solution

Given the number of states that are estimated for the purpose of navigation from Eq. (5), at least five satellite raw observables are necessary to compute the user position. The evaluation of the performance of EKF during GNSS outage was done by simulating a GNSS signal outage for 30 s in the track. During the 30 s of simulated GNSS signal outage, the algorithm was tested with only four GNSS satellites available. Figure 6 is the horizontal error when compared to the reference solution during the GNSS signal outage of 30 s. The blue solution is an error comparison with no outage while red-coloured error plot corresponds to the PPP + IMU performance during a 30 s outage. The simulated outage period is highlighted in black between 440 and 470 s in Fig.~6.

Fig. 6
figure 6

Plot of horizontal error with respect to RTK Lib solution when 30 s outage was simulated

Table 4 Summary of horizontal and vertical rms with and without signal outage

During the 30 s outage period, the solution performs with a 2D rms of 0.4 m horizontally and 1.2 m vertically. The rms of the solution starting from the outage to end of data is 0.55 m horizontally and 1.1 m vertically. It can be noticed from Fig. 6 that the solution may not necessarily behave as it works when there is no GNSS signal outage after the outage, because every epoch of estimation process uses state estimate and covariance information from the previous epoch. The state vector and covariance information will vary based on the DOP and satellite information used in previous epoch. (Liu et al. 2018) indicated that using an SF GNSS PPP with MEMS IMU performs at a rms of 1 m with a 3 s GNSS signal outage and the accuracy was less than 10 m with a half minute of GNSS signal outage when there were only two satellites operating. The GNSS sensor used by (Liu et al. 2018) was Ublox EVK-M8U which has a SF GNSS chip as well a MEMS IMU in the package and global ionosphere map (GIM) products were used to reduce the ionosphere delays. A tightly-coupled algorithm using a low-cost, DF GNSS PPP with MEMS IMU performs at a less than the metre level rms error with a 30 s GNSS signal outage, which is 10 times better accuracy than a SF GNSS PPP with MEMS IMU solution.

5 Conclusions and Future Work

In this paper, the performance of a tightly-coupled EKF with low-cost DF GNSS PPP and MEMS IMU performance with and without outage were investigated. The algorithm performs at the decimetre-level of accuracy when there are no signal outages and it performs at the decimetre- to metre-level accuracy during a 30 s outage with four satellites available. The performance of DF GNSS PPP and MEMS IMU integrated system during outage proves to be 10 times better than SF GNSS PPP with MEMS IMU. The accuracy level of the algorithm seems promising for the next generation of applications that demand higher accuracy with lower price sensors. Table 4 gives a brief summary of accuracy of the low-cost DF GNSS PPP + IMU integrated solution with and without GNSS signal outage. As part of future work, resolving ambiguities for the low-cost, DF GNSS + IMU will results in less than decimetre level accuracy and perform at an rms error of decimetre level during a half minute of GNSS signal partial absence.