final tweaks
[bachelor-thesis/written-stuff.git] / Ausarbeitung / preliminaries.tex
index 06701fd..1796dcb 100644 (file)
@@ -1,52 +1,8 @@
 \chapter{Preliminaries}
+In the following, basic concepts used in this thesis are described. In
+particular, there is a description of the iRobot Roomba, its hardware
+and software, and an overview of the Wiselib algorithm library that is used to
+control the Roomba.
 
-\section{Dead reckoning}
-The process of \definition{dead reckoning} describes an inexpensive method for
-relative positioning by computing a vehicle's position from an initial
-starting position and the covered distance and course it has moved. In the case
-of mobile robots, the covered distance can be simply computed in real time from
-the revolution of its wheels, or by accelerometers the robot may be equipped
-with. However, since the vehicle's current position is based on its previous
-position, and the distance measurement may be imprecise, dead reckoning has the
-disadvantage that errors in position calculation can cumulate and the error
-of the calculated position grows with time.
-
-Another approach to determine a vehicle's position is absolute positioning, for
-example satellite-based, over navigation beacons or by map matching. Still,
-these techniques are rather expensive to deploy, cannot (yet) be used in real
-time, or are even impreciser than relative approaches\cite{umbmark}, so dead
-reckoning can still be useful for the time being.
-
-\section{iRobot Roomba 500}
-Originally, the \definition{Roomba 500} is an autonomous vacuum cleaning robot,
-manufactured by the US-based company \definition{iRobot}. It has the size of a
-disc of about 34~cm in diameter and 9~cm in height; and normally follows its
-own, non-customizable logic to detect dirt and clean rooms. However, it is also
-easily controllable over a serial port, which provides a two-way
-communication at 5~V TTL levels over a Mini-DIN connector, with a speed of
-either 19,200 or 115,200 Baud. Over this serial port, the Roomba speaks a
-specified protocol, called the iRobot Roomba Open Interface \cite{irobot-oi},
-which allows the user to interact with the robot's internal logic, reading its
-sensor values, and control its movements and cleaning behaviour.
-
-In our setup, the iRobot Roomba 500 is used as an instance of an autonomous,
-mobile robot to conduct the experiments described afterwards. For that, the
-Open Interface is used to control the Roomba's movements from a netbook which is
-running Wiselib code.
-
-\section{Wiselib}
-The \definition{Wiselib}\cite{wiselib} is a C++ algorithm library for sensor
-networks, containing for example algorithms for routing, localization and time
-synchronization, and is strongly focused on portability and cross-platform
-development. In particular, it allows the user to develop applications that run
-on different hardware platforms without the need to change the code, and it
-strongly uses C++ templates to achieve that feature. Amongst the supported
-platforms are diverse sensor node platforms, like iSense, Contiki and TinyOS,
-but there are as well implementations for the diverse x86-compatible Personal
-Computer platforms, and the Shawn sensor network simulator.
-
-Moreover, the Wiselib includes code to control the iRobot Roomba over a
-serial interface, and getting access to its internal sensor data, using the
-iRobot Roomba Open Interface mentioned earlier. \todo{cite Wisebed book
-chapter on Roomba code}
-
+\input{roomba}
+\input{wiselib}
This page took 0.023305 seconds and 4 git commands to generate.