Advertisement

SN Applied Sciences

, 1:1337 | Cite as

GPS-independent navigation using smartphone sensors

  • Bahador AbolpourEmail author
  • Rozbeh Abolpour
  • Ramtin Hekmatkhah
Research Article
  • 185 Downloads
Part of the following topical collections:
  1. Engineering: New Technologies in Mechanical Engineering, Robotics, and Intelligent Transport Systems

Abstract

This study defines a novel method for navigating moving objects without using the GPS. Sensors of a smartphone measured desired values and a developed Android application recorded this data. A developed MATLAB code analyzed these values for a road trip by a car using several coordinate transformations. This code corrected the measured acceleration for removing the effects of the earth gravity and also removed the effects of the existed noises in the measured values by the sensors of this smartphone. The results show that, the calibrated data of the smartphone accelerometer can be used for obtaining a place, with an acceptable error. Nevertheless, obtaining acceleration using the GPS data is not correct.

Keywords

Smartphone GPS-independent navigation Sensor 

List of symbols

\(\mathop {a_{n} }\limits^{ \to }\)

Acceleration vector in the vehicle-carried NED coordinate system

anx

x-component components of the acceleration vector in the vehicle-carried NED coordinate system (m/s2)

\(a_{nx}^{cor}\)

x-component components of the corrected acceleration vector in the vehicle-carried NED coordinate system (m/s2)

any

y-component components of the acceleration vector in the vehicle-carried NED coordinate system (m/s2)

\(a_{ny}^{cor}\)

y-component components of the corrected acceleration vector in the vehicle-carried NED coordinate system (m/s2)

anz

z-component components of the acceleration vector in the vehicle-carried NED coordinate system (m/s2)

\(a_{nz}^{cor}\)

z-component components of the corrected acceleration vector in the vehicle-carried NED coordinate system (m/s2)

\(\mathop {a_{s}^{cor} }\limits^{ \to }\)

Corrected acceleration vector in the smartphone coordinate system

asx

x-component components of the acceleration vector in the smartphone coordinate system (m/s2)

\(a_{sx}^{cor}\)

x-component components of the corrected acceleration vector in the smartphone coordinate system (m/s2)

asy

y-component components of the acceleration vector in the smartphone coordinate system (m/s2)

\(a_{sy}^{cor}\)

y-component components of the corrected acceleration vector in the smartphone coordinate system (m/s2)

asz

z-component components of the acceleration vector in the smartphone coordinate system (m/s2)

\(a_{sz}^{cor}\)

z-component components of the corrected acceleration vector in the smartphone coordinate system (m/s2)

d

Distance between two points as the bird flies (m)

dt

Distance along the road as driven by the automobile between two points (m)

e

A correction factor in the ECEF coordinate system

g

The local earth gravitational acceleration (m/s2)

gref

The earth gravitational acceleration at the start point (m/s2)

h

Altitude (m)

href

Altitude of the start point (m)

Ne

A correction factor in the ECEF coordinate system

\(\mathop {P_{e} }\limits^{ \to }\)

The position vector in the ECEF coordinate system

\(\mathop {P_{g} }\limits^{ \to }\)

The position vector in the geographic coordinate system

\(\mathop {Pn}\limits^{ \to }\)

The position vector in the vehicle-carried NED coordinate system

re

The mean radius of the earth (m)

t

Time (s)

\(\mathop {Vn}\limits^{ \to }\)

Velocity vector in the vehicle-carried NED coordinate system

Vnx

x-component of the velocity vector in the vehicle-carried NED coordinate system (m/s)

Vny

y-component of the velocity vector in the vehicle-carried NED coordinate system (m/s)

Vnz

z-component of the velocity vector in the vehicle-carried NED coordinate system (m/s)

\(\mathop {Vs}\limits^{ \to }\)

Velocity vector in the smartphone coordinate system

Vsx

x-component of the velocity vector in the smartphone coordinate system (m/s)

