2010 11th Int. Conf. Control, Automation, Robotics and Vision Singapore, 7-10th December 2010
tinySLAM : a SLAM Algorithm in less than 200
lines C-Language Program
Bruno STEUX - Oussama EL HAMZAOUI
Robotics Center. Mines ParisTech
Abstract—This paper presents a Laser-SLAM algorithm which
can be programmed in less than 200 lines C-language program. The ﬁrst idea aimed to develop and implement a simple SLAM algorithm providing good performances without exceeding 200
lines in a C-language program.
We use a robotic platform called MinesRover, a six wheels
robot with several sensors. We based our work and calculations on a laser sensor and the odometry of the robot. The article presents the different capabilities of the platform and the way we use them in order to improve our programs. We also illustrates the difﬁculties encountered during the programming and testing of the algorithm.
This work shows the possibility to perform complex tasks using simple and easily programmable algorithms.
Index Terms—SLAM, localization, mapping, particle ﬁlter
I. I NTRODUCTION
Several researches attempt to solve the problem of simultaneous localization and mapping, commonly called SLAM. The algorithms developed can be classiﬁed according to the types of sensors used or the calculation methods adopted.
There are SLAM algorithms based on the vision by one camera () or several cameras (), using several technics such as SIFT() or SURF() keypoints, and other algorithms that use a laser sensor or sonar () .
On calculation methods, two large families exist. On the one hand, algorithms based on the use of Kalman ﬁltering (), and on the other hand, we ﬁnd algorithms using particle ﬁlters (). Other methods exist (for example ), but we didn’t include them in this study.
Some research has focused on comparison of these algorithms in performance and speed of calculation (). This article focuses on a new algorithm that we based on
the use of particle ﬁltering. We used a laser sensor to perform tasks of development and experimentation.
We will ﬁrst present the reasons which led us to create
the tinySLAM algorithm, then we will introduce the robotic
platform used for tests and experiences.
The section IV of this article will be devoted to the description of the algorithm and explanation of the ideas it contains. This section will be followed by a presentation and discussion about the results obtained during experimentations.
November 18, 2002
II. P REVIOUS W ORK
Among SLAM algorithms based on the use of particle ﬁlters, the DP-SLAM is one of the best known(). DP-SLAM works
978-1-4244-7815-6/10/$26.00 ©2010 IEEE
Figure 1. The Mines Rover platform. We can see on the picture the dome for the camera, the steering servomotors, the HOKUYO URG-04 laser range scanner, the GPS receiver (grey square) and the emergency ultrasonic sensor in the front of the robot.
by maintaining a joint distribution over robot poses and maps via a particle ﬁlter. It uses a system of sub-maps.
Indeed, the algorithm creates a sub-map for each particle,
and then worked on the association of sub-maps to obtain a
complete map of the environment. This method consumes a lot
of memory to perform the computational tasks and the creation of the map. Moreover, it requires the use of a powerful laser sensor, which is quite expensive.
Most algorithms are tested on slow robots, compared to ours
(their speed does not exceed 1 m/s). The speed of our robot
(which reaches 3 m/s) creates major problems for the tasks of localization and mapping.
All SLAM algorithms developed so far use methods and
calculations requiring many lines of code, and so much effort to understand their operation and can be tested. We began our work with an important goal: making a simple algorithm, easy to understand and offers great performance.
III. P LATFORM DESCRIPTION
Please join StudyMode to read the full document