Log Playback

For Log Reader Stage configuration information, see this page.

Logs are captured with enough information that you can “play them back”. This means that data will be read from the log and injected into the rest of the pipeline as if the data was playing back on your robot.

If you are using the real time executor, data will be played back in real time (in other words, if five seconds pass in the log, five seconds will pass in playback).

You can also use the simulated clock executor, which allows you to run much faster (or slower) than realtime. Data will be injected into the system precisely when it was transmitted on the robot. The timestamps will be identical, allowing you to have deterministic log playback.

Log Player Tool

You can use the ark-playback tool to playback existing logs. At the moment, this tool will blindly play back all data contained within a log. The GUI provides functionality for seeking, stepping, pausing, and other basic VCR-style controls.

As an example of the log player GUI and controls:

Log Player

The slider allows you to jump to a particular timestamp, and the buttons allow you to step in time in 100ms or 1s increments. After you seek or step, the log will playback for a few milliseconds to populate some of the display.

The syntax for log playback is:

./build/ark-playback <path to log>

You can bring up the data_collection_gui independently to see the data, or use ark-spy to poke around at the channels that are playing back.

Additional logging tools are decribed on this page.