Research group

Mobile Robot Algorithms Laboratory

Simultaneous Localization and Mapping (SLAM) / Internship

Project domain

Simultaneous Localization and Mapping (SLAM) methods are essential for mobile robots which are supposed to act in an unknown environment. In spite of various algorithms have already been proposed, an algorithm that robustly solves the problem in general case and satisfies performance constraints is still a subject of research. Unfortunately, there is no publicly available framework that provides a common set of components in order to speed up SLAM research (frameworks and toolkits that simplify development of particular SLAM parts are not taken into account).

Project goal

The project goals are:

  • creation of a framework that acts as a constructor of SLAM algorithms (a researcher is supposed to connect available components by himself and add necessary modifications);
  • implementation of full set of basic components that can be assembled into the most common (fundamental) SLAM algorithms;
  • creation of the infrastructure and tools for SLAM algorithms debugging and analysis;
  • creation of service for management SLAM datasets (converting, storing, providing etc);


All software we are developing is supposed to be developed for Linux and Robot Operating Systemenvironment. (We did preliminary research wide spectrum of existing tools and environments like MTK, MRPT and others and have seen that ROS is most promising choice)

Work packages

Current road map contains following work packages:

  • Support components for graph-based SLAM methods;
  • ROS SLAM Testing Farm: (virtualized, container based environment, for semi-autonomous SLAM algorithms testing)
  • SLAM datasets service
  • Visual odometry framework which will allow to use wide set of methods, including Machine Learning etc
  • Multi-robot SLAM implementation (including testing ROS over DDS [aka ROS2] concept)
  • Creating interactive tutorials for SLAM constructor

Note: we do not limit exact tasks for students who are going to take part in practice, but we are crazy about keeping focus on project ultimate goals.


  • Strong:
    • Familiarity with Linux programming environment
    • C++ Fundamentals
    • Probability theory
  • Would be useful
    • understanding ROS concepts
    • experience in computer vision
    • fundamentals of machine learning

To apply send your CV and cover letter to