\chapter{Preliminaries}
This chapter describes the preliminary topics. \todo{.}

\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.

In the following, the iRobot Roomba serves as an example of an autonomous,
mobile agent, which can be used to implement dead reckoning for lack of either
built-in absolute positioning and other relative approaches.

\input{roomba}
\input{wiselib}

Now that the prerequisites have been explained, it is time to assemble them all
together and \todo{and what}