started changing gfx and grid-TeX
This commit is contained in:
@@ -36,11 +36,11 @@
|
|||||||
until a desired distance $\gDist$ is reached \cite{Ebner-15}.
|
until a desired distance $\gDist$ is reached \cite{Ebner-15}.
|
||||||
In order to use meaningful headings $\gHead$ and distances $\gDist$
|
In order to use meaningful headings $\gHead$ and distances $\gDist$
|
||||||
(matching the pedestrian's real heading and walking speed) for each transition,
|
(matching the pedestrian's real heading and walking speed) for each transition,
|
||||||
we use the current sensor-readings $\mObsVec_{t}$ for hinted instead of truly random adjustments:
|
we use the current sensor-readings $\mObsVec_{t}$ for hinted instead of randomized adjustments:
|
||||||
%
|
%
|
||||||
\begin{align}
|
\begin{align}
|
||||||
\mStateVec_{t}^{\mStateHeading} = \gHead &= \mStateVec_{t-1}^{\mStateHeading} + \mObsVec_t^{\mObsHeading} + \mathcal{N}(0, \sigma_{\gHead}^2) \\
|
\mState_{t}^{\mStateHeading} = \gHead &= \mState_{t-1}^{\mStateHeading} + \mObs_t^{\mObsHeading} + \mathcal{N}(0, \sigma_{\gHead}^2) \\
|
||||||
\gDist &= \mObsVec_t^{\mObsSteps} \cdot \SI{0.7}{\meter} + \mathcal{N}(0, \sigma_{\gDist}^2)
|
\gDist &= \mObs_t^{\mObsSteps} \cdot \SI{0.7}{\meter} + \mathcal{N}(0, \sigma_{\gDist}^2)
|
||||||
.
|
.
|
||||||
\end{align}
|
\end{align}
|
||||||
%
|
%
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
\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.}
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
p(e) = p(e \mid \gHead) = N(\angle e \mid \gHead, \sigma_\text{dev}^2).
|
p(e) = p(e \mid \gHead) = \mathcal{N} (\angle e \mid \gHead, \sigma_\text{dev}^2).
|
||||||
\label{eq:transSimple}
|
\label{eq:transSimple}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
@@ -87,46 +87,60 @@
|
|||||||
|
|
||||||
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.
|
||||||
A nearest-neighbour search $\mNN(v_{x,y,z}, G')$ will then provide the nearest wall-vertex
|
A nearest-neighbour search \cite{Cover1967}
|
||||||
$v'_{x,y,z} \in V'$ from the inverted graph \cite{Cover1967}. The wall avoidance can now be calculated as follows:
|
%$\mNN(v_{x,y,z}, G')$
|
||||||
|
will then provide the nearest wall-vertex
|
||||||
|
$v'_{x,y,z} \in V'$ from the inverted graph. To get a smooth gradient, the wall avoidance
|
||||||
|
is calculated using a normal distribution with the distance from the nearest wall
|
||||||
|
and a deviation of \SI{0.5}{\meter}:
|
||||||
%
|
%
|
||||||
|
%\begin{equation}
|
||||||
|
% d_{v, v'} = \| v_{x,y,z}, v'_{x,y,z}, \enskip 0.0 < d_{v, v'} < 2.2 \\
|
||||||
|
%\end{equation}
|
||||||
|
%\begin{equation}
|
||||||
|
%\begin{array}{ll}
|
||||||
|
% \text{wa}_{x,y,z} = & - 0.30 \cdot \mathcal{N}(d_{v, v'} \mid 0.0, 0.5^2) \\
|
||||||
|
% & + 0.15 \cdot \mathcal{N}(d_{v, v'} \mid 0.9, 0.5^2) \\
|
||||||
|
% & + 0.15 \cdot \mathcal{N}(d_{v, v'} \mid 2.2, 0.5^2)
|
||||||
|
%\end{array}
|
||||||
|
%\label{eq:wallAvoidance}
|
||||||
|
%\end{equation}
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
d_{v, v'} = d(v_{x,y,z}, v'_{x,y,z}), \enskip 0.0 < d_{v, v'} < 2.2 \\
|
\text{wa}_{x,y,z} = \mathcal{N}( \| v_{x,y,z} - v'_{x,y,z} \| \mid 0.0, 0.5^2) \\
|
||||||
\end{equation}
|
\label{eq:wallAvoidance}
|
||||||
\begin{equation}
|
|
||||||
\begin{array}{ll}
|
|
||||||
\text{wa}_{x,y,z} = & - 0.30 \cdot \mathcal{N}(d_{v, v'} \mid 0.0, 0.5^2) \\
|
|
||||||
& + 0.15 \cdot \mathcal{N}(d_{v, v'} \mid 0.9, 0.5^2) \\
|
|
||||||
& + 0.15 \cdot \mathcal{N}(d_{v, v'} \mid 2.2, 0.5^2)
|
|
||||||
\end{array}
|
|
||||||
\label{eq:wallAvoidance}
|
|
||||||
\end{equation}
|
\end{equation}
|
||||||
%
|
%
|
||||||
The parameters of the normal distribution and the scaling-factors were chosen empirically.
|
%The parameters of the normal distribution and the scaling-factors were chosen empirically.
|
||||||
While this approach provides good results for most areas, doors are downvoted by
|
%While this approach provides good results for most areas, doors are downvoted by
|
||||||
\refeq{eq:wallAvoidance}, as they have only vertices that are close to walls.
|
%\refeq{eq:wallAvoidance}, as they have only vertices that are close to walls.
|
||||||
Door detection and upvoting thus is the next conducted step.
|
%Door detection and upvoting thus is the next conducted step.
|
||||||
|
While effectively rendering wall-regions less likely, \refeq{eq:wallAvoidance}
|
||||||
|
will obviously have the same effect on all doors located within the building.
|
||||||
|
Therefore, a door-detection is necessary, to upvote them again.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
\subsection{Door Detection}
|
\subsection{Door Detection}
|
||||||
\label{sec:doorDetection}
|
\label{sec:doorDetection}
|
||||||
|
|
||||||
Doors are usually anchored between two walls and have a normed width. Examining only a limited region
|
To automatically detect doors within the floorplan, we utilize the fact that doors are usually
|
||||||
around the door, its surrounding walls describe a flat ellipse with the same centre as the door itself.
|
anchored between two (straight) walls and have a normed width. Examining the region directly
|
||||||
It is thus possible to detect doors within the floorplan using a PCA.
|
around it, the door and its surrounding walls describe a flat ellipse with the door as its
|
||||||
|
centre.
|
||||||
|
%It is thus possible to detect doors within the floorplan using a PCA.
|
||||||
|
|
||||||
To decide whether a vertex $v_{x,y,z}$ within the (non-inverted) grid $G$ belongs to a door, we use $k$-NN to fetch its
|
To decide whether a vertex $v_{x,y,z}$ within the (non-inverted) grid $G$ belongs to a door,
|
||||||
$k$ nearest neighbours $N'$ within the inverted grid $G'$. For this neighbourhood the centroid $\vec{c} \in \R^3$ is calculated.
|
we use $k$-NN to fetch its $k$ nearest neighbours $\hat{V}$ within the inverted grid $G'$,
|
||||||
If the distance $\| \vec{c} - v_{x,y,z} \|$ between the centroid and the vertex-in-question is above a certain threshold,
|
describing the walls nearby. Hereafter we determine the centroid $\vec{c} \in \R^3$
|
||||||
the node does not belong to a door.
|
and 2D covariance $(x,y)$ for those vertices.
|
||||||
\todo{Distanzformel centroid/vertex. ideen? $\|v1 - v2\|$ oder $d(v1, v2)$?}
|
%
|
||||||
\commentByToni{Beides ist gebraeuchlich und $d$ ist kuerzer. von daher wuerde ich $d$ empfehlen.}
|
Using the PCA, we examine the two eigenvalues $\{\lambda_1, \lambda_2 \mid \lambda_1 > \lambda_2\}$,
|
||||||
|
for the covariance matrix. If their ratio $\frac{\lambda_1}{\lambda_2}$ is above a certain
|
||||||
Assuming the distance is fine, we compare the two eigenvalues $\{\lambda_1, \lambda_2 \mid \lambda_1 > \lambda_2\}$,
|
threshold, the neighbourhood describes a flat ellipse and thus either a straight wall or door.
|
||||||
determined by the PCA. If their ratio $\frac{\lambda_1}{\lambda_2}$ is above a certain threshold (flat ellipse)
|
%
|
||||||
the node-in-question belongs to a door or some kind of narrow passage.
|
To prevent a vertex $v_{x,y,z}$ adjacent to such straight walls from also being detected,
|
||||||
|
we ensure the distance $\| \vec{c} - v_{x,y,z} \|$ between the centroid and the vertex is
|
||||||
|
below a certain threshold. Hereafter, only vertices located within the door itself remain.
|
||||||
%
|
%
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\includegraphics[width=\columnwidth]{door_pca}
|
\includegraphics[width=\columnwidth]{door_pca}
|
||||||
@@ -136,39 +150,42 @@
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
%
|
%
|
||||||
Fig. \ref{fig:doorPCA} depicts all three cases where
|
Fig. \ref{fig:doorPCA} depicts all three cases where
|
||||||
(left) the node is part of a door,
|
(left) the vertex is part of a door,
|
||||||
(middle) the distance between node and k-NN centroid is above the threshold and
|
(middle) the distance between node and centroid is above the threshold and
|
||||||
(right) the ration between $\lambda_1$ and $\lambda_2$ is below the threshold.
|
(right) the ration between $\lambda_1$ and $\lambda_2$ is below the threshold.
|
||||||
|
|
||||||
Like before, we apply a distribution based on the distance from the nearest door to determine
|
For smooth importance-gradients around doors, we again use a distribution based on
|
||||||
an importance-factor for each node:
|
the distance of a vertex $v_{x,y,z}$ from its nearest door and a deviation
|
||||||
|
of \SI{1.0}{\meter} to determine its importance-factor:
|
||||||
%
|
%
|
||||||
\commentByFrank{distanzrechnung: formel ok?}
|
%\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} = \mathcal{N}( \| \vec{c} - v_{x,y,z} \| \mid 0.0, 1.0^2 )
|
||||||
|
\label{eq:doorDetection}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
|
|
||||||
|
The final importance for each node is now calculated using \refeq{eq:wallAvoidance}
|
||||||
|
and \refeq{eq:doorDetection}:
|
||||||
|
%
|
||||||
|
\begin{equation}
|
||||||
|
\text{imp}_{x,y,z} = 1.0 - \text{wa}_{x,y,z} + \text{dd}_{x,y,z} \enspace .
|
||||||
|
\end{equation}
|
||||||
|
%
|
||||||
|
While most vertices receive a factor of $1.0$, wall-regions get lower and
|
||||||
|
door-regions higher values, depicted in fig. \ref{fig:importance}.
|
||||||
|
%
|
||||||
|
\begin{figure}
|
||||||
|
\includegraphics[width=\columnwidth]{floorplan_importance}
|
||||||
|
\caption{The calculated importance-factor for each vertex. While the black wall-elements denote
|
||||||
|
a small importance, the yellow door-regions receive much higher values.}
|
||||||
|
\label{fig:importance}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
\subsection{Path Estimation}
|
\subsection{Path Estimation}
|
||||||
\label{sec:pathEstimation}
|
\label{sec:pathEstimation}
|
||||||
|
|
||||||
|
|
||||||
Based on aforementioned assumptions, the final importance for each node is given by
|
\commentByFrank{ueberleitung}
|
||||||
%
|
|
||||||
\begin{equation}
|
|
||||||
\text{imp}_{x,y,z} = 1.0 + \text{wa}_{x,y,z} + \text{dd}_{x,y,z} \enspace .
|
|
||||||
\end{equation}
|
|
||||||
%
|
|
||||||
A good visualization of the resulting importance-factors can be seen in fig. \ref{fig:importance}.
|
|
||||||
|
|
||||||
\begin{figure}
|
|
||||||
\includegraphics[angle=-90, width=\columnwidth, trim=20 19 17 9, clip]{floorplan_importance}
|
|
||||||
\caption{The calculated importance-factor for each vertex. While the black elements denote an importance-factor
|
|
||||||
of about \SI{0.8}{}, the yellow door-regions denote a high importance of about \SI{1.2}{}.}
|
|
||||||
\label{fig:importance}
|
|
||||||
\end{figure}
|
|
||||||
|
|
||||||
To estimate the shortest path to the pedestrian's desired target, we use a modified version
|
To estimate the shortest path to the pedestrian's desired target, we use a modified version
|
||||||
of Dijkstra's algorithm. Instead of calculating the shortest path from the start to the end,
|
of Dijkstra's algorithm. Instead of calculating the shortest path from the start to the end,
|
||||||
we swap start/end and do not terminate the calculation until every single node was evaluated.
|
we swap start/end and do not terminate the calculation until every single node was evaluated.
|
||||||
@@ -181,15 +198,15 @@
|
|||||||
\text{weight}(v_{x,y,z}, v_{x',y',z'}) =
|
\text{weight}(v_{x,y,z}, v_{x',y',z'}) =
|
||||||
\frac
|
\frac
|
||||||
{ \| v_{x,y,z} - v_{x',y',z'} \| }
|
{ \| v_{x,y,z} - v_{x',y',z'} \| }
|
||||||
{ \text{stretch}(\text{imp}_{x',y',z'}) }
|
{ \text{imp}_{x',y',z'} }
|
||||||
,
|
.
|
||||||
\end{split}
|
\end{split}
|
||||||
\end{equation}
|
\end{equation}
|
||||||
%
|
%
|
||||||
whereby $\text{stretch}(\cdots)$ is a scaling function (linear or non-linear) used to adjust
|
%whereby $\text{stretch}(\cdots)$ is a scaling function (linear or non-linear) used to adjust
|
||||||
the impact of the previously calculated importance-factors.
|
%the impact of the previously calculated importance-factors.
|
||||||
%
|
%
|
||||||
Fig. \ref{fig:multiHeatMap} depicts the difference between the path calculated without (dashed) and
|
Fig. \ref{fig:multiHeatMap} depicts the difference between the shortest path calculated without (dashed) and
|
||||||
with importance-factors (solid), where the latter version is clearly more realistic.
|
with importance-factors (solid), where the latter version is clearly more realistic.
|
||||||
|
|
||||||
%\begin{figure}
|
%\begin{figure}
|
||||||
@@ -251,11 +268,12 @@
|
|||||||
%
|
%
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\begin{split}
|
\begin{split}
|
||||||
p(v_{x',y',z'} \mid v_{x,y,z})
|
p(e) &=
|
||||||
= N(\angle [ v_{x,y,z} v_{x',y',z'} ] \mid \gHead, \sigma_\text{dev}^2) \cdot \alpha \\
|
p(v_{x',y',z'} \mid v_{x,y,z})\\
|
||||||
\alpha =
|
&= \mathcal{N} (\angle [ v_{x,y,z} v_{x',y',z'} ] \mid \gHead, \sigma_\text{dev}^2) \cdot \alpha \\
|
||||||
|
\alpha &=
|
||||||
\begin{cases}
|
\begin{cases}
|
||||||
1.0 & \| v_{x',y',z'} - \pathRef \| < \| v_{x,y,z} - \pathRef \| \\
|
0.9 & \| v_{x',y',z'} - \pathRef \| < \| v_{x,y,z} - \pathRef \| \\
|
||||||
0.1 & \text{else}
|
0.1 & \text{else}
|
||||||
\end{cases}
|
\end{cases}
|
||||||
\end{split}
|
\end{split}
|
||||||
@@ -277,11 +295,12 @@
|
|||||||
|
|
||||||
\begin{equation}
|
\begin{equation}
|
||||||
\begin{split}
|
\begin{split}
|
||||||
p(v_{x',y',z'} \mid v_{x,y,z})
|
p(e) &=
|
||||||
= N(\angle [ v_{x,y,z} v_{x',y',z'} ] \mid \gHead, \sigma_\text{dev}^2) \cdot \alpha \\
|
p(v_{x',y',z'} \mid v_{x,y,z})\\
|
||||||
\alpha =
|
& = \mathcal{N} (\angle [ v_{x,y,z} v_{x',y',z'} ] \mid \gHead, \sigma_\text{dev}^2) \cdot \alpha \\
|
||||||
|
\alpha &=
|
||||||
\begin{cases}
|
\begin{cases}
|
||||||
1.0 & \text{cdist}_{x',y',z'} < \text{cdist}_{x,y,z} \\
|
0.9 & \text{cdist}_{x',y',z'} < \text{cdist}_{x,y,z} \\
|
||||||
0.1 & \text{else}
|
0.1 & \text{else}
|
||||||
\end{cases}
|
\end{cases}
|
||||||
\end{split}
|
\end{split}
|
||||||
@@ -292,9 +311,9 @@
|
|||||||
walks simulating slight, random heading changes.
|
walks simulating slight, random heading changes.
|
||||||
|
|
||||||
\begin{figure}
|
\begin{figure}
|
||||||
\includegraphics[angle=-90, width=\columnwidth, trim=20 19 17 9, clip]{floorplan_dijkstra_heatmap}
|
\includegraphics[width=\columnwidth]{floorplan_dijkstra_heatmap}
|
||||||
\caption{Heat-Map of visited vertices after several walks using \refeq{eq:transMultiPath}.
|
\caption{Heat-Map of visited vertices after several walks using \refeq{eq:transMultiPath}.
|
||||||
Additionally shows the shortest-path calculation without (dashed) and with (solid) importance-factors
|
Additionally shows the shortest path calculation without (dashed) and with (solid) importance-factors
|
||||||
used for edge-weight-adjustment.}
|
used for edge-weight-adjustment.}
|
||||||
\label{fig:multiHeatMap}
|
\label{fig:multiHeatMap}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -7,17 +7,26 @@ set yrange[980.5:981.5]
|
|||||||
set xrange[0:50]
|
set xrange[0:50]
|
||||||
set ytics 980.5, 0.2, 981.5
|
set ytics 980.5, 0.2, 981.5
|
||||||
|
|
||||||
set lmargin 5.0
|
set lmargin 4.5
|
||||||
set rmargin 1.4
|
set rmargin 1.0
|
||||||
set tmargin 0.5
|
set tmargin 0.5
|
||||||
|
set bmargin 0.1
|
||||||
|
|
||||||
set object 1 rectangle from 0,980.5 to 4.000,981.3 fs solid fc rgb "#EEEEEE" behind
|
# strange! why bmargin so small? otherwise huge gaps in TeX?
|
||||||
set object 2 rectangle from 4.000,980.5 to 10.000,981.1 fs solid fc rgb "#DDDDDD" behind
|
|
||||||
set object 3 rectangle from 10.000,980.5 to 36.000,980.9 fs solid fc rgb "#EEEEEE" behind
|
|
||||||
set object 4 rectangle from 36.000,980.5 to 48.000,981.2 fs solid fc rgb "#DDDDDD" behind
|
|
||||||
|
|
||||||
set label 1 "error" at 0.500,981.38
|
set xtics nomirror
|
||||||
set label 2 "estimation" at 4.500, 981.18
|
set ytics nomirror
|
||||||
set label 3 "walk" at 10.500, 980.98
|
|
||||||
set label 4 "stair" at 36.500, 981.28
|
set format y "\\footnotesize{\\SI{%.1f}{}}"
|
||||||
plot "baro_setup_issue.csv" using ($2/1000):4 with lines notitle lc rgb "black"
|
set format x "\\footnotesize{\\SI{%.0f}{\\second}}"
|
||||||
|
|
||||||
|
set object 1 rectangle from 0,980.5 to 4.000,981.5 fs solid noborder fc rgb "#EEEEEE" behind
|
||||||
|
set object 2 rectangle from 4.000,980.5 to 10.000,981.5 fs solid noborder fc rgb "#DDDDDD" behind
|
||||||
|
set object 3 rectangle from 10.000,980.5 to 36.000,981.5 fs solid noborder fc rgb "#EEEEEE" behind
|
||||||
|
set object 4 rectangle from 36.000,980.5 to 48.000,981.5 fs solid noborder fc rgb "#DDDDDD" behind
|
||||||
|
|
||||||
|
set label 1 "\\small{error}" at 1.800,981.44 right front rotate by 90
|
||||||
|
set label 2 "\\small{estimation}" at 6.900, 981.44 right front rotate by 90
|
||||||
|
set label 3 "\\small{walking along the hallway}" at 22.900, 981.4 center front
|
||||||
|
set label 4 "\\small{stair}" at 41.800, 981.4 center front
|
||||||
|
plot "baro_setup_issue.csv" using ($2/1000):4 with lines notitle lw 2 lc rgb "#000099"
|
||||||
|
|||||||
@@ -82,24 +82,25 @@
|
|||||||
\begin{picture}(5040.00,2014.00)%
|
\begin{picture}(5040.00,2014.00)%
|
||||||
\gplgaddtomacro\gplbacktext{%
|
\gplgaddtomacro\gplbacktext{%
|
||||||
\csname LTb\endcsname%
|
\csname LTb\endcsname%
|
||||||
\put(528,440){\makebox(0,0)[r]{\strut{}$980.5$}}%
|
\put(462,22){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.5}{}}}}%
|
||||||
\put(528,733){\makebox(0,0)[r]{\strut{}$980.7$}}%
|
\put(462,398){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.7}{}}}}%
|
||||||
\put(528,1025){\makebox(0,0)[r]{\strut{}$980.9$}}%
|
\put(462,774){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{980.9}{}}}}%
|
||||||
\put(528,1318){\makebox(0,0)[r]{\strut{}$981.1$}}%
|
\put(462,1151){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.1}{}}}}%
|
||||||
\put(528,1610){\makebox(0,0)[r]{\strut{}$981.3$}}%
|
\put(462,1527){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.3}{}}}}%
|
||||||
\put(528,1903){\makebox(0,0)[r]{\strut{}$981.5$}}%
|
\put(462,1903){\makebox(0,0)[r]{\strut{}\footnotesize{\SI{981.5}{}}}}%
|
||||||
\put(660,220){\makebox(0,0){\strut{}$0$}}%
|
\put(594,-198){\makebox(0,0){\strut{}\footnotesize{\SI{0}{\second}}}}%
|
||||||
\put(1499,220){\makebox(0,0){\strut{}$10$}}%
|
\put(1457,-198){\makebox(0,0){\strut{}\footnotesize{\SI{10}{\second}}}}%
|
||||||
\put(2338,220){\makebox(0,0){\strut{}$20$}}%
|
\put(2319,-198){\makebox(0,0){\strut{}\footnotesize{\SI{20}{\second}}}}%
|
||||||
\put(3176,220){\makebox(0,0){\strut{}$30$}}%
|
\put(3182,-198){\makebox(0,0){\strut{}\footnotesize{\SI{30}{\second}}}}%
|
||||||
\put(4015,220){\makebox(0,0){\strut{}$40$}}%
|
\put(4044,-198){\makebox(0,0){\strut{}\footnotesize{\SI{40}{\second}}}}%
|
||||||
\put(4854,220){\makebox(0,0){\strut{}$50$}}%
|
\put(4907,-198){\makebox(0,0){\strut{}\footnotesize{\SI{50}{\second}}}}%
|
||||||
\put(702,1727){\makebox(0,0)[l]{\strut{}error}}%
|
|
||||||
\put(1037,1435){\makebox(0,0)[l]{\strut{}estimation}}%
|
|
||||||
\put(1541,1142){\makebox(0,0)[l]{\strut{}walk}}%
|
|
||||||
\put(3722,1581){\makebox(0,0)[l]{\strut{}stair}}%
|
|
||||||
}%
|
}%
|
||||||
\gplgaddtomacro\gplfronttext{%
|
\gplgaddtomacro\gplfronttext{%
|
||||||
|
\csname LTb\endcsname%
|
||||||
|
\put(749,1790){\rotatebox{90}{\makebox(0,0)[r]{\strut{}\small{error}}}}%
|
||||||
|
\put(1189,1790){\rotatebox{90}{\makebox(0,0)[r]{\strut{}\small{estimation}}}}%
|
||||||
|
\put(2569,1715){\makebox(0,0){\strut{}\small{walking along the hallway}}}%
|
||||||
|
\put(4200,1715){\makebox(0,0){\strut{}\small{stair}}}%
|
||||||
}%
|
}%
|
||||||
\gplbacktext
|
\gplbacktext
|
||||||
\put(0,0){\includegraphics{baro_setup_issue}}%
|
\put(0,0){\includegraphics{baro_setup_issue}}%
|
||||||
|
|||||||
@@ -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: Mon Feb 15 17:01:39 2016
|
%%CreationDate: Tue Feb 16 19:06:27 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 (Mon Feb 15 17:01:39 2016)
|
/CreationDate (Tue Feb 16 19:06:27 2016)
|
||||||
/DOCINFO pdfmark
|
/DOCINFO pdfmark
|
||||||
end
|
end
|
||||||
} ifelse
|
} ifelse
|
||||||
@@ -571,19 +571,21 @@ stroke
|
|||||||
0 1683 V
|
0 1683 V
|
||||||
-4235 0 V
|
-4235 0 V
|
||||||
Z stroke
|
Z stroke
|
||||||
|
1.000 UL
|
||||||
|
LTb
|
||||||
|
1.00 1.00 1.00 C 1.000 1348 1745 2752 201 BoxColFill
|
||||||
|
LCb setrgbcolor
|
||||||
|
1348 1745 N
|
||||||
|
0 201 V
|
||||||
|
2752 0 V
|
||||||
|
0 -201 V
|
||||||
|
-2752 0 V
|
||||||
|
Z stroke
|
||||||
1.000 UP
|
1.000 UP
|
||||||
1.000 UL
|
1.000 UL
|
||||||
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
|
||||||
@@ -1469,44 +1471,6 @@ 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
|
||||||
|
|||||||
@@ -82,7 +82,12 @@ 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,10 center rotate by 0 front
|
set label 10 "\\footnotesize{10}" at 146,10 center rotate by 0 front
|
||||||
|
|
||||||
#unset key
|
set object 900 rectangle at graph 0.5, 0.94 size graph 0.65,0.12 fs solid fc rgb "#ffffff" lc rgb "#000000"
|
||||||
|
set label 901 "\\textcolor[rgb]{0,0,0}{\\footnotesize{simple \\eqref{eq:transSimple}}}" at graph 0.28, 0.94 center front
|
||||||
|
set label 902 "\\textcolor[rgb]{0,0,0.8}{\\footnotesize{multi \\eqref{eq:transMultiPath}}}" at graph 0.49, 0.94 center front
|
||||||
|
set label 903 "\\textcolor[rgb]{0.8,0,0}{\\footnotesize{shortest \\eqref{eq:transShortestPath}}}" at graph 0.71, 0.94 center front
|
||||||
|
|
||||||
|
unset key
|
||||||
set yrange[0:13]
|
set yrange[0:13]
|
||||||
set xrange[0:151]
|
set xrange[0:151]
|
||||||
plot \
|
plot \
|
||||||
|
|||||||
@@ -99,12 +99,6 @@
|
|||||||
\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,1559){\makebox(0,0){\strut{}\footnotesize{2}}}%
|
\put(1364,1559){\makebox(0,0){\strut{}\footnotesize{2}}}%
|
||||||
@@ -116,6 +110,9 @@
|
|||||||
\put(4057,1559){\makebox(0,0){\strut{}\footnotesize{8}}}%
|
\put(4057,1559){\makebox(0,0){\strut{}\footnotesize{8}}}%
|
||||||
\put(4421,1559){\makebox(0,0){\strut{}\footnotesize{9}}}%
|
\put(4421,1559){\makebox(0,0){\strut{}\footnotesize{9}}}%
|
||||||
\put(4702,1559){\makebox(0,0){\strut{}\footnotesize{10}}}%
|
\put(4702,1559){\makebox(0,0){\strut{}\footnotesize{10}}}%
|
||||||
|
\put(1793,1846){\makebox(0,0){\strut{}\textcolor[rgb]{0,0,0}{\footnotesize{simple \eqref{eq:transSimple}}}}}%
|
||||||
|
\put(2682,1846){\makebox(0,0){\strut{}\textcolor[rgb]{0,0,0.8}{\footnotesize{multi \eqref{eq:transMultiPath}}}}}%
|
||||||
|
\put(3614,1846){\makebox(0,0){\strut{}\textcolor[rgb]{0.8,0,0}{\footnotesize{shortest \eqref{eq:transShortestPath}}}}}%
|
||||||
}%
|
}%
|
||||||
\gplbacktext
|
\gplbacktext
|
||||||
\put(0,0){\includegraphics{error_timed_nexus}}%
|
\put(0,0){\includegraphics{error_timed_nexus}}%
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ set ticslevel 0
|
|||||||
set view equal xy
|
set view equal xy
|
||||||
set zrange [-200:2000]
|
set zrange [-200:2000]
|
||||||
|
|
||||||
set key at screen 0.30,0.15 samplen 1.2 box opaque width -7
|
set key at screen 0.30,0.15 samplen 1.2 box opaque width -19
|
||||||
|
|
||||||
set view 70,50
|
set view 70,50
|
||||||
#set object 1 polygon from 1000,4200,1060 to 1000,5200,1060 to 1700,5200,1060 to 1700,4200,1060 fs solid noborder fc rgb "#cccccc" behind
|
#set object 1 polygon from 1000,4200,1060 to 1000,5200,1060 to 1700,5200,1060 to 1700,4200,1060 fs solid noborder fc rgb "#cccccc" behind
|
||||||
@@ -70,7 +70,7 @@ set multiplot layout 1,1 scale 2.4,2.4 offset 0,0.1
|
|||||||
splot \
|
splot \
|
||||||
"data/floors.dat" with lines lc rgb "#cccccc" notitle,\
|
"data/floors.dat" with lines lc rgb "#cccccc" notitle,\
|
||||||
"data/est_bergwerk_path4_nexus_multi.dat" using 1:2:3:(f4(column(0))) with lines lw 8 palette notitle,\
|
"data/est_bergwerk_path4_nexus_multi.dat" using 1:2:3:(f4(column(0))) with lines lw 8 palette notitle,\
|
||||||
"data/est_bergwerk_path4_nexus_multi.dat" with lines lw 2 lc rgb "#000099" title "\\footnotesize{multi}",\
|
"data/est_bergwerk_path4_nexus_multi.dat" with lines lw 2 lc rgb "#000099" title "\\footnotesize{multi \\eqref{eq:transMultiPath}}",\
|
||||||
"data/path4.dat" with lines title "\\footnotesize{ground truth}" dashtype 3 lw 2 lc rgb "#000000"
|
"data/path4.dat" with lines title "\\footnotesize{ground truth}" dashtype 3 lw 2 lc rgb "#000000"
|
||||||
|
|
||||||
unset multiplot
|
unset multiplot
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%!PS-Adobe-2.0 EPSF-2.0
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
%%Title: path_nexus_detail.tex
|
%%Title: path_nexus_detail.tex
|
||||||
%%Creator: gnuplot 5.0 patchlevel 1
|
%%Creator: gnuplot 5.0 patchlevel 1
|
||||||
%%CreationDate: Sat Feb 13 10:34:23 2016
|
%%CreationDate: Tue Feb 16 19:12:37 2016
|
||||||
%%DocumentFonts:
|
%%DocumentFonts:
|
||||||
%%BoundingBox: 50 50 302 226
|
%%BoundingBox: 50 50 302 226
|
||||||
%%EndComments
|
%%EndComments
|
||||||
@@ -441,7 +441,7 @@ SDict begin [
|
|||||||
/Author (kazu)
|
/Author (kazu)
|
||||||
% /Producer (gnuplot)
|
% /Producer (gnuplot)
|
||||||
% /Keywords ()
|
% /Keywords ()
|
||||||
/CreationDate (Sat Feb 13 10:34:23 2016)
|
/CreationDate (Tue Feb 16 19:12:37 2016)
|
||||||
/DOCINFO pdfmark
|
/DOCINFO pdfmark
|
||||||
end
|
end
|
||||||
} ifelse
|
} ifelse
|
||||||
|
|||||||
@@ -84,11 +84,11 @@
|
|||||||
}%
|
}%
|
||||||
\gplgaddtomacro\gplfronttext{%
|
\gplgaddtomacro\gplfronttext{%
|
||||||
\csname LTb\endcsname%
|
\csname LTb\endcsname%
|
||||||
\put(1027,419){\makebox(0,0)[r]{\strut{}\footnotesize{multi}}}%
|
\put(1027,419){\makebox(0,0)[r]{\strut{}\footnotesize{multi \eqref{eq:transMultiPath}}}}%
|
||||||
\csname LTb\endcsname%
|
\csname LTb\endcsname%
|
||||||
\put(1027,199){\makebox(0,0)[r]{\strut{}\footnotesize{ground truth}}}%
|
\put(1027,199){\makebox(0,0)[r]{\strut{}\footnotesize{ground truth}}}%
|
||||||
\csname LTb\endcsname%
|
\csname LTb\endcsname%
|
||||||
\put(1027,419){\makebox(0,0)[r]{\strut{}\footnotesize{multi}}}%
|
\put(1027,419){\makebox(0,0)[r]{\strut{}\footnotesize{multi \eqref{eq:transMultiPath}}}}%
|
||||||
\csname LTb\endcsname%
|
\csname LTb\endcsname%
|
||||||
\put(1027,199){\makebox(0,0)[r]{\strut{}\footnotesize{ground truth}}}%
|
\put(1027,199){\makebox(0,0)[r]{\strut{}\footnotesize{ground truth}}}%
|
||||||
\csname LTb\endcsname%
|
\csname LTb\endcsname%
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
%!PS-Adobe-2.0 EPSF-2.0
|
%!PS-Adobe-2.0 EPSF-2.0
|
||||||
%%Title: paths.tex
|
%%Title: paths.tex
|
||||||
%%Creator: gnuplot 5.0 patchlevel 1
|
%%Creator: gnuplot 5.0 patchlevel 1
|
||||||
%%CreationDate: Fri Feb 12 17:41:14 2016
|
%%CreationDate: Tue Feb 16 19:10:12 2016
|
||||||
%%DocumentFonts:
|
%%DocumentFonts:
|
||||||
%%BoundingBox: 50 50 302 230
|
%%BoundingBox: 50 50 302 230
|
||||||
%%EndComments
|
%%EndComments
|
||||||
@@ -441,7 +441,7 @@ SDict begin [
|
|||||||
/Author (kazu)
|
/Author (kazu)
|
||||||
% /Producer (gnuplot)
|
% /Producer (gnuplot)
|
||||||
% /Keywords ()
|
% /Keywords ()
|
||||||
/CreationDate (Fri Feb 12 17:41:14 2016)
|
/CreationDate (Tue Feb 16 19:10:12 2016)
|
||||||
/DOCINFO pdfmark
|
/DOCINFO pdfmark
|
||||||
end
|
end
|
||||||
} ifelse
|
} ifelse
|
||||||
@@ -4534,7 +4534,7 @@ stroke
|
|||||||
LCb setrgbcolor
|
LCb setrgbcolor
|
||||||
1.500 UL
|
1.500 UL
|
||||||
LTb
|
LTb
|
||||||
0.60 0.60 0.00 C 1968 1175 M
|
0.60 0.00 0.00 C 1968 1175 M
|
||||||
74 -25 V
|
74 -25 V
|
||||||
201 94 V
|
201 94 V
|
||||||
198 324 V
|
198 324 V
|
||||||
@@ -4555,7 +4555,7 @@ stroke
|
|||||||
LCb setrgbcolor
|
LCb setrgbcolor
|
||||||
1.500 UL
|
1.500 UL
|
||||||
LTb
|
LTb
|
||||||
0.00 0.00 0.40 C 1068 3213 M
|
0.00 0.00 0.60 C 1068 3213 M
|
||||||
384 -125 V
|
384 -125 V
|
||||||
186 21 V
|
186 21 V
|
||||||
173 -268 V
|
173 -268 V
|
||||||
@@ -4574,7 +4574,7 @@ stroke
|
|||||||
LCb setrgbcolor
|
LCb setrgbcolor
|
||||||
1.500 UL
|
1.500 UL
|
||||||
LTb
|
LTb
|
||||||
0.00 0.40 0.00 C 570 2690 M
|
0.00 0.60 0.00 C 570 2690 M
|
||||||
543 253 V
|
543 253 V
|
||||||
270 126 V
|
270 126 V
|
||||||
541 251 V
|
541 251 V
|
||||||
@@ -7499,19 +7499,19 @@ stroke
|
|||||||
LCb setrgbcolor
|
LCb setrgbcolor
|
||||||
1.500 UL
|
1.500 UL
|
||||||
LTb
|
LTb
|
||||||
0.60 0.60 0.00 C 882 750 M
|
0.60 0.00 0.00 C 882 750 M
|
||||||
195 0 V
|
195 0 V
|
||||||
stroke
|
stroke
|
||||||
LCb setrgbcolor
|
LCb setrgbcolor
|
||||||
1.500 UL
|
1.500 UL
|
||||||
LTb
|
LTb
|
||||||
0.00 0.00 0.40 C 882 530 M
|
0.00 0.00 0.60 C 882 530 M
|
||||||
195 0 V
|
195 0 V
|
||||||
stroke
|
stroke
|
||||||
LCb setrgbcolor
|
LCb setrgbcolor
|
||||||
1.500 UL
|
1.500 UL
|
||||||
LTb
|
LTb
|
||||||
0.00 0.40 0.00 C 882 310 M
|
0.00 0.60 0.00 C 882 310 M
|
||||||
195 0 V
|
195 0 V
|
||||||
1.000 UP
|
1.000 UP
|
||||||
stroke
|
stroke
|
||||||
|
|||||||
@@ -21,9 +21,9 @@ set zrange [-300:1600]
|
|||||||
splot \
|
splot \
|
||||||
"data/floors.dat" with lines lc rgb "#aaaaaa" dashtype 3 notitle,\
|
"data/floors.dat" with lines lc rgb "#aaaaaa" dashtype 3 notitle,\
|
||||||
"data/path1.dat" using (column(1)+70):(column(2)-60):3 with lines lw 3.0 dashtype 3 lc rgb "#000000" title "path 1", \
|
"data/path1.dat" using (column(1)+70):(column(2)-60):3 with lines lw 3.0 dashtype 3 lc rgb "#000000" title "path 1", \
|
||||||
"data/path2.dat" using (column(1)+60):(column(2)+60):3 with lines lw 1.5 lc rgb "#999900" title "path 2",\
|
"data/path2.dat" using (column(1)+60):(column(2)+60):3 with lines lw 1.5 lc rgb "#990000" title "path 2",\
|
||||||
"data/path3.dat" using (column(1)-30):(column(2)+90):3 with lines lw 1.5 lc rgb "#000066" title "path 3",\
|
"data/path3.dat" using (column(1)-30):(column(2)+90):3 with lines lw 1.5 lc rgb "#000099" title "path 3",\
|
||||||
"data/path4.dat" using (column(1)-70):(column(2)-60):3 with lines lw 1.5 lc rgb "#006600" title "path 4",\
|
"data/path4.dat" using (column(1)-70):(column(2)-60):3 with lines lw 1.5 lc rgb "#009900" title "path 4",\
|
||||||
"data/startpoints_moved.dat" with points notitle pt 7 ps 1.0 lc rgb "#000000",\
|
"data/startpoints_moved.dat" with points notitle pt 7 ps 1.0 lc rgb "#000000",\
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -36,7 +36,7 @@
|
|||||||
\newcommand{\mObsHeading}{\Delta\mHeading} % symbol used for the observation heading
|
\newcommand{\mObsHeading}{\Delta\mHeading} % symbol used for the observation heading
|
||||||
\newcommand{\mStateHeading}{\mHeading} % symbol used for the state heading
|
\newcommand{\mStateHeading}{\mHeading} % symbol used for the state heading
|
||||||
|
|
||||||
\newcommand{\mSteps}{\text{steps}}
|
\newcommand{\mSteps}{n_\text{steps}}
|
||||||
\newcommand{\mObsSteps}{\mSteps}
|
\newcommand{\mObsSteps}{\mSteps}
|
||||||
|
|
||||||
\newcommand{\mNN}{\text{nn}}
|
\newcommand{\mNN}{\text{nn}}
|
||||||
|
|||||||
Reference in New Issue
Block a user