Research Network for
Self-Organization of Robot Behavior
Data files

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