SLAM - Simultaneous Localization And Mapping
The problem of learning maps is one of the fundamental problems in mobile robotics. Models of the environment are needed for a series of applications such as transportation, cleaning, rescue, and various other service robotic tasks. Learning maps passively, i.e. by perceiving sensor data only, requires the solution of two tasks, which are mapping, and localization. Mapping is the problem of integrating the information gathered with the robot's sensors into a given representation. It can intuitively be described by the question ``What does the world look like?'' Central aspects in mapping are the representation of the environment and the interpretation of sensor data. In contrast to this, localization is the problem of estimating the pose of the robot relative to a map. In other words, the robot has to answer the question ``Where am I?'' These two tasks cannot be solved independently of each other.
Whenever robots operate in the real world, not only their observations but also their motion is affected by noise. Building accurate spatial models under those conditions is widely known as the simultaneous localization and mapping (SLAM) problem. In the last few years, we developed two solution to the SLAM problem. the first one is based on a Rao-Blackwellized particle filter. A Rao-Blackwellized particle filter is a probabilistic state estimation technique that can deal with non-Gaussian noise and provides a joint posterior about the map of the environment and the trajectory taken by the robot. Our mapping approach uses an informed proposal distribution to create the next generation of particles. This allows us to draw samples only in those areas where the robot is likely to be located. As a result, our technique can construct grid maps from large datasets in indoor as well as in structured outdoor environments. Our approach makes no assumptions about the structure of the environment such as parallel walls or any pre-defined feature extractors.
The second solution uses the so-called graph-based or network-based formulation of the SLAM problems in which the poses of the robot are modeled by nodes in a graph. Constraints between poses resulting from observations or from odometry are encoded in the edges between the nodes. The goal of an algorithm designed to solve this problem is to find the configuration of the nodes that maximizes the observation likelihood encoded in the constraints. We developed an approach that extends Olson's algorithm and uses a variant of stochastic gradient descent to compute network configurations with low errors. We parameterize the nodes in the graph using a tree which yields several improvements verses traditional parameterizations. Additionally, we are able to bound the complexity to the size of the environment and not to the length of the trajectory.