# Learning Position From Vehicle Vibration
Using an Inertial Measurement Unit

Barak Or, , Nimrod Segol, Areej Eweida, and, Maxim Freydin Preprint version.
Under review. 2023.All authors are with ALMA Technologies Ltd, Haifa, 340000,
Israel (e-mail: barak@almatechnologies.com).

###### Abstract

This paper presents a novel approach to vehicle positioning that operates
without reliance on the global navigation satellite system (GNSS). Traditional
GNSS approaches are vulnerable to interference in certain environments,
rendering them unreliable in situations such as urban canyons, under flyovers,
or in low reception areas. This study proposes a vehicle positioning method
based on learning the road signature from accelerometer and gyroscope
measurements obtained by an inertial measurement unit (IMU) sensor. In our
approach, the route is divided into segments, each with a distinct signature
that the IMU can detect through the vibrations of a vehicle in response to
subtle changes in the road surface. The study presents two different data-
driven methods for learning the road segment from IMU measurements. One method
is based on convolutional neural networks and the other on ensemble random
forest applied to handcrafted features. Additionally, the authors present an
algorithm to deduce the position of a vehicle in real-time using the learned
road segment. The approach was applied in two positioning tasks: (i) a car
along a $6\ [km]$ route in a dense urban area; (ii) an e-scooter on a $1\
[km]$ route that combined road and pavement surfaces. The mean error between
the proposed method’s position and the ground truth was approximately $50\
[m]$ for the car and $30\ [m]$ for the e-scooter. Compared to a solution based
on time integration of the IMU measurements, the proposed approach has a mean
error of more than 5 times better for e-scooters and 20 times better for cars.

###### Index Terms:

Deep Neural Network, Inertial Measurement Unit, Inertial Navigation System,
Machine Learning, Supervised Learning.

##  I Introduction

In various domains and applications, continuous real-time positioning
solutions are required. Currently, outdoor positioning technology relies
heavily on satellite navigation devices such as GNSS receivers. This includes
GPS, GLONASS, Galileo, Beidou, and other satellite navigation systems [1, 2,
3]. Drivers commonly rely on GNSS technology for positioning and navigation,
often using their smartphones for this purpose [2, 4]. However, GNSS requires
a line of sight with multiple satellites and is thus unsuitable for indoor
positioning applications including navigating through tunnels and indoor
parking lots [5, 6, 7, 8]. Additionally, there are scenarios in which GNSS
does not offer sufficient accuracy for certain outdoor positioning
applications [9, 10, 11].

Given the limitation of GNSS, there are approaches that make use of other
sensors to compensate. In many scenarios, GNSS measurements are fused with
maps and additional sensors to ensure continuous localization and improve
accuracy. A key example is autonomous vehicles (AVs) [12, 13] where there
exists a need for continuous availability beyond that provided by GNSS. It is
therefore common to perform fusion with additional sensors such as cameras,
LiDARs, inertial sensors, odometry, and others [14, 15, 16]. Unfortunately,
these sensors are usually expensive, and the quality of the data they provide
depends on various physical conditions, such as lighting and the presence of
occlusions. Hence, there are no accurate and continuous positioning solutions
for vehicles that operate both indoors and outdoors. This work presents an
approach that relies only on a single IMU sensor and is a step towards a
continuous solution for a broad range of scenarios and environments.

The positioning approach suggested here applies machine learning to inertial
sensor readings. Inertial sensors are commonplace in mobile devices and have a
broad range of applications including in mobility and transportation. Indeed,
various authors have utilized the IMU sensors for many tasks including
identifying driver activity, detecting car accidents, and other [17, 18, 19].
In the navigation domain, it is common to fuse inertial with GNSS measurements
in an INS/GNSS (inertial navigation system) fusion scheme. The IMU typically
consists of two sensors: an accelerometer that measures specific force and a
gyroscope that measures angular velocity. Positioning is deduced by
integrating (with respect to time) both the accelerometer and gyroscope
measurements and fusing the high-rate low-accuracy integrated solution with a
low-rate high-accuracy GNSS measurement. This approach is sometimes referred
to as strap-down inertial navigation (SINS) where it could be said that dead
reckoning is performed between each pair of GNSS measurements. The SINS
approach is vulnerable to drift, leading rapidly to large errors in the
solution [3]. While this work uses the common and affordable IMU sensor which
has the significant advantage of high availability, we do not use dead
reckoning. Instead, we use the power of machine learning (ML) and deep
learning (DL). Machine learning methods presented impressive results in a wide
range of domains in recent years [20, 21]. Therefore, the authors of this work
propose to utilize them to derive a positioning method from an IMU sensor that
does not suffer from rapidly increasing drift.

Figure 1: An illustration of road segmentation. The proposed methodology is
applied for ground vehicle positioning tasks as illustrated. The route is
broken into N segments where the IMU measurements are classified into one of
the N segments $S_{i}$, based on unique time-series signal signatures. In this
illustration, there is a different road texture in each segment, producing a
different and unique IMU signal.

In previous related work, DL-based models were integrated into a wide range of
navigation and positioning tasks. In [22] neural networks were trained to
regress linear velocities from inertial sensors and use these predictions to
constrain accelerometer readings. In [23], a DL-based model was developed to
address the limitations of wheel odometry in land vehicle navigation. In [24],
researchers used long short-term memory (LSTM) networks to learn the road
curvature and other features in order to estimate the process noise covariance
in a linear Kalman filter. In [25], an approach to address GNSS outages was
proposed involving a DL-based multi-model approach and an extended Kalman
filter. [26], presents a DL-based model that utilized a stream of measurements
from a low-cost IMU to estimate the speed of a car driving in an urban area.
In [27], a data-driven approach using a DL-based model is presented to learn
the yaw mounting angle of a smartphone equipped with an IMU and strapped to a
car. In [28] the authors propose the use of a neural network on WiFi signals
for indoor navigation. Previously in [29] the authors introduced a new method
to detect road landmarks such as bumps using a machine learning method on IMU
sensor readings. This work significantly extends that past work by deriving a
positioning solution.

