added new eval using shortest-path + plotting removed compiler warnings for clean-code fixed some minor issues added new TeX code and new graphics
90 lines
4.3 KiB
TeX
90 lines
4.3 KiB
TeX
\section{Sensors}
|
|
|
|
\subsection{Barometer}
|
|
As stated by \cite{ipin2015} \todo{and the other paper directly}, ambient pressure readings are highly influenced
|
|
by environmental conditions like the weather, time-of-day and others. Thus, relative pressure readings are
|
|
preferred over absolute ones. However, due to noisy sensors \todo{cite oder grafik? je nach platz}, one
|
|
single reading is not enough as a relative base. Harnessing the usual setup time of a navigation-system (
|
|
route calculation, user checking the route) we use the average of all barometer readings during this
|
|
timeframe as realtive base $\overline{\mObsPressure}$. However, it is often necessary to omit the first few
|
|
sensors readings, as the sensor needs some time to settle and the estimated base would otherwise be far off
|
|
the real values (see fig. \ref{fig:baroSetupError}). Besides, we use the system's setup time to estimate the
|
|
sensors uncertainty $\sigma_\text{baro}$ for later use within the evaluation.
|
|
|
|
\begin{figure}
|
|
\include{gfx/baro/baro_setup_issue}
|
|
\caption{Sometimes the barometer provides erroneous \SI{}{\hpa} readings during the first seconds. Those
|
|
need to be omitted before $\sigma_\text{baro}$ and $\overline{\mObsPressure}$ are estimated.}
|
|
\label{fig:baroSetupError}
|
|
\end{figure}
|
|
|
|
During each transition from $\mStateVec_{t-1}$ to $\mStateVec_t$, we need a corresponding, relative pressure
|
|
prediction $\mStatePressure$ which is adjusted according to the resulting $z$-change, if any:
|
|
|
|
\begin{equation}
|
|
\mState_{t}^{\mStatePressure} = \mState_{t-1}^{\mStatePressure} + \Delta z \cdot \SI{0.105}{\hpa}
|
|
,\enskip
|
|
\Delta z = \mState_{t-1}^{z} - \mState_{t}^z
|
|
.
|
|
\label{eq:baroTransition}
|
|
\end{equation}
|
|
|
|
The evaluation following the transition then compares the predicted relative pressure with the observed one
|
|
using a normal distribution with the previously estimated $\sigma_\text{baro}$:
|
|
|
|
\begin{equation}
|
|
p(\mObsVec_t \mid \mStateVec_t)_\text{baro} = \mathcal{N}(\mObs_t^{\mObsPressure} \mid \mState_t^{\mStatePressure}, \sigma_\text{baro}).
|
|
\label{eq:baroEval}
|
|
\end{equation}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Wi-Fi \& iBeacons}
|
|
For additional absolute location hints, we use the Smartphones Wi-Fi and iBeacon sensor to measure the signal-strengths
|
|
of nearby transmitters. As the positions of both \docAP{}s and and \docIBeacon{}s are known beforehand, we compare
|
|
each measurement with its corresponding signal strength prediction which is defined by the 3D distance $d$
|
|
and the number of floors $\Delta f$ between the \docAPshort{} and the particle
|
|
|
|
\begin{equation}
|
|
P_r(d, \Delta f) = \mTXP - 10 \mPLE \log_{10}{\frac{\mMdlDist}{\mMdlDist_0}} + \Delta{f} \mWAF,
|
|
\end{equation}
|
|
|
|
and calculate the resulting probability as described in \cite{ipin2015}:
|
|
|
|
\begin{equation}
|
|
\mProb(\mObsVec_t \mid \mStateVec_t)_\text{wifi} =
|
|
\prod\limits_{i=1}^{n} \mathcal{N}(\mRssi_\text{wifi}^{i} \mid P_{r}(\mMdlDist_{i}, \Delta{f_{i}}), \sigma_{\text{wifi}}^2).
|
|
\label{eq:wifiTotal}
|
|
\end{equation}
|
|
|
|
For the \docWIFI{} component we thus need two parameters per \docAPshort{}: $\mTXP$ measured at a distance
|
|
$\mMdlDist_0$ (usually \SI{1}{\meter}) and the path-loss exponent $\mPLE$ describing the environment.
|
|
To reduce complexity and system setup time, we use the same values for all \docAP{}s at the cost of accuracy.
|
|
While, $\mTXP$ is best determined using averaged measurements at a single location,
|
|
a good estimation of $\mPLE$ requires several measurements and numerical optimization \cite{etwas_aus_der_MA}.
|
|
$\mPLE$ is thus chosen empirically.
|
|
|
|
For the \docIBeacon{} component we also use \refeq{eq:wifiTotal} but $\mTXP$ is transmitted by each beacon.
|
|
Again, $\mPLE$ is determined emprically. \todo{faellt hier meist kleiner aus, weil ja kuerzere reichweite etc}
|
|
|
|
|
|
|
|
|
|
|
|
\subsection{Step- \& Turn-Detection}
|
|
|
|
To prevent degradation within the particle-filter \cite{??} due to downvoting of particles with increased
|
|
heading deviation, we incorporate the turn-detection as control-data directly into the transition
|
|
$p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$.
|
|
\cite{thrun?}\cite{lukas2014?} to get a more directed sampling instead of a truly random one.
|
|
|
|
|
|
|
|
\commentByFrank{todo: wie wird die unsicherheit in der transition eingebracht, sigma, ..}
|
|
|
|
|
|
|