Log recording tools for RoboCup Small Size League games
Copyright (c) 2013 Robotics Erlangen e.V.
http://www.robotics-erlangen.de/
info@robotics-erlangen.de
This software was written by team members of ER-Force at Robotics Erlangen e.V., Germany.
The ssl-logtools can record and playback the messages of SSL-Vision (https://github.com/RoboCup-SSL/ssl-vision) and the SSL-RefBox (https://github.com/RoboCup-SSL/ssl-refbox).
All programs should compile on GNU/Linux, Windows and Mac OS X.
In order to build the ssl-logtools you will need:
- cmake-2.8.2
- g++-4.1
- qt-gui-4.6.0
- boost-program-options-1.42.0
- zlib-1.2.7
- protobuf-2.0.0
The recommended way of building a project with CMake is by doing an out-of-source build. This can be done like this:
mkdir build
cd build
cmake ..
make
Binaries will be created in the subdirectory "bin" of the "build" folder.
Record log:
logrecorder -o /tmp/test.log
Record log and write it to gzip compressed file:
logrecorder --compress -o /tmp/test.log.gz
Automatically create a new log for each new game based on the referee commands:
logdaemon -o /tmp/logs/
Print help message with all available command-line options:
logrecorder --help
Commands can be aborted using Control-C.
Both uncompressed (.log) and gzip compressed (.log.gz) log files can be played back using "logplayer".
If you want to read the log files using your own software, look at the class "LogFile" in "src/common/logfile.h".
Alternatively a plain C++ example for reading log files with minimal dependecies is provided in "src/examples".
The log files are created by default in format version 1.
Each log file starts with the following header:
1: String - File type ("SSL_LOG_FILE")
2: Int32 - Log file format version
Format version 1 encodes the protobuf messages in the following format:
1: Int64 - Receiver timestamp in ns
2: Int32 - Message type
3: Int32 - Size of binary protobuf message
4: String - Binary protobuf message
The message types are:
MESSAGE_BLANK = 0 (ignore message)
MESSAGE_UNKNOWN = 1 (try to guess message type by parsing the data)
MESSAGE_SSL_VISION_2010 = 2
MESSAGE_SSL_REFBOX_2013 = 3
MESSAGE_SSL_VISION_2014 = 4
To convert any supported log to file format version 1 run:
logconvert -f 1 -i /tmp/in.log -o /tmp/out.log
The software is licensed to you under the GNU General Public License Version 3. The license can be found in the file "LICENSE".
The latest version of this software can be obtained at https://github.com/RoboCup-SSL/ssl-logtools.