Log recording tools for RoboCup Small Size League games
This software was written by team members of ER-Force at Robotics Erlangen e.V., Germany.
All programs should compile on GNU/Linux, Windows and Mac OS X.
In order to build the ssl-logtools you will need:
The recommended way of building a project with CMake is by doing an out-of-source build. This can be done like this:
Binaries will be created in the subdirectory "bin" of the "build" folder.
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:
Commands can be aborted using Control-C.
Both uncompressed (.log) and gzip compressed (.log.gz) log files can be played back using "logplayer".
Reading Log Files Using Your Own Software:
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".
Default Binary Format of the Log Files:
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.