This study presents a novel approach to vehicle positioning using only IMU
measurements, without the need for GNSS or any other sensor. A machine
learning model learns the road segment based on vibration measured by the IMU
as illustrated in Figure 1. This work investigated two different data-driven
methods to learn the road segment. The proposed methods were rigorously
validated and compared to classical dead reckoning, showing significant
improvements in position accuracy for a car along a $6\ [km]$ urban route and
an e-scooter on a $1\ [km]$ mixed surface route. These findings have important
implications for the development of effective and efficient vehicle
positioning techniques, particularly in challenging scenarios where
traditional approaches may not be feasible. To summarize,

  1. 1.

We propose a positioning method on a given route based only on IMU
measurements.

  2. 2.

The method is data-driven and we investigated two distinct machine learning
approaches that learn from the IMU readings

  3. 3.

We collected two data sets, cars, and e-scooters, and validated our approach
on these data sets.

  4. 4.

We compared our results on these data sets with classical dead reckoning
(where accelerometer and gyroscope data is rotated to an inertial frame and
integrated with respect to time) and received favorable results.

The rest of the paper is organized as follows: Section II describes the data-
driven approach to vehicle positioning; In particular, we elaborate on the
data processing and data-driven ML and DL algorithms we employ. In Section
III, a description of the real-life datasets we collected is provided,
followed by the experimental results and discussion. Finally, Section IV
presents concludes the work.

##  II Data Driven based Positioning Inference

The core concept involves utilizing an ML algorithm to determine a vehicle’s
current position on a given route. Specifically, a route is divided into N
segments of uniform length and an ML model is trained on IMU data from the
vehicle’s accelerometer and gyroscope sensors to infer its current road
segment. This technique, where the current road segment is inferred, is
referred to as road segmentation, and the ML model used for this purpose is
called a road segmentor. The midpoint of the inferred segment is then reported
as the vehicle’s position. Refer to Figures 1 and 2 for an illustration of
this methodology and the data flowchart, respectively.

Section II-A provides a detailed description of the positioning algorithm,
with Subsections II-B, II-C, and II-D elaborating on the critical components
of tuning the number of road segments, processing the data, and designing the
ML algorithm, respectively.

###  II-A Algorithm Description

Figure 2: Block diagram of the positioning algorithm.

In this part, a detailed description of the methodology is presented.
Initially, input raw measurements from the IMU are obtained, which include
acceleration in units of $m/s^{2}$ and angular velocity in units of $rad/s$
across three axes. These measurements are then passed through a processor that
is thoroughly described in Subsection II-C. Our data processing approach
involves taking $2\ [s]$ of IMU measurements at a time. Specifically, if the
original IMU data is sampled at a frequency of $f$ Hz, then our initial data
measurement is represented as $I_{t}\in\mathbb{R}^{2f\times 6}$ where $t$
represents the time in seconds. The pre-processing stage is denoted by $P$ and
is described in detail in the following subsection.

$P:\mathbb{R}^{2f\times 6}\to\mathbb{R}^{40\times
6};\quad\bar{I}_{t}=P(I_{t}).$ (1)

As part of the pre-processing, we downsample the data to $20$ Hz, resulting in
$\bar{I}_{t}\in\mathbb{R}^{40\times 6}$. Next, the processed IMU data is
passed through a road segmentor, denoted by $R$, to infer the current road
segment.

$R:\mathbb{R}^{40\times 6}\to[N];\quad\tilde{S}_{t}=R(\bar{I}_{t})$ (2)

where $N$ is the number of road segments and $\tilde{S}_{t}=R(\bar{I}_{t})$ is
the vehicle’s current road segment.

This study explores two different road segmentors to infer the current road
segment from processed IMU data. The first road segmentor is based on a
convolutional neural network (CNN) [30], while the second one employs hand-
crafted features (HCF) and an ensemble random forest (Ensemble) [31]. Further
details can be found in Subsection II-D.

The current segment is inferred based on the last segment (which was inferred
in the previous time window of two seconds) and the output of the road
segmentor. The classifier output is limited to either the current or next
segment since the vehicle can only move to the next segment or remain in the
current one. Denote this logic by $L$ we have,

$L:[N]\times[N]\to[N];\quad S_{t}=L(\tilde{S}_{t},S_{t-2})$ (3)

Finally, we report the position by taking the midpoints of the inferred
segment. That is

$M:[N]\to\mathbb{R}^{2};\quad(x_{t},y_{t})=M(S_{t})$ (4)

where $M$ is the midpoint of the segment $S_{t}$. Based on the described
process, a positioning function is provided by

$\Phi:\mathbb{R}^{2f\times
6}\times[N]\to\mathbb{R}^{2};\quad\Phi(I_{t},S_{t-2})=M\circ L\circ R\circ P$
(5)

which takes a raw IMU measurement and the previous inferred segment and
outputs a position. The full algorithm is described in a block diagram in
Figure 2 and in Algorithm 1.

Figure 3: The network architecture used for the CNN classifier. Algorithm 1
Positioning from IMU measurements and a predetermined list of segment
midpoints

1:$S_{-2}\leftarrow 1$

2:for $t=0[s],2[s]\ldots$ do

3: $I_{t}\leftarrow\text{raw IMU}$ $\triangleright$ Read data from the sensor

4: $\bar{I}_{t}\leftarrow P(I_{t})$ $\triangleright$ As described in
Subsection II-C

