Abstract:
Simultaneous localization and mapping (SLAM) is a fundamental problem in robotic navigation. It consists of two tasks: building a map of the environment and localizing a robot within it. Graph SLAM accomplishes these tasks by constructing and optimizing a graph of relations. Most solutions for SLAM work with default parameters in most environments but fail in challenging environments. For example, indoor spaces with no satellite navigation (GNSS) signal and a lot of repetitive features (patterns) make SLAM fail to build a consistent graph in environments such as supermarkets and warehouses. However, human experts can help to correct the resulting graph inconsistencies given enough visual information about the environment. The aim of this thesis is to develop a software application for correcting algorithmic SLAM failures by allowing human experts to edit the underlying graph. The system was developed using standard system engineering practices. The proposed Graph Manipulation Application allows the user to correct a 3D map of the environment built by the automatic SLAM process. The user can manipulate graph nodes and edges through the graphical user interface, register local submaps, optimize the global map estimate, load and save existing maps. The solution was evaluated using two challenging data sets: indoor warehouse space with repetitive shelves and outdoor urban route with tall buildings. The evaluation results demonstrate that the proposed system improved the consistency of the global map estimates in all conducted experiments. Additionally, this thesis developed a basic framework for evaluation of mapping results and basic workflows for correcting indoor and outdoor maps. However, future work is needed to extend the framework and verify the results on more data sets.