Research group

Mobile Robot Algorithms Laboratory

The ultimate goal of the Laboratory is to realize the Human's long-standing dream of having a fully autonomous mobile assistant who can perform assignments and make decisions on his own to achieve the goal.

The effectiveness of an autonomous mobile robot is to a great extent determined by how well it moves around an unfamiliar place. In robotics, a problem of creating a map of an unknown environment and tracking robot's own location within it is called Simultaneous Localization and Mapping (SLAM). At this moment we work on optimal SLAM algorithms for a group of mobile robots. The beauty of this problem is its multidisciplinary nature: algorithms, embedded and system programming, machine learning, computer vision, control theory, and many other subjects are brought up.

Student Internship

Currently we have open position for students in ROS SLAM Constructor project.

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 System environment. (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;
  • Implementation extra scan matchers for Laser based SLAMs
  • Support extended set of sensors and measurements (3D scans, monocular/stereo cameras)
  • Vergent stereo vision implementation
  • SLAM datasets service
  • ROS SLAM Testing Farm: (virtualized, container based environment, for semi-autonomous SLAM algorithms testing)

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


More posts