5: $\tilde{S}_{t}\leftarrow R(\bar{I}_{t})$ $\triangleright$ Road segmentors
in Subsection II-D

6: if $\tilde{S}_{t}-S_{t-2}\notin[0,1]$ then

7: $S_{t}\leftarrow S_{t-2}$

8: else

9: $S_{t}\leftarrow\tilde{S}_{t}$

10: end if

11: $(x_{t},y_{t})\leftarrow M(S_{t})$ $\triangleright$ Report the position as
the midpoint of the inferred segment

12:end for

###  II-B Tuning the Number of Segments

The road segmentor takes a processed IMU measurement and outputs a segment
number where each of the segments has the same length. Determining the best
number of segments in the route is a crucial step in the positioning solution.
As the number of segments increases, the road segmentation task becomes more
challenging due to the increasing number of features and variations to be
captured for each segment. For a given dataset with a limited number of
recordings, this also means that there are more segments to distinguish
between and fewer samples for each segment to learn from. On the other hand,
when the route is divided into smaller segments there is the benefit of
increasing the accuracy of distance estimates within each segment. This is
because the midpoint of a shorter segment provides a more precise estimate of
the vehicle’s position within that segment.

This paper investigates the performance of a positioning solution on two
datasets, each with its unique characteristics. We use a data-driven approach
to determine the optimal number of road segments for each dataset using a
validation set. Figures 6 and 7 present the effect of a number of segments on
the average positioning error. We show that the positioning error increases
when the number of road segments is either too large or too small. This
highlights the importance of choosing an appropriate segment length that is
tailored to the specific characteristics of the dataset and the requirements
of the application.

###  II-C Data Processing

To prepare the raw IMU data for use by the ML road segmentor, we first apply a
series of processing steps to enhance the quality of the data and reduce
noise. The raw data used in this study consists of measurements of
acceleration in $m/s^{2}$ and angular velocity in $rad/s$ in three axes. The
preprocessor $P$ is applied to raw data as described by Eq. (1). It is
composed of,

  1. 1.

Low-pass filter (LPF) with a cut-off frequency of 10 Hz. Most IMUs operate at
sampling rates at or above 100 Hz which is significantly greater than the
dynamics bandwidth of a typical vehicle [32]. This step reduces the noise
inherent to low-cost inertial sensors while maintaining key signal
information.

  2. 2.

Down-sample the data to $20$ Hz. To facilitate the use of our ML road
segmentor with different mobile phones that sample IMU data at different
frequencies, we down-sample the data to a common frequency of 20 Hz. This step
is critical for ensuring that our approach is widely applicable and can be
used with different types of mobile devices and sensors.

  3. 3.

Rotate the measured acceleration and angular velocity vectors to a frame where
the third vector component is aligned parallel to the gravity vector (i.e.,
compensate for the roll and pitch angles [3]). The gravity component is then
subtracted from the third component of the acceleration vector. This step
makes the data more uniform and independent of the mobile device’s roll and
pitch installation angles.

The preprocessing steps outlined above are applied both offline during
training of the ML model and online in real-time scenarios. The purpose of
these steps is to simplify the raw sensor data by removing noise and other
extraneous information that is not relevant to the task of road segmentation
and vehicle positioning. It is noted that the above processing procedure has
appeared in various prior works e.g. [3, 26, 27]. It is provided for this work
to be self-contained.

###  II-D Road Segmentors

In this section, we provide a detailed description of the machine learning
methods we employed for road segmentation. Specifically, we introduce the road
segmentor $R$, as outlined in Equation (2). The road segmentor is a critical
component of our approach to vehicle positioning and can be one of two
different machine learning methods. We investigate two common data-driven
methods to learn position from vibrations,

####  II-D1 Convolutional neural network

The first road segmentor we used is a CNN composed of the following layers:

  * •

Linear layer: A linear transformation is applied to the data from the
preceding layer.

  * •

Conv1D layer: A convolutional, one-dimensional layer creates a convolution
kernel that is convolved with the layer input over a single dimension to
produce a vector of outputs. The dimensions of the convolutions layers are
$64$, $128$, and $1024$ with kernel sizes $3$, $5$ and $7$.

  * •

Mean pooling: Pooling layers help with better generalization capability as
they perform a down-sampling feature map.

  * •

ReLU: A nonlinear activation function defined by
ReLU$(\alpha)=\max(\alpha,0)$.

  * •

Batch normalization: Batch normalization reduces covariate shift. The batch
normalization was added after every Conv1D layer (together with the ReLU
layer).

See Figure 3 for a schematic of the network. The CNN was trained for a total
of 200 epochs using the cross-entropy loss function, which is commonly used in
classification tasks. Specifically, we define the output of the CNN as
$\tilde{y}(I,{\bf W})$, where $\bf W$ represents the weights of the CNN, and
$I$ is the preprocessed IMU input. The cross-entropy loss function is then
defined as:

$\ell=-\sum\limits_{c=1}^{M}{{y_{c}}}\log\left({\tilde{y}\left({I,{\bf{W}}}\right)}\right)$
(6)

where $y_{c}=1$ if the true label $y$ is equl to $c$ and $0$ otherwise. We
used the ADAM optimizer [33] with an initial learning rate of $0.001$ and
multiplicative learning rate decay of $0.1$ every $50$ epochs. We trained the
model using a Tesla V100 Nvidia GPU and took about 24 minutes per epoch.

####  II-D2 Ensemble random forest

