-The test equipment consisted of a small x86 \index{netbook} which was
-mounted on
-an iRobot Roomba~500\index{Roomba} robot. The netbook controlled the Roomba
-over a
-\acs{USB}-to-serial converter plugged into the Open Interface \index{iRobot
-Roomba Open Interface} port on the
-Roomba, and hosted as the environment for executing the Wiselib \index{Wiselib}
-code (see Fig.~\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
+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
+mentioned before, due to limitations in the \ac{ROI}\index{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, keeps track of the turned angle
+and covered 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