On-board logging is performed using the goby_logger
application, which logs every message published on the Goby3 interprocess layer to a binary .goby
log file.
This log file can be converted in post-processing to several formats for use by data processing tools.
When goby_logger
is run (e.g. in simulation using the auv.launch script in jaiabot-configuration
, see Configuration), it writes a file (e.g. auv0_29971128T082058.goby
) to the log directory (/tmp/jaia-logs/bot/0
in the simulator for bot0, where /tmp/jaia-logs
can be changed in the preseed.goby in jaiabot-configuration
).
After the mission is complete, the .goby
log can be copied off the vehicle (e.g. using rsync) and processed.
The Goby log can be converted into a text file version of all the publications (for visual inspection and debugging) using
which writes bot0_29971128T082058.txt
by default (override by setting --output_file
). This file can be inspected by any standard text viewer or editor.
An HDF5 file suitable for use in MATLAB, Octave, etc. can be generated using:
which writes bot0_29971128T082058.h5
by default (also can be overridden by setting --output_file
).
The HDF5 file can be read into Octave using:
All the HDF5 data are loaded using the group name followed by the Protobuf type name, followed by the fields (with reserved characters :
, .
, etc. turned into _
), e.g.:
is the HDF5 format for:
This simple .m
file will plot the vehicle's position in latitude/longitude for the entire mission:
(which produces for a simple octagon mission):