Vsy

y-component of the velocity vector in the smartphone coordinate system (m/s)

Vsz

z- component of the velocity vector in the smartphone coordinate system (m/s)

xe

x-component of the position vector in the vehicle-carried NED coordinate system (m)

\(x_{e}^{ref}\)

x-component of the position of the start point in the ECEF coordinate system (m)

xn

x-component of the position vector in the ECEF coordinate system (m)

ye

y-component of the position vector in the ECEF coordinate system (m)

\(y_{e}^{ref}\)

y-component of the position of the start point in the ECEF coordinate system (m)

yn

y-component of the position vector in the vehicle-carried NED coordinate system (m)

ze

z-component of the position vector in the ECEF coordinate system (m)

\(z_{e}^{ref}\)

z-component of the position of the start point in the ECEF coordinate system (m)

zn

z-component of the position vector in the vehicle-carried NED coordinate system (m)

θ

Pitch angle (°)

λ

Longitude (°)

\(\lambda^{ref}\)

Longitude of the start point (°)

φ

Latitude (°)

ϕ

Role angle (°)

\(\varphi^{ref}\)

Latitude of the start point (°)

ψ

Yaw angle (°)

1 Introduction

Today, smartphones are important parts of people’s life and developing the Global Positioning System (GPS) made easy navigation for human activities, such as industry, science, research, trade, transport, and trip. In addition, automatic devices need navigation for controlling stable movement. Using smartphone sensors for motion analyzing is an easy solution for this problem. Some of these phones have inertial motion unit (IMU), which contains three-dimensional accelerometer, magnetometer and gyroscope. These smartphones are suitable for motion analyzing and GPS-independent navigation [1, 2, 3]. Some studies investigated postural and gait control [4, 5] or joint goniometry [6, 7], used expensive, such as the black box of airplanes, and immobile equipment for laboratory studies [8], or used smartphones for static and dynamic measuring in the motion analysis of moving objects. Fast position receiving [9] and data recording are important for intelligent transport, checking the traffic [10] or detecting the transport quality [11] using a network of sensors, and also analyzing driver behavior [12] or detecting car accidents [13] using smartphone features. Some reasons for studying novel motion analyzing methods are:
  • Controlling smart cars

  • Designing autopilot systems for aircrafts or unmanned aerial vehicles

  • Examining the performance of moving vehicles

  • Controlling multirotors

  • Designing self-balancing systems for bicycles or motorcycles

  • Medicine analyzing using the person’s gait

  • GPS-independent navigation.

Controlling these smart objects needs accurate information about the location of the object and also its performance during a certain motion. Motion analysis helps us to estimate the location of a motive object at each step of its motion and also the motion performance of this object during this motion. GPS-independent navigation lets to smart control some objects that have no access to the GPS data, such as submarines. A combination of various sensors can measure valuable data for this purpose. However, the smartphone is an accessible and cheap device for this aim. Therefore, examining its abilities for data recording, motion analyzing and GPS-independent navigation is necessary. This study defines a novel method for motion analyzing and GPS-independent navigation of moving objects, such as car, bus, bicycle, motorbike, helicopter, ship, boat, multirotor or aircraft. An Android application was installed on a smartphone to record measured values by its sensors. A homemade program code in JavaScript developed this application. Then, a developed MATLAB code analyzed the road trip of the car using the recorded data and calibrated the measured values by these sensors for GPS-independent navigation.

2 Methodology

2.1 Experiment

A Samsung (Galaxy S3) smartphone with the presented features in Table 1 has been used for recording the measured values by its sensors in a car (a Peugeot 405 GLX) road trip from Estahban to Neyriz, in Iran. A homemade code developed an Android application using the JavaScript for recording these measured values in an external memory:
Table 1

Some features of used smartphone

Processor

Samsung-Exynos 4412 (4 cores–1.4 GHz)

Operating system

Android 4.0.4

Memory card type

MicroSD (4 GB)

