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
Paris, FRANCE
{bruno.steux,oussama.el_hamzaoui}@mines-paristech.fr
Abstract—This paper presents a Laser-SLAM algorithm which can be programmed in less than 200 lines C-language program.
The first 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 difficulties 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 filter
I. I NTRODUCTION
Several researches attempt to solve the problem of simultaneous localization and mapping, commonly called SLAM. The algorithms developed can be classified according to the types of sensors used or the calculation methods adopted.
There are SLAM algorithms based on the vision by one camera ([3]) or several cameras ([7]), using several technics such as SIFT([8]) or SURF([1]) keypoints, and other algorithms that use a laser sensor or sonar ([6]) .
On calculation methods, two large families exist. On the one hand, algorithms based on the use of Kalman filtering ([6]), and on the other hand, we find algorithms using particle filters
([4]). Other methods exist (for example [2]), but we didn’t include them in this study.
Some research has focused on comparison of these algorithms in performance and speed of calculation