1 \chapter{Description of Implementation
}
3 \label{sec:impl:measuring
}
7 C++ code in wiselib/trunk/pc
\_apps/roomba
\_tests
9 three single applications with same base: roomba
\_test (main.cc),
10 mean
\_correction\_test (mean
\_correction.cc), soft
\_start\_test
15 manual tests (user is asked for new values every time) or automated tests (user
16 only asked for measured values).
18 1) open UART connection
20 2) register state callback for getting roomba sensor data
22 3) while(input values or cancel)
{ drive() / turn()
}
24 4) drive() / turn() use wiselib::ControlledMotion<OsModel,
25 wiselib::RoombaModel> for moving specified angle/distance; and ask for measured
26 values and write to external log file, including battery status, roomba/wiselib
27 internal angles/distances (ticks), svn revision, floor type, roomba ID
29 additionally, mean correction test uses
30 CorrectedMeanMotion from corrected
\_mean\_motion.h, implements same concept like
31 wiselib::ControlledMotion and takes care of target value by using the
32 calculated fit function .
34 additionally, soft start/stop test uses
35 SoftStartMotion from soft
\_start\_motion.h, implements same
36 concept like wiselib::ControlledMotion and takes care of increasing/decreasing
42 bash/perl scripts in wiselib/trunk/pc
\_apps/roomba
\_tests/logs, using gnuplot
44 graph.sh: create
3d plots (input value, input velocity, measured value) from
45 original behvaiour data, including fit function calculated by GNU R statistics
46 software, for
{carpet floor, laminate floor
} $
\times$
{drive straight, turn on
49 graph-mean.sh: do the same for mean correction data, including fit function from
52 graph-soft.sh: do the same for soft start/stop data, including fit function from
55 graph-mean-soft.sh:
3d plot with mean correction and soft start/stop data, for
58 graph-errorlines.sh: create
2d plots input value -> measured value, with
59 multiple velocities in each graph. also split graphs up for
{carpet floor,
60 laminate floor
} $
\times$
{drive straight, turn on spot
}. no fit function.