RAM

1 GB

Battery type

Li-Ion (2100 mAh)

Motion sensor

LSM330DLC 3-axis accelerometer

AK8975C 3-axis magnetic field sensor

LSM330DLC gyroscope sensor

Uncalibrated gyroscope sensor

Corrected gyroscope sensor

Sensor fusion

iNemoEngine orientation sensor

Orientation sensor

iNemoEngine gravity sensor

Gravity sensor

iNemoEngine linear acceleration sensor

Linear acceleration sensor

iNemoEngine rotation vector sensor

Rotation vector sensor

Miscellaneous sensor

CM36651 light sensor

LPS331AP pressure sensor

CM36651 proximity sensor

Navigational system

GPS

A-GPS

GLONASS

  • Time (in milliseconds since the UNIX epoch: January 1, 1970 00:00:00 UTC)

  • Rate of data recording (number of recorded data in each second)

  • Latitude (using the GPS, in degrees, which ranges from 0° at the Equator to 90° at the North or South pole)

  • Longitude (using the GPS, in degrees, which is defined as an angle pointing west or east from the Greenwich Meridian)

  • Altitude (using the GPS, in meters, above the WGS 84 reference ellipsoid)

  • Acceleration in the xs direction (using the gravity sensor, in meter per square second)

  • Acceleration in the ys direction (using the gravity sensor, in meter per square second)

  • Acceleration in the zs direction (using the gravity sensor, in meter per square second)

  • Roll (using the orientation sensor, in degree)

  • Pitch (using the orientation sensor, in degree)

  • Yaw (using the orientation sensor, in degree).

This smartphone, which was fixed at the estimated gravity center of the car, recorded these values with 200 samples per second frequency, in its normal activity mode. Figure 1 shows the defined xs, ys and zs directions (smartphone coordinate system) and roll, pitch and yaw orientations.
Fig. 1

The defined xs, ys and zs directions, roll, pitch and yaw orientations for smartphone and also a schematic view of the coordinates transformations

2.2 Coordinate transformation

