added missing legend to gfx

fixed some typos and refactored some sentences
This commit is contained in:
2016-02-15 17:11:03 +01:00
parent ac542ba634
commit 54ab3d8dbe
9 changed files with 124 additions and 75 deletions

View File

@@ -2,10 +2,10 @@
\begin{abstract} \begin{abstract}
Navigating to a desired destination is a key aspect of indoor localisation. Up to this point many different systems using present or past information for estimating the pedestrian's position were presented. Navigating to a desired destination is a key aspect of indoor localisation. Up to this point many different systems using present or past information for estimating the pedestrian's position were presented.
Our work proposes a novel approach that incorporates prior navigation knowledge by using realistic human walking paths. Our work proposes a novel approach that incorporates prior navigation knowledge by using realistic human walking paths.
In order to create such paths, we present a method that assigns an importance factor to every node of a regular tessellated graph by avoiding walls and detecting doors. In order to create such paths, we present a method that assigns an importance-factor to every node of a regularly tessellated graph by avoiding walls and detecting doors.
The human movement is then modelled by moving along adjacent nodes into the most proper walking-direction. The human movement is then modelled by moving along adjacent nodes into the most proper walking-direction.
To be able of going into the 3rd dimension, realistically shaped stairs for step-wise floor changes are used. To enable 3D localisation, realistically shaped stairs for step-wise floor changes are used.
The position is estimated over multiple floors integrating different sensor modalities, namely Wi-Fi, iBeacons, barometer, step-detection and turn-detection. The position is estimated over multiple floors integrating different sensor modalities, namely Wi-Fi, iBeacons, barometer, step- and turn-detection.
The system was tested by omitting any time-consuming calibration process and starts with a uniform distribution instead of a well known pedestrian location. The system was tested by omitting any time-consuming calibration process and starts with a uniform distribution instead of a well known pedestrian location.
The evaluation shows that adding prior knowledge is able to improve the localisation, even for unpredictable behaviour, faulty measurements and for poorly chosen system parameters. The evaluation shows that adding prior knowledge is able to improve the localisation, even under unpredictable behaviour, faulty measurements and poorly chosen system parameters.
\end{abstract} \end{abstract}

View File

