Giter Site home page Giter Site logo

ssl-logtools's Introduction

ssl-logtools

Log recording tools for RoboCup Small Size League games

Copyright (c) 2013 Robotics Erlangen e.V.
http://www.robotics-erlangen.de/
[email protected]

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.

ssl-logtools's People

Contributors

alexanderdanzer avatar g3force avatar michael-bleier avatar michaeleischer avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.