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
This commit is contained in:
2016-02-07 13:30:04 +01:00
parent 004d1f48fd
commit deb21fc550
23 changed files with 4480 additions and 51 deletions

View File

@@ -21,3 +21,6 @@
mit pfad laeuft es falsch, weil die andere treppe kuerzer zum ziel ist und das wlan dort besser passt}
\commentByFrank{zu grosser einfluss vom pfad ist also kein allheilmittel.. kann, wie beim treppenhaus, auch nach hinten los gehen}
\commentByFrank{path1: bad start due to nearby AP and bad parameters (path-loss too high)}

View File

@@ -12,3 +12,9 @@
\subsection{Weighting}
\subsection{Pathfinding}
\commentByFrank{describe the multi-path version}
\commentByFrank{describe the single-path version}
\commentByFrank{exp-dist for distance to the path. more distance = less-likely}
\commentByFrank{lambda-factor controls the allowed deviation from the shortest-path}

View File

@@ -6,26 +6,41 @@
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{\mPressure}$.
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.
During each transition from $\mStateVec_{t-1}$ to $\mStateVec_t$, the predicted pressure $\mStatePressure$ is
adjusted according to the resulting $z$-change, if any:
\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}
Within the evaluation bla bla
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}
xx
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}
we use the system's setup time to not only determine the relative base but also for estimating the barometers
uncertainty \sigma_\text{baro} used within the evaluation.
\subsection{Wi-Fi \& iBeacons}
For additional absolute location hints, we use the Smartphones Wi-Fi and iBeacon sensor to measure the signal-strengths
@@ -40,7 +55,7 @@
and calculate the resulting probability as described in \cite{ipin2015}:
\begin{equation}
\mProb(\mObsVec \mid \mStateVec)_\text{wifi} =
\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}
@@ -56,6 +71,9 @@
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