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