@@ -22,7 +22,7 @@
the Galaxy does. This results in a better localisation using the Nexus smartphone. the Galaxy does. This results in a better localisation using the Nexus smartphone.
Despite being fast enough to run in realtime on the smartphone itself, computation was done offline using Despite being fast enough to run in realtime on the smartphone itself, computation was done offline using
the CONDENSATION particle filter with \SI{7500}{} particles as realization. the \mbox{CONDENSATION} particle filter with \SI{7500}{} particles as realization.
The weighted arithmetic mean of the particles was used as state estimation. The weighted arithmetic mean of the particles was used as state estimation.
As mentioned earlier, the position of all \docAP{}s (about 5 per floor) is known beforehand. As mentioned earlier, the position of all \docAP{}s (about 5 per floor) is known beforehand.
@@ -49,7 +49,7 @@
The following evaluations will depict the improvements that the prior path knowledge is able to provide, The following evaluations will depict the improvements that the prior path knowledge is able to provide,
even when other system parameters are badly chosen. even when other system parameters are badly chosen.
Just adding importance-factors described in \ref{sec:wallAvoidance} and \ref{sec:doorDetection} Just adding importance-factors (described in \ref{sec:wallAvoidance} and \ref{sec:doorDetection})
to the simple transition \refeq{eq:transSimple} addresses only minor local errors to the simple transition \refeq{eq:transSimple} addresses only minor local errors
% like not sticking too close to walls. In most cases this lead only to slight improvements % like not sticking too close to walls. In most cases this lead only to slight improvements
and is therefore not further evaluated. and is therefore not further evaluated.
@@ -57,8 +57,6 @@
at a long walk with many stairs, intentionally leaving the shortest path several times, at a long walk with many stairs, intentionally leaving the shortest path several times,
named path 4 (see fig. \ref{fig:paths}). named path 4 (see fig. \ref{fig:paths}).
% %
% all paths we evaluated % all paths we evaluated
\begin{figure} \begin{figure}
\input{gfx/eval/paths} \input{gfx/eval/paths}
@@ -67,8 +65,6 @@
For a better visualisation they were slightly shifted to avoid overlapping.} For a better visualisation they were slightly shifted to avoid overlapping.}
\label{fig:paths} \label{fig:paths}
\end{figure} \end{figure}
% error development over time while walking along a path % error development over time while walking along a path
\begin{figure} \begin{figure}
\input{gfx/eval/error_timed_nexus} \input{gfx/eval/error_timed_nexus}
@@ -79,7 +75,6 @@
staircases just before the destination (9).} staircases just before the destination (9).}
\label{fig:errorTimedNexus} \label{fig:errorTimedNexus}
\end{figure} \end{figure}
% detailed analysis of path 4 % detailed analysis of path 4
\begin{figure} \begin{figure}
\input{gfx/eval/path_nexus_detail} \input{gfx/eval/path_nexus_detail}
@@ -90,6 +85,7 @@
\end{figure} \end{figure}
% %
\newcommand{\refSeg}[1]{$(#1)$} \newcommand{\refSeg}[1]{$(#1)$}
Fig. \ref{fig:errorTimedNexus} depicts the error for path 4 recorded with the Motorola Nexus 6. Fig. \ref{fig:errorTimedNexus} depicts the error for path 4 recorded with the Motorola Nexus 6.
For a better understanding of the following discussion, the path was divided into $10$ individual segments. For a better understanding of the following discussion, the path was divided into $10$ individual segments.
Remember that we start with a uniform distribution instead of a well known pedestrian location. Remember that we start with a uniform distribution instead of a well known pedestrian location.
@@ -145,15 +141,13 @@
%\end{figure} %\end{figure}
The median error values for all other paths and the other smartphone are listed in table The median error values for all other paths and the other smartphone are listed in table
\ref{tbl:errGalaxy} and \ref{tbl:errNexus}. As can be seen, adding prior knowledge \ref{tbl:errNexus} and \ref{tbl:errGalaxy}. As can be seen, adding prior knowledge
is able to improve the localisation for all examined situations, even when is able to improve the localisation for all examined situations, even when
leaving the suggested path or when facing bad/slow sensor readings. leaving the suggested path or when facing bad/slow sensor readings.
% error values % error values
\begin{table} \begin{table}
\centering \centering
\label{tbl:errNexus}
\caption{Median error for walks conducted with the Nexus 6.}
\begin{tabular}{|l|c|c|c|c|} \begin{tabular}{|l|c|c|c|c|}
\hline \hline
& Path1 & Path2 & Path3 & Path4 \\\hline & Path1 & Path2 & Path3 & Path4 \\\hline
@@ -161,12 +155,12 @@
Shortest (\refeq{eq:transShortestPath}) & \SI{2.72}{\meter} & \SI{2.98}{\meter} & \SI{2.48}{\meter} & \SI{3.06}{\meter} \\\hline Shortest (\refeq{eq:transShortestPath}) & \SI{2.72}{\meter} & \SI{2.98}{\meter} & \SI{2.48}{\meter} & \SI{3.06}{\meter} \\\hline
Multipath (\refeq{eq:transMultiPath}) & \SI{2.62}{\meter} & \SI{2.14}{\meter} & \SI{2.46}{\meter} & \SI{2.75}{\meter} \\\hline Multipath (\refeq{eq:transMultiPath}) & \SI{2.62}{\meter} & \SI{2.14}{\meter} & \SI{2.46}{\meter} & \SI{2.75}{\meter} \\\hline
\end{tabular} \end{tabular}
\caption{Median error for walks conducted with the Nexus 6.}
\label{tbl:errNexus}
\end{table} \end{table}
\begin{table} \begin{table}
\centering \centering
\label{tbl:errGalaxy}
\caption{Median error for walks conducted with the Galaxy S5.}
\begin{tabular}{|l|c|c|c|c|} \begin{tabular}{|l|c|c|c|c|}
\hline \hline
& Path1 & Path2 & Path3 & Path4 \\\hline & Path1 & Path2 & Path3 & Path4 \\\hline
@@ -174,6 +168,8 @@
Shortest (\refeq{eq:transShortestPath}) & \SI{ 5.86}{\meter} & \SI{4.14}{\meter} & \SI{5.14}{\meter} & \SI{5.20}{\meter} \\\hline Shortest (\refeq{eq:transShortestPath}) & \SI{ 5.86}{\meter} & \SI{4.14}{\meter} & \SI{5.14}{\meter} & \SI{5.20}{\meter} \\\hline
Multipath (\refeq{eq:transMultiPath}) & \SI{ 6.35}{\meter} & \SI{4.21}{\meter} & \SI{5.03}{\meter} & \SI{6.79}{\meter} \\\hline Multipath (\refeq{eq:transMultiPath}) & \SI{ 6.35}{\meter} & \SI{4.21}{\meter} & \SI{5.03}{\meter} & \SI{6.79}{\meter} \\\hline
\end{tabular} \end{tabular}
\caption{Median error for walks conducted with the Galaxy S5.}
\label{tbl:errGalaxy}
\end{table} \end{table}
%\begin{figure} %\begin{figure}

View File

@@ -2,8 +2,8 @@
\label{sec:trans} \label{sec:trans}
\newcommand{\spoint}{l} \newcommand{\spoint}{l}
\newcommand{\gHead}{\theta} \newcommand{\gHead}{\theta_\text{walk}}
\newcommand{\gDist}{d} \newcommand{\gDist}{d_\text{walk}}
To sample only transitions that are actually feasible To sample only transitions that are actually feasible
within the environment, we utilize a \SI{20}{\centimeter}-gridded graph within the environment, we utilize a \SI{20}{\centimeter}-gridded graph
@@ -26,8 +26,8 @@
Stairs are defined using three points $\vec{\spoint}_1, \vec{\spoint}_2, \vec{\spoint}_3 \in \R^3$ whereby the segment Stairs are defined using three points $\vec{\spoint}_1, \vec{\spoint}_2, \vec{\spoint}_3 \in \R^3$ whereby the segment
$[ \vec{\spoint}_1 \vec{\spoint}_2 ]$ describes the starting-edge, and $[ \vec{\spoint}_2 \vec{\spoint}_3 ]$ the stair's direction $[ \vec{\spoint}_1 \vec{\spoint}_2 ]$ describes the starting-edge, and $[ \vec{\spoint}_2 \vec{\spoint}_3 ]$ the stair's direction
(see fig. \ref{fig:gridStairs}). The grid-vertices corresponding to the starting-edge are determined using an intersection of (see fig. \ref{fig:gridStairs}). The grid-vertices corresponding to the starting-edge are determined using an intersection of
the segment $[ \vec{\spoint}_1 \vec{\spoint}_2 ]$ with the bounding-box for each vertex. the segment $[ \vec{\spoint}_1 \vec{\spoint}_2 ]$ with the \SI{20}{\centimeter} bounding-box around each vertex.
\commentByToni{Welche Bounding-box? hab ich was ueberlesen?}
To reduce the system's memory footprint, we search for the largest connected region within the graph and To reduce the system's memory footprint, we search for the largest connected region within the graph and
remove all nodes and edges that are not connected to this region. remove all nodes and edges that are not connected to this region.
@@ -44,17 +44,17 @@
. .
\end{align} \end{align}
% %
During a walk, each edge has an assigned probability $p(e)$ which depends on a chosen implementation. During a walk, each edge has an assigned probability $p(e)$ which depends on
This probability describes aspects such as the likelihood for walking into the edge's direction $\angle e$ the its direction $\angle e$ and the current heading $\gHead$.
given the current heading $\gHead$. Furthermore, we will incorporate additional prior knowledge to We will use $p(e)$ to incorporate prior path knowledge to
favour some vertices/edges. For each single step on the graph, we calculate $p(e)$ for all available edges, favour some vertices/edges. For each single movement on the graph,
and, hereafter, randomly draw the to-be-walked edge depending on those probabilities. The random walk ends, we calculate $p(e)$ for all adjacent edges, and, hereafter, randomly draw the
as soon as the distance $d$ is reached. The latter depends on the number of detected steps to-be-walked edge depending on those probabilities. The random walk ends,
$\mObsSteps$ and assumes an average step-size of \SI{0.7}{\meter}. as soon as the distance $d$ is reached. $d$ depends on the number of detected steps
\commentByToni{steps steps... Allgemein finde ich den Absatz etwas komisch. erst wird p(e) eingefuehrt, dann kommt auf einmal prior knowledge und dann wie wir p(e) berechnen? reihenfolge passt da nicht so und macht es undeutlch. Hier soll doch eigentlich nur erklaert werden wie wir ueber den graphen laufen. egal ob prior oder nicht. laufen muessen wir ja} $\mObsVec_t^{\mObsSteps}$ and assumes an average step-size of \SI{0.7}{\meter}.
For comparison purpose we define a simple weighting method that assigns a probability to each edge For comparison purpose we define a simple weighting method that assigns a probability to each edge
just based on the deviation from the currently estimated heading $\gHead$: just based on the deviation from the currently estimated heading $\gHead$ omitting additional prior knowledge:
\commentByFrank{das erste $=$ ist komisch. ideen?} \commentByFrank{das erste $=$ ist komisch. ideen?}
\commentByToni{Find ich jetzt nicht tragisch. Eher notwendig fuers Verstaendnis.} \commentByToni{Find ich jetzt nicht tragisch. Eher notwendig fuers Verstaendnis.}
@@ -82,9 +82,8 @@
A* using the previously created graph would obviously lead to non-realistic paths sticking to the walls and A* using the previously created graph would obviously lead to non-realistic paths sticking to the walls and
walking many diagonals. Pedestrian's however, walk either somewhere near (but not close to) a wall or, for walking many diagonals. Pedestrian's however, walk either somewhere near (but not close to) a wall or, for
larger open spaces, somewhere far from the walls. In order to calculate paths that resemble such a walking larger open spaces, somewhere far from the walls. In order to calculate paths that resemble such a walking
behaviour, an importance factor is derived for each vertex within the graph. Those will be used to behaviour, an importance-factor is derived for each vertex within the graph. Those will be used to
adjust weight between two vertices, needed by the shortest-path algorithm. adjust the distance-weight between two vertices, needed by the shortest-path algorithm.
\commentByToni{The edge's weight?? vielleicht?}
To downvote vertices near walls, we need to get the distance of each vertex from its nearest wall. To downvote vertices near walls, we need to get the distance of each vertex from its nearest wall.
We therefore build an inverted version $G' = (V', E')$ of the graph $G$, just containing walls and other obstacles. We therefore build an inverted version $G' = (V', E')$ of the graph $G$, just containing walls and other obstacles.
@@ -144,7 +143,7 @@
Like before, we apply a distribution based on the distance from the nearest door to determine Like before, we apply a distribution based on the distance from the nearest door to determine
an importance-factor for each node: an importance-factor for each node:
% %
\commentByFrank{distanzrechnung: formel} \commentByFrank{distanzrechnung: formel ok?}
\begin{equation} \begin{equation}
\text{dd}_{x,y,z} = 0.8 \cdot \mathcal{N}( \| \vec{c} - v_{x,y,z} \| \mid 0.0, 1.0 ) \text{dd}_{x,y,z} = 0.8 \cdot \mathcal{N}( \| \vec{c} - v_{x,y,z} \| \mid 0.0, 1.0 )
\end{equation} \end{equation}
@@ -271,7 +270,7 @@
\subsubsection{Multipath} \subsubsection{Multipath}
The Dijkstra calculation mentioned in \ref{sec:pathEstimation} already calculated the The shortest-path algorithm mentioned in \ref{sec:pathEstimation} already calculated the
cumulative distance $\text{cdist}_{x,y,z}$ to the pedestrian's target for each vertex. cumulative distance $\text{cdist}_{x,y,z}$ to the pedestrian's target for each vertex.
We thus apply the same assumption as above and downvote grid-steps not decreasing We thus apply the same assumption as above and downvote grid-steps not decreasing
the distance to the destination: the distance to the destination:

View File

@@ -1,8 +1,8 @@
\section{Introduction} \section{Introduction}
Since the advent of smartphones, location aware apps and services are ubiquitous and have become a natural part of our everyday life. Since the advent of smartphones, location aware apps and services are ubiquitous and have become a natural part of our everyday life.
Whether driving a car, jogging or shopping in the streets, GNSS-based applications are making orientation easier, Whether driving a car, jogging or shopping in the streets, GNSS-based applications simplify orientation,
point the way and even track our fitness achievements. But as soon as we drive into an underground car park or visit a shopping mall, most of them do not work at all. guide the way and even track our fitness achievements. But as soon as we drive into an underground car park or visit a shopping mall, most of them do not work at all.
That is because satellite signals are too weak to pass through obstacles like ceilings. That is because satellite signals are too weak to pass through obstacles like ceilings.
Moreover, their accuracy is not sufficient for individual parking spaces or office rooms. Moreover, their accuracy is not sufficient for individual parking spaces or office rooms.
Therefore, many different solutions for localising a moving object within buildings have been developed in Therefore, many different solutions for localising a moving object within buildings have been developed in
@@ -26,12 +26,12 @@ In pedestrian navigation, the human movement is subject to the characteristics o
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.
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 we model the human movement. 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 want 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 systems 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.
Especially the barometric sensor is affected due to its continuous pressure measurements. Especially the barometric sensor is affected due to its continuous pressure measurements.
The discrete model prevents the barometer's full potential. The discrete model prevents the barometer's full potential.
It could further be shown that a correct estimation strongly depends on the quality of $z$-transitions. It could further be shown that a correct estimation strongly depends on the quality of $z$-transitions.
@@ -40,8 +40,8 @@ To address this problem we extended the graph by adding realistic stairs, allowi
Second, the heading for modelling the pedestrian's walking behaviour is calculated between two adjacent nodes Second, the heading for modelling the pedestrian's walking behaviour is calculated between two adjacent nodes
and restricts the transition to perform only discrete \SI{45}{\degree} turns. While this is sufficient and restricts the transition to perform only discrete \SI{45}{\degree} turns. While this is sufficient
for most cases, minor heading changes are often ignored and the posterior distribution (after walking) for most cases, minor heading changes are often ignored and the posterior distribution (after walking)
is not smoothly spread. is not smoothly spread. The heading-change of our new approach is solely controlled by the smartphone's turn detection.
\commentByToni{Und was machen wir dagegen?} 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 used to navigate a user to his desired destination.
@@ -49,15 +49,16 @@ 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 pedestrian's currently estimated position. So, based on this assumption, the destination is known beforehand and the starting point is the pedestrian'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 regular tessellated (grid) graphs, as used in \cite{Ebner-15}, this often leads to paths running very unnatural alongside walls. However, for regularly tessellated (grid) graphs, as used in \cite{Ebner-15}, this would lead to unnatural paths e.g.
Therefore, we present a novel approach that detects walls using the inverted graph (representing walls and obstacles) and a nearest-neighbour search. directly adhering to walls.
Therefore, we present a novel approach that detects walls using an inverted graph (representing walls and obstacles) and a nearest-neighbour search.
%\commentByFrank{hier kann man, wenn platz fehlt, vlt noch etwas details weglassen (inverted-graph, knn, etc)} %\commentByFrank{hier kann man, wenn platz fehlt, vlt noch etwas details weglassen (inverted-graph, knn, etc)}
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 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 again the inverted graph and a principal component analysis (PCA) \cite{Hotelling1933} is presented within this work. Therefore, a novel approach for detecting doors using the inverted graph and a principal component analysis (PCA) \cite{Hotelling1933} 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}
Finally, it is now possible to calculate more natural and realistic paths using the weighted graph. Finally, it is now possible to calculate more natural and realistic paths using the weighted graph.

View File

@@ -7,7 +7,7 @@ They differ mainly by the used sensors, their probabilistic models and how envir
For example \cite{Li2015} recently presented an approach combining methods of pedestrian dead reckoning (PDR), \docWIFI{} For example \cite{Li2015} recently presented an approach combining methods of pedestrian dead reckoning (PDR), \docWIFI{}
fingerprinting and magnetic matching using a Kalman filter. While providing good results, fingerprinting methods fingerprinting and magnetic matching using a Kalman filter. While providing good results, fingerprinting methods
require an extensive offline calibration phase. Therefore, many other systems like \cite{Fang09} or \cite{Ebner-15} require an extensive offline calibration phase. Therefore, many other systems like \cite{Fang09} or \cite{Ebner-15}
are using signal strength prediction models like the log-distance model or wall-attenuation-factor model. use signal strength prediction models like the log-distance model or wall-attenuation-factor model.
Additionally, the sensors noise is not always Gaussian or satisfies the central limit theorem, what makes the Additionally, the sensors noise is not always Gaussian or satisfies the central limit theorem, what makes the
usage of Kalman filters problematic \cite{sarkka2013bayesian, Nurminen2014}. usage of Kalman filters 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.
@@ -31,7 +31,7 @@ Here, two main classes can be distinguished: symbolic and geometric spatial mode
Especially geometric spatial models (coordinate-based approaches) are very popular, since they integrate metric properties to provide highly accurate location and distance information. Especially geometric spatial models (coordinate-based approaches) are very popular, since they integrate metric properties to provide highly accurate location and distance information.
One of the most common environmental representations in indoor localization literature is the Voronoi diagram \cite{Liao2003}. One of the most common environmental representations in indoor localization literature is the Voronoi diagram \cite{Liao2003}.
It represents the topological skeleton of the building's floorplan as an irregular tessellation of space. It represents the topological skeleton of the building's floorplan as an irregular tessellation of space.
This drastically removes degrees of freedom from the map, what results in a low complexity. This drastically removes degrees of freedom from the map, and results in a low complexity.
In the work of \cite{Nurminen2014} a Voronoi diagram is used to approximate the human movement. In the work of \cite{Nurminen2014} a Voronoi diagram is used to approximate the human movement.
It is assumed that the pedestrian can be anywhere on the topological links. It is assumed that the pedestrian can be anywhere on the topological links.
@@ -58,7 +58,7 @@ or the behaviour of a pedestrian at this particular position (e.g. jumping or ru
A similar approach is presented in \cite{Li2010}, \cite{Ebner-15} and is also used within this work. A similar approach is presented in \cite{Li2010}, \cite{Ebner-15} and is also used within this work.
By assuming that the floorplan is given beforehand, the occupied cells can be removed. By assuming that the floorplan is given beforehand, the occupied cells can be removed.
The remaining cells are described by its centre and represent all free spaces in the indoor environment. The remaining cells are described by their centre/bounding-box and represent all free spaces in the indoor 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.
In order to enable floor changes, some approaches suggest to simply connect the nodes at staircases \cite{Ebner-15, Hilsenbeck2014}. In order to enable floor changes, some approaches suggest to simply connect the nodes at staircases \cite{Ebner-15, Hilsenbeck2014}.
@@ -73,9 +73,9 @@ For example, \cite{Bandi2000} uses an A* algorithm to search a 3D gridded enviro
An additional smoothing procedure is performed to make the path more natural. An additional smoothing procedure is performed to make the path more natural.
They are considering foot span, body dimensions and obstacle dimensions when determining whether an obstacle is surmountable. They are considering foot span, body dimensions and obstacle dimensions when determining whether an obstacle is surmountable.
However, many of this information is difficult to ascertain in real-time or imply additional effort in real-world environments. However, many of this information is difficult to ascertain in real-time or imply additional effort in real-world environments.
Therefore, more realistic simulation models, mainly for evacuation simulation, are just using a simple shortest path on regular Therefore, more realistic simulation models, mainly for evacuation simulation, are just using a simple shortest path on regularly
tessellated graphs \cite{Sun2011, tan2014agent}. A more costly, yet promising approach is shown by \cite{Brogan2003}. They use a tessellated graphs \cite{Sun2011, tan2014agent}. A more costly, yet promising approach is shown by \cite{Brogan2003}. They use a
data set of previous recorded walks to create a model of realistic human walking paths. data set of previously recorded walks to create a model of realistic human walking paths.
Finally, it seems that currently none of the localisation system approaches are using realistic walking paths as additional Finally, it seems that currently none of the localisation system approaches are using realistic walking paths as additional
source of information to provide a more targeted and robust movement. Most common systems are sampling a new state only in source of information to provide a more targeted and robust movement. Most common systems are sampling a new state only in

View File

@@ -36,10 +36,10 @@
% %
In \refeq{eq:baroTransition}, $b$ denotes the usual pressure change in $\frac{\text{hPa}}{\text{m}}$. In \refeq{eq:baroTransition}, $b$ denotes the usual pressure change in $\frac{\text{hPa}}{\text{m}}$.
The evaluation, following the transition, compares the predicted relative pressure with the observed The evaluation, following the transition, compares the predicted relative pressure with the observed
one using a normal distribution utilizing 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}). p(\mObsVec_t \mid \mStateVec_t)_\text{baro} = \mathcal{N}(\mObs_t^{\mObsPressure} \mid \mState_t^{\mStatePressure}, \sigma_\text{baro}^2).
\label{eq:baroEval} \label{eq:baroEval}
\end{equation} \end{equation}
@@ -59,7 +59,8 @@
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,
\end{equation} \end{equation}
% %
The probability to measure this prediction given a location is: Assuming statistical independence of all \docAPshort{}s,
the probability to measure their predictions at a given location is:
% %
\begin{equation} \begin{equation}
\mProb(\mObsVec_t \mid \mStateVec_t)_\text{wifi} = \mProb(\mObsVec_t \mid \mStateVec_t)_\text{wifi} =
@@ -82,7 +83,7 @@
\subsection{Step- \& Turn-Detection} \subsection{Step- \& Turn-Detection}
Step- and turn-detection uses the smartphone's IMU and is implemented as described in \cite{Ebner-15}. Step- and turn-detection use the smartphone's IMU and are implemented as described in \cite{Ebner-15}.
% %
However, a big disadvantage of using the state transition as proposal distribution is the high possibility of sample However, a big disadvantage of using the state transition as proposal distribution is the high possibility of sample
impoverishment due to a small measurement noise. This happens since accurate observations result in high peaks impoverishment due to a small measurement noise. This happens since accurate observations result in high peaks

View File

@@ -1,7 +1,7 @@
%!PS-Adobe-2.0 EPSF-2.0 %!PS-Adobe-2.0 EPSF-2.0
%%Title: error_timed_nexus.tex %%Title: error_timed_nexus.tex
%%Creator: gnuplot 5.0 patchlevel 1 %%Creator: gnuplot 5.0 patchlevel 1
%%CreationDate: Sat Feb 13 11:31:04 2016 %%CreationDate: Mon Feb 15 17:01:39 2016
%%DocumentFonts: %%DocumentFonts:
%%BoundingBox: 50 50 294 150 %%BoundingBox: 50 50 294 150
%%EndComments %%EndComments
@@ -441,7 +441,7 @@ SDict begin [
/Author (kazu) /Author (kazu)
% /Producer (gnuplot) % /Producer (gnuplot)
% /Keywords () % /Keywords ()
/CreationDate (Sat Feb 13 11:31:04 2016) /CreationDate (Mon Feb 15 17:01:39 2016)
/DOCINFO pdfmark /DOCINFO pdfmark
end end
} ifelse } ifelse
@@ -576,6 +576,14 @@ Z stroke
LTb LTb
1.000 UL 1.000 UL
LTb LTb
2277 1771 N
0 176 V
2565 0 V
0 -176 V
-2565 0 V
Z stroke
1.000 UL
LTb
0.00 0.00 0.00 C 748 1947 M 0.00 0.00 0.00 C 748 1947 M
13 -42 V 13 -42 V
14 -52 V 14 -52 V
@@ -1461,6 +1469,44 @@ stroke 3636 588 M
14 4 V 14 4 V
14 5 V 14 5 V
stroke stroke
LCw setrgbcolor
1.000 2277 1771 2565 176 BoxColFill
1.000 UL
LTb
LCb setrgbcolor
LTb
2277 1771 N
0 176 V
2565 0 V
0 -176 V
-2565 0 V
Z stroke
1.000 UL
LTb
0.00 0.00 0.00 C LCb setrgbcolor
1.000 UL
LTb
0.00 0.00 0.00 C 2805 1859 M
195 0 V
stroke
LTb
LCb setrgbcolor
LTb
0.00 0.00 0.80 C LCb setrgbcolor
1.000 UL
LTb
0.00 0.00 0.80 C 3660 1859 M
195 0 V
stroke
LTb
LCb setrgbcolor
LTb
0.80 0.00 0.00 C LCb setrgbcolor
1.000 UL
LTb
0.80 0.00 0.00 C 4515 1859 M
195 0 V
stroke
2.000 UL 2.000 UL
LTb LTb
LCb setrgbcolor LCb setrgbcolor