Figure 1 also shows a schematic view of the used coordinate transformations in this study. The GPS data is in the geographic coordinate system, which specifies each point by three numbers (see Fig. 1) as, \(\mathop {P_{g} }\limits^{ \to } = \left( {\begin{array}{*{20}c} \lambda \\ \varphi \\ h \\ \end{array} } \right)\) [14]. λ is the angular distance of a point from the Prime (Greenwich) Meridian, φ is the angular distance of a point from the Equator, and h is the vertical distance of a point from the geoid. The earth centered-earth fixed (ECEF) coordinate system represents this point as below [15]:
$$\mathop {P_{e} }\limits^{ \to } = \left( {\begin{array}{*{20}c} {x_{e} } \\ {y_{e} } \\ {z_{e} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {(N_{e} + h)\text{Cos} \varphi \text{Cos} \lambda } \\ {(N_{e} + h)\text{Cos} \varphi \text{Sin} \lambda } \\ {[N_{e} (1 - e^{2} ) + h]\text{Sin} \varphi } \\ \end{array} } \right)$$
(1)
The coordinate system represents the position by xe, ye and ze. Its origin is located at the earth’s center of mass. The xe, ye, and ze axes extend through the intersection of the Prime Meridian and the Equator, through the intersection of the Equator and 90° longitude, and through the true north pole, respectively (see Fig. 1). Since, the earth is not a sphere and has a biaxial ellipsoid shape, Ne and e were presented for correction. Where \(N_{e} = {{r_{e} } \mathord{\left/ {\vphantom {{r_{e} } {\sqrt {(1 - e^{2} )\text{Sin}^{2} \phi } }}} \right. \kern-0pt} {\sqrt {(1 - e^{2} )\text{Sin}^{2} \varphi } }}\), e = 0.081819190842622 and re is the mean radius of the earth, which is equal to 6,378,137 m. The north east down (NED) coordinate system represents this point as below [15]:
$$\mathop {P_{n} }\limits^{ \to } = \left( {\begin{array}{*{20}c} {x_{n} } \\ {y_{n} } \\ {z_{n} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} { - \text{Sin} \varphi^{ref} \text{Cos} \lambda^{ref} } & { - \text{Sin} \varphi^{ref} \text{Sin} \lambda^{ref} } & {\text{Cos} \varphi^{ref} } \\ { - \text{Sin} \lambda^{ref} } & {\text{Cos} \lambda^{ref} } & 0 \\ { - \text{Cos} \varphi^{ref} \text{Cos} \lambda^{ref} } & { - \text{Cos} \varphi^{ref} \text{Sin} \lambda^{ref} } & { - \text{Sin} \varphi^{ref} } \\ \end{array} } \right) \cdot \left( {\begin{array}{*{20}c} {x_{e} - x_{e}^{ref} } \\ {y_{e} - y_{e}^{ref} } \\ {z_{e} - z_{e}^{ref} } \\ \end{array} } \right)$$
(2)
The origin of the vehicle-carried NED coordinate system is located at the center of gravity of the car (or smart phone). The xn, yn and zn represent the position along the geodetic north, east and normal axes, respectively (see Fig. 1). Reference position (\(x_{e}^{ref}\), \(y_{e}^{ref}\), \(z_{e}^{ref}\), \(\varphi^{ref}\) and \(\lambda^{ref}\)) is the position of origin of the local NED frame (i.e., the start point of the car in the road trip).
Now, we have a 3D displacement vector from the start point to each point of the road trip. The gradient of the displacement–time graph is the car speed (Vn). Until this section, all steps of coordinate transformation only used the GPS data. Vn is in the NED coordinate system. It can be transformed to the smart phone coordinate system (Vs) using the measured values of orientations. The following equation defines this transformation [16]:
$$\mathop {V_{s} }\limits^{ \to } = \left( {\begin{array}{*{20}c} {V_{sx} } \\ {V_{sy} } \\ {V_{sz} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {\text{Cos} \theta \text{Cos} \psi } & {\text{Cos} \theta \text{Sin} \psi } & { - \text{Sin} \theta } \\ {\text{Sin} \phi \text{Sin} \theta \text{Cos} \psi - \text{Cos} \phi \text{Sin} \psi } & {\text{Sin} \phi \text{Sin} \theta \text{Sin} \psi + \text{Cos} \phi \text{Cos} \psi } & {\text{Sin} \phi \text{Cos} \theta } \\ {\text{Cos} \phi \text{Sin} \theta \text{Cos} \psi + \text{Sin} \phi \text{Sin} \psi } & {\text{Cos} \phi \text{Sin} \theta \text{Sin} \psi - \text{Sin} \phi \text{Cos} \psi } & {\text{Cos} \phi \text{Cos} \theta } \\ \end{array} } \right) \cdot \left( {\begin{array}{*{20}c} {V_{nx} } \\ {V_{ny} } \\ {V_{nz} } \\ \end{array} } \right)$$
(3)
where ϕ, θ and ψ are roll, pitch and yaw angles and Vsx, Vsy and Vsz are components of the car velocity (speed) vector in the xs, ys and zs directions, respectively (see Fig. 1). The gradient of the Vst graph is the car acceleration (aGPS) in the smart phone coordinate system. aGPS and aaccelerometer (the measured acceleration using the accelerometer sensor) are in a same coordinate system. Therefore, these values are comparable.

There are two ways for measuring the acceleration of a moving object using a smart phone, the GPS and accelerometer sensor. Calculating the acceleration using the GPS data needs a double differentiation (the slope of the displacement–time graph gives the speed, and the slope of the speed-time graph gives the acceleration). On the other hand, the accelerometer sensor measures this parameter directly. It can validate the calculated acceleration using the GPS data and clears its instantaneous errors.

The accelerometer sensor gives the components of acceleration vector (i.e. asx, asy and asz) in the smart phone coordinate system (see Fig. 1). The local earth gravitational acceleration (g) affects these values. The following equation calculates g at different altitudes [17]:
$$g = g^{ref} \left( {\frac{{r_{e} + h^{ref} }}{{r_{e} + h}}} \right)^{2}$$
(4)
where \(g^{ref}\) is the gravitational acceleration at the start point of the road trip. For removing the effects of g on asx, asy and asz, these values have been transformed from the smart phone coordinate system to the NED coordinate system (see Fig. 1). The values of role (ϕ), pitch (θ) and yaw (ψ) angles are necessary for this purpose. The orientation sensor of the smart phone measured these values. The following equation calculates the instantaneous acceleration of the car in the NED coordinate system [18]:
$$\mathop {a_{n} }\limits^{ \to } = \left( {\begin{array}{*{20}c} {a_{nx} } \\ {a_{ny} } \\ {a_{nz} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {\text{Cos} \psi \text{Cos} \theta } & {\text{Cos} \psi \text{Sin} \theta \text{Sin} \phi - \text{Sin} \psi \text{Cos} \phi } & {\text{Cos} \psi \text{Sin} \theta \text{Cos} \phi + \text{Sin} \psi \text{Sin} \phi } \\ {\text{Sin} \psi \text{Cos} \theta } & {\text{Sin} \psi \text{Sin} \theta \text{Sin} \phi + \text{Cos} \psi \text{Cos} \phi } & {\text{Sin} \psi \text{Sin} \theta \text{Cos} \phi - \text{Cos} \psi \text{Sin} \phi } \\ {\text{Sin} \theta } & {\text{Cos} \theta \text{Sin} \phi } & {\text{Cos} \theta \text{Cos} \phi } \\ \end{array} } \right) \cdot \left( {\begin{array}{*{20}c} {a_{sx} } \\ {a_{sy} } \\ {a_{sz} } \\ \end{array} } \right)$$
(5)
Since anz and g vectors are parallel at each point, removing the effects of g from anz \(\left( {a_{nz}^{cor} = a_{zn} - g} \right)\) is possible. The following equation transfers the corrected acceleration from the NED coordinate system to the smart phone coordinate system (see Fig. 1):
$$\mathop {a_{s}^{cor} }\limits^{ \to } = \left( {\begin{array}{*{20}c} {a_{sx}^{cor} } \\ {a_{sy}^{cor} } \\ {a_{sz}^{cor} } \\ \end{array} } \right) = \left( {\begin{array}{*{20}c} {\text{Cos} \theta \text{Cos} \psi } & {\text{Cos} \theta \text{Sin} \psi } & { - \text{Sin} \theta } \\ {\text{Sin} \phi \text{Sin} \theta \text{Cos} \psi - \text{Cos} \phi \text{Sin} \psi } & {\text{Sin} \phi \text{Sin} \theta \text{Sin} \psi + \text{Cos} \phi \text{Cos} \psi } & {\text{Sin} \phi \text{Cos} \theta } \\ {\text{Cos} \phi \text{Sin} \theta \text{Cos} \psi + \text{Sin} \phi \text{Sin} \psi } & {\text{Cos} \phi \text{Sin} \theta \text{Sin} \psi - \text{Sin} \phi \text{Cos} \psi } & {\text{Cos} \phi \text{Cos} \theta } \\ \end{array} } \right) \cdot \left( {\begin{array}{*{20}c} {a_{nx}^{cor} } \\ {a_{ny} } \\ {a_{nz} } \\ \end{array} } \right)$$
(6)
Since anx and any are perpendicular to the g direction, these parameters are free from the g effects.

2.3 Navigation using the smartphone sensors

Attending to suitable accordance of the smartphone sensors, it is possible to calculate the location of the vehicle using the obtained independence value of acceleration from the g effects. For this purpose, a set of polynomial equations were defined, as below, for removing the effects of sensors noises. These noises can have huge effects, as integral effects, on the calculated values for the velocity and location using the measured acceleration by the smartphone sensors.
$$a_{sx}^{modified} = c_{1} + c_{2} a_{sx}^{cor} + c_{3} (a_{sx}^{cor} )^{2} + c_{4} (a_{sx}^{cor} )^{3} + c_{5} (a_{sx}^{cor} )^{4}$$
(7)
$$a_{sy}^{modified} = c_{6} + c_{7} a_{sy}^{cor} + c_{8} (a_{sy}^{cor} )^{2} + c_{9} (a_{sy}^{cor} )^{3} + c_{10} (a_{sy}^{cor} )^{4}$$
(8)
$$a_{sz}^{modified} = c_{11} + c_{12} a_{sz}^{cor} + c_{13} (a_{sz}^{cor} )^{2} + c_{14} (a_{sz}^{cor} )^{3} + c_{15} (a_{sz}^{cor} )^{4}$$
(9)
$$\phi^{modified} = c_{16} + c_{17} \phi + c_{18} \phi^{2} + c_{19} \phi^{3} + c_{20} \phi^{4}$$
(10)
$$\theta^{modified} = c_{21} + c_{22} \theta + c_{23} \theta^{2} + c_{24} \theta^{3} + c_{25} \theta^{4}$$
(11)
$$\psi^{modified} = c_{26} + c_{27} \psi + c_{28} \psi^{2} + c_{29} \psi^{3} + c_{30} \psi^{4}$$
(12)
The defined constants in these equations (i.e. c1 to c30) were obtained by fitting the calculated location using these modified accelerations and orientations with the obtained location using the GPS. An optimization algorithm (i.e. fminsearch) was used for minimizing the existed difference between these locations. Table 2 presents the obtained values for these constants.
Table 2

The obtained values of c1 to c29

Constant

Value

c1

− 0.0298335679817724

c2

− 0.123462459228374

c3

0.0636579518219812

c4

− 0.00610671531284501

c5

0.0288888313911145

c6

0.00290251156387767

c7

− 0.0536079145304248

c8

0.402905037305803

c9

− 0.395826868844328

c10

− 0.202374976645805

c11

0.239933995301236

c12

0.0764952741297610

c13

− 0.00310780825157127

c14

− 0.000167399216266299

c15

− 0.0000205258944419954

c16

− 2.14038544212840

c17

− 1.57996314611318

c18

0.307006777364772

c19

0.0238094868409231

c20

− 0.00134516632279696

c21

5.07528525130319

c22

− 2.92993110192188

c23

− 0.273316240766119

c24

0.0139555005050072

c25

0.00122524566498862

c26

− 48.1658350217407

c27

2.57103521964248

c28

− 0.00231254607934835

c29

− 0.0000366660191176299

C30

0.000000185068970058501

3 Results and discussion

Figure 2 shows the recorded data in the external memory for this road trip test. These data are: Fig. 2a) altitude, latitude and longitude, Fig. 2b) three components of acceleration vector, Fig. 2c) role, pitch, yaw angles. The recorded values of asx and asy depend on the values of pitch and roll, respectively. Because, the gravitational acceleration affects these values. Figure 3 shows the obtained xy plot, using the recorded GPS data, for this trip on a satellite image. The obtained xy plot in the NED coordinate system has a perfect accordance with the road in the map. It approves the accuracy of this method. This method is different from the other navigate applications. Other applications display your trip on a map using a comparison between the GPS data of your locations and prerecorded values for each point of its map. The distance between two points (i.e., origin and destination) in geodetic measurements has two different definitions:
Fig. 2

