From 0f657dc0570842157446b93704d22e16dd3e10f2 Mon Sep 17 00:00:00 2001 From: Toni Date: Wed, 10 Feb 2016 01:36:27 +0100 Subject: [PATCH] recursive state estimation und paar kommentare. --- tex/chapters/grid.tex | 1 + tex/chapters/sensors.tex | 4 +- tex/chapters/system.tex | 72 +++++++++++++++++++++---------- tex/gfx/baro/baro_setup_issue.aux | 2 +- 4 files changed, 54 insertions(+), 25 deletions(-) diff --git a/tex/chapters/grid.tex b/tex/chapters/grid.tex index 88ef73a..78f4e4a 100644 --- a/tex/chapters/grid.tex +++ b/tex/chapters/grid.tex @@ -1,4 +1,5 @@ \section{Transition Model} +\label{sec:trans} To sample only transitions $p(\mStateVec_{t} \mid \mStateVec_{t-1})$ that are actually feasible within the environment, we utilize a \SI{20}{\centimeter}-gridded graph diff --git a/tex/chapters/sensors.tex b/tex/chapters/sensors.tex index 8d5fcdf..b8ed994 100644 --- a/tex/chapters/sensors.tex +++ b/tex/chapters/sensors.tex @@ -78,7 +78,9 @@ \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 \commentByToni{ich würde es jetzt nicht unbedingt controldata nennen. einfach nur das wir die observation in die transition integrieren. fertig.} directly into the transition + heading deviation, we incorporate the turn-detection as control-data +\commentByToni{ich würde es jetzt nicht unbedingt controldata nennen. einfach nur das wir die observation in die transition integrieren. fertig. für den cite oben habe ich eine sehr sehr gute quelle. der beschreibt das ganz gut. hab das bei mir in der MA so begründet: Another big disadvantage is the high possibility of sample impoverishment due to a small measurement noise. This happens since accurate observations result in high peaks of the evaluation density and therefore the importance density is not able to sample outside that peak [IB98b].} +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. diff --git a/tex/chapters/system.tex b/tex/chapters/system.tex index 0064215..e1095f3 100644 --- a/tex/chapters/system.tex +++ b/tex/chapters/system.tex @@ -1,24 +1,50 @@ -\section{Recursive Density Estimation} +\section{Recursive State Estimation} + +We consider indoor localisation as a time-sequential, non-linear and non-Gaussian state estimation problem. +Using a recursive Bayes filter that satisfies the Markov property, the posterior distribution at time $t$ can be written as +\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})}_{\text{transition}} + \underbrace{p(\mStateVec_{t-1} \mid \mObsVec_{1:t-1})d\vec{q}_{t-1}}_{\text{recursion}} \enspace, +\end{array} +\label{equ:bayesInt} +\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, \mObsHeading, \mStatePressure),\enskip + x,y,z,\mStatePressure \in \R \enspace, +\end{equation} +where $x, y, z$ represent the 3D position, $\mObsHeading$ the user's heading and $\mStatePressure$ the relative pressure prediction in hectopascal (hPa). +The recursive part of the density estimation contains all information up to time $t$. +Further, the state transition models the pedestrian’s movement based upon random walks on graphs, which will be described in section \ref{sec:trans}. +It should be noted, that we also include the current observation $\mObsVec_{t}$ in it. + +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, \mObsPressure) \enspace, +\end{equation} +where $\mRssiVec_\text{wifi}$ is the Wi-Fi and $\mRssiVec_\text{ib}$ the iBeacon signal strength vector. +The information, if a step or turn was detected, is given as a Boolean value. +\commentByToni{Wie sieht die Observation nun genau aus? Fehlt da nicht Step und Turn?} +Finally, $\mObsPressure$ is the relative barometric pressure referring to some fixed point in time. +For incorporating the highly different sensor types, one should refer to the process of probabilistic sensor fusion \cite{}. +By assuming statistical independence of all sensor models, the probability density of the state evaluation is given by +\begin{equation} +\begin{split} +&p(\vec{o}_t \mid \vec{q}_t, \vec{q}_{t-1}) = \\ +&p(\vec{o}_t \mid \vec{q}_t, \vec{q}_{t-1})_\text{turn} +\,p(\vec{o}_t \mid \vec{q}_t, \vec{q}_{t-1})_\text{step} \\ +&p(\vec{o}_t \mid \vec{q}_t)_\text{baro} +\,p(\vec{o}_t \mid \vec{q}_t)_\text{ib} +\,p(\vec{o}_t \mid \vec{q}_t)_\text{wifi} +\end{split} \enspace. +\label{eq:evalBayes} +\end{equation} +Here, every single component refers to a probabilistic sensor model. +The heading information is evaluated using $p(\vec{o}_t \mid \vec{q}_t, \vec{q}_{t-1})_\text{turn}$, the step length using a step detection process by $p(\vec{o}_t \mid \vec{q}_t, \vec{q}_{t-1})_\text{step}$, using $p(\vec{o}_t \mid \vec{q}_t)_\text{baro}$ the barometer evaluates the current floor, whereby absolute position information is given by $p(\vec{o}_t \mid \vec{q}_t)_\text{ib}$ for iBeacons and by $p(\vec{o}_t \mid \vec{q}_t)_\text{wifi}$ for Wi-Fi. + - \commentByFrank{particle-filter wie bei lukas mit $\vec{o}_{t}$ in transition und $\vec{q}_{t-1}$ in eval??} - \commentByFrank{brauchen wir in der observation ueberhaupt noch $q_{t-1}$??} - \commentByFrank{das ist die basis fuer unser system} - - - \begin{equation} - p(\mStateVec_{t} \mid \langle \mObsVec \rangle_{t}) = \\ - p(\mObsVec_{t} \mid \mStateVec_{t}) - \int - p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t}) - p(\mStateVec_{t-1} \mid \langle \mObsVec \rangle_{t-1} - d\mStateVec_{t-1} - \end{equation} - - \begin{equation} - \mObsVec = (\mRssiVec_\text{wifi}, \mRssiVec_\text{ib}, \mObsHeading, \mObsPressure) - \end{equation} - - \begin{equation} - \mStateVec = (x, y, z, \mObsHeading, \mStatePressure),\enskip - x,y,z,\mStatePressure \in \R - \end{equation} diff --git a/tex/gfx/baro/baro_setup_issue.aux b/tex/gfx/baro/baro_setup_issue.aux index a43e341..73ee07e 100644 --- a/tex/gfx/baro/baro_setup_issue.aux +++ b/tex/gfx/baro/baro_setup_issue.aux @@ -1,7 +1,7 @@ \relax \@setckpt{gfx/baro/baro_setup_issue}{ \setcounter{page}{3} -\setcounter{equation}{3} +\setcounter{equation}{4} \setcounter{enumi}{0} \setcounter{enumii}{0} \setcounter{enumiii}{0}