View File

@@ -10,7 +10,7 @@ set yrange[0:17]
set xrange[0:91] set xrange[0:91]
set xtics nomirror set xtics nomirror
set ytics nomirror set ytics nomirror
set key opaque box samplen 1.0 spacing 0.8 width -13 set key at graph 1,1 opaque box samplen 1.0 spacing 0.8 width -13
set lmargin 4.6 set lmargin 4.6
set tmargin 0.3 set tmargin 0.3
@@ -56,33 +56,33 @@ set object 1 rectangle from 0,0 to 14,15 fs solid noborder fc rgb "#eeeeee" behi
set label 1 "\\footnotesize{1}" at 7,2 center rotate by 0 front set label 1 "\\footnotesize{1}" at 7,2 center rotate by 0 front
set object 2 rectangle from 14,0 to 40,15 fs solid noborder fc rgb "#dddddd" behind # walking down the way set object 2 rectangle from 14,0 to 40,15 fs solid noborder fc rgb "#dddddd" behind # walking down the way
set label 2 "\\footnotesize{2}" at 27,11 center rotate by 0 front set label 2 "\\footnotesize{2}" at 27,10 center rotate by 0 front
set object 3 rectangle from 40,0 to 51,15 fs solid noborder fc rgb "#eeeeee" behind # ignoring the shortest path set object 3 rectangle from 40,0 to 51,15 fs solid noborder fc rgb "#eeeeee" behind # ignoring the shortest path
set label 3 "\\footnotesize{3}" at 45.5,11 center rotate by 0 front set label 3 "\\footnotesize{3}" at 45.5,10 center rotate by 0 front
set object 4 rectangle from 51,0 to 65,15 fs solid noborder fc rgb "#dddddd" behind # stairwell set object 4 rectangle from 51,0 to 65,15 fs solid noborder fc rgb "#dddddd" behind # stairwell
set label 4 "\\footnotesize{4}" at 58,11 center rotate by 0 front set label 4 "\\footnotesize{4}" at 58,10 center rotate by 0 front
set object 5 rectangle from 65,0 to 74,15 fs solid noborder fc rgb "#eeeeee" behind # exit stairwell set object 5 rectangle from 65,0 to 74,15 fs solid noborder fc rgb "#eeeeee" behind # exit stairwell
set label 5 "\\footnotesize{5}" at 69.5,11 center rotate by 0 front set label 5 "\\footnotesize{5}" at 69.5,10 center rotate by 0 front
set object 6 rectangle from 74,0 to 105,15 fs solid noborder fc rgb "#dddddd" behind # floor set object 6 rectangle from 74,0 to 105,15 fs solid noborder fc rgb "#dddddd" behind # floor
set label 6 "\\footnotesize{6}" at 89.5,11 center rotate by 0 front set label 6 "\\footnotesize{6}" at 89.5,10 center rotate by 0 front
set object 7 rectangle from 105,0 to 116,15 fs solid noborder fc rgb "#eeeeee" behind # stair down to f1 set object 7 rectangle from 105,0 to 116,15 fs solid noborder fc rgb "#eeeeee" behind # stair down to f1
set label 7 "\\footnotesize{7}" at 110.5,11 center rotate by 0 front set label 7 "\\footnotesize{7}" at 110.5,10 center rotate by 0 front
set object 8 rectangle from 116,0 to 130,15 fs solid noborder fc rgb "#dddddd" behind # floor set object 8 rectangle from 116,0 to 130,15 fs solid noborder fc rgb "#dddddd" behind # floor
set label 8 "\\footnotesize{8}" at 123,11 center rotate by 0 front set label 8 "\\footnotesize{8}" at 123,10 center rotate by 0 front
set object 9 rectangle from 130,0 to 142,15 fs solid noborder fc rgb "#eeeeee" behind # stair down to f0 set object 9 rectangle from 130,0 to 142,15 fs solid noborder fc rgb "#eeeeee" behind # stair down to f0
set label 9 "\\footnotesize{9}" at 136,11 center rotate by 0 front set label 9 "\\footnotesize{9}" at 136,10 center rotate by 0 front
set object 10 rectangle from 142,0 to 150,15 fs solid noborder fc rgb "#dddddd" behind # end set object 10 rectangle from 142,0 to 150,15 fs solid noborder fc rgb "#dddddd" behind # end
set label 10 "\\footnotesize{10}" at 146,11 center rotate by 0 front set label 10 "\\footnotesize{10}" at 146,10 center rotate by 0 front
unset key #unset key
set yrange[0:13] set yrange[0:13]
set xrange[0:151] set xrange[0:151]
plot \ plot \

