Skip to content

RoboDragons/ssl-logtools

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ssl-logtools

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).

Compiling:

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.

Example Usage:

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".

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

License:

The software is licensed to you under the GNU General Public License Version 3. The license can be found in the file "LICENSE".

Source:

The latest version of this software can be obtained at https://github.com/RoboCup-SSL/ssl-logtools.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 91.8%
  • CMake 5.7%
  • C 2.0%
  • Shell 0.5%