We evaluated a second approach for road segmentation, the ensemble random
forest method. This method takes as input $702$ hand-crafted features
extracted from the pre-processed IMU measurements. The feature extraction
process is detailed in appendix Appendix – handcrafted features for ensemble
random forest. We fed the features into a random forest classifier with $100$
decision trees. During training, no maximum depth was specified, and all nodes
were expanded until all leaves were pure. For the car’s data set, the
resulting decision tree estimators had an average depth of $29.19$, a minimum
depth of $25$, and a maximum depth of $38$. For the e-scooter’s data set, the
resulting decision tree estimators had an average depth of $37.87$, a minimum
depth of $31$, and a maximum depth of $48$.

Figure 4: The car route (blue) is shown on top of the road map (grey), taken
from OpenStreetMap [34].

##  III Experiments

We evaluated our positioning solution in two distinct scenarios: a car driving
in a dense urban area and an e-scooter traveling on a route that includes both
roads and sidewalks. As we detail in the sequel, the suggested data-driven
methods significantly outperform traditional dead reckoning. In Subsection
III-A we detail the data collected for both experiments, while the results of
our approach are presented in Subsection III-B.

###  III-A Data Collection

We collected real-world data to construct two datasets suitable for testing
and validating the proposed data-driven algorithm.

####  III-A1 Cars

We assembled a dataset consisting of 49 drives of a particular route, spanning
a distance of 5919 [m], as seen in Figure 4. The data was recorded using the
PhyPhox app [35] on a Galaxy A21s smartphone at a sampling rate of 200 Hz. In
addition to the IMU data, GPS coordinates were also collected at a sampling
rate of 1 Hz using the same app. The drives were taken in ten different cars,
with five drives recorded from $9$ of the cars and $4$ drives from the 10th
car. Two drives from each car were reserved for validation and testing.
Therefore, a total of 29 drives were used for training, 10 for validation, and
10 for testing.

####  III-A2 E-scooters

We collected a data set of $63$ e-scooters drives covering a distance of $917\
[m]$ on a predetermined route depicted in Figure 5. The drives were collected
by two different drivers using different phones. The drivers were not told on
which part of the route to drive on the sidewalk and on which on the road and
each driver chose independently. The recordings contain IMU measurements at a
frequency of $420$ Hz and GPS coordinates at a frequency of $1$ Hz recorded
using the PhyPhox app on either a Galaxy S22 (for the first driver) or Oneplus
nord2 (for the second driver) device. We employed $47$ of the drives for
training ($24$ from the first driver and $23$ from the second), $8$ for
validation ($4$ from each driver), and $8$ for testing ($4$ from each driver).

Figure 5: The e-scooter route (blue) is shown on top of the road (grey), taken
from OpenStreetMap. The route includes on and off-road segments, making for a
diverse and challenging route.

###  III-B Experimental Results

This section presents the results of our experiments on cars and e-scooters,
specifically evaluating the performance of both data-driven road segmentors
described in Section II-D.

Our evaluation includes eight different measures, namely,

  * •

acc raw – the raw accuracy of the classifier, i.e., using the road segmentor
output.

  * •

acc – the accuracy of the classifier after applying the logic described in
Algorithm 1.

  * •

2-acc raw – the $2$ accuracy of the raw classifier, which is the percentage of
segments at most $1$ segment removed from the ground truth.

  * •

2-acc – the $2$ accuracy after applying the logic in Algorithm 1.

  * •

max dist raw – the maximal distance between the midpoint of the segment
reported by the raw classifier and the ground truth.

  * •

max dist – the maximal distance between the position reported by Algorithm 1
and the ground truth.

  * •

mean dist raw – the average distance between the midpoint of the segment
reported by the raw classifier and the ground truth.

  * •

mean dist – the average distance between the position reported by Algorithm 1
and the ground truth.

The results of the evaluation are summarized in Table I for cars and Table II
for e-scooters. All results were compared with classical dead reckoning where
the IMU signals were rotated to the inertial frame and integrated with respect
to time to yield location estimates.

Classifier | acc raw | acc | 2-acc raw | 2-acc | max dist raw [m] | max dist [m] | mean dist raw [m] | mean dist [m]
---|---|---|---|---|---|---|---|---
CNN | 0.79 | 0.87 | 0.89 | 1 | 2377 | 296 | 184 | 53
Ensemble | 0.7 | 0.83 | 0.81 | 1 | 2377 | 211 | 198 | 55
Dead reckoning | N.A. | N.A. | N.A. | N.A. | N.A. | 2484 | N.A. | 1247
TABLE I:  Results of our data-driven approaches on the cars data-set. The performance metrics are explained in Section III-B. Classifier | acc raw | acc | 2-acc raw | 2-acc | max dist raw [m] | max dist [m] | mean dist raw [m] | mean dist [m]
---|---|---|---|---|---|---|---|---
CNN | 0.58 | 0.72 | 0.70 | 0.96 | 297 | 149 | 74 | 32
Ensemble | 0.48 | 0.63 | 0.63 | 0.9 | 316 | 309 | 97 | 56
Dead reckoning | N.A. | N.A. | N.A. | N.A. | N.A. | 752 | N.A. | 316
TABLE II:  Results on the e-scooters data-set.

####  III-B1 Learning car position

To determine the optimal number of road segments for Algorithm 1, we evaluated
13 different numbers of road segments, ranging from 10 to 70 in increments of
5, as described in Subsection II-B. The optimal number of road segments was
chosen based on the best performance on the validation set. Figure 6 shows the
resulting average error between the output of Algorithm 1 and the GPS as a
function of the number of segments for both the CNN and Ensemble road
segmentors. We found that dividing the route into 40 segments yielded the
lowest error on the validation set for both road segmentors.

(a)

(b)

Figure 6: Average distance error [m] vs. the number of road segments,
evaluated on the validation set for cars. The results are shown for both a CNN
classifier (on the left) and a classifier based on hand-crafted features and a
random forest (on the right).

