+\chapter{Description of Implementation}
+\section{Measuring}
+\todo
+
+C++ code in wiselib/trunk/pc\_apps/roomba\_tests
+
+three single applications with same base: roomba\_test (main.cc),
+mean\_correction\_test (mean\_correction.cc), soft\_start\_test
+(soft\_start.cc).
+
+user interface: Qt.
+
+manual tests (user is asked for new values every time) or automated tests (user
+only asked for measured values).
+
+1) open UART connection
+
+2) register state callback for getting roomba sensor data
+
+3) while(input values or cancel) { drive() / turn() }
+
+4) drive() / turn() use wiselib::ControlledMotion<OsModel,
+wiselib::RoombaModel> for moving specified angle/distance; and ask for measured
+values and write to external log file, including battery status, roomba/wiselib
+internal angles/distances (ticks), svn revision, floor type, roomba ID
+
+additionally, mean correction test uses
+CorrectedMeanMotion from corrected\_mean\_motion.h, implements same concept like
+wiselib::ControlledMotion and takes care of target value by using the
+calculated fit function .
+
+additionally, soft start/stop test uses
+SoftStartMotion from soft\_start\_motion.h, implements same
+concept like wiselib::ControlledMotion and takes care of increasing/decreasing
+velocity via timer.
+
+\section{Evaluation}
+\todo
+
+bash/perl scripts in wiselib/trunk/pc\_apps/roomba\_tests/logs, using gnuplot
+
+graph.sh: create 3d plots (input value, input velocity, measured value) from
+original behvaiour data, including fit function calculated by GNU R statistics
+software, for {carpet floor, laminate floor} $\times$ {drive straight, turn on
+spot}
+
+graph-mean.sh: do the same for mean correction data, including fit function from
+original data
+
+graph-soft.sh: do the same for soft start/stop data, including fit function from
+original data
+
+graph-mean-soft.sh: 3d plot with mean correction and soft start/stop data, for
+comparison of both
+
+graph-errorlines.sh: create 2d plots input value -> measured value, with
+multiple velocities in each graph. also split graphs up for {carpet floor,
+laminate floor} $\times$ {drive straight, turn on spot}. no fit function.