This repository has been archived on 2020-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
Fusion2016/tex/chapters/sensors.tex
FrankE deb21fc550 fixed baraomter issue (skip first few readings due to sensor errors)
added new eval using shortest-path + plotting
removed compiler warnings for clean-code
fixed some minor issues
added new TeX code and new graphics
2016-02-07 13:30:04 +01:00

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, ..}