(a)

(b)

Figure 7: Average distance error [m] vs. the number of road segments,
evaluated on the validation set for e-scooters. The results are shown for both
a CNN classifier (on the left) and a classifier based on hand-crafted features
and a random forest (on the right).

(a)

(b)

(c)

(d)

Figure 8: Results vs. time on a particular drive from the cars test set. The
top row shows the classification results obtained by the DL-based road
segmentor (CNN) and the road segmentor based on the ensemble of hand-crafted
features and random forest (Ensemble). Both raw and corrected classification
results are presented. The bottom row shows the error between the reported
position and the GPS ground truth.

(a)

(b)

(c)

(d)

Figure 9: Results vs. time on a particular drive from the e-scooter test set.
The top row shows the classification results obtained by the DL-based road
segmentor (CNN) and the road segmentor based on the ensemble of hand-crafted
features and random forest (Ensemble). Both raw and corrected classification
results are presented. The bottom row shows the error between the reported
position and the GPS ground truth.

####  III-B2 Learning e-scooter position

Learning road segments from the road vibration generated by an e-scooter is
more challenging than those generated by a car. This is due to the greater
freedom an e-scooter driver has in choosing a route, resulting in a more
varied road vibration signature. While a car completely fills a car lane, an
e-scooter may drive on various paths on a sidewalk or road or a bicycle lane.
Note the trajectory in our experiment in Figure 5 where the e-scooter drives
both off and on the road. In addition, an e-scooter will be more sensitive to
turns, starts, and stops, resulting in noisier IMU measurements. As a result,
the road vibration signature of an e-scooter is much more varied. Despite the
challenges inherent in learning road segments from the road vibrations
generated by an e-scooter, our proposed approach achieved an average error of
approximately $30\ [m]$ for a $917\ [m]$ route. In contrast, a traditional
dead reckoning approach resulted in an average error exceeding $300\ [m]$.
Comprehensive results of our positioning solution for the e-scooter dataset
are provided in Table II.

We consider $9$ possibilities for the number of segments between $4$ and $20$
with increments of $2$. For each, we partition the route into equal segments,
train a road segmentor on the training set, and test the accuracy on the
validation set using Algorithm 1. In Figure 7, the average error on the
validation set is plotted as a function of the number of segments for both a
deep classifier and a road segmentor based on random forest and HCFs. The
optimal number of segments was found to be $14$ for the CNN road segmentor,
and $12$ for the Ensemble road segmentor based on the lowest validation error.

###  III-C Performance Analysis

To gain insight into the effectiveness of our approach, we can compare the
maximum and average errors presented in Tables I and II to those achievable
with a perfect road segmentor and a vehicle traveling at a constant velocity.
If a route of length $L$ is partitioned into $N$ segments, a perfect road
segmentor would have a maximum error of $\frac{L}{2N}$. Assuming constant
speed, a perfect road segmentor would achieve an average error of
$\frac{L}{4N}$. To see this, let $\bar{d}$ be the average distance between the
vehicles position and the midpoints of the segments under the constant
velocity assumption, $v$ be the constant velocity, and $T=\frac{L}{2Nv}$ be
the time it takes to travel half a segment. We will then have,

$\bar{d}=\frac{1}{T}\intop_{t=0}^{T}\left[\frac{L}{2N}-vt\right]dt=\frac{L}{2N}-\frac{1}{2}vT$
(7)

plug in $vT=\frac{L}{2N}$ and we get $\bar{d}=\frac{L}{4N}$. Simply put, when
traveling at constant velocity the average distance from the midpoint of the
segment is equal to one-quarter of the segment’s length.

In the car experiments, the route length was $5919\ [m]$, divided into $40$
segments. This suggests a maximal error of $73\ [m]$ and an average error of
$36\ [m]$ with a perfect road segmentor. However, our approach resulted in a
maximal error of $184\ [m]$ and $198\ [m]$ and an average error of $53\ [m]$
and $55\ [m]$ for the CNN and Ensemble road segmentors, respectively, which
are close to the ideal values. In comparison to the classical dead reckoning
method, our results demonstrate that the maximal error from our road
segmentors is over ten times smaller, and the average error is over twenty
times smaller. Full details can be found in Table I.

In the e-scooter experiment, the route spanned $917\ [m]$ and was divided into
14 segments for the CNN road segmentor and 12 segments for the Ensemble road
segmentor. A perfect road segmentor would attain a maximal error of $32\ [m]$
and $38\ [m]$ for the CNN and Ensemble, respectively, with an expected average
error of about $16\ [m]$ and $19\ [m]$ for the respective segmentors. Our
experiment produced a maximal error of $149\ [m]$ and $309\ [m]$ for the CNN
and Ensemble segmentors, respectively, with an average error of $32\ [m]$ and
$56\ [m]$ for the CNN and Ensemble, respectively. Our results are roughly the
same order of magnitude as those of the optimal road segmentor, despite the
difficulty of the e-scooter localization task. Moreover, our data-driven
approaches improve the mean distance error 5 times over classical dead
reckoning.

The significance of the wrapping logic function $L$ in Eq. 3 should be noted.
As shown in Tables I and II, the accuracy of both road segmentation and
position estimation is significantly improved with the inclusion of the logic
function $L$. This improvement is further evident in Figures 8 and 9, where
the unprocessed road segmentation (depicted in orange) appears noisy and
inaccurate. However, the accuracy is significantly enhanced upon application
of the logic function $L$, which eliminates severe outliers. For instance, in
the car dataset, the maximum distance without logic is more than ten times
larger.

##  IV Conclusions

