started changing gfx and grid-TeX

This commit is contained in:
2016-02-16 22:25:55 +01:00
parent 54ab3d8dbe
commit bcb84a9138
15 changed files with 75542 additions and 74591 deletions

View File

@@ -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

View File

@@ -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"

View File

@@ -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}}%

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: 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

View File

@@ -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 \

View File

@@ -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}}%

View File

@@ -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

View File

@@ -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

View File

@@ -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%

View File

@@ -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

View File

@@ -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

View File

@@ -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}}