The effectiveness of an autonomous mobile robot is to a great extent determined by how well it moves around an unfamiliar place. In robotics, this ability to create a map of an uncharted area while tracking robot's own location within it is called Simultaneous Localization and Mapping (SLAM).
The main goal of our Laboratory is to develop 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. And solving this problem will bring us closer to the emergence of truly intelligent machine.
Currently we have open position for students in ROS SLAM Constructor project.
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).
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)
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.
- Familiarity with Linux programming environment
- C++ Fundamentals
- Probability theory
- Would be useful
- understanding ROS concepts
- experience in computer vision
- fundamentals of machine learning
- Joint Advanced Student School - JASS 2017
- The Research on Software Engineering Education on the Leading Conference
- Joint Advanced Student School - JASS 2016
Software engineering is an interactive, collaborative and creative activity that cannot be entirely planned. Inspection and adaption are required to cope with changes during the development process. Software engineering education requires practical application of knowledge, but it is challenging and time consuming for instructors to evaluate the creation of innovative solutions to problems. Current higher education practices lead to a multitude of rules, guidelines and order. Instructors see deviations of students as failures and limit the creative thinking processes of students. In this paper we describe chaordic learning, a self-organizing, adaptive and nonlinear learning approach, to stimulate the creative thinking of students.
The SLAM Constructor Framework for ROS [Poster presentation]2016 IEEE/RSJ International Conference on Intelligent Robots and Systems October 9-14, 2016, Daejeon, Daejeon, Korea,
Верификация объектно-ориентированных программ с динамической памятью на основе ссылочной моделиИзвестия СПбГЭТУ “ЛЭТИ”,