64e3a44f2edd02c2c22d8c1650fd53390a5475f9
[bachelor-thesis/written-stuff.git] / Ausarbeitung / implementation.tex
1 \chapter{Implementation}
2
3 \todo{?}
4 This chapter describes the implementation that was used for the aforementioned
5 experiments. It consists of the measuring program itself, as well as several
6 scripts to help with analysis of the measured data.
7
8 \section{Measuring}
9 \label{sec:impl:measuring}
10
11 C++ code in wiselib/trunk/pc\_apps/roomba\_tests
12
13 three single applications with same base: roomba\_test (main.cc),
14 mean\_correction\_test (mean\_correction.cc), soft\_start\_test
15 (soft\_start.cc).
16
17 user interface: Qt.
18
19 manual tests (user is asked for new values every time) or automated tests (user
20 only asked for measured values).
21
22 1) open UART connection
23
24 2) register state callback for getting roomba sensor data
25
26 3) while(input values or cancel) { drive() / turn() }
27
28 4) drive() / turn() use wiselib::ControlledMotion<OsModel,
29 wiselib::RoombaModel> for moving specified angle/distance; and ask for measured
30 values and write to external log file, including battery status, roomba/wiselib
31 internal angles/distances (ticks), svn revision, floor type, roomba ID
32
33 additionally, mean correction test uses
34 CorrectedMeanMotion from corrected\_mean\_motion.h, implements same concept like
35 wiselib::ControlledMotion and takes care of target value by using the
36 calculated fit function .
37
38 additionally, soft start/stop test uses
39 SoftStartMotion from soft\_start\_motion.h, implements same
40 concept like wiselib::ControlledMotion and takes care of increasing/decreasing
41 velocity via timer.
42
43 \section{Evaluation}
44 \label{sec:impl:eval}
45 \todo{}
46
47 bash/perl scripts in wiselib/trunk/pc\_apps/roomba\_tests/logs, using gnuplot
48
49 graph.sh: create 3d plots (input value, input velocity, measured value) from
50 original behvaiour data, including fit function calculated by GNU R statistics
51 software, for {carpet floor, laminate floor} $\times$ {drive straight, turn on
52 spot}
53
54 graph-mean.sh: do the same for mean correction data, including fit function from
55 original data
56
57 graph-soft.sh: do the same for soft start/stop data, including fit function from
58 original data
59
60 graph-mean-soft.sh: 3d plot with mean correction and soft start/stop data, for
61 comparison of both
62
63 graph-errorlines.sh: create 2d plots input value -> measured value, with
64 multiple velocities in each graph. also split graphs up for {carpet floor,
65 laminate floor} $\times$ {drive straight, turn on spot}. no fit function.
This page took 0.0548920000000001 seconds and 3 git commands to generate.