The recorded data in the external memory

Fig. 3

The obtained x–y plot for the trip on a satellite image from the Google Maps (using GPS)

  • The length of a straight line that connects these two points \(\left( {d = \sqrt {x_{n}^{2} + y_{n}^{2} + z_{n}^{2} } } \right)\), which indicates the linear distance between these points

  • The length of the existed road between these two cities \(\left( {d_{t} = \sum d } \right)\), which indicates the path length between these points

Figure 4 compares these lengths for this road trip. Clearly, mazes of the road increases the covered distance (compare dt with d). The slopes of these curves show the mean speed of the car in each section of the trip. This value was about 90 km/h throughout the trip. Figure 5 shows the instantaneous values of the car speed vector and its triple components in the smartphone coordinate system. These values have been calculated using the GPS data. Considering forward motion of the car (except in some conditions such as climbing or turning around), matching of Vsy and Vs was expected.
Fig. 4

The covered distance in the road trip (using GPS)

Fig. 5

The instantaneous values of the vehicle velocity vector and also its triple components in the smartphone coordinate system (using GPS)

The effects of g should be removed from the sensed acceleration for a suitable GPS-independent navigation using the measured values by the smartphone sensors. Figure 6 compares the measured and corrected values of acceleration. The corrected asz is smaller than the corrected values of asx and asy. Figure 7 compares the obtained acceleration using the GPS (\(\left( {a_{GPS} = \tfrac{{d^{2} (d_{t} )}}{{dt^{2} }}} \right)\) and accelerometer sensor \(\left( {a_{Accelerometer} = \sqrt {a_{sx}^{{cor^{2} }} + a_{sy}^{{cor^{2} }} + a_{sz}^{{cor^{2} }} } } \right)\). These values are near together, occasionally. However, the noisy GPS data have low accuracy for calculating the acceleration. As a result, it is more accurate to obtain the location and acceleration using the GPS and accelerometer sensor, respectively. Nevertheless, calibrating the measured noisy values by the smartphone sensors can improves the accuracy of the estimated location without the GPS data. Figure 8 compares the estimations of x, y and z using the calibrated values of the sensed accelerations and orientations with the obtained location by the GPS data in this road trip. It is observed that these calibrated values have acceptable estimations.
Fig. 6

The measured and corrected values of components of acceleration vector (using accelerometer sensor)

Fig. 7

The obtained acceleration of the vehicle by GPS and accelerometer sensor

Fig. 8

Comparison of the estimated x, y and z using the measured values with the smartphone sensors, with the obtained values for these parameters using GPS

4 Conclusion

This study defined a novel method for motion analyzing of moving objects and GPS-independent navigation. A developed Android application was installed on a smartphone for recording measured values by its sensors. A developed MATLAB code analyzed a road trip of a car using these data and calibrated the measured data by the acceleration and orientation sensors. Several coordinate transformations were used to give valuable information from these recorded data. The measured acceleration was corrected for removing the effects of earth gravitational acceleration and also the existed noises in their measurements. The obtained x–y plot in the NED coordinate system had a perfect accordance with the road. The obtained instantaneous and mean speeds of the car presented acceptable and sensible information about this road trip. Integration or differentiation improves the noises of the accelerometer sensor and GPS unit of the smartphones. It is more accurate to obtain the location and acceleration using the GPS and accelerometer sensor, respectively. However, the presented calibration method in this study can improves the navigation accuracy of this smartphone without using the GPS data.

Notes

Compliance with ethical standards

Conflict of interest

There is no conflict of interest.

References

  1. 1.
    Broyles D, Kauffman K, Raquet J, Smagowski P (2018) Non-GNSS smartphone pedestrian navigation using barometric elevation and digital map-matching. Sensors 18(7):2232CrossRefGoogle Scholar
  2. 2.
    Merry K, Bettinger P (2019) Smartphone GPS accuracy study in an urban environment. PLoS ONE 14(7):e0219890CrossRefGoogle Scholar
  3. 3.
    Guzman-Acevedo GM, Vazquez-Becerra GE, Millan-Almaraz JR, Rodriguez-Lozoya HE, Reyes-Salazar A, Gaxiola-Camacho JR, Martinez-Felix CA (2019) GPS, accelerometer, and smartphone fused smart sensor for SHM on real-scale bridges. Adv Civ Eng.  https://doi.org/10.1155/2019/6429430 CrossRefGoogle Scholar
  4. 4.
    Kosse NM, Caljouw S, Vervoort D, Vuillerme N, Lamoth CJ (2014) Validity and reliability of gait and postural control analysis using the tri-axial accelerometer of the iPod touch. Ann Biomed Eng 43:1–12Google Scholar
  5. 5.
    Muro-de-la-Herran A, Garcia-Zapirain B, Mendez-Zorrilla A (2014) Gait analysis methods: an overview of wearable and non-wearable systems, highlighting clinical applications. Sensors 14:3362–3394CrossRefGoogle Scholar
  6. 6.
    Milani P, Coccetta CA, Rabini A, Sciarra T, Massazza G, Ferriero G (2014) Mobile smartphone applications for body position measurement in rehabilitation: a focus on goniometric tools. PM&R 6:1038–1043CrossRefGoogle Scholar
  7. 7.
    Mourcou Q, Fleury A, Franco C, Klopcic F, Vuillerme N (2015) Performance evaluation of smartphone inertial sensors measurement for range of motion. Sensors 15:23168–23187CrossRefGoogle Scholar
  8. 8.
    Verghese J, Holtzer R, Lipton RB, Wang C (2009) Quantitative gait markers and incident fall risk in older adults. Bio Sci Med Sci 64(8):896–901Google Scholar
  9. 9.
    Zhao Y (2000) Mobile phone location determination and its impact on intelligent transportation systems. IEEE Trans Intell Transp Syst 1(1):55–64MathSciNetCrossRefGoogle Scholar
  10. 10.
    Weiland R, Purser L (2009) Intelligent transportation systems. Transp Res 1:40–53Google Scholar
  11. 11.
    Xia H, Qiao Y, Jian J, Chang Y (2014) Using smart phone sensors to detect transportation modes. Sensors 14:20843–20865CrossRefGoogle Scholar
  12. 12.
    Kalra N, Bansal D (2014) Analyzing driver behavior using smartphone sensors: a survey. Int J Electron Electr Eng 7(7):697–702Google Scholar
  13. 13.
    Thompson C, White J, Dougherty B, Albright A, Schmidt DC (2010) Using smartphones to detect car accidents and provide situational awareness to emergency responders. Mobile Wirel Middlew Oper Syst Appl 48:29–42Google Scholar
  14. 14.
    El-Rabbany A (2002) Datums, coordinate systems, and map projections. In: Introduction to GPS: the global positioning system, 1st edn. Artech House Publishers, London, pp 47–68Google Scholar
  15. 15.
    Cai G, Chen BM, Lee TH (2011) Coordinate systems and transformations. In: Unmanned rotorcraft systems, 1st edn. Springer, London, pp 23–34Google Scholar
  16. 16.
    Cook MV (2013) Systems of axes and notation. In: Flight dynamics principles: a linear systems approach to aircraft stability and control, 3rd edn. Elsevier, Oxford, pp 13–32CrossRefGoogle Scholar
  17. 17.
    Serway RA, Jewett JW (1999) Universal gravitation. In: Physics for scientists and engineers with modern physics, 9th edn. Brooks Cole, Boston, pp 388–416Google Scholar
  18. 18.
    Champion KSW, Cole AE, Kantor AJ (1985) Standard and reference atmospheres. In: Jursa AS (ed) Handbook of geophysics and the space environment. Air Force Geophysics Laboratory, Bedford, pp 14(1)–14(43)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Department of Chemical EngineeringSirjan University of TechnologySirjanIran
  2. 2.Department of Electrical EngineeringShiraz UniversityShirazIran
  3. 3.Department of Aerospace EngineeringPayame Noor UniversityShirazIran

Personalised recommendations