X-Git-Url: https://git.rohieb.name/bachelor-thesis/written-stuff.git/blobdiff_plain/faa5617bc3710376a8f96709750183f40c826057..c549bc150a5190197595f96e980f9b4da4a216b1:/Ausarbeitung/preliminaries.tex diff --git a/Ausarbeitung/preliminaries.tex b/Ausarbeitung/preliminaries.tex index 64b8e4f..7ff5857 100644 --- a/Ausarbeitung/preliminaries.tex +++ b/Ausarbeitung/preliminaries.tex @@ -1,4 +1,5 @@ \chapter{Preliminaries} +This chapter describes the preliminary topics. \todo{.} \section{Dead reckoning} The process of \definition{dead reckoning} describes an inexpensive method for @@ -17,38 +18,12 @@ 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 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. -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. - -\todo{picture of Roomba/netbook setup} - -\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} +Now that the prerequisites have been explained, it is time to assemble them all +together and \todo{and what} \ No newline at end of file