\section{Floorplan/Path/whatever (RENAME)} \subsection{wall avoidance} \begin{figure} \includegraphics[angle=-90, width=\columnwidth, trim=15 15 15 15]{floorplan_importance} \end{figure} \subsection{door detection} invert grid, find k-NN within inversion calculate centroid, covariance and eigenvalues when centroid OK and eigenvalues OK: is door/passage \commentByFrank { doors serve 3 purposes: - reverting the downvote due to "near walls" - hint for a pathless-movement-model how to leave rooms - also detecting narrow passages (center the path) } Doors are usually anchored between two (thin) walls and have a normed width. Examining only a limited region around the door, its surrounding walls describe a flat ellipse with the same center as the door itself. It is thus possible to detect doors within the floorplan using the PCA \todo{cite}. To describe the surroundings of a door, we create and inverted version of our grid whereby the contained nodes denote walls and other obstacles. To decide whether a node within the (non-inverted) grid belongs to a door, we use $k$-NN \todo{cite} to fetch its $k$ nearest neighbors within the inverted grid. If the distance \todo{equation} between the centroid of those neighbors and the node-in-question is above certain threshold, the node does not belong to a door. Assuming the distance was fine, we compare the two eigenvalues $\{e_1, e_2 \mid e_1 > e_2\}$ , determined by the PCA. If their ratio $\frac{e_1}{e_2}$ is above a certain threshold (flat ellipse) the node-in-question belongs to a door. Fig. \ref{fig:doorPCA} depicts all three cases where the node is part of a door (left), the distance between node and k-NN centroid is above the threshold (middle) and the ration between $e_1$ and $e_2$ is below the threshold (right). \begin{figure} \includegraphics[width=\columnwidth]{door_pca} \caption{Detect doors within the floorplan using k-NN and PCA. While the white nodes are walkable, the black ones represent walls. The grey node is the one in question.} \label{fig:doorPCA} \end{figure} \subsection{pathfinding} \begin{figure} \includegraphics[angle=-90, width=\columnwidth, trim=15 15 15 15]{floorplan_paths} \end{figure} \begin{figure} \includegraphics[angle=-90, width=\columnwidth, trim=15 15 15 15]{floorplan_dijkstra_heatmap} \end{figure}