Bag-record » History » Version 8

« Previous - Version 8/15 (diff) - Next » - Current version
J. Moringen, 09/04/2011 03:26 PM
added --help-all, removed explicit wire-schema specification


bag-record

Introduction

The bag-record can be used to capture certain RSB events in a running system and store them into a log file for later analysis, further processing or replay.

See bag-play for replaying and bag-info for inspection of log files.

Obtaining bag-record

Binaries of the bag-record program can be downloaded from the continuous integration server for versions 0.4 and 0.5 of the Robotics Service Bus:

After the download, the bag-record file has to be made executable in most cases. This can be done for example by executing

chmod +x bag-record

in the download directory.

Checking Versions and Displaying Help

Version and help information is displayed when the --version and --help[-all] commandline options are specified:

./bag-record --version
./bag-record --help
./bag-record --help-all

The output of --help[-all] includes a list of supported file formats.

Recording Events

Some general remarks regarding recording of RSB events using bag-record:
  • The specified output file into which events should be recorded, should not already exist
    • If an empty file of the given name exists, it will be used for recording
    • If a non-empty file of the given name exists, it will be extended as long as it does not already contain any of the channels being recorded
  • The recording process can be terminated gracefully by sending one of SIGINT and SIGTERM to the bag-record process

Recording from a Nao robot using a local Spread daemon

This example assumes
./bag-record -o /tmp/nao.tide 
             'spread:/nao/vision/top?name=4803' 
             'spread:/nao/audio/all?name=4803'
             'spread:/nao/proprioception?name=4803'

Note: the file extension ("tide" in this case) determines the used file format backend. Currently, only the TIDELog file format is supported.

Recording from a Nao robot using a remote Spread daemon

This example assumes
  • A Spread daemon running on the machine "remote" and listening on port 4803
  • Same data types as above
./bag-record -o /tmp/nao.tide 
             'spread://remote:4803/nao/vision/top' 
             'spread://remote:4803/nao/audio/all'
             'spread://remote:4803/nao/proprioception'