Development and assessment of loosely-coupled ins using smartphone sensors

Thumbnail Image


Journal Title

Journal ISSN

Volume Title



Smartphone accelerometers and gyroscopes are quite common in today‟s society but little work has been done on assessing how accurate and reliable they are to be used in inertial navigation systems (INS). The goal of this research is to develop a loosely-coupled INS filter that only uses sensors found inside a Moto-X Android smartphone. Micro-electro-mechanical sensors (MEMS) accelerometers and gyroscopes provide the raw motion sensor data whereas the high-sensitivity GNSS receiver in the smartphone is used to provide position and velocity updates to the filter. Magnetometers, also included in the MEMS are a potential source of heading aiding that not only aids in INS alignment but helps constrain the heading drift. A successful filter implementation could potentially open the doors of inertial navigation to the everyday smartphone user. This would allow developers of smartphone applications to focus on the creative side of their application while using the loosely-coupled INS in the background. The loosely-coupled INS filter was developed in C++ and was run offline although the operations are exactly those that would be applied in real time. The INS filter was verified by using raw inertial measurement unit (IMU) measurements from a high-end Northrop Grumman IMU-LN200 motion sensor and single-point GNSS position/velocity updates from a high accuracy NovAtel Flexpak6 receiver. Two datasets with distinct environments were used. The first one was a relatively open-sky dataset in NW Calgary and the second was an urban canyon dataset in downtown Calgary. Once the INS was verified to work within expectations, two more datasets were collected, this time with the Moto-X Android smartphone and the NovAtel SPAN system (IMU-LN200 + Flexpak6 running INS capable firmware). The datasets were again in open-sky and urban canyon environments. Due to the high noise of the Moto-X sensors, the high frequency noise of the raw data was removed via wavelet decomposition. This was very important as the faint sensor signal is buried under a lot of noise. Empirically derived estimates for sensor turn-on bias and scale factor errors were then found. The easiest way to assess the validity of the filter is to compare the attitude with the truth trajectory, where the truth trajectory is that of the NovAtel SPAN solution. The reason for this is that position and velocity are directly dependent on the quality of input filter updates. It is possible to have good results in position and velocity but still have a filter that diverges in attitude. When ran with the IMU-LN200 and NovAtel Flexpak6 data, the loosely-coupled INS filter had RMS differences in pitch and roll under 0.4º in the open-sky dataset and under 0.8º in the urban canyon dataset. RMS differences in heading were below 1º in the open-sky dataset and slightly above 1º in the urban canyon dataset. When ran with the Moto-X Android smartphone sensors, the INS filter had RMS differences in pitch and roll below 4.5 º in the open-sky dataset and below 16 º in the urban canyon datasets respectively. The RMS differences in heading were around 13º for the open-sky dataset and large enough to make the system useless for the urban canyon dataset. The results show the Moto-X Android smartphone sensors can be used for civilian enthusiast level of navigation under open-sky environments. It is however expected for MEMS sensors to improve over time thus improving the usability of a loosely-coupled INS filter using smartphone sensors.