This work proposes a novel approach for vehicle positioning that does not rely
on the GNSS. GNSS approaches are vulnerable to interference or failure in
certain environments, rendering them unreliable in many situations. To address
this issue, the proposed approach learns the road signature of a given
environment and uses it for positioning via vehicle vibration, using only the
IMU sensor. The approach divides a route into segments, each with a distinct
signature that the IMU can detect by identifying subtle changes in the road
surface. The study introduces two different methods for learning the road
segment from IMU measurements, one based on convolutional neural networks and
the other on ensemble random forest applied to handcrafted features. An
algorithm for estimating the vehicle’s road segment and deducing position in
real time was presented.

The proposed approach was evaluated on a $6\ [km]$ route in a dense urban area
for a car and a $1\ [km]$ route that combined road and pavement surfaces for
an e-scooter. The mean error between the proposed method’s position and the
ground truth was approximately $50\ [m]$ for the car and $30\ [m]$ for the
e-scooter, representing significant improvements over the classical dead
reckoning approach. The findings demonstrate the potential for effective and
efficient vehicle positioning techniques that can be used in situations where
traditional GNSS approaches are unreliable.

This work opens the door to various directions for future research direction.
Among them is investigating the quality of different road segmentors based on
different deep learning architectures or when the road segments are not of
uniform length but divided by some other criteria. It is also interesting to
consider an unsupervised or semi-supervised setting where the road segment is
inferred solely from the IMU reading without GPS labeling. Such a setting is
relevant to indoor navigation where GPS is not available and obtaining
accurate labels is difficult. Other research directions include the fusion of
our approach with other sensors such as cameras or LiDAR, combining the
practically unlimited availability of the IMU with the benefits of other
sensors.

## Appendix – handcrafted features for ensemble random forest

As discussed in Section II-D, one of the road segmentors considered in this
work was an ensemble random forest with hand-crafted features. Here the
particular features manually computed from the processed IMU signals are
detailed. From the initial $6$ channels,
$\omega_{x},\omega_{y},\omega_{y},a_{x},a_{y},a_{z}$ of processed IMU data we
generate additional $42$ channels. The numerical derivatives,
$\omega_{x}^{d},\omega_{y}^{d},\omega_{y}^{d},a_{x}^{d},a_{y}^{d},a_{z}^{d}$
the numerical integrals,
$\omega_{x}^{i},\omega_{y}^{i},\omega_{y}^{i},a_{x}^{i},a_{y}^{i},a_{z}^{i}$
the quotients,
$\frac{\omega_{x}}{\omega_{y}},\frac{\omega_{y}}{\omega_{x}},\frac{\omega_{z}}{\omega_{x}},\frac{\omega_{x}}{\omega_{z}},\frac{\omega_{y}}{\omega_{z}},\frac{\omega_{z}}{\omega_{y}},\frac{a_{x}}{a_{y}},\frac{a_{y}}{a_{x}},\frac{a_{x}}{a_{z}},\frac{a_{z}}{a_{x}},\frac{a_{y}}{a_{z}},\frac{a_{z}}{a_{y}}$
the quotients of the numerical integrals,
$\frac{\omega_{x}^{i}}{\omega_{y}^{i}},\frac{\omega_{y}^{i}}{\omega_{x}^{i}},\frac{\omega_{z}^{i}}{\omega_{x}^{i}},\frac{\omega_{x}^{i}}{\omega_{z}^{i}},\frac{\omega_{y}^{i}}{\omega_{z}^{i}},\frac{\omega_{z}^{i}}{\omega_{y}^{i}},\frac{a_{x}^{i}}{a_{y}^{i}},\frac{a_{y}^{i}}{a_{x}^{i}},\frac{a_{x}^{i}}{a_{z}^{i}},\frac{a_{z}^{i}}{a_{x}^{i}},\frac{a_{y}^{i}}{a_{z}^{i}},\frac{a_{z}^{i}}{a_{y}^{i}}$
and the amplitude of the Fourier coefficients
$\mathcal{F}\\{\omega_{x}\\},\mathcal{F}\\{\omega_{y}\\},\mathcal{F}\\{\omega_{y}\\},\mathcal{F}\\{a_{x}\\},\mathcal{F}\\{a_{y}\\},\mathcal{F}\\{a_{z}\\}.$
We extracted various features from the 48 channels of our IMU measurements,
except for the Fourier coefficients. The following $12$ features were
computed: mean, standard deviation, minimum, maximum, median, median absolute
deviation, second moment, skewness, kurtosis, interquartile range, spectral
entropy, and largest value divided by smallest in absolute value. For the $24$
quotient channels, we also computed the mean absolute deviation. For the $6$
channels of Fourier coefficients, we computed all of the features above, with
the exception of spectral entropy, resulting in additional $66$ channels. We
also computed the signal magnitudes area for the following triplets
$\\{\omega_{x},\omega_{y},\omega_{z}\\}$ $\\{a_{x},a_{y},a_{z}\\}$,
$\\{a_{x}^{d},a_{y}^{d},a_{z}^{d}\\}$,
$\\{\omega_{x}^{d},\omega_{y}^{d},\omega_{z}^{d}\\}$,
$\\{a_{x}^{i},a_{y}^{i},a_{z}^{i}\\}$,
$\\{\omega_{x}^{i},\omega_{y}^{i},\omega_{z}^{i}\\}$,
$\\{\mathcal{F}\\{\omega_{x}\\},\mathcal{F}\\{\omega_{y}\\},\mathcal{F}\\{\omega_{y}\\}\\}$
and
$\\{\mathcal{F}\\{a_{x}\\},\mathcal{F}\\{a_{y}\\},\mathcal{F}\\{a_{z}\\}\\}$
for additional $8$ channels. Additionally, we computed $24$ correlation
coefficients, between the following couplets
$\\{\omega_{x},\omega_{y}\\},\\{\omega_{x},\omega_{z}\\}$,
$\\{\omega_{x},\omega_{z}\\}$, $\\{a_{x},a_{y}\\}$, $\\{a_{x},a_{z}\\}$,
$\\{a_{y},a_{z}\\}$,
$\\{\omega_{x}^{d},\omega_{y}^{d}\\},\\{\omega_{x}^{d},\omega_{z}^{d}\\}$,
$\omega_{x}^{d},\omega_{z}^{d}$, $\\{a_{x}^{d},a_{y}^{d}\\}$,
$\\{a_{x}^{d},a_{z}^{d}\\}$, $\\{a_{y}^{d},a_{z}^{d}\\}$,
$\\{\omega_{x}^{i},\omega_{y}^{i}\\},\\{\omega_{x}^{i},\omega_{z}^{i}\\}$,
$\\{\omega_{x}^{i},\omega_{z}^{i}\\}$, $\\{a_{x}^{i},a_{y}^{i}\\}$,
$\\{a_{x}^{i},a_{z}^{i}\\}$, $\\{a_{y}^{i},a_{z}^{i}\\}$,
$\\{\mathcal{F}\\{a_{x}\\},\mathcal{F}\\{a_{y}\\}\\}$,
$\\{\mathcal{F}\\{a_{y}\\},\mathcal{F}\\{a_{z}\\}\\}$,
$\\{\mathcal{F}\\{a_{x}\\},\mathcal{F}\\{a_{z}\\}\\}$,
$\\{\mathcal{F}\\{\omega_{x}\\},\mathcal{F}\\{\omega_{y}\\}\\}$,
$\\{\mathcal{F}\\{\omega_{y}\\},\mathcal{F}\\{\omega_{y}\\}\\}$, and
$\\{\mathcal{F}\\{\omega_{x}\\}\mathcal{F},\\{\omega_{y}\\}\\}$. Lastly, we
employed an order 2 vector autoregressive model to fit the IMU measurements
and appended the resulting coefficients as additional features.

## References

  * [1] R. B. Langley, P. J. Teunissen, and O. Montenbruck, “Introduction to gnss,” _Springer handbook of global navigation satellite systems_ , pp. 3–23, 2017\.
  * [2] F. Zangenehnejad and Y. Gao, “Gnss smartphones positioning: Advances, challenges, opportunities, and future perspectives,” _Satellite navigation_ , vol. 2, pp. 1–23, 2021.
  * [3] J. Farrell, _Aided navigation: GPS with high rate sensors_. McGraw-Hill, Inc., 2008.
  * [4] J. Wahlström, I. Skog, P. Händel, and A. Nehorai, “Imu-based smartphone-to-vehicle positioning,” _IEEE Transactions on Intelligent Vehicles_ , vol. 1, no. 2, pp. 139–147, 2016.
  * [5] N. El-Sheimy and Y. Li, “Indoor navigation: State of the art and future trends,” _Satellite Navigation_ , vol. 2, no. 1, pp. 1–23, 2021.
  * [6] A. Francis, A. Faust, H.-T. L. Chiang, J. Hsu, J. C. Kew, M. Fiser, and T.-W. E. Lee, “Long-range indoor navigation with prm-rl,” _IEEE Transactions on Robotics_ , vol. 36, no. 4, pp. 1115–1134, 2020.
  * [7] O. Al Hammadi, A. Al Hebsi, M. J. Zemerly, and J. W. Ng, “Indoor localization and guidance using portable smartphones,” in _2012 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology_ , vol. 3. IEEE, 2012, pp. 337–341.
  * [8] C. Zhao, A. Song, Y. Zhu, S. Jiang, F. Liao, and Y. Du, “Data-driven indoor positioning correction for infrastructure-enabled autonomous driving systems: A lifelong framework,” _IEEE Transactions on Intelligent Transportation Systems_ , 2023.
  * [9] N. Zhu, J. Marais, D. Bétaille, and M. Berbineau, “Gnss position integrity in urban environments: A review of literature,” _IEEE Transactions on Intelligent Transportation Systems_ , vol. 19, no. 9, pp. 2762–2778, 2018.
  * [10] H. Jing, Y. Gao, S. Shahbeigi, and M. Dianati, “Integrity monitoring of gnss/ins based positioning systems for autonomous vehicles: State-of-the-art and open challenges,” _IEEE Transactions on Intelligent Transportation Systems_ , 2022.
  * [11] C. Rizos, “Locata: A positioning system for indoor and outdoor applications where gnss does not work,” in _Proceedings of the 18th Association of Public Authority Surveyors Conference_ , 2013, pp. 73–83.
  * [12] D. J. Yeong, G. Velasco-Hernandez, J. Barry, and J. Walsh, “Sensor and sensor fusion technology in autonomous vehicles: A review,” _Sensors_ , vol. 21, no. 6, p. 2140, 2021.
  * [13] X. Meng, H. Wang, and B. Liu, “A robust vehicle localization approach based on gnss/imu/dmi/lidar sensor fusion for autonomous vehicles,” _Sensors_ , vol. 17, no. 9, p. 2140, 2017.
  * [14] A. Ziebinski, R. Cupek, H. Erdogan, and S. Waechter, “A survey of adas technologies for the future perspective of sensor fusion,” in _Computational Collective Intelligence: 8th International Conference, ICCCI 2016, Halkidiki, Greece, September 28-30, 2016. Proceedings, Part II 8_. Springer, 2016, pp. 135–146.
  * [15] S. Campbell, N. O’Mahony, L. Krpalcova, D. Riordan, J. Walsh, A. Murphy, and C. Ryan, “Sensor technology in autonomous vehicles: A review,” in _2018 29th Irish Signals and Systems Conference (ISSC)_. IEEE, 2018, pp. 1–4.
  * [16] A. Ibisch, S. Stümper, H. Altinger, M. Neuhausen, M. Tschentscher, M. Schlipsing, J. Salinen, and A. Knoll, “Towards autonomous driving in a parking garage: Vehicle localization and tracking using environment-embedded lidar sensors,” in _2013 IEEE intelligent vehicles symposium (IV)_. IEEE, 2013, pp. 829–834.
  * [17] J. Wahlström, I. Skog, and P. Händel, “Smartphone-based vehicle telematics: A ten-year anniversary,” _IEEE Transactions on Intelligent Transportation Systems_ , vol. 18, no. 10, pp. 2802–2825, 2017.
  * [18] T. K. Chan, C. S. Chin, H. Chen, and X. Zhong, “A comprehensive review of driver behavior analysis utilizing smartphones,” _IEEE Transactions on Intelligent Transportation Systems_ , vol. 21, no. 10, pp. 4444–4475, 2019.
  * [19] S. Mozaffari, O. Y. Al-Jarrah, M. Dianati, P. Jennings, and A. Mouzakitis, “Deep learning-based vehicle behavior prediction for autonomous driving applications: A review,” _IEEE Transactions on Intelligent Transportation Systems_ , vol. 23, no. 1, pp. 33–47, 2020.
  * [20] Y. LeCun, Y. Bengio, and G. Hinton, “Deep learning,” _nature_ , vol. 521, no. 7553, pp. 436–444, 2015.
  * [21] Y. Bengio, I. Goodfellow, and A. Courville, _Deep learning_. MIT press Cambridge, MA, USA, 2017, vol. 1.
  * [22] H. Yan, Q. Shan, and Y. Furukawa, “RIDI: Robust IMU double integration,” in _Proceedings of the European Conference on Computer Vision (ECCV)_ , 2018, pp. 621–636.
  * [23] M. Brossard and S. Bonnabel, “Learning wheel odometry and imu errors for localization,” in _2019 International Conference on Robotics and Automation (ICRA)_. IEEE, 2019, pp. 291–297.
  * [24] B. Or and I. Klein, “Learning vehicle trajectory uncertainty,” _arXiv preprint arXiv:2206.04409_ , 2022.
  * [25] J. Liu and G. Guo, “Vehicle localization during gps outages with extended kalman filter and deep learning,” _IEEE Transactions on Instrumentation and Measurement_ , vol. 70, pp. 1–10, 2021.
  * [26] M. Freydin and B. Or, “Learning car speed using inertial sensors for dead reckoning navigation,” _IEEE Sensors Letters_ , vol. 6, no. 9, pp. 1–4, 2022\.
  * [27] M. Freydin, N. Sfaradi, N. Segol, A. Eweida, and B. Or, “Mountnet: Learning an inertial sensor mounting angle with deep neural networks,” _arXiv preprint arXiv:2212.11120_ , 2022.
  * [28] W. Shao, H. Luo, F. Zhao, Y. Ma, Z. Zhao, and A. Crivello, “Indoor positioning based on fingerprint-image and deep learning,” _Ieee Access_ , vol. 6, pp. 74 699–74 712, 2018.
  * [29] B. Or, M. Freydin, and G. Ben-haim, “System and method for estimating a location of a vehicle using inertial sensors,” Jan. 3 2023, uS Patent 11,543,245.
  * [30] H. Ismail Fawaz, G. Forestier, J. Weber, L. Idoumghar, and P.-A. Muller, “Deep learning for time series classification: a review,” _Data mining and knowledge discovery_ , vol. 33, no. 4, pp. 917–963, 2019.
  * [31] C. Zhang and Y. Ma, _Ensemble machine learning: methods and applications_. Springer, 2012.
  * [32] R. Rajamani, _Vehicle dynamics and control_. Springer Science & Business Media, 2011.
  * [33] D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization,” _arXiv preprint arXiv:1412.6980_ , 2014.
  * [34] J. Bennett, _OpenStreetMap_. Packt Publishing Ltd, 2010.
  * [35] S. Staacks, S. Hütz, H. Heinke, and C. Stampfer, “Advanced tools for smartphone-based experiments: phyphox,” _Physics education_ , vol. 53, no. 4, p. 045009, 2018.

