Next Article in Journal
Non-Contact Measurement of Human Respiration and Heartbeat Using W-band Doppler Radar Sensor
Next Article in Special Issue
A Modified Residual-Based RAIM Algorithm for Multiple Outliers Based on a Robust MM Estimation
Previous Article in Journal
Analyzing Sensor-Based Individual and Population Behavior Patterns via Inverse Reinforcement Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Letter

A Modified Kalman Filter for Integrating the Different Rate Data of Gyros and Accelerometers Retrieved from Android Smartphones in the GNSS/IMU Coupled Navigation

1
School of Geography, Geomatics and Planning, Jiangsu Normal University, 101 Rd. Shanghai, Xuzhou 221116, China
2
School of Environment Science and Spatial Informatics, China University of Mining and Technology, No 1, Daxue Road, Xuzhou 221116, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(18), 5208; https://doi.org/10.3390/s20185208
Submission received: 6 August 2020 / Revised: 8 September 2020 / Accepted: 10 September 2020 / Published: 12 September 2020

Abstract

:
Recent study indicates that by using the inertial measurement unit (IMU) sensors inside smartphones, we can obtain similar navigation solutions to the professional ones. However, the sampling rates of the gyros and accelerometers inside some types of smartphones are not set in the same frequencies, i.e., the gyros of “Huawei p40” are in 50 Hz while the accelerometer is 100 Hz. The conventional method is resampling the higher frequency to the lower frequency ones, which means the resampled accelerometer will lose half frequency observations. In this work, a modified Kalman filter was proposed to integrate all these different rate IMU data in the GNSS/IMU-smartphone coupled navigation. To validate the proposed method, a terrestrial test with two different types of android smartphones was done. With the proposed method, a slight improvement of the attitude solutions can be seen in the experiments under the GNSS open-sky condition, and the obvious improvement of the attitude solutions can be witnessed at the simulated GNSS denied situation. The improvements by 45% and 23% of the horizontal position accuracy can be obtained from the experiments under the GNSS outage of 50 s in a straight line and 30 s in a turning line, respectively.

1. Introduction

The quick development of modern miniaturization technology makes it possible to embed more high-performance sensors into smartphones, and the population of the smartphones in the mass market also gives great promotions to feedback this technology. We are focused on using the chips inside smartphones, including IMU (inertial measurement unit), GNSS, camera, etc., to develop potential professional-level works, such as high precision navigation, photogrammetry and remote sensing.
Recently, the performance of the IMU sensors inside the latest smartphones has been improved significantly, and many potential applications based on these sensors can be validated. Castro-Palacio et al. (2014) used a smartphone acceleration sensor to study the accelerated circular motions and obtained high agreement results compared with other reference methods [1]. Mourcou et al. (2015) analyzed the reliability of the clinical motion detection using the IMUs of smartphones [2]. Masiero and Vettore (2016) improved the image feature matching capacity with the simultaneously recorded image and IMU data from a smartphone [3]. Hakim et al. (2017) designed a system for detecting the fall accident for disabled people using the IMUs inside smartphones [4]. Andriamandroso et al. (2017) tried to use the smartphone’s internal IMU sensors to characterize cattle eating and ruminating behaviors, with a high detection accuracy of more than 90% [5]. Poulose et al. (2018) studied the indoor position algorithm using a Samsung Galaxy Note 8 smartphone and obtained a 0.94–2.6 m accuracy trajectory result in a floor of one building. Sun et al. (2019) used the accelerometers and gyros inside the smartphone to detect the vehicle driving event, achieving a high correct accuracy of 97.5% [6].
IMU modules inside the smartphones also have great potentials to improve the navigation performance coupled with the GNSS observables. Mostafa et al. (2019) used the integration of GNSS, an INS-smartphone (inertial navigation system) and other visual sensors to enhance the USV (unmanned surface vehicle) navigation system, with around 80% reduction in errors [7]. Our previous studies on the assessment of the navigation performance of the IMUs inside smartphones provided an initial discussion about the integration method of the gyros and accelerometers of smartphones [8].
Recently, we found the sampling rates of the gyros and accelerometers in some types of smartphones, however, are not set in the same frequencies, for instance, the gyro data of “Huawei P40” is in 50 Hz whilst the accelerometer is 100 Hz. The conventional Kalman filter used in previous work was resampling the high frequency to the lower frequency ones, i.e., the 100 Hz accelerometers data were shrunk into 50 Hz to match the lower rate gyro data, which caused the great loss of the high frequency data. In this work, the structure of the prediction process of the Kalman filter was modified to prevent the discarding of the high frequency IMU data, to seek an improvement in the GNSS/IMU-smartphone coupled navigation. In the following section the modified Kalman filter will be described in detail, after that a terrestrial test strapped with two types of smartphones is validated to test the reliabilities of the proposed method.

2. The Kalman Filter for the GNSS/IMU Coupled Navigation

GNSS/IMU coupled navigation is one of the most classical navigation strategies, which can take full advantage of the GNSS and IMU system. The Kalman filter plays an essential role in the GNSS/IMU coupled algorithm. In general, the Kalman filter comprises two parts, the prediction process and the update process.