View File

@@ -99,17 +99,23 @@
\put(4533,44){\makebox(0,0){\strut{}\footnotesize{140 s}}}% \put(4533,44){\makebox(0,0){\strut{}\footnotesize{140 s}}}%
}% }%
\gplgaddtomacro\gplfronttext{% \gplgaddtomacro\gplfronttext{%
\csname LTb\endcsname%
\put(2673,1859){\makebox(0,0)[r]{\strut{}\footnotesize{simple}\hspace{-1.5mm}}}%
\csname LTb\endcsname%
\put(3528,1859){\makebox(0,0)[r]{\strut{}\footnotesize{multi}\hspace{-1.5mm}}}%
\csname LTb\endcsname%
\put(4383,1859){\makebox(0,0)[r]{\strut{}\footnotesize{shortest}\hspace{-1.5mm}}}%
\csname LTb\endcsname% \csname LTb\endcsname%
\put(803,523){\makebox(0,0){\strut{}\footnotesize{1}}}% \put(803,523){\makebox(0,0){\strut{}\footnotesize{1}}}%
\put(1364,1688){\makebox(0,0){\strut{}\footnotesize{2}}}% \put(1364,1559){\makebox(0,0){\strut{}\footnotesize{2}}}%
\put(1883,1688){\makebox(0,0){\strut{}\footnotesize{3}}}% \put(1883,1559){\makebox(0,0){\strut{}\footnotesize{3}}}%
\put(2234,1688){\makebox(0,0){\strut{}\footnotesize{4}}}% \put(2234,1559){\makebox(0,0){\strut{}\footnotesize{4}}}%
\put(2556,1688){\makebox(0,0){\strut{}\footnotesize{5}}}% \put(2556,1559){\makebox(0,0){\strut{}\footnotesize{5}}}%
\put(3117,1688){\makebox(0,0){\strut{}\footnotesize{6}}}% \put(3117,1559){\makebox(0,0){\strut{}\footnotesize{6}}}%
\put(3706,1688){\makebox(0,0){\strut{}\footnotesize{7}}}% \put(3706,1559){\makebox(0,0){\strut{}\footnotesize{7}}}%
\put(4057,1688){\makebox(0,0){\strut{}\footnotesize{8}}}% \put(4057,1559){\makebox(0,0){\strut{}\footnotesize{8}}}%
\put(4421,1688){\makebox(0,0){\strut{}\footnotesize{9}}}% \put(4421,1559){\makebox(0,0){\strut{}\footnotesize{9}}}%
\put(4702,1688){\makebox(0,0){\strut{}\footnotesize{10}}}% \put(4702,1559){\makebox(0,0){\strut{}\footnotesize{10}}}%
}% }%
\gplbacktext \gplbacktext
\put(0,0){\includegraphics{error_timed_nexus}}% \put(0,0){\includegraphics{error_timed_nexus}}%