is used to access the Roomba over the \ac{ROI}\index{Roomba Open Interface}.
\section{Setup}
+The test equipment consisted of a small x86 netbook\index{netbook} which was
+mounted on an iRobot Roomba~530\index{Roomba} robot, as seen in
+Figure~\ref{fig:roombasetup}. The netbook controlled the Roomba over a
+\acs{USB}-to-serial converter plugged into the \ac{ROI}\index{Roomba
+Open Interface} port on the Roomba, and hosted as the environment for
+executing the Wiselib \index{Wiselib} code.
+
\label{sec:exp1:setup}
-\begin{figure}[htbp]
+\begin{figure}
\centering
\includegraphics[width=0.45\textwidth]{./images/IMAGE_00079.jpg}
\caption{Roomba with netbook\label{fig:roombasetup}}
\end{figure}
-\begin{figure}[htbp]
+\begin{figure}
\centering
\includegraphics[width=0.6\textwidth]{./images/IMAGE_00148.jpg}
\caption{Measuring turn angles with laser pointer\label{fig:laserpointer}}
\end{figure}
-The test equipment consisted of a small x86 netbook\index{netbook} which was
-mounted on an iRobot Roomba~530\index{Roomba} robot, as seen in
-Figure~\ref{fig:roombasetup}. The netbook controlled the Roomba over a
-\acs{USB}-to-serial converter plugged into the \ac{ROI}\index{Roomba
-Open Interface} port on the Roomba, and hosted as the environment for
-executing the Wiselib \index{Wiselib} code.
-
In this experiment, the Roomba started and stopped with the full velocity the
movement was executed with; so there was (ideally speaking) an infinite
acceleration and deceleration at the start and the end of the movement. As
plots show multiple test runs; given are the minimum, the maximum and the
arithmetic mean\index{arithmetic mean} of all results for a data point.
-\todo{clearpage, cleardoublepage?}
\begin{figure}[p!]
\centering
\includegraphics[width=\textwidth]{images/iz250flur_drive_data.pdf}
\chapter{Experiment 2: Movement Behavior with Mean Correction}
-\todo{}
\label{sec:exp2}
As presumed in Section \ref{exp1:results}, errors in the Roomba's movements
\chapter{Implementation}
\hyphenation{im-ple-men-ta-tion im-ple-men-ta-tion-spe-ci-fic}
-\todo{more?}
This chapter describes the implementation that was used for the aforementioned
experiments. It consists of the measuring programs themselves, which use the
Wiselib Roomba Control, and are written in C++. Additionally, there are several
two different easy approaches for minimizing the positioning error are presented
and tested for their suitability.
-\chapter{Related Work}
+\section{Related Work}
There are already some results on the problem. Yamauchi proposes to use dead
reckoning with evidence grids to represent the robot's view of the
world.~\cite{yamauchi} Evidence grids are subdivisions of the Cartesian space
img_extensions=.eps .jpg .jpeg .png .pdf .ps .fig .gif
kileprversion=2
kileversion=2.0.85
-lastDocument=wiselib.tex
+lastDocument=main.tex
masterDocument=main.tex
name=Bachelor Thesis
pkg_extIsRegExp=false
[item:conclusion.tex]
archive=true
-column=8
+column=25
encoding=UTF-8
highlight=LaTeX
-line=1
+line=0
mode=LaTeX
-open=true
+open=false
order=4
[item:experiment1.tex]
archive=true
-column=69
+column=0
encoding=UTF-8
highlight=LaTeX
-line=139
+line=105
mode=LaTeX
-open=false
-order=2
+open=true
+order=0
[item:experiment2.tex]
archive=true
column=0
encoding=UTF-8
highlight=LaTeX
-line=55
+line=19
mode=LaTeX
-open=false
-order=3
+open=true
+order=2
[item:experiment3.tex]
archive=true
column=0
encoding=UTF-8
highlight=LaTeX
-line=0
+line=43
mode=LaTeX
open=false
order=4
[item:implementation.tex]
archive=true
-column=28
+column=34
encoding=UTF-8
highlight=LaTeX
-line=38
+line=16
mode=LaTeX
open=true
-order=2
+order=3
[item:introduction.tex]
archive=true
-column=9
+column=8
encoding=UTF-8
highlight=LaTeX
-line=10
+line=57
mode=LaTeX
-open=true
+open=false
order=1
[item:main.tex]
archive=true
-column=35
+column=0
encoding=UTF-8
highlight=LaTeX
-line=4
+line=45
mode=LaTeX
open=true
-order=0
+order=4
[item:preliminaries.tex]
archive=true
-column=0
+column=19
encoding=UTF-8
highlight=LaTeX
-line=0
+line=4
mode=LaTeX
-open=true
+open=false
order=3
[item:roomba.tex]
column=0
encoding=UTF-8
highlight=LaTeX
-line=0
+line=258
mode=LaTeX
-open=true
+open=false
order=5
[item:wiselib.tex]
archive=true
-column=0
+column=8
encoding=UTF-8
highlight=LaTeX
-line=10
+line=100
mode=LaTeX
open=true
-order=6
+order=1
[view-settings,view=0,item:biblio.bib]
CursorColumn=0
CursorLine=39
[view-settings,view=0,item:conclusion.tex]
-CursorColumn=8
-CursorLine=1
+CursorColumn=25
+CursorLine=0
[view-settings,view=0,item:experiment1.tex]
-CursorColumn=69
-CursorLine=139
+CursorColumn=0
+CursorLine=105
[view-settings,view=0,item:experiment2.tex]
CursorColumn=0
-CursorLine=55
+CursorLine=19
[view-settings,view=0,item:experiment3.tex]
CursorColumn=0
-CursorLine=0
+CursorLine=43
[view-settings,view=0,item:implementation.tex]
-CursorColumn=28
-CursorLine=38
+CursorColumn=34
+CursorLine=16
[view-settings,view=0,item:introduction.tex]
-CursorColumn=9
-CursorLine=10
+CursorColumn=8
+CursorLine=57
[view-settings,view=0,item:main.tex]
-CursorColumn=35
-CursorLine=4
+CursorColumn=0
+CursorLine=45
[view-settings,view=0,item:preliminaries.tex]
-CursorColumn=0
-CursorLine=0
+CursorColumn=19
+CursorLine=4
[view-settings,view=0,item:roomba.tex]
CursorColumn=0
-CursorLine=0
+CursorLine=258
[view-settings,view=0,item:wiselib.tex]
-CursorColumn=0
-CursorLine=10
+CursorColumn=8
+CursorLine=100
\usepackage{ae}
\usepackage[ngerman,english]{babel}
\usepackage{makeidx}%,showidx}
-\usepackage{hyperref,color,url,acronym,graphicx,amsfonts,amsmath}
+\usepackage[colorlinks=false]{hyperref}
\usepackage{sidecap} % for SCfigure environment
\usepackage{todonotes}
\usepackage{enumitem}
-\usepackage{geometry} %% use local copy for \newgeometry
-\usepackage{showframe} %% FIXME
+\usepackage{geometry,color,url,acronym,graphicx,amsfonts,amsmath}
+%% use local copy for \newgeometry
+% \usepackage{showframe} %% FIXME
\makeindex
\makeatletter
\hypersetup{
colorlinks=false, % FIXME turn of for printing
- pdftitle={\@title},
+pdfborder={0 0 0},
+pdftitle={\@title},
pdfauthor={\@author},
pdfcreator={\@author}
}
% thanks?
\end{titlepage}
\restoregeometry
-% \cleardoublepage
+\cleardoublepage
\selectlanguage{ngerman}
\vspace*{7cm}
% \pagestyle{headings}
\cleardoublepage
-% \begin{abstract}
- \todo{abstract!!!}
-% \end{abstract}
+\vspace*{4cm}
-% \cleardoublepage
+\begin{center}
+\begin{minipage}{0.7\textwidth}
+\small
+{\centering\large\textsf{\textbf{Abstract}}} \\
+\flushleft
+In this bachelor thesis, an iRobot Roomba is used as an instance of
+an
+autonomous, mobile robot. First its movement behavior is measured, and then
+two different approaches are presented to correct the accuracy of its movement,
+which results in a slight improvement over the original behaviour.
+
+\vspace*{3cm}
+{\centering\large\textsf{\textbf{Zusammenfassung}}} \\
+\flushleft
+In dieser Bachelorarbeit wird ein Roomba der Firma iRobot als
+Beispiel für
+einen autonomen, mobilen Roboter beschrieben. Sein Bewegungsverhalten wird
+gemessen, und es werden zwei verschiedenene Verfahren vorgestellt, wie die
+Genauigkeit der Bewegung verbessert werden kann, was in einer leichten
+Verbesserung gegenüber dem ursprünglichen Verhalten resultiert.
+\end{minipage}
+\end{center}
+\cleardoublepage
% \pagenumbering{arabic}
% \pagestyle{headings}
\item[\fnfont{velocity\_t}] Type for velocity measurement
\item[\fnfont{angular\_velocity\_t}] Type for angular velocity measurement
\end{description}
- \item \todo{clearpage?} Methods:
+ \item Methods:
\begin{description}
\item[\fnfont{int turn(angular\_velocity\_t)}] turn the robot with a
constant angular velocity