2.1. The Prediction Process of the Kalman Filter

In the prediction process, the gyros and the accelerometers observations are compensated, integrated and converted to calculate the navigation parameters. Taking a 15-state Kalman filter as an example, the navigation parameters vector can be written as:
x = [ r n v n ψ b a b ω ] T 15 × 1
where r n means the position vector in the navigation frame, v n means the velocity vector in the navigation frame, ψ means the vector of the Euler angles that rotate from the navigation frame to the body frame, b a and b ω mean the bias error vector of the accelerometers and gyros.
The prediction equation of the state parameters can be written with a dynamic form as:
x ˙ = f ( x ) + G w
where f is the system dynamic function, w is the system noise matrix and G is a time-varying matrix.
The detail form of the position and velocity state dynamic equations can be written as [9]:
{ L ˙ = v E R 0 + h l ˙ = v E sec L R 0 + h h ˙ = v D
and
{ v ˙ N = f N 2 Ω v E sin L + v N v D v E 2 tan L R 0 + h + ξ g v ˙ E = f E + 2 Ω ( v N sin L + v D cos L ) + v E R 0 + h ( v D + v N tan L ) η g v ˙ D = f D 2 Ω v E cos L v E 2 + v N 2 R 0 + h + g
where L, l and h mean the latitude (in radians), longitude (in radians) and height (in meters) of the position parameters, respectively, Ω is the turn rate of the earth (7.2921151467e-5 rad/s), R0 is the mean radius of the Earth (6,371,008.7714 m), ξ and η represent angular deflections (in radians) in the direction of local gravity vector with respect to the local vertical owing to gravity anomalies (g), (fN, fE, fD) mean the converted accelerometer observations in the navigation frame along the North, East and Down direction, respectively, which can be calculated as:
[ f N f E f D ] = C b n [ f x b f y b f z b ]
where ( f x b , f y b , f z b ) mean the accelerometer observations (in m/s2), and C b n is the direct cosine matrix for the transformation from the body frame to the navigation frame, calculated with the Euler angles as [8]:
C b n = [ cos θ cos ψ cos ϕ sin ψ + sin ϕ sin θ cos ψ   sin ϕ sin ψ + cos ϕ sin θ cos ψ cos θ sin ψ   cos ϕ cos ψ + sin ϕ sin θ sin ψ sin ϕ cos ψ + cos ϕ sin θ sin ψ sin θ sin ϕ cos θ cos ϕ cos θ ]
The detail form of the Euler angle state dynamic equations can be written as [9]:
{ ϕ ˙ = ( ω y sin ϕ + ω z cos ϕ ) tan θ + ω x θ ˙ = ω y cos ϕ ω z sin ϕ ψ ˙ = ( ω y sin ϕ + ω z cos ϕ ) sec θ
The direct cosine matrix C b n can also be calculated by the quaternions q = [a b c d]T as:
C b n = [ a 2 + b 2 c 2 d 2 2 ( b c a d ) 2 ( b d + a c ) 2 ( b c + a d )   a 2 b 2 + c 2 d 2 2 ( c d a b ) 2 ( b d a c ) 2 ( c d + a b ) a 2 b 2 c 2 + d 2 ]
and the quaternions dynamic equations is:
{ a ˙ = 0.5 ( b ω x + c ω y + d ω z ) b ˙ = 0.5 ( a ω x d ω y + c ω z ) c ˙ = 0.5 ( d ω x + a ω y b ω z ) d ˙ = 0.5 ( c ω x b ω y a ω z )
where (ωx, ωy, ωz) (in rad/s) represent the turn rate of the body frame with respect to the navigation frame in body axes, which can be notated as a vector as ω n b n that is calculated by:
ω n b n = ω i b b C n b ( ω i e n + ω e n n )
where   ω i b b is the observations of the gyros (in rad/s), C n b is the transpose of C b n , ω i e n is the turn rate of the Earth in the local geographic frame, which can be calculated as:
ω i e n = [ Ω cos L 0 Ω sin L ] T
and ω e n n in Equation (10) is the turn rate of the local geographic frame with respect to the Earth-fixed frame, which can be calculated by:
ω e n n = [ v E R 0 + h v N R 0 + h v E tan L R 0 + h ] T
The biases of the gyros and accelerometers are assumed to be constant, then the dynamic equations of these sensors’ biases can be written as:
{ b ˙ a = 0 b ˙ ω = 0
In a non-linear expression, Equation (2) can be deduced as:
x i | i 1 = x i 1 + t i 1 t i f ( x ) d t
Substituting f ( x ) in Equation (14) with Equations (3)–(13), the state parameters can be predicted by the integral of the IMU’s observations with time.
After the prediction of the state parameters in Equation (1), the corresponding errors need to be estimated. The vector of the state errors can be written as:
δ x = [ δ r n δ v n δ ϕ δ b a δ b ω ] T 15 × 1
The prediction process of the state errors and the corresponding covariance matrix can be deduced as [10]:
{ δ x i | i 1 = ϕ i | i 1 δ x i 1 P i | i 1 = ϕ i | i 1 P i 1 ϕ i | i 1 T + Q i
where ϕ i | i 1 is the prediction of the system matrix, which can be calculated by:
ϕ i | i 1 I 15 × 15 + F i 1 Δ t + 1 2 ! ( F i 1 Δ t ) 2 + 1 3 ! ( F i 1 Δ t ) 3
where F is the system dynamic matrix, and the detail form can be found in the documents of [9,11,12].
Q i in Equation (16) is the process noise matrix, which can be formed as [10,12]:
Q i G i Q Δ t G i T
where G is the design matrix for the noise of the IMU observations, which can be deduced as:
G = [ 0 0 C b n 0 0 C b n 0 0 0 0 ] 15 × 6
and Q in Equation (18) is the Spectral Density Matrix of the gyros and accelerometers observations [10,11]:
Q 6 × 6 = d i a g ( σ a x 2 σ a y 2 σ a z 2 σ ω x 2 σ ω y 2 σ ω z 2 )
where σa and σω are the standard deviation of the accelerometers and gyros, respectively, which can be characterized by the noise of the IMUs that could be found in the manufacture document.
In general, the prediction processes of the states of the position, velocity, attitude and the sensor bias are accomplished via Equation (14), which is filled by Equations (3), (4), (7) and (13), respectively, while the corresponding errors and their covariance prediction processes are Equation (16).

2.2. The Update Process of the Kalman Filter

During the running of the prediction process, the update process can be trigged in the case of the GNSS observations happening. For the loosely coupled strategy, the update equations can be taken as:
{ K i = P i / i 1 H i T [ H i P i / i 1 H i T + R i ] 1 δ x i = δ x i 1 + K i [ δ z i H i δ x i | i 1 ] P i = [ I K i H i ] P i / i 1
where K15×15 is the Kalman gain matrix, R3×3 is the GNSS covariance matrix, δz is the update observation vector of the state errors—in our work referring to the delta position calculated through the differences between GNSS observations and system predictions, which can be written as:
δ z i = z i H i x i | i 1
where zi is the GNSS observations: z i = [ L l h ] g n s s , i ,   3 × 1 T , and
H i = [ 1 0 0 0 1 0 0 0 1 ] 3 × 15
The GNSS observation vector zi can be expended as [ L l h v N v E v D ] i , 6 × 1 T , if there are reliable velocity solutions retrieved from Doppler observations, and the line number of H matrix becomes 6.

2.3. Advanced Developments of the Kalman Filter in the GNSS/IMU Coupled Navigation

In order to get the more accurate and robust solutions from the GNSS/IMU coupled navigation, the form of the conventional Kalman filter has been developed from different aspects.
Some developed strategies modified the update process, i.e., the tightly and ultra-tightly Kalman filter introduces the GNSS raw pseudorange and carrier observations as the update information; the Kalman filter that introduces odometer, vision-camera, or other exterior arguments for the GNSS/INS coupled navigation; the non-holonomic constrain method uses the zero velocity in the side and vertical direction of the vehicle, as the update information of the Kalman filter to limit the growth of the system errors. These methods optimize the structure of the Kalman filter to involve more update information to the navigation system, which makes the system keep running even under the GNSS challenge environment.
Other strategies, such as the adaptive and robust Kalman filter, are focused on the balance of the contributions of the prediction process and the update process, by way of introducing the scale factor α and β into the spectral density matrix Q in Equation (20) and the GNSS covariance matrix R in Equation (21), respectively.
Few development strategies make changes to the prediction process, since the observations of the gyros and accelerometers from the IMU are the main input of the system dynamic equation, as can be seen in Equations (5) and (10), and the sampling rate of the gyros and accelerometers normally is set as the same frequency.

3. The Modified Kalman Filter for Integrating the Different Rate Data of Gyros and Accelerometers

As stated in the previous section, the data of the gyros and accelerometers can be integrated to calculate the position, velocity and attitude parameters in the predict process, and the data rate of the two sensors needs to be identical in the conventional Kalman filter.
However, we found the data rates of the two sensors are different in some types of smartphones, i.e., the data frequency of gyros of the “Huawei P40” is 50 Hz while that of accelerometers is 100 Hz. As shown in Figure 1, where the triangles mean the gyros observations with the time interval as Δt1 = 0.02 s, and the hollow circles mean the accelerometer observations with the double frequency samplings compared to the gyros, the time interval for this is Δt2 = 0.01 s.
Theoretically, the data of the accelerometers can be resampled into the same frequency as the gyros to apply the conventional Kalman filter. This resampling method is not the optimal way to integrate the data since half of the accelerometers are abandoned. In this work, we make the changes of structure of the prediction process of the Kalman filter to include all the data of the gyros and accelerometers.
From Figure 1, we can see that there are two different epochs of the data sequence, one is with the observations of both gyros and accelerometers tagged with the symbol of a circle inside a triangle, and we named it as “both” epoch; the other one is only with the accelerometers, with the symbol of a simple circle, and named as “only” epoch.
At first, the conventional Kalman filter can be applied at the “both” epoch, but the item of “Δt” in Equation (14) should be taken with different values for the gyros and accelerometers—take the “Huawei P40” as an example, “Δt1” 0.02 s is for the conventional Kalman filter and the accelerometers “Δt2” 0.01 s is for the proposed method.
Secondly, at the “only” epoch the attitude predication using Equation (7) is not taken since there are no gyro observations. Subsequently, a new noise matrix base using Equation (18) was designed as:
Q i G i Q Δ t 2 G i T
where
G = [ 0 C b n 0 0 0 ] 15 × 3
and
Q 3 × 3 = d i a g ( σ a x 2 σ a y 2 σ a z 2 )
Then, the modified Kalman filter with the two steps above, can be adopted to the data sequence shown in Figure 1.
In a short summary, to include the high rate data of the accelerometers, the prediction process was performed twice more than the conventional Kalman filter, and the covariance matrix Q was modified according to the IMU sampling “epoch” status; the process procedures can be summarized as Figure 2. This proposed method mainly works on the prediction process of the Kalman filter to include more IMU data, which differs from the other modification strategies that were stated in the previous section, such as GNSS/IMU tightly coupled, GNSS/IMU/Vision or non-holonomic constrains.

4. Test and Results

In order to test the reliability of the proposed method, a terrestrial test with two smartphones was carried out on the morning of 27 June 2020. These two mobile phones, “Huawei P40” and “Honor Play” made by Huawei Technologies co. LTD. (Shenzhen, China), were strapped down on the top of an iron board, which was fixed onto a motor tricycle as can be seen in Figure 3. Beside the smartphones, a high-grade fiber IMU, “KVH 1750” (200 Hz) made by KVH Industries, Inc. (Middletown 06457, USA), was taken as the comparing reference. Besides the IMU, a dual-frequency GNSS receiver (1 Hz), “NovAtel OEM6” made by NovAtel Inc. (Calgary, Canada), that was put on the same platform, as well as a GNSS reference nearby, was also involved to provide differential GNSS solutions.

4.1. The Reference Solutions of the GNSS/KVH Coupled Navigations

This test was carried out at the campus of China University of Mining and Technology, the trajectory projected in Google Earth is as shown in Figure 4. The average velocity of the motor tricycle was around 4.5 m/s, and the time duration of this test is around 50 min.
The GNSS, GNSS/KVH coupled navigation solutions were estimated by the NovAtel “Inertial Explorer” (IE) software in a LC (loosely coupled) mode, and the profile was set as the manufacture “NovAtel SPAN Ground (KVH 1750)”. The position, velocity and attitude information from the GNSS/KVGH were taken as the reference to compare with those calculated from the GNSS/IMU-smartphone coupled navigation.
In this work, only the GNSS data from the NovAtel receiver outside the smartphones were taken to provide the GNSS update information, rather than directly using that which were logged from the GNSS chips inside the smartphones. It is due to this, that the precise positioning technology using the smartphone internal GNSS modules is still a challenging task, and in order to get rid of the affection of the different oriented GNSS information, only the NovAtel GNSS solutions were used.

4.2. The GNSS/IMU-Smartphone Coupled Navigation

Firstly, to record the raw IMU observation from the two smartphones, we developed the app to log these data based on the Google SDK and API via the Android Studio. The sampling data of the raw data of the android smartphones can be configured with four options:
  • “SENSOR_DELAY_FASTEST” -> obtain sensor data as fast as possible;
  • “SENSOR_DELAY_GAME”-> rate suitable for games;
  • “SENSOR_DELAY_UI”-> rate suitable for the user interface;
  • “SENSOR_DELAY_NORMAL”-> rate suitable for screen orientation changes.
In our test, the data collecting app was set with the model of “SENSOR_DELAY_GAME”. However, the IMU data were logged at different rates, for instant, the data gyro data rate of “P40” is in 50 Hz but the accelerometer is in 100 Hz, and both of gyros and accelerometers are in 100 Hz in “Honor Play”. Therefore, in order to include all the accelerometers data of “P40” and test the reliability of the proposed modified Kalman filter, we designed seven experiments of the data process of the GNSS/IMU-smartphone coupled navigation, which are listed as:
  • “Honor Play” 100 Hz gyros and 100 Hz accelerometers in GNSS open-sky condition.
  • “Huawei P40” 50 Hz gyros and 50 Hz accelerometers in GNSS open-sky condition.
  • “Huawei P40” 50 Hz gyros and 100 Hz accelerometers in GNSS open-sky condition.
  • “Huawei P40” 50 Hz gyros and 50 Hz accelerometers in a 50 s GNSS denying condition (straight line).
  • “Huawei P40” 50 Hz gyros and 100 Hz accelerometers in a 50 s GNSS denying condition (straight line).
  • “Huawei P40” 50 Hz gyros and 50 Hz accelerometers in a 30 s GNSS denying condition (turning).
  • “Huawei P40” 50 Hz gyros and 100 Hz accelerometers in a 30 s GNSS denying condition (turning).

4.2.1. The Navigation Performance under the Open-Sky Conditions

For the first and second experiments, in the GNSS open-sky condition and with the gyros and accelerometers in the same sampling rate, the conventional Kalman filter can be directly applied according to Figure 2. During the prediction process of the Kalman filter, the correct specification of the IMU bias and white noise level in Equations (16) and (21) are critical in order to obtain reasonable solutions. The manufacture specification of the reference IMU “KVH 1750” and the IMUs in the two smartphones are listed in Table 1.
Beside the conventional Kalman filter, the proposed Kalman filter was also applied in the third experiment to include the high rate data of the accelerometers in “Huawei P40”.
Then, the position, velocity and attitude parameters can be estimated by the GNSS/IMU-smartphones for the three experiments. The differences of the solutions between the smartphones and the reference “KVH 1750” are shown in Figure 5, Figure 6 and Figure 7.
The RMS (root mean square) statistics of the comparison differences between the position, velocity and attitude solutions of the three experiments are shown in Table 2.
From Figure 5, Figure 6 and Figure 7 and Table 2, we can see that, in the GNSS open-sky condition:
  • The GNSS/IMU-smartphones coupled navigation can obtain reasonable solutions, for instance, the position differences with respect to the reference are around 0.1 m, the velocity differences are around 0.05 m/s, the roll and pith differences are around 0.2°, and the yaw differences are around 3°.
  • After introducing the high rate data of the accelerometers to the modified Kalman filter, the GNSS/IMU-P40 coupled navigation does not show the obvious improvements at the position and velocity solutions. However, slight improvements can be witnessed at the attitude solutions in the experiment III, as shown in Table 2.

4.2.2. The Navigation Performance in the Simulated GNSS-Denied Environment

In order to test the reliability of the modified Kalman filter in a more challenging environment, 50 s GNSS observables in straight trajectory line and 30 s GNSS observables in a turn trajectory line were removed to simulate the GNSS-denied situation as shown in Figure 8.
For experiments IV and V, the 50 s GNSS missing part is in a straight line, and the conventional Kalman filter and the modified Kalman filter were applied, respectively, due to the different rate accelerometers retrieved from the “Huawei P40”. The comparison of the estimated trajectories at the experiment IV, V and the reference IMU is also shown in Figure 8. From these trajectories, we can see that the trajectory (blue) of the modified Kalman filter has a much weaker deviation trend compared to the conventional one (red). More detailed comparisons of the horizontal and vertical position differences, roll, pith and yaw differences are plotted as shown in Figure 9 and Figure 10.
Table 3 gives the numerical value from Figure 9 and Figure 10, at different second epochs of GNSS blocked at experiments IV and V. From Figure 9 and Figure 10, as well as Table 3, we can see that, with the modified Kalman filter (experiment V), the horizontal position accuracy was improved by 45%, from 379.0 m to 206.8 m, compared with the conventional ones (experiment IV) at the 50 s epoch of the GNSS observables missing. The attitude accuracy improvements by 40%, 26% and 71% of the roll, pitch and yaw, respectively, can also be obtained at that epoch.
Similarly, for experiments VI and VII, the 30 s GNSS simulated observables missing were simulated at a turning part of the trajectory, and the conventional Kalman filter and the modified Kalman filter were applied, respectively, for different rate accelerometers retrieved from the “Huawei P40”. The comparison of the estimated trajectories at experiments VI and VII and the reference IMU are also shown in Figure 8, and the detailed comparisons of the horizontal and vertical position differences, roll, pith and yaw differences are plotted as shown in Figure 11 and Figure 12.
Table 4 gives the numerical value from Figure 11 and Figure 12, at different second epochs of GNSS blocked in experiments VI and VII. From Figure 11 and Figure 12 and Table 4, we can see that, with the modified Kalman filter (experiment VII), the horizontal position accuracy was improved by 23%, from 60.89 m to 46.73 m, compared with the conventional ones (experiment VI) at the 30 s epoch of the GNSS observables missing. The attitude accuracy improvements by 23% and 14% of the pitch and yaw, respectively, can also be obtained at that epoch.
Hence, the modified Kalman filter shows a better stability performance compared with the conventional Kalman filter.

5. Discussion

From this work, we can find that, using the modified Kalman filter, the performance of the GNSS/IMU-smartphone coupled navigation can provide significant improvement since it involves more IMU observations. This means that the method could be applied in many potential navigation or positioning applications, such as ITS (intelligent transportation system), smart cities, unmanned vehicles, etc.
Another issue that was not accomplished in this work, is the GNSS precise positioning based on the internal GNSS chips of smartphones. Ideally, the coupled navigation purely based on the smartphone embedded GNSS and IMU chips, will provide a powerful alternative approach to the other high-cost professional ones. However, the quality improvement of the GNSS raw observables tracked by the smartphones is still a challenging topic [16,17,18], as a result of the weak capacity of the duty cycling handling, internal tiny antenna and anti-electronic-inference.

Author Contributions

Conceptualization, W.Y. and Q.Z.; methodology, W.Y. and L.W.; software, W.Y., L.W. and Q.Z.; validation, W.Y., L.W., Q.Z. and Y.M.; formal analysis, W.Y., A.W. and C.Z.; investigation, W.Y. and Y.M.; data collection, W.Y., Q.Z. and Y.M.; writing—original draft preparation, W.Y.; writing—review and editing, W.Y., Y.M. and C.Z.; funding acquisition, W.Y. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Natural Science Foundation of Jiangsu Province, grant number: BK20181015; the Project of College Students’ Entrepreneurship Innovation, grant number: XSJCX9015; the Natural Science Foundation of Jiangsu Normal University, grant number: 18XLRS013.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Castropalacio, J.C.; Velazquez, L.; Gomeztejedor, J.A.; Manjon, F.J.; Monsoriu, J.A. Using a smartphone acceleration sensor to study uniform and uniformly accelerated circular motions. Rev. Bras. De Ensino De Fis. 2014, 36, 1–5. [Google Scholar]
  2. Mourcou, Q.; Fleury, A.; Franco, C.; Klopcic, F.; Vuillerme, N. Performance evaluation of smartphone inertial sensors measurement for range of motion. Sensors 2015, 15, 23168–23187. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  3. Masiero, A.; Vettore, A. Improved feature matching for mobile devices with IMU. Sensors 2016, 16, 1243. [Google Scholar] [CrossRef] [PubMed]
  4. Hakim, A.; Huq, M.S.; Shanta, S.; Ibrahim, B.S.K.K. Smartphone based data mining for fall detection: Analysis and Design. Proced. Comput. Sci. 2017, 105, 46–51. [Google Scholar] [CrossRef]
  5. Andriamandroso, A.; Lebeau, F.; Beckers, Y.; Froidmont, E.; Dufrasne, I.; Heinesch, B.; Dumortier, P.; Blanchy, G.; Blaise, Y.; Bindelle, J. Development of an open-source algorithm based on inertial measurement units (IMU) of a smartphone to detect cattle grass intake and ruminating behaviors. Comput. Electron. Agric. 2017, 139, 126–137. [Google Scholar] [CrossRef]
  6. Sun, R.; Cheng, Q.; Xie, F.; Zhang, W.; Ochieng, W.Y. Combining machine learning and dynamic time wrapping for vehicle driving event detection using smartphones. IEEE Trans. Intelligent Transp. Syst. 2019. Available online: https://ieeexplore.ieee.org/abstract/document/8924950 (accessed on 31 July 2020). [CrossRef]
  7. Mostafa, M.Z.; Khater, H.A.; Rizk, M.R.; Bahasan, A.M. A novel GPS/ RAVO /MEMS-INS smartphone sensors integrated method to enhance USV navigation system during GPS outages. Meas. Sci. Technol. 2019, 30, 1–14. [Google Scholar] [CrossRef]
  8. Yan, W.; Bastos, L.; Magalhães, A. Performance assessment of the android smartphone’s IMU in a GNSS/INS coupled navigation model. IEEE Access 2019, 7, 171073–171083. [Google Scholar] [CrossRef]
  9. Titterton, D.H.; Weston, J.L. Strapdown Inertial Navigation Techonology, 2nd ed.; The Institution of Electrical Engineers: Stevenage, UK, 2004; pp. 24–53. [Google Scholar]
  10. Brown, R.G.; Hwang, P.Y.C. Introduction to Random Signals and Applied Kalman Filtering; John Willey & Sons: New York, NY, USA, 1997; pp. 289–306. [Google Scholar]
  11. Shin, E.H. Accuracy Improvement of Low Cost INS/GPS for Land Application. Master’s Thesis, The University of Calgary, Calgary, AL, Canada, 2001. [Google Scholar]
  12. Deurloo, R.A. Development of a Kalman Filter Integrating System and Measurement Models for a Low-cost Strapdown Airborne Gravimetry System. Ph.D. Thesis, University of Porto, Porto, Spain, 2011. [Google Scholar]
  13. 1750 IMU Fiber Optic Gyro Inertial Measurement Unit. Available online: https://www.kvh.com/admin/products/gyros-imus-inss/imus/1750-imu/commercial-1750-imu (accessed on 31 July 2020).
  14. ICM20602 High Performance 6-Axis MEMS MotionTracking Device. Available online: https://invensense.tdk.com/wp-content/uploads/2016/10/DS-000178-ICM-20690-v1.0.pdf (accessed on 31 July 2020).
  15. BMI160 Small, Low Power Inertial Measurement Unit. Available online: https://www.boschsensortec.com/media/boschse-nsortec/downloads/datasheets/bst-bmi160-ds000.pdf (accessed on 31 July 2020).
  16. Zhang, X.; Tao, X.; Zhu, F.; Shi, X.; Wang, F. Quality assessment of GNSS observations from an Android N smartphone and positioning performance analysis using time-differenced filtering approach. GPS Solut. 2018, 22, 70. [Google Scholar] [CrossRef]
  17. Paziewski, J. Recent advances and perspectives for positioning and applications with smartphone GNSS observations. Meas. Ence Technol. 2020, in press. [Google Scholar] [CrossRef]
  18. Yan, W.; Bastos, L.; Magalhães, A.; Zhang, Y.; Wang, A. Assessing Android Smartphone Based GNSS Positioning Accuracy, Proceedings of the China Satellite Navigation Conference (CSNC) 2020 Proceeding, Chengdu, China, 2020; Springer: Singapore, 2020; pp. 144–153. [Google Scholar]
Figure 1. The sequence of the inertial measurement unit (IMU) data of the “Huawei P40”.
Figure 1. The sequence of the inertial measurement unit (IMU) data of the “Huawei P40”.
Sensors 20 05208 g001
Figure 2. Summary of the process procedures of the GNSS/IMU-P40 coupled navigation.
Figure 2. Summary of the process procedures of the GNSS/IMU-P40 coupled navigation.
Sensors 20 05208 g002
Figure 3. The physical setup of the devices used in the terrestrial test.
Figure 3. The physical setup of the devices used in the terrestrial test.
Sensors 20 05208 g003
Figure 4. The trajectory projected in Google Earth.
Figure 4. The trajectory projected in Google Earth.
Sensors 20 05208 g004
Figure 5. The position differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter and the “KVH 1750” (IE software) in GNSS open-sky condition at experiment I, II and III. (a) Position differences in the North direction; (b) position differences in the East direction; (c) position differences in the Down direction.
Figure 5. The position differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter and the “KVH 1750” (IE software) in GNSS open-sky condition at experiment I, II and III. (a) Position differences in the North direction; (b) position differences in the East direction; (c) position differences in the Down direction.
Sensors 20 05208 g005aSensors 20 05208 g005b
Figure 6. The velocity differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter) and the “KVH 1750” (IE software) in GNSS open-sky condition at experiment I, II and III. (a) Velocity differences in the North direction; (b) velocity differences in the East direction; (c) velocity differences in the Down direction.
Figure 6. The velocity differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter) and the “KVH 1750” (IE software) in GNSS open-sky condition at experiment I, II and III. (a) Velocity differences in the North direction; (b) velocity differences in the East direction; (c) velocity differences in the Down direction.
Sensors 20 05208 g006
Figure 7. The attitude differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter) and the “KVH 1750” (IE software) in GNSS open-sky condition at experiment I, II and III. (a) Roll differences; (b) pitch differences; (c) yaw differences.
Figure 7. The attitude differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter) and the “KVH 1750” (IE software) in GNSS open-sky condition at experiment I, II and III. (a) Roll differences; (b) pitch differences; (c) yaw differences.
Sensors 20 05208 g007
Figure 8. The trajectory of experiments IV to VII projected in Google Earth. The green reference trajectory is from the estimation of GNSS/KVH by the NovAtel IE software, under the GNSS open-sky conditions; the red trajectory is from the estimation of GNSS/IMU-P40 with the 50 Hz gyros and accelerometers by the conventional 15-state Kalman filter, under the GNSS-denied environment; the blue trajectory is from the estimation of GNSS/IMU-P40 with the 50 Hz gyros and 100 Hz accelerometer by our modified Kalman filter, under the GNSS-denied environment. (a) The 50 s GNSS observables missing in straight line; (b) the 30 s GNSS observables missing in turn trajectory line.
Figure 8. The trajectory of experiments IV to VII projected in Google Earth. The green reference trajectory is from the estimation of GNSS/KVH by the NovAtel IE software, under the GNSS open-sky conditions; the red trajectory is from the estimation of GNSS/IMU-P40 with the 50 Hz gyros and accelerometers by the conventional 15-state Kalman filter, under the GNSS-denied environment; the blue trajectory is from the estimation of GNSS/IMU-P40 with the 50 Hz gyros and 100 Hz accelerometer by our modified Kalman filter, under the GNSS-denied environment. (a) The 50 s GNSS observables missing in straight line; (b) the 30 s GNSS observables missing in turn trajectory line.
Sensors 20 05208 g008
Figure 9. The horizontal and vertical position differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment IV) and the modified Kalman filter (experiment V). (a) Horizontal position differences; (b) vertical position differences.
Figure 9. The horizontal and vertical position differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment IV) and the modified Kalman filter (experiment V). (a) Horizontal position differences; (b) vertical position differences.
Sensors 20 05208 g009
Figure 10. The roll, pitch and yaw attitude differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment IV) and the modified Kalman filter (experiment V). (a) Roll differences; (b) pitch differences; (c) yaw differences.
Figure 10. The roll, pitch and yaw attitude differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment IV) and the modified Kalman filter (experiment V). (a) Roll differences; (b) pitch differences; (c) yaw differences.
Sensors 20 05208 g010
Figure 11. The horizontal and vertical position differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment VI) and the modified Kalman filter (experiment VII). (a) Horizontal position differences; (b) vertical position differences.
Figure 11. The horizontal and vertical position differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment VI) and the modified Kalman filter (experiment VII). (a) Horizontal position differences; (b) vertical position differences.
Sensors 20 05208 g011
Figure 12. The roll, pitch and yaw attitude differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment VI) and the modified Kalman filter (experiment VII). (a) Roll differences; (b) pitch differences; (c) yaw differences.
Figure 12. The roll, pitch and yaw attitude differences between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), with the conventional Kalman filter (experiment VI) and the modified Kalman filter (experiment VII). (a) Roll differences; (b) pitch differences; (c) yaw differences.
Sensors 20 05208 g012
Table 1. The specifications of the IMUs used in the test [13,14,15].
Table 1. The specifications of the IMUs used in the test [13,14,15].
IMUsAccelerometersGyros
Bias Stability
mg
Noise Density
μg/sqrt (Hz)
Range gBias Stability
°/s
Noise Density
°/sqrt (hr)
Range °/sec
KVH 17500.0512±101.38 × 10−50.012±490
ICM-20690 (P40)40100±410.24±250
Bosch-bmi160 (Play)150180±430.42±250
Table 2. The root mean square (RMS) statistics of the differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter) and the “KVH 1750” (IE software).
Table 2. The root mean square (RMS) statistics of the differences of the GNSS/IMU coupled solutions between the two smartphones (our program in a 15-state Kalman filter) and the “KVH 1750” (IE software).
Phone-KVHΔN
m
ΔE
m
ΔD
m
ΔVn
m/s
ΔVe
m/s
ΔVd
m/s
Δφ
°
Δθ
°
Δψ
°
exp I (Play)0.09210.08940.12090.05260.05590.05180.22220.17672.8137
exp II (P40)0.08950.09410.11130.06050.05290.05670.17700.17003.4536
exp III (P40)0.09060.09450.11040.05860.05230.05080.16580.13882.6432
Table 3. The difference values of the horizontal and vertical position, roll, pitch and yaw between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), at different epochs of the seconds of GNSS blocked in experiments IV and V.
Table 3. The difference values of the horizontal and vertical position, roll, pitch and yaw between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), at different epochs of the seconds of GNSS blocked in experiments IV and V.
P40-KVHΔHorizontal/mΔVertical/mΔφ/°Δθ/°Δψ/°
exp IVexp Vexp IVexp Vexp IVexp Vexp IVexp Vexp IVexp V
5 s0.7370.7992.5502.5330.3680.0070.4580.3420.2370.054
10 s4.7653.3897.2977.3190.7670.1720.7450.5790.6010.240
20 s28.4417.6424.3824.341.3700.3811.1530.8121.1060.370
30 s84.2647.9951.1951.082.0890.5951.5291.0091.5730.453
40 s189.6102.889.4188.164.5362.6282.4001.7262.0500.587
50 s379.0206.8140.0136.36.0473.6102.7061.9862.5620.733
Table 4. The difference values of the horizontal and vertical position, roll, pitch and yaw between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), at different epochs of the seconds of GNSS blocked in experiments VI and VII.
Table 4. The difference values of the horizontal and vertical position, roll, pitch and yaw between GNSS/IMU-P40 (our program in a 15-state Kalman filter) and GNSS/KVH coupled navigation (IE software), at different epochs of the seconds of GNSS blocked in experiments VI and VII.
P40−KVHΔHorizontal/mΔVertical/mΔφ/°Δθ/°Δψ/°
exp VIexp VIIexp VIexp VIIexp VIexp VIIexp VIexp VIIexp VIexp VII
5 s0.7880.395−2.171−2.144−0.062−0.0720.2060.1740.0860.049
10 s3.7962.391−6.668−6.567−0.043−0.0760.4030.3370.0610.001
20 s20.5614.5823.65−22.99−1.223−1.1130.4050.2971.1770.999
30 s60.8946.73−49.29−48.05−1.550−1.6490.7010.5381.1640.994

Share and Cite

MDPI and ACS Style

Yan, W.; Zhang, Q.; Wang, L.; Mao, Y.; Wang, A.; Zhao, C. A Modified Kalman Filter for Integrating the Different Rate Data of Gyros and Accelerometers Retrieved from Android Smartphones in the GNSS/IMU Coupled Navigation. Sensors 2020, 20, 5208. https://doi.org/10.3390/s20185208

AMA Style

Yan W, Zhang Q, Wang L, Mao Y, Wang A, Zhao C. A Modified Kalman Filter for Integrating the Different Rate Data of Gyros and Accelerometers Retrieved from Android Smartphones in the GNSS/IMU Coupled Navigation. Sensors. 2020; 20(18):5208. https://doi.org/10.3390/s20185208

Chicago/Turabian Style

Yan, Wenlin, Qiuzhao Zhang, Lijuan Wang, Ying Mao, Aisheng Wang, and Changsheng Zhao. 2020. "A Modified Kalman Filter for Integrating the Different Rate Data of Gyros and Accelerometers Retrieved from Android Smartphones in the GNSS/IMU Coupled Navigation" Sensors 20, no. 18: 5208. https://doi.org/10.3390/s20185208

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop