75 lines
4.0 KiB
TeX
75 lines
4.0 KiB
TeX
\section{System Overview}
|
|
|
|
The navigation system is based on our previous works, primarily on the approach presented in \cite{ebner-15}.
|
|
For this, we have been awarded the best overall paper award at IPIN 2015 in Banff, Canada.
|
|
Since then, we extended our approach by prior navigation knowledge using realistic human walking paths \cite{ebner-16} and smoothing methods \cite{fetzer-16}.
|
|
Additionally, a self-developed map editor allows for creating advanced 3D maps and realistically shaped stairs.
|
|
Compared to many other systems, we avoid any time-consuming fingerprinting and calibration processes and are able to start with a uniform distribution over the whole building.
|
|
All calculations are computed in real time on a commercial smartphone, in most of our examples this is the Motorola Nexus 6 or the Samsung Galaxy S5.
|
|
The system is implemented in C++ using the Qt framework and OpenCL.
|
|
|
|
An overview of all involved components and the sensor fusion procedure can be seen in fig. \ref{}.
|
|
Here, the smartphone provides all necessary measurements and no additional device is needed.
|
|
The readings of all those sensors are fused using recursive density estimation, directly on the phone:
|
|
%
|
|
\begin{equation}
|
|
\arraycolsep=1.2pt
|
|
\begin{array}{ll}
|
|
&p(\mStateVec_{t} \mid \mObsVec_{1:t}) \propto\\
|
|
&\underbrace{p(\mObsVec_{t} \mid \mStateVec_{t})}_{\text{evaluation}}
|
|
\int \underbrace{p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})}_{\text{transition}}
|
|
\underbrace{p(\mStateVec_{t-1} \mid \mObsVec_{1:t-1})d\vec{q}_{t-1}}_{\text{recursion}} \enspace,
|
|
\end{array}
|
|
\label{eq:recursiveDensity}
|
|
\end{equation}
|
|
%
|
|
where $\mObsVec_{1:t} = \mObsVec_{1}, \mObsVec_{1}, ..., \mObsVec_{t}$ is a series of observations up to time $t$.
|
|
The hidden state $\mStateVec$ is given by
|
|
\begin{equation}
|
|
\mStateVec = (x, y, z, \mStateHeading, \mStatePressure),\enskip
|
|
x, y, z, \mStateHeading, \mStatePressure \in \R \enspace,
|
|
\end{equation}
|
|
%
|
|
where $x, y, z$ represent the position in 3D space, $\mStateHeading$ the user's heading and $\mStatePressure$ the relative atmospheric pressure prediction in hectopascal (hPa).
|
|
The recursive part of the density estimation contains all information up to time $t-1$.
|
|
Furthermore, the state transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ models the pedestrian's movement and is carried out using random walks on a graph, which is built offline, and uses the building's floorplan \cite{ebner-16}.
|
|
|
|
Containing all relevant sensor measurements to evaluate the current state, the observation vector is defined as follows:
|
|
%
|
|
\begin{equation}
|
|
\mObsVec = (\mRssiVec_\text{wifi}, \mRssiVec_\text{ib}, \mObsHeading, \mObsSteps, \mObsPressure) \enspace,
|
|
\end{equation}
|
|
%
|
|
where $\mRssiVec_\text{wifi}$ and $\mRssiVec_\text{ib}$ contain the measurements of all nearby \docAP{}s (\docAPshort{})
|
|
and \docIBeacon{}s, respectively. Both serve as absolute positioning component. $\mObsHeading$ and $\mObsSteps$ describe the relative angular change and the number of steps detected for the pedestrian.
|
|
If the smartphone provides a barometer, $\mObsPressure$ is used as an additional, relative verification for the current $z$-component of the pedestrian's location.
|
|
%
|
|
The recursive density estimation of eq. \eqref{eq:recursiveDensity} is implemented using a particle-filter with the state transition as proposal density.
|
|
This ensures valid position estimations even if a sensor is defect or is not provided by the smartphone itself.
|
|
|
|
|
|
|
|
\section{Prior Arrangements}
|
|
System setup is very easily and no fingerprinting is required.
|
|
\begin{figure}[h!]
|
|
\centering%
|
|
\includegraphics[trim=99 0 0 0, clip, width=8.2cm]{editor1.png}%
|
|
\end{figure}
|
|
|
|
\begin{itemize}
|
|
\item Map building: Grobe Beschreibung, Funktionen und Moeglichkeiten des Map Builders. bildchen
|
|
\item Adding Transmitters: geht schnell und ist total einfach
|
|
\end{itemize}
|
|
|
|
|
|
|
|
\input{chapters/components.tex}
|
|
|
|
|
|
\begin{itemize}
|
|
\item Fixed-lag smoother
|
|
\end{itemize}
|
|
|
|
\section{Performance Overview}
|
|
Wie toll sind wir? kurzer ueberblick der ergebnisse in einer tabelle und paar worte dazu. eventl graphic.
|