|  Barak Or (Member, IEEE) received a B.Sc. degree in aerospace engineering
(2016), a B.A. degree (cum laude) in economics and management (2016), and an
M.Sc. degree in aerospace engineering (2018) from the Technion–Israel
Institute of Technology. He graduated with a Ph.D. degree from the University
of Haifa, Haifa (2022). He founded ALMA Technologies Ltd. (2021), focusing on
Navigation and ML algorithms. His research interests include navigation, deep
learning, sensor fusion, and estimation theory.
---|---
|  Nimrod Segol received his B.Sc. (2015, Cum Laude) and M.Sc. (2018) degrees
in Mathematics from the Technion – Israel Institute of Technology. He is a
senior algorithm engineer at ALMA Technologies Ltd. and his research interests
include deep learning, ML, and statistics.
---|---
|  Areej Eweida received her B.Sc. (2022) degree in Aerospace Engineering from
the Technion – Israel Institute of Technology. She is an algorithm engineer at
ALMA Technologies Ltd. She is starting an M.Sc. Her research interests include
estimation theory, signal processing, and deep learning.
---|---
|  Maxim Freydin (Member, IEEE) received his B.Sc. (2017, Summa Cum Laude) and
Ph.D. (2021) degrees in Aerospace Engineering from the Technion – Israel
Institute of Technology. He is the VP of R&D at ALMA Technologies Ltd. and his
research interests include navigation, signal processing, deep learning, and
computational fluid-structure interaction.
---|---