Add interface enhancement to qtshow to improve SLAM in large unstructured environments

Abstract: Add a GUI element to our 3D viewer qtshow which allows a human to move and rotate individual scans in a 3D scene. These new pose estimations can be used as input for our SLAM algorithm to even create maps in large unstructured environments (as they are the norm on extraterrestrial bodies). Especially in these challenging environments human input is necessary as even state-of-the-art algorithms will often fail to find corresponding scans for successfully closing loops for SLAM.

Mentor: Johannes Schauer

  • qtshow is a QT-based application
  • underlying SLAM algorithms exist
  • only new GUI elements need to be added and connected to the algorithms

When autonomous robots build maps of an unknown environment, they use an approach called simultaneous localization and mapping (SLAM). An integral part of SLAM is loop closure step. Loop closure happens after the robot visits a location that it already had visited before or at least is close enough to it so that there is a large overlap of the environment perceived by the robot. If such a loop closure is detected, the SLAM algorithm is able to refine the map it produced by distributing the accumulated error along the loop itself and thus create much more accurate and consistent maps with reduced overall drift. An example of how loop closure greatly enhances the produced map is shown in the following video.

The video shows a top-down view of an urban environment where the robot navigates around several buildings to map the area. The loop closing adjustments are indicated by the image turning red. It can be seen how formerly misaligned geometries end up in a consistent state after each loop closure step.

Successfully closing loops depends on the algorithm detecting that the robot is re-visiting an area where it has been before. As demonstrated, this works reliably in small environments as the one shown in the video. The task is also made easier by urban environments being very structured with many rectangular or flat geometries. Detecting loop closures becomes harder in large unstructured environments an they are for example present on extraterrestrial bodies. The longer the loop itself, the more measurement errors accumulate and the estimated trajectory ends up drifting so much that it becomes too computationally expensive to figure out whether the robot is back at a point it previously visited or not.

This is where humans come in because humans often have a much easier time to quickly find similarities and match measurements with each other. What our software 3DTK is still missing, is a way for the human to instruct the algorithm which scans overlap and how they overlap. The task during SOCIS is, to implement such an interface.

The image shows the 3D point cloud viewer qtshow. Each individual scan is displayed in a different color. The task in this project would be to add a new interface element which allows the user to move individual scans around and rotate them. This could be done as it is in CAD software with arrows around a handle for each scan as well as by dragging with the mouse or using keyboard shortcuts.

Informatics VII - Robotics and Telematics, Prof. Dr Andreas Nüchter, andreas (at) nuechti.de, Tel. +49-177-7951270