\chapter{Experiment 2: Movement Behaviour with Mean Correction}
\todo{}

As presumed in Section \ref{exp1:results}, errors in the Roomba's movements
could originate from imprecise measurement of the Roomba's internal sensors or
in the Wiselib implementation. So a natural approach to correct this sort of
errors would be to average the results for each data point from Experiment 1,
find a function that fits the mean measured error depending of the
target velocity and target distance or angle as well as possible, and then
adapting either one of the target parameters so that the resulting movement
would most likely be the desired target value. In this experiment however, only
the target distance resp. the target angle was adjusted, while the velocity
remained unadjusted.

Fitting the function\index{fit function} was done with \acs{GNU} R\index{GNU R}
through a wrapper script which is explained in section~\ref{sec:impl:eval}. In
this experiment, a linear fit of the form $o = a*v+b*i+c$ was used, with $o$
being the measured value, $v$ the input velocity, $i$ the target distance or
angle, and $a,b,c \in \mathbb{R}$. The fitted values \todo{how? least
square?} for $a, b, c$ were then used in the algorithm to calculate the adapted
target distance or angle.

\section{Setup}
The hardware setup was exactly the same as in Experiment 1. However, in this
experiment the application \cmd{mean\_correction\_test} was used to measure
data. It did exactly the same as the application from Experiment 1, except that
it adapted the target distance resp. target angle according to the algorithm
described above.

\section{Results}
\begin{figure}[p!]
 \centering
 \includegraphics[width=\textwidth]{images/iz250flur_drive-mean_data.pdf}
 \caption{Behaviour with mean correction on laminated floor, straight drive
tests}
\end{figure}
\begin{figure}[p!]
 \centering
 \includegraphics[width=\textwidth]{images/iz250flur_turn-mean_data.pdf}
 \caption{Behaviour with mean correction on laminated floor, turn tests}
\end{figure}
\begin{figure}[p!]
 \centering
 \includegraphics[width=\textwidth]{images/seminarraum_drive-mean_data.pdf}
 \caption{Behaviour with mean correction on carpet floor, straight drive
tests}
\end{figure}
\begin{figure}[p!]
 \centering
 \includegraphics[width=\textwidth]{images/seminarraum_drive-mean_data.pdf}
 \caption{Behaviour with mean correction on carpet floor, turn tests}
\end{figure}

results better than in experiment 1, very accurate for laminate floor, carpet
floor more spread but still kind of in the middle and less deviation from ideal
value.
\todo{statistical values, stddev?}
