My Research

    Rao-Blackwellized Particle Filters for Grid-Based SLAM

    A Rao-Blackwellized particle filter is a mathematical tool for recursive state estimation in which each particle represents a possible state of the system in a conditioned form. A partition of the state is estimated by sampling, and the remaining partition is estimated analytically based on the sample value. Based on the structure of the SLAM problem, it is possible to provide an effective solution to SLAM by sampling from the space of the robot trajectories and by computing the maps in an analytic form, as showin in FastSLAM by Montemerlo et al.
    My research aims to provide algorithms which are able to estimate accurate grid maps with low computational requirements. This can be achieved by expoiting the structure of the SLAM problem in designing the filter, via improved proposals and adaptive resampling as well as by re-using previous computation for estimating the next distribution of particles.
    The same system has been adapted by Cyrill Stachniss et al. in building maps with a humanoid robot.
    Some open source code is available at OpenSLAM .
    Slawomir Grzonka investigated the use of -steps look-ahead proposals in SLAM which allows to cope with limited sensor ranges.

    Algorithms for Efficient Maximum Likelihood Mapping

    A graph of poses is a natural formulation of the SLAM problem under known data associations. Each node of the graph represents a local map of the environment and a pose in the global frame. An edge between two nodes encodes a fictituous observation between two local maps which arises from the overlapping of common regions. With this formulation, solving SLAM may be regarded as finding the most likely configuration of nodes, under the given observations. This corresponds to find the spatial arrangmenents of local maps which results in a mostly consistent representations. To this end we extended a state of the art mapping by Edwin Olson based on Stochastic Gradient Descent to operate with efficient tree parameterizations and on-line . A 3D version of the algorithm has been recently presented and the related software is available on OpenSLAM , as usual.
    Of course leaving out the data association problem results in an over simplification of the problem. This is the reason why I cooperated with Gian Diego Tipaldi in developing an efficient algorithm for estimating the marginal covariances of the nodes of a graph of poses by means of Covariance Intersection. With those covariances it it possible to restrict the search for data association to make the problem tractable.
    If we are using a laser, the candidate associations can then be validated by one of the many effective scan-matching algorithms in the literature. I recommend you to have a look to the webpage of Andrea Censi .
    In am currently working on a multi hypotheses front-end for graph based SLAM for robots equipped with laser and odometry.
    Bastian Steder developed an effective algorithm which is able to compute pose graphs by using SURF visual features and relies on my optimizer to compute the MLE. The videos are impressive!!!!

    Uncertainty Driven Exploration

    Using a SLAM algorithm for learning a map requires to manually steer a robot in the environment. However, the quality of the resulting map depends on the specific path taken by the robot. In particular, a mapping robot in a given point in time can be in one of these two situations: exploring new terrain or revisiting new regions. During the revisiting situations the uncertainty of a part of the map is reduced, while in the exploring situations new knowledge about known regions is acquired. The problem of exploring the environment consists in selecting the steering commands for a robot so that the map will be maximally consistent over time (in probabilistic terms). This can be seen as choosing the action which minimizes the entropy of the joint estimate of map and robot poses. Together with Cyrill Stachniss we designed an exploration based algorithm which is built on the top of an RBPF mapper.

    Navigation for Flying Vehicles


    In the context of the MuFly UNI-Freiburg has the task of building a mapping system for an autonomous micro helicopter. Together with Slawomir Grzonka and Bastian Steder we are addressing this challenging task by using custom designed range sensors and embedding state of the art algorithms on processors with limited computational capability. The visual-SLAM system developed by Bastian was a first successful attempt to have a working SLAM approach on this kind of vehicles. With Slawomir Grzonka, we are currently focusing on the use of low range laser sensors and IMU to build a quad-rotor which can autonomously navigate. These investigations have been rewarded at ICRA-09 with a best paper award. Click here for the paper see here for the paper.

    Human Assisted Navigation Systems


    After a long time I am using and designing navigation algorithms, I recognize that even the best navigation systems need a high level of experience to be used effectively. This because of several parameters and "magic numbers" which are present in many implementations. For instance, what most people do when running a SLAM algorithm is to acquire a log-file with a robot, and then trying to estimate a map. If the estimation fails they start changing the parameters based on the inspection of the wrong estimate. Whereas understanding these parameters is complex for non-experienced people, everyone can realize macroscopic mistakes, like wrongly closed loops or bended corridors. The aim of this research is to develop a system which is able to learn a consistent map based on high level user inputs and subsequently learn the relations between the user input and the parameters.

    Long-life map learning


    To have an autonomously moving robot, one typically starts with acquiring a map of the environment, and subsequently uses this map for localizing the robot and for planning trajectories. While, in principle it would be possible to run a SLAM algorithm rather than a localization one to estimate the pose, the latter is preferred. The reasons are mainly the reduced computational complexity of localization compared to SLAM and the increased robustness coming from a static map. However, the environment is populated by dynamic objects and it may change over time. Developing an algorithm which is able to detect those changes and to updates the map accordingly, without the need of manual intervention will allow to have a robot which is able to run for arbitrary long periods of time with minimal human supervision and with low computational requirements. Henrik Kretzschmar recently developed a node-reduction strategy for pose-graphs. His algorithm is able to suppress nodes of the graph whose observations bring only a little information to the map-building process. In this way, the complexity of the mapping depends on the size of the environment and not on the lenght of the trajectory taken by the robot.

    Object Recognition and Model Learning


    Having a robot which is able to autonomously move and learn maps of the environment is only a first step towards a device which can assist the humans in their everyday activities. To this end, a robot should be able to interact with everyday objects to accomplish specific non-trivial tasks. Accordingly it should be able to localize and distinguish known objects in the scene. Together with Bastian Steder we developed a robust algorithm for determining which objects are present in a 3D scene and where they are located based on range images. The models both models and scene can be given to the system as 3D point clouds. Subsequently, with Michael Ruhnke we designed an algorithm which able to learn object models from an unordered sequence of 3D scans by analyzing the recurrences of the partial views of objects in the scene.