SLAM - Fundamentals
SLAM - Fundamentals
www.atscience.org/IJISAE
1. Introduction
Human beings get the information about their surrounding through
vision, hearing the voice through ears, smelling through nose and
they do feel the strength of objects through touching. In general
human beings get information about reality through senses. A
robot cannot explore an unknown environment unless it is provided
with some sensing sources to get information about the
environment. There are different kinds of sensors used to make a
robot capable of sensing a wide range of environments [1]:
Odometers, Laser range finders, Global Position System (GPS),
Inertia Measurement Units (IMU), Sound Navigation and Ranging
(Sonar) and cameras.
The map of environment is a basic need for a robot to perform
actions like moving room to room, picking an object from one
place and taking it to another one. To perform such actions, the
robot should not only know about the environment but while it is
moving it should also be aware of its own location in that
environment.
The robot simulated is Turtlebot, and in absence of real robot the
simulator provided by ROS is used. The aim to achieve is the
navigation of the robot in new and unknown environment by using
the ROS. As it will be presented, the robot builds the map, localizes
itself on the map and performs navigation.
Turtlebot as ROS compatible robot to demonstrate the ROS power
has been selected. Robot operating system (ROS) is designed to
promote code sharing and enable the development of open-source
robotics commons. Sharing code will help the robotics community
to progress faster by letting the researchers in the community
replicate and extend the results of other research groups. ROS
makes it easy to find the software and integrate it into robot
systems [2-5]. The complete TurtleBot includes a Kobuki base,
Microsoft XBOX Kinect, ROS compatible net book, and turtlebot
structure. General description on turtlebot website is TurtleBot is
a low-cost, personal robot kit with open-source software. With
_______________________________________________________________________________________________________________________________________________________________
IDEA Teknoloji zmleri, Sun plaza BBDO Blok Dereboyu Cd. Bilim
Sk. No:5, 34398, Maslak /stanbul / Turkey
* Corresponding Author:email:[email protected]
# This paper has been presented at the International Conference on
Advanced Technology&Sciences (ICAT'14) held in Antalya (Turkey),
August 12-15, 2014.
TurtleBot, you'll be able to build a robot that can drive around your
house, see in 3D, and have enough horsepower to create exciting
applications. There are numerous abilities that Turtlebot offers,
while there are given part list, assembly instructions and links to
suppliers. There is also a possibility to add other components, or to
substitute similar components.
1.1. Outline
Section 2 starts with an overview of robotics definition and with
an introduction to ROS. There is described a history of ROS
followed by ROS compatible robots and ROS concepts. Section 2
is a description of ROS in general. Section 3 describes the SLAM
concept and as a solution to SLAM problem there is a review of an
algorithm called SLAM with extended Kalman filters. Section 4
starts with an overview of Turtlebot simulation on ROS, and at the
end of section 4 a step-by-step simple solution to navigate the
Turtlebot is brought.
The main reference for section 3 is the book on [6], and the main
reference for section 2 and section 4 is the ROS website referenced
on [7].
2. Introduction to ROS
ROS is meta-operating system for a robot. It provides services that
one would expect from an operating system, including hardware
abstraction, low-level device control, implementation of
commonly-used
functionality,
message-passing
between
processes, and package management. It also provides tools and
libraries for obtaining, building, writing, and running code across
multiple computers. It is named as meta-operating system because
it is something between an operating system and middleware. It
provides not only standard operating system services (like
hardware abstraction), but also high-level functionalities like
asynchronous and synchronous calls, centralized database, a robot
configuration system, etc. ROS can be interpreted also as software
framework for robot software development, providing operating
system [7].
p( xt , m | z t , u t )
(1)
(2)
where,
Xt is the pose at time t,
m is the map,
Zt is the measurements, and
Ut is the controls.
The graphical model of online SLAM problem is shown in figure
2. The goal of online SLAM is to estimate a posterior over the
current robot pose along with the map.
3.3. SLAM with Extended Kalman Filters
Instructions for ROS Fuerte have been used. All commands used
in this paper are stated on documentation status for ROS Fuerte.
As mentioned earlier, there is a difference between ROS versions.
x
yt t x y m1, x m1, y
m
S1 ... mN , x m N , y
S N (3)
T
5. Conclusion
References
This file is used by roslaunch command.
The roslaunch package contains the roslaunch tools which read
the xml format files. The standard format of the roslaunch
command is
roslaunch package-name launch-file-name.
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
http://ocw.mit.edu/courses/aeronautics-andastronautics/16-412j-cognitive-robotics-spring2005/projects/1aslam_blas_repo.pdf
E. Marder-Eppstein, E. Berger, T. Foote, B. P. Gerkey,
and K. Konolige, The Office Marathon: Robust
Navigation in an Indoor Office Environment, In
International Conference on Robotics and Automation
(ICRA), Anchorage, AK, USA, 2010.
P. Avdullahu, Turtlebot control, mapping and localization
via ROS, Master Thesis, University of Prishtina, Kosovo,
2014.