Merge branch 'master' of https://git.frank-ebner.de/FHWS/Fusion2016
This commit is contained in:
@@ -38,14 +38,14 @@
|
|||||||
%\commentByFrank{eingefuehrt}
|
%\commentByFrank{eingefuehrt}
|
||||||
and walking along adjacent nodes into a given walking-direction $\gHead$ until a distance $\gDist$ is
|
and walking along adjacent nodes into a given walking-direction $\gHead$ until a distance $\gDist$ is
|
||||||
reached \cite{Ebner-15}.
|
reached \cite{Ebner-15}.
|
||||||
Both, heading and distance, are supplied by the current sensor readings $\mObsVec_{t}$
|
Both, heading and distance, are supplied by the previous sensor readings $\mObsVec_{t-1}$
|
||||||
and thus reflect the pedestrian's real heading and walking speed including uncertainty.
|
and thus reflect the pedestrian's real heading and walking speed including uncertainty.
|
||||||
Working with relative sensor readings, the state's heading is updated during each transition:
|
Working with relative sensor readings, the state's heading is updated during each transition:
|
||||||
%
|
%
|
||||||
\begin{align}
|
\begin{align}
|
||||||
\gHead &= \mState_{t}^{\mStateHeading} = \mState_{t-1}^{\mStateHeading} + \mObs_t^{\mObsHeading} + \mathcal{N}(0, \sigma_{\gHead}^2) \\
|
\gHead &= \mState_{t}^{\mStateHeading} = \mState_{t-1}^{\mStateHeading} + \mObs_{t-1}^{\mObsHeading} + \mathcal{N}(0, \sigma_{\gHead}^2) \\
|
||||||
\gDist &= \mObs_t^{\mObsSteps} \cdot \mStepSize + \mathcal{N}(0, \sigma_{\gDist}^2)
|
\gDist &= \mObs_{t-1}^{\mObsSteps} \cdot \mStepSize + \mathcal{N}(0, \sigma_{\gDist}^2)
|
||||||
.
|
\enspace .
|
||||||
\end{align}
|
\end{align}
|
||||||
%\commentByFrank{fixed. war das falsche makro in (2) und dem satz darunter. das delta musste weg. der state hat ein absolutes heading. step-size als variable}
|
%\commentByFrank{fixed. war das falsche makro in (2) und dem satz darunter. das delta musste weg. der state hat ein absolutes heading. step-size als variable}
|
||||||
%
|
%
|
||||||
@@ -60,7 +60,7 @@
|
|||||||
connected to a vertex $\mVertexA$, and, hereafter, randomly draw the to-be-walked edge
|
connected to a vertex $\mVertexA$, and, hereafter, randomly draw the to-be-walked edge
|
||||||
depending on those probabilities. This step is repeated until the sum
|
depending on those probabilities. This step is repeated until the sum
|
||||||
of the length of all used edges exceeds $d$. The latter depends on the number of
|
of the length of all used edges exceeds $d$. The latter depends on the number of
|
||||||
detected steps $\mObs_t^{\mObsSteps}$ and the pedestrian's step-size $\mStepSize$.
|
detected steps $\mObs_{t-1}^{\mObsSteps}$ and the pedestrian's step-size $\mStepSize$.
|
||||||
%\commentByFrank{step-size als variable}
|
%\commentByFrank{step-size als variable}
|
||||||
|
|
||||||
To quantify the improvement prior knowledge is able to provide,
|
To quantify the improvement prior knowledge is able to provide,
|
||||||
@@ -68,7 +68,7 @@
|
|||||||
just based on its deviation from the currently estimated heading $\gHead$:
|
just based on its deviation from the currently estimated heading $\gHead$:
|
||||||
%
|
%
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
p(\mEdgeAB) = p(\mEdgeAB \mid \gHead) = \mathcal{N} (\angle \mEdgeAB \mid \gHead, \sigma_\text{dev}^2).
|
p(\mEdgeAB) = p(\mEdgeAB \mid \gHead) = \mathcal{N} (\angle \mEdgeAB \mid \gHead, \sigma_\text{dev}^2) \enspace .
|
||||||
\label{eq:transSimple}
|
\label{eq:transSimple}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
%
|
%
|
||||||
@@ -210,7 +210,7 @@
|
|||||||
%
|
%
|
||||||
To route the pedestrian towards his desired target, a modified version
|
To route the pedestrian towards his desired target, a modified version
|
||||||
of Dijkstra's algorithm is used. Instead of calculating the shortest path from the start to the end,
|
of Dijkstra's algorithm is used. Instead of calculating the shortest path from the start to the end,
|
||||||
the direction is inverted and the calculated terminates as soon as every single node was evaluated.
|
the direction is inverted and the calculation terminates as soon as every single node was evaluated.
|
||||||
Hereafter, every node in the grid knows the distance and shortest path to the pedestrian's target.
|
Hereafter, every node in the grid knows the distance and shortest path to the pedestrian's target.
|
||||||
|
|
||||||
To get realistic path suggestions, we use the importance-factors to adjust the edge-weight
|
To get realistic path suggestions, we use the importance-factors to adjust the edge-weight
|
||||||
|
|||||||
@@ -20,7 +20,7 @@ This combination of highly different sensor types is also known as sensor fusion
|
|||||||
|
|
||||||
Here, probabilistic methods like particle- or Kalman filters are often used to approximate a probability density describing the pedestrian's possible whereabouts.
|
Here, probabilistic methods like particle- or Kalman filters are often used to approximate a probability density describing the pedestrian's possible whereabouts.
|
||||||
This procedure can be separated into two probabilistic models:
|
This procedure can be separated into two probabilistic models:
|
||||||
The transition model, which represents the dynamics of the pedestrian and predicts his next accessible locations, and the evaluation model, which estimates the probability for the position also corresponding to
|
The transition model, which represents the dynamics of the pedestrian and predicts his next accessible locations, and the evaluation model, which estimates the probability for the position corresponding to
|
||||||
recent sensor measurements.
|
recent sensor measurements.
|
||||||
%Therefore, the most accurate position is represented by a peak of the probability distribution.
|
%Therefore, the most accurate position is represented by a peak of the probability distribution.
|
||||||
In our previous work we were able to present such a localisation system based on all the sensors mentioned above, including the phone's barometer \cite{Ebner-15}.
|
In our previous work we were able to present such a localisation system based on all the sensors mentioned above, including the phone's barometer \cite{Ebner-15}.
|
||||||
@@ -28,12 +28,11 @@ In our previous work we were able to present such a localisation system based on
|
|||||||
%In pedestrian navigation, the human movement is subject to the characteristics of walking speed and -direction.
|
%In pedestrian navigation, the human movement is subject to the characteristics of walking speed and -direction.
|
||||||
%Additionally, environmental restrictions need to be considered as well, for example, walking through walls is impossible.
|
%Additionally, environmental restrictions need to be considered as well, for example, walking through walls is impossible.
|
||||||
%Therefore, incorporating environmental knowledge is a necessary and gainful step.
|
%Therefore, incorporating environmental knowledge is a necessary and gainful step.
|
||||||
Incorporating environmental knowledge is a necessary and gainful step.
|
Incorporating environmental knowledge is a necessary and gainful step e.g. walking through walls is impossible.
|
||||||
For example walking through walls is impossible.
|
|
||||||
Like other systems, we are using a graph-based approach to sample only valid movements.
|
Like other systems, we are using a graph-based approach to sample only valid movements.
|
||||||
The unique feature of our approach is the way how human movement is modelled.
|
The unique feature of our approach is the way how human movement is modelled.
|
||||||
This is done by using random walks on a graph, which are based on the heading of the pedestrian.
|
This is done by using random walks on a graph, which are based on the heading of the pedestrian.
|
||||||
Despite very good results, the system presented in \cite{Ebner-15} suffers from two drawbacks, we want to solve within this work.
|
Despite very good results, the system presented in \cite{Ebner-15} suffers from two drawbacks, we attempt to solve within this work.
|
||||||
|
|
||||||
First, the transition model of our previous approach uses discrete floor-changes.
|
First, the transition model of our previous approach uses discrete floor-changes.
|
||||||
Although the overall system provides viable results, it does not resemble real-world floor changes.
|
Although the overall system provides viable results, it does not resemble real-world floor changes.
|
||||||
@@ -49,10 +48,9 @@ is not smoothly spread. The heading-change of our new approach is solely control
|
|||||||
During the random walk, matching edges are sampled according to their deviation from this change.
|
During the random walk, matching edges are sampled according to their deviation from this change.
|
||||||
|
|
||||||
To improve the complex problem of localising a person indoors, prior knowledge given by a navigation system can be used.
|
To improve the complex problem of localising a person indoors, prior knowledge given by a navigation system can be used.
|
||||||
Such applications are used to navigate a user to his desired destination.
|
Such applications are utilized to navigate a user to his desired destination, limiting the unpredictability of human movement to a certain degree.
|
||||||
This limits the unpredictability of human movement to a certain degree.
|
|
||||||
So, based on this assumption, the destination is known beforehand and the starting point is the user's currently estimated position.
|
So, based on this assumption, the destination is known beforehand and the starting point is the user's currently estimated position.
|
||||||
Regarding a graph-based transition model, one could suggest to use the shortest route between start and destination as the user's most-likely-to-walk path.
|
Regarding a graph-based transition model, one could suggest to use the shortest route between start and destination as the user's most likely to walk path.
|
||||||
By incorporating this prior knowledge into the state transition step, a new state can be sampled in a more targeted manner.
|
By incorporating this prior knowledge into the state transition step, a new state can be sampled in a more targeted manner.
|
||||||
However, for regularly tessellated (grid) graphs, as used in \cite{Ebner-15}, this would lead to unnatural paths e.g.
|
However, for regularly tessellated (grid) graphs, as used in \cite{Ebner-15}, this would lead to unnatural paths e.g.
|
||||||
directly adhering to walls.
|
directly adhering to walls.
|
||||||
@@ -61,7 +59,7 @@ Therefore, we present a novel approach that detects walls using an inverted grap
|
|||||||
|
|
||||||
Since areas near walls are less likely to be chosen for walking, a probabilistic weight is assigned to every node of the graph.
|
Since areas near walls are less likely to be chosen for walking, a probabilistic weight is assigned to every node of the graph.
|
||||||
This allows a variety of options for integrating additional knowledge about the environment and enables us to address another problem:
|
This allows a variety of options for integrating additional knowledge about the environment and enables us to address another problem:
|
||||||
Entering or leaving rooms is very unlikely as only a few nodes are representing doors and allow doing so.
|
Entering or leaving rooms is very unlikely as only a few nodes are representing doors and allow of doing so.
|
||||||
This can be tackled by making such areas more likely.
|
This can be tackled by making such areas more likely.
|
||||||
Therefore, a novel approach for detecting doors using the inverted graph is presented within this work.
|
Therefore, a novel approach for detecting doors using the inverted graph is presented within this work.
|
||||||
%\commentByFrank{auch hier vlt das inverted erstmal noch weg lassen wegen platz}
|
%\commentByFrank{auch hier vlt das inverted erstmal noch weg lassen wegen platz}
|
||||||
|
|||||||
@@ -13,12 +13,12 @@ Kalman filters is therefore problematic \cite{sarkka2013bayesian, Nurminen2014}.
|
|||||||
All this shows, that sensor models differ in many ways and are a subject in itself.
|
All this shows, that sensor models differ in many ways and are a subject in itself.
|
||||||
A good discussion on different sensor models can be found in \cite{Yang2015} or \cite{Khaleghi2013}.
|
A good discussion on different sensor models can be found in \cite{Yang2015} or \cite{Khaleghi2013}.
|
||||||
|
|
||||||
However, within this work, we use simple models, configured using a handful of empirically chosen parameters and
|
However, within this work, we utilize simple models, configured using a handful of empirically chosen parameters and
|
||||||
address their inaccuracies by harnessing prior information like the pedestrian's desired destination. Therefore,
|
address their inaccuracies by harnessing prior information like the pedestrian's desired destination. Therefore,
|
||||||
instead of examining different sensors and their contribution to the localisation process, we will focus
|
instead of examining different sensors and their contribution to the localisation process, we will focus
|
||||||
on the state transition and how to incorporate environmental and navigational knowledge.
|
on the state transition and how to incorporate environmental and navigational knowledge.
|
||||||
|
|
||||||
A widely used and easy method for modelling the movement of a pedestrian, is the prediction of a new position
|
A widely used and straightforward method for modelling the movement of a pedestrian, is the prediction of a new position
|
||||||
using both, a walking direction and a to-be-walked distance, starting from the previous position.
|
using both, a walking direction and a to-be-walked distance, starting from the previous position.
|
||||||
If the line-of-sight between the new and the old position intersects a wall, the probability for this
|
If the line-of-sight between the new and the old position intersects a wall, the probability for this
|
||||||
transition is set to zero \cite{Blanchert09-IFF, Koeping14-ILU}.
|
transition is set to zero \cite{Blanchert09-IFF, Koeping14-ILU}.
|
||||||
@@ -45,15 +45,15 @@ Nevertheless, most corridors are still represented by just one topological link.
|
|||||||
While the complexity is reduced, it does not allow arbitrary movements and leads to suboptimal trajectories.
|
While the complexity is reduced, it does not allow arbitrary movements and leads to suboptimal trajectories.
|
||||||
Far more flexible and variable geometric spatial models are regularly tessellated approaches e.g. based on grids.
|
Far more flexible and variable geometric spatial models are regularly tessellated approaches e.g. based on grids.
|
||||||
Those techniques are trivially implemented, but yet very powerful.
|
Those techniques are trivially implemented, but yet very powerful.
|
||||||
In \cite{Afyouni2012}, a square-shaped or hexagonal grid covers the entire map.
|
In \cite{Afyouni2012} a square-shaped or hexagonal grid covers the entire map.
|
||||||
Especially in the area of simultaneous localisation and mapping (SLAM), so-called occupancy-grid approaches are
|
Especially in the area of simultaneous localisation and mapping (SLAM), so-called occupancy-grid approaches are
|
||||||
very popular \cite{elfes1989using, Thrun2003}.
|
very popular \cite{elfes1989using, Thrun2003}.
|
||||||
Occupancy grids assign a high probability to cells within the accessible space.
|
Occupancy grids assign a high probability to cells within the accessible space.
|
||||||
Likewise, cells occupied by obstacles or walls are less likely.
|
Likewise, cells occupied by obstacles or walls are less likely.
|
||||||
Additionally, every grid cell is able to hold some context information about the environment (e.g. elevators or stairs)
|
Every grid cell is able to hold some context information about the environment (e.g. elevators or stairs)
|
||||||
or the behaviour of a pedestrian at this particular position (e.g. jumping or running).
|
or the behaviour of a pedestrian at this particular position (e.g. jumping or running).
|
||||||
|
|
||||||
A similar approach, presented in \cite{Li2010}, \cite{Ebner-15}, is also used within this work.
|
A similar approach, presented in \cite{Li2010}, is also used within this work.
|
||||||
Assuming the floorplan is given beforehand, occupied cells can be removed.
|
Assuming the floorplan is given beforehand, occupied cells can be removed.
|
||||||
The remaining cells are described by their centre/bounding-box and represent free spaces within the environment.
|
The remaining cells are described by their centre/bounding-box and represent free spaces within the environment.
|
||||||
A graph is defined by using the centres as nodes and connecting direct neighbours with edges.
|
A graph is defined by using the centres as nodes and connecting direct neighbours with edges.
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
However, due to noisy sensors, more than one reading is required to estimate the relative base.
|
However, due to noisy sensors, more than one reading is required to estimate the relative base.
|
||||||
Harnessing the usual setup time of a navigation-system (route calculation, user checking the route, etc.)
|
Harnessing the usual setup time of a navigation-system (route calculation, user checking the route, etc.)
|
||||||
we use the average of all barometer readings during this timeframe as estimated base $\overline{\mObsPressure}$.
|
we use the average of all barometer readings during this timeframe as estimated base $\overline{\mObsPressure}$.
|
||||||
Moreover, it is often necessary to omit some initial sensors readings, as the smartphone's sensor needs some time
|
Moreover, it is often necessary to omit some initial sensor readings, as the smartphone's sensor needs some time
|
||||||
to settle. Besides, we use the setup timeframe to estimate the sensors uncertainty $\sigma_\text{baro}$ for later
|
to settle. Besides, we use the setup timeframe to estimate the sensor's uncertainty $\sigma_\text{baro}$ for later
|
||||||
use within the evaluation. Fig. \ref{fig:baroSetupError} depicts actual sensor-readings including aforementioned
|
use within the evaluation step. Fig. \ref{fig:baroSetupError} depicts actual sensor readings including aforementioned
|
||||||
error conditions.
|
error conditions.
|
||||||
%
|
%
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
@@ -31,7 +31,7 @@
|
|||||||
\Delta z = \mState_{t-1}^{z} - \mState_{t}^z
|
\Delta z = \mState_{t-1}^{z} - \mState_{t}^z
|
||||||
,\enskip
|
,\enskip
|
||||||
b \in \R
|
b \in \R
|
||||||
.
|
\enspace .
|
||||||
\label{eq:baroTransition}
|
\label{eq:baroTransition}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
%
|
%
|
||||||
@@ -40,7 +40,7 @@
|
|||||||
one using a normal distribution with the previously estimated $\sigma_\text{baro}$:
|
one using a normal distribution with the previously estimated $\sigma_\text{baro}$:
|
||||||
%
|
%
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
p(\mObsVec_t \mid \mStateVec_t)_\text{baro} = \mathcal{N}(\mObs_t^{\mObsPressure} \mid \mState_t^{\mStatePressure}, \sigma_\text{baro}^2).
|
p(\mObsVec_t \mid \mStateVec_t)_\text{baro} = \mathcal{N}(\mObs_t^{\mObsPressure} \mid \mState_t^{\mStatePressure}, \sigma_\text{baro}^2) \enspace.
|
||||||
\label{eq:baroEval}
|
\label{eq:baroEval}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
%
|
%
|
||||||
@@ -55,7 +55,7 @@
|
|||||||
\docAPshort{} and the number of floors $\Delta f$ between the \docAPshort{} and the state-in-question:
|
\docAPshort{} and the number of floors $\Delta f$ between the \docAPshort{} and the state-in-question:
|
||||||
%
|
%
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
P_r(d, \Delta f) = \mTXP - 10 \mPLE \log_{10}{\frac{\mMdlDist}{\mMdlDist_0}} + \Delta{f} \mWAF,
|
P_r(d, \Delta f) = \mTXP - 10 \mPLE \log_{10}{\frac{\mMdlDist}{\mMdlDist_0}} + \Delta{f} \mWAF \enspace ,
|
||||||
\end{equation}
|
\end{equation}
|
||||||
%
|
%
|
||||||
Assuming statistical independence of all \docAPshort{}s,
|
Assuming statistical independence of all \docAPshort{}s,
|
||||||
@@ -63,7 +63,7 @@
|
|||||||
%
|
%
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\mProb(\mObsVec_t \mid \mStateVec_t)_\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).
|
\prod\limits_{i=1}^{n} \mathcal{N}(\mRssi_\text{wifi}^{i} \mid P_{r}(\mMdlDist_{i}, \Delta{f_{i}}), \sigma_{\text{wifi}}^2) \enspace .
|
||||||
\label{eq:wifiTotal}
|
\label{eq:wifiTotal}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
%
|
%
|
||||||
|
|||||||
@@ -62,7 +62,6 @@
|
|||||||
Therefore, numerical solutions like Gaussian filters or the broad class of Monte Carlo methods are deployed \cite{sarkka2013bayesian}.
|
Therefore, numerical solutions like Gaussian filters or the broad class of Monte Carlo methods are deployed \cite{sarkka2013bayesian}.
|
||||||
Since we assume indoor localisation to be a time-sequential, non-linear and non-Gaussian process,
|
Since we assume indoor localisation to be a time-sequential, non-linear and non-Gaussian process,
|
||||||
a particle filter is chosen as approximation of the posterior distribution.
|
a particle filter is chosen as approximation of the posterior distribution.
|
||||||
Within this work the state transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ is used as proposal distribution,
|
Within this work the state transition $p(\mStateVec_{t} \mid \mStateVec_{t-1}, \mObsVec_{t-1})$ is used as proposal distribution, also known as CONDENSATION algorithm \cite{Isard98:CCD}.
|
||||||
what is also known as CONDENSATION algorithm \cite{Isard98:CCD}.
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user