Loading [MathJax]/extensions/tex2jax.js
All Classes Namespaces Variables Typedefs Pages
Playback

This component reads the contents of log file(s) and publishes it on DDS. The log file(s) must have the same structure as that created by RatatoskLogger. A typical use case for this component is to provide realistic DDS signals as a mock-up of a real vessel, for the purpose of development and testing. This can be valuable when developing software for interfacing ship systems or as a prerequisite for a virtual testbed for such software.

  • Options:
    • Speed: The ratio between playback speed and the original recording speed of the log file.
  • LogSpecification:
    • Dir: The directory where the log files are found.
    • LogPrefix: The prefix of the log file names, assuming the name to be <prefix><timestamp>.nc
  • PlaybackSignals: A yaml list of output signals and how they are created from the log file data. Each element are of the following format:
    • Topic: The topic to output on.
    • Type: The DDS type to output.
    • Mapping: Where the data is found in the log file. This can be of two different formats:
      1. The name of the variable.
      2. A yaml list with the following structure, mapping the fields of the output type to the variables in the log file:
        • Field: The topic field name.
        • Var: The variable name in the log file

An example input file is shown below, as well as here.

Options:
Speed: 2.49
LogSpecification:
Dir: logs
LogPrefix: Logs_
PlaybackSignals:
- Topic: In1
Type: DoubleVal
Mapping: Nav_Depth.depthBelowTransducer
- Topic: In2
Type: Float3
Mapping:
- {Field: x, Var: Hull_Euler_rad.x}
- {Field: y, Var: Hull_Euler_rad.y}
- {Field: z, Var: Hull_Euler_rad.z}
- Topic: In3
Type: DoubleVal
Mapping: Hull_Euler_rad.y