Data files of our controllers
In the sub directories you will find data files, which are recorded during the simulation of different robots controlled by our controllers.
Format
The files are in a rowwise ACSII textformat which is suitable for gnuplot. Example:
# Comment
#C fieldname1 fieldname2 fieldname3 ...
value1 value2 value3 ...
value1 value2 value3 ...
value1 value2 value3 ...
value1 value2 value3 ...
.
.
.
The number format is the usual floating point representation with
e notation.
Usage
These files can be used by gnuplot direcly. However there is a tool called "guilogger" (Available in the lpzrobots distribution),
that was developed by our group and which supports an interactive view of the files with gnuplot.
Organisation
The sub directories (in the menu on the left) contain data of a specific robot.
There you find tar-archives (
tgz) with the log files.
The archives can be decompressed with
tar -xvzf archivename.tgz
To avoid very large log files we have split them into pieces à 10000 to 25000 records.
Additionally there is a
.head file with the comments and a
.fieldnames file
with the line containing the field names (
#C fieldname1 fieldname2 ...)
Creation
The files have been written with "guilogger", which gets the data from our ODE-simulation.
For that the simulation should be started with
./start -f 1
After that the log file is choped into pieces with a
shellscript.
./splitlogfiles.sh filename.log number_of_lines_per_file
After that all files have been kopied into directory and compressed with
tar -cvzf tararchivname.tgz directory
Selecting Columns
If you want to select some columns from the files there is a perl script called
./selectcolumns.pl which helps.
selectcolumns.pl
will give the following help:
Usage: selectrows.pl fieldpatterns < logfile > newlogfile
fieldpatterns: regular expressions that match field descriptions in #C line
please note that some special characters have to be quoted, see below.
Example: "x\[" "C\[0\]"
the file (newlogfile) will contain all sensor values x[..]
and the first row of the controller matrix C[0][..]
Hint: If you want to get rid of the comment lines then use:
| grep -v "^#" > newlogfile
Suppose you want to have only the sensor and motor values of logfile
Sphere.log:
./selectcolumns.pl "x\[" "y\[" < Sphere.log > Sphere.xy.log