Ausarbeitung: aktueller Stand mit Kapitel Grundlagen, etwas Struktur
authorRoland Hieber <rohieb@rohieb.name>
Tue, 21 Jun 2011 06:54:02 +0000 (08:54 +0200)
committerRoland Hieber <rohieb@rohieb.name>
Tue, 21 Jun 2011 06:54:02 +0000 (08:54 +0200)
Ausarbeitung/biblio.bib [new file with mode: 0644]
Ausarbeitung/introduction.tex [new file with mode: 0644]
Ausarbeitung/main.kilepr [new file with mode: 0644]
Ausarbeitung/main.tex [new file with mode: 0644]
Ausarbeitung/preliminaries.tex [new file with mode: 0644]

diff --git a/Ausarbeitung/biblio.bib b/Ausarbeitung/biblio.bib
new file mode 100644 (file)
index 0000000..6099fa6
--- /dev/null
@@ -0,0 +1,64 @@
+@Manual{irobot-oi,
+  title={iRobot Roomba 500 Open Interface Specification},
+  organization={iRobot Corporation},
+  note="\url{http://www.irobot.lv/uploaded_files/File/iRobot_Roomba_500_Open_Interface_Spec.pdf}",
+  year=2007
+}
+
+@inproceedings{wiselib,
+  author={Tobias Baumgartner and Ioannis Chatzigiannakis and S{\'a}ndor P.~Fekete and Christos Koninis and Alexander Kr{\"o}ller and Apostolos Pyrgelis},
+  booktitle={Proceedings of the 7th European Conference on Wireless Sensor Networks (EWSN 2010)},
+  editor={J. Sa Silva and B. Krishnamachari and F. Boavida (LNCS 5970)},
+  pages={162--177},
+  publisher={Springer, Heidelberg},
+  title={Wiselib: A Generic Algorithm Library for Heterogeneous Sensor Networks},
+  year=2010,
+}
+
+@INPROCEEDINGS{506902,
+author={Yamauchi, B.},
+booktitle={Robotics and Automation, 1996. Proceedings., 1996 IEEE International Conference on}, title={Mobile robot localization in dynamic environments using dead reckoning and evidence grids},
+year={1996},
+month={april},
+volume={2},
+number={},
+pages={1401 -1406 vol.2},
+keywords={ELDEN learning system;adaptive place network;dead reckoning;dynamic environments;evidence grids;hill-climbing algorithm;lasting changes;mobile robot localization;navigation;position estimate;transient changes;learning systems;mobile robots;navigation;path planning;position control;sonar;ultrasonic transducer arrays;},
+doi={10.1109/ROBOT.1996.506902},
+ISSN={1050-4729},}
+
+@INPROCEEDINGS{351095,
+author={Borenstein, J.},
+booktitle={Robotics and Automation, 1994. Proceedings., 1994 IEEE International Conference on}, title={The CLAPPER: a dual-drive mobile robot with internal correction of dead-reckoning errors},
+year={1994},
+month={may},
+volume={},
+number={},
+pages={3085 -3090 vol.4},
+keywords={ CLAPPER; Compliant Linkage Autonomous Platform with Position Error Recovery; bearing; compliant linkage; dead-reckoning errors; differential-drive mobile robots; dual-drive mobile robot; internal correction; linear encoder; mobile robots; multi-degree-of-freedom mobile platform; positioning accuracy; relative distance; relative position; rotary encoders; wheel encoders; distance measurement; error correction; mobile robots; path planning; position control;},
+doi={10.1109/ROBOT.1994.351095},
+ISSN={},}
+
+@MISC{umbmark,
+    author = {Johann Borenstein and L. Feng},
+    title = {UMBmark -- A Method for Measuring, Comparing, and Correcting Dead-reckoning Errors in Mobile Robots},
+    year = {1994}
+}
+
+@INPROCEEDINGS{606708,
+author={Kok Seng Chong and Kleeman, L.},
+booktitle={Robotics and Automation, 1997. Proceedings., 1997 IEEE International
+Conference on}, title={Accurate odometry and error modelling for a mobile
+robot},
+year={1997},
+month={apr},
+volume={4},
+number={},
+pages={2783 -2788 vol.4},
+keywords={UMBmark test;calibration;closed-form expressions;consistent error
+model;dead-reckoning;dead-reckoning accuracy;error modelling;mobile
+robot;odometry;orientation errors;position errors;systematic errors;wheel base
+measurement;wheel radius;distance measurement;measurement errors;mobile
+robots;},
+doi={10.1109/ROBOT.1997.606708},
+ISSN={},}
diff --git a/Ausarbeitung/introduction.tex b/Ausarbeitung/introduction.tex
new file mode 100644 (file)
index 0000000..fe7fc6f
--- /dev/null
@@ -0,0 +1,2 @@
+\chapter{Introduction}
+\todo{motivation, importance of dead reckoning, what was done?}
diff --git a/Ausarbeitung/main.kilepr b/Ausarbeitung/main.kilepr
new file mode 100644 (file)
index 0000000..0c8be1b
--- /dev/null
@@ -0,0 +1,46 @@
+[General]
+lastDocument=main.tex
+
+[document-settings,item:biblio.bib]
+Bookmarks=
+Encoding=UTF-8
+Highlighting=BibTeX
+Indentation Mode=normal
+Mode=BibTeX
+ReadWrite=true
+
+[document-settings,item:main.tex]
+Bookmarks=
+Encoding=UTF-8
+Highlighting=LaTeX
+Indentation Mode=normal
+Mode=LaTeX
+ReadWrite=true
+
+[item:biblio.bib]
+archive=true
+column=11
+encoding=UTF-8
+highlight=BibTeX
+line=5
+mode=BibTeX
+open=false
+order=-1
+
+[item:main.tex]
+archive=true
+column=0
+encoding=UTF-8
+highlight=LaTeX
+line=43
+mode=LaTeX
+open=true
+order=0
+
+[view-settings,view=0,item:biblio.bib]
+CursorColumn=11
+CursorLine=5
+
+[view-settings,view=0,item:main.tex]
+CursorColumn=0
+CursorLine=43
diff --git a/Ausarbeitung/main.tex b/Ausarbeitung/main.tex
new file mode 100644 (file)
index 0000000..935b53b
--- /dev/null
@@ -0,0 +1,88 @@
+\documentclass[a4paper,11pt,bibliography=totoc,twoside]{scrbook}
+\usepackage[utf8x]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[ngerman,english]{babel}
+\usepackage{hyperref,color,url,acronym}
+
+% FIXME hyperref setup
+
+\newcommand{\todo}[1][\ldots]{\textcolor{red}{\index{Todo}\LARGE TODO:~#1}}
+\newcommand{\definition}[1]{#1} % FIXME: add to glossary and/or index
+
+% \begin{acronym}
+%  \acronym{GPS}{Global Positioning System}
+% \end{acronym}
+
+\author{Roland Hieber}
+\title{Error modeling of an autonomous, mobile robot}
+% \date{July 9, 2011}
+
+\begin{document}
+\begin{titlepage}
+  \vskip 60pt
+  \makeatletter
+  \begin{center}
+    {\large Braunschweig University of Technology}\\
+    {\large Institute of Operating Systems and Computer Networks}\\[2cm]
+    {\large Bachelor Thesis}\\[2cm]
+    {\LARGE \@title \par}
+    \vskip 6em
+    {\large by}\\[.5em]
+    {\large \@author}\\[7em]
+    {\large \bf Thesis Advisor:}\\[.5em]
+    {\large Prof. Dr. S\'andor Fekete}\\
+    \par
+    \vfill
+    {\large Braunschweig - \today}
+  \end{center}
+  \makeatother
+%   \par
+  % thanks?
+\end{titlepage}
+\cleardoublepage
+
+\selectlanguage{ngerman}
+\vspace*{7cm}
+\centerline{\bf Erklärung}
+\vspace*{1cm}
+Ich versichere, die vorliegende Arbeit selbstständig und nur unter Benutzung
+der angegebenen Hilfsmittel angefertigt zu haben.
+\vspace*{3cm}
+Braunschweig, den \today%
+\selectlanguage{english}
+\pagestyle{headings}
+\cleardoublepage
+
+% FIXME abstract
+
+\tableofcontents
+\cleardoublepage
+% \listoffigures
+% \cleardoublepage
+% \listoftables
+% \cleardoublepage
+\pagenumbering{arabic}
+\pagestyle{headings}
+
+\input{introduction}
+\input{preliminaries}
+
+\chapter{Experiment 1: Original Movement Behaviour}
+\section{Setup}
+\section{Results}
+\todo
+\chapter{Experiment 2: Movement Behaviour with Mean Correction}
+\section{Setup}
+\section{Results}
+\todo
+\chapter{Experiment 3: Movement Behaviour with Constant Starting Accelleration}
+\section{Setup}
+\section{Results}
+\todo
+\chapter{Conclusions}
+\todo
+
+\bibliographystyle{plain}
+\bibliography{biblio}
+
+\end{document}
diff --git a/Ausarbeitung/preliminaries.tex b/Ausarbeitung/preliminaries.tex
new file mode 100644 (file)
index 0000000..64b8e4f
--- /dev/null
@@ -0,0 +1,54 @@
+\chapter{Preliminaries}
+
+\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.
+
+\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}
+
This page took 0.030674 seconds and 4 git commands to generate.