The inertial navigation state solution, including position, velocity, and attitude, is affected by errors from three sources: errors in accelerometer and gyro sensor measurements, errors in the initialized state, and processing errors. As discussed in
Section 2, measurement errors consist of a stochastic, random component and a deterministic, systematic one. Random noise from accelerometers and gyros has a cumulative effect on navigation errors. Accelerometer and gyro biases are integrated into the navigation equations, producing position, velocity, and attitude errors that increase over time. Attitude errors also affect velocity and position errors. Velocity initialization errors produce a growing position error when integrated.
Very simple models of gravity, function of latitude and height only, can be a significant source of error (up to 0.1 mg), particularly if high-precision inertial sensors are used. Timing errors (due to a non-perfect clock within the inertial navigation processor) are generally negligible compared to the other sources.
4.1. Short-Term Straight-Line Pure Inertial Propagation
In order to analyze the effect of inertial error propagation, we can evaluate the short-term error propagation given the noise SD and bias values determined in
Section 3 and some errors in the initial position, velocity, and attitude states.
Let us consider the simplest case of a host vehicle traveling in a straight and level line at a constant velocity and constant temperature, and derive each error contribution as done in [
13]. The effects of the curvature and rotation of the Earth and gravity approximations can be neglected. The error of the position of the INS body frame
, with the respect to the origin of a frame
resolved about the axes of a frame
error, can be formulated as the integral of the velocity error with a constant velocity error,
where
is the integration time, while the velocity error is the integral of the acceleration error with a constant accelerometer bias
,
where
is a rotation matric from frame
to frame
.
Therefore, the position error will be:
Note that there is no error propagation between the axes, since we assume that the attitude remains constant.
With a small-angle approximation, the attitude error can be expressed as a vector resolved about a certain set of axes. We can denote with the specific force measured by the accelerometer, and with , the error in the INS-indicated attitude of frame with respect to a frame , resolved about the frame axes.
An acceleration error due to the constant attitude error
under a small-angle assumption is:
Velocity and position errors due to an attitude error are:
An attitude error due to a gyro bias is simply:
Therefore, velocity and position errors due to a gyro bias are:
Assuming white noise and denoting the single-sided accelerometer and gyroscope noise PSDs as
and
, the SDs of position and velocity errors due to accelerometer noise for each axis
are [
13]:
While the SDs of attitude, horizontal position, and horizontal velocity errors due to gyroscope noise are [
13]:
where
and
In a nutshell, according to [
13], short-term position error growth due to different sources can be summarized as in
Table 9.
For the five smartphones considered, the following figures show the short-term straight-line position error SD growth per axis due to the noise and bias values determined in
Section 3, with an initial position error of 10 m, initial velocity error of 0.1 m/s, and initial attitude error of 0.01 rad. The figure on the left displays the horizontal error, while the one on the right illustrates the vertical error. In particular,
Figure 8 shows the total error accounting for bias, noise, and errors in the initial condition, while
Figure 9 shows the error due to the noise contribution only. We can see that the largest horizontal position error in
Figure 8 is accumulated with the MEMS errors of the One Plus 7 Pro, while the smallest is with the ones of the Pixel 7 Pro. This is expected, since the MEMS measurements of the One Plus 7 Pro had the highest accelerometer and gyro bias values, while the ones of the Pixel 7 Pro had the lowest gyro bias. It is interesting to see in
Figure 9 that, if noise was the only source of error, the One Plus would outperform, since it showed the lowest noise SD values, but as shown in
Figure 8, because of the strongest impact of its large accelerometer and gyro biases, it accumulated the largest position error.
As expected, the gyro biases had the strongest impact on positioning over time. Indeed, this grows with
. Accelerometer biases produce an error in position that grows with
. Approximately, for 2D navigation, uncompensated gyro and accelerometer biases result in position errors of
and
, respectively [
29]. In less than 100 s, a pure inertial propagation using the inertial measurements with the errors found in
Section 3 for all the considered smartphones would result in an error of larger than 1 km.
These results only show the position, velocity, and attitude errors when purely propagating the MEMS measurements (pure inertial propagation). In addition to the quality of the MEMS measurements, the final navigation performance of each smartphone also depends on the GNSS measurements; indeed MEMS inertial measurements are usually corrected with GNSS measurements (these may be may be more accurate for one of the considered devices and less for another one). The next section investigates the impact of different MEMS INS measurements with different errors on an INS-GNSS position solution.
4.2. INS-GNSS Positioning
In most cases, the MEMS measurements of a smartphones are fused with GNSS observations. If at least four GNSS satellites are available, processing their signals and observations can provide a position solution that can prevent the error drift showed in
Figure 8 and
Figure 9 of a pure inertial solution. We evaluated the impact of different MEMS measurement errors on an INS-GNSS tightly coupled navigation solution for a short drive of 5 min around our campus in San Jose, California.
We modelled the accelerometer and gyro measurements as follows, according to [
13,
30], taking into account the mean value across the x,y,z axes of the error components estimated in our lab tests and reported in
Section 3, for each of the five considered smartphones.
where
and
are the IMU-output specific force and angular rate measurements,
and
are the true counterparts,
and
are their biases,
and
are their scale factors, and
and
are their noise, respectively.
GNSS pseudorange
and pseudorange rate
observations were modelled as in Equations (16) and (17), respectively, according to [
31,
32], by assuming a GPS constellation of 30 satellites and accounting for a signal in space error SD of 1 m, an atmosphere residual error (after applied correction) SD of 2 m for the ionosphere and 0.2 m for the troposphere, a code tracking error SD of 1 m, a range rate tracking error SD of 0.02 m/s, an initial receiver clock offset of 10,000 m, and initial clock drift of 100 m/s.
In Equation (16), denotes the position vector of the ith GPS satellite that is transmitting the signal, is the user’s position vector, and is the receiver’s clock offset in meters. In Equation (17), and are, respectively, the velocity vector of the ith transmitting GPS satellite and of the user, represents the clock’s drift expressed as range-rate bias (in ), and is the line-of-sight (LOS) vector from the user to the ith GPS satellite.
We filtered the inertial measurements with the simulated GNSS measurements utilizing an INS-GNSS tight integration EKF based on [
13].
Figure 10 illustrates the functional architecture of the adopted INS-GNSS integration.
Table 10 reports the EKF formulation described in [
32].
The state vector of the EKF is the following:
where,
is the attitude error,
is the velocity error,
is the position error,
are the accelerometer biases,
are the gyro biases,
is the receiver clock offset,
is the receiver clock drift.
The measurement vector is:
where
and
are the pseudoranges and pseudorange rates of the available GPS satellites, respectively.
The measurement innovation vector includes the differences between the GNSS-measured pseudorange and pseudorange rates and the corresponding values predicted by the corrected inertial navigation solution at the same time of validity, by using the estimated receiver clock offset and drift, and navigation-data-indicated satellite positions and velocities.
The matrices
,
,
were implemented according to Chapter 14 of [
13].
We estimated five different trajectories using the same INS-GNSS tight integration filter, identical GNSS observations, and identical initial conditions. However, we modeled different sets of inertial measurements based on the MEMS error estimates from the lab tests in
Section 3 for each of the five smartphones. We used a precise navigation system that fused a carrier-phase GNSS and higher-grade inertial measurements to provide a reference trajectory (ground truth) for the drive. We then calculated the error of the INS-GNSS-estimated trajectories using this reference.
Figure 11 shows the motion profile as the North, East, Down (NED) displacements and velocity, bank, elevation, and heading of the reference trajectory. The motion profile includes five turns of approximately 90 deg, with a maximum speed of approximately 10 m/s.
We analyzed two cases: one with a mask angle of 10 deg, corresponding to seven GNSS satellites available for the whole drive, and one with a mask angle of 45 deg, corresponding to a reduced GNSS availability for most of the drive.
Figure 12 shows the kml tracks of the five estimated position solutions obtained with the MEMS measurements of the five considered smartphones, as well as the track of the reference solution, with a mask angle of 10 deg. In general, from
Figure 12, there are no evident performance differences. For all the considered smartphones, the GNSS observations from the available seven satellites successfully corrected the inertial solution and prevented any error drift. Small positioning differences can be recognized when zooming into
Figure 12, as shown in
Figure 13. Some more evident differences in the velocity and especially the attitude estimation errors can be observed by directly comparing the velocity and attitude error components.
Figure 14 and
Figure 15 show the lowest velocity and attitude estimation errors (obtained with the MEMS errors of the Pixel 7 Pro) and the largest ones (obtained with the MEMS errors of the One Plus 7 Pro), respectively.
When increasing the mask angle to 45 deg after initialization, the number of available GNSS satellites dropped to three for the first 268 s, as illustrated in
Figure 16.
Figure 17 and
Figure 18 show the same tracks of
Figure 12, but obtained with a mask angle of 45 deg. Unlike in
Figure 12, where the solutions were obtained with seven available GNSS satellites, for only three GNSS satellites available we can see a substantial degradation of the positioning accuracy with an error drift. In this case, the differences between the performances of the five different smartphones were more evident and relevant. The position solution estimated for the One Plus 7 Pro was the one that diverged first. The one based on the MEMS measurement errors of the Pixel 7 Pro appeared to accumulate the smallest error by the end of the time interval with only three satellites available.
Figure 19 and
Figure 20 show the position, velocity, and attitude estimation error components obtained for these two smartphones. We can see that the INS-GNSS positioning accuracy in poor GNSS conditions (number of available GNSS satellites less than four) can be substantially different across the five considered smartphones can change substantially. By comparing the North, East, and Down position estimation error components of the Pixel 7 Pro (
Figure 19) with those of One Plus 7 Pro (
Figure 20), we can observe a difference of about one order of magnitude (e.g., for the Down component, we have errors up to about 320 m for the Pixel 7 Pro and up to about 3200 m for the One Plus 7 Pro).