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