-port on the
-Roomba, and hosted as the environment for executing the Wiselib \index{Wiselib}
-code (see Figure~\ref{fig:roombasetup}).
-
-In the first experiment, the original movement behaviour of the Roomba was
-measured to establish a pool of data for correction approaches to work on.
-There was no error correction involved, and the Roomba started right off with
-the full velocity the movement was executed with; so there was no control to
-adhere a constant acceleration when starting or stopping the movement. Due to
-limitations in the iRobot Roomba Open Interface\index{iRobot Roomba Open
-Interface} it is only
-possible to explicitly start and stop the Roomba's movements at different times,
-so the Wiselib's implementation of the Roomba control code first starts the
-Roomba's movement, calculates the time needed until the movement should be
-finished, and then stops the Roomba.
-
-The tests were done in two atomic drive modes: letting the Roomba drive a
+port on the Roomba, and hosted as the environment for executing the Wiselib
+\index{Wiselib} code.
+
+In this experiment, the Roomba started right off with the full velocity the
+movement was executed with; so there was no control to adhere a constant
+acceleration when starting or stopping the movement. As mentioned before, due to
+limitations in the \acs{ROI}\index{\acs{ROI}} it is only possible to explicitly
+start and stop the Roomba's movements at different times, so the Wiselib's
+implementation of the Roomba control code first starts the Roomba's movement,
+keeps track of the turned angle and dcovered distance, and then stops
+the Roomba if these values exceed the target values.
+
+The tests were done in two atomic drive modes: letting the Roomba walk a