mimir – an optimization-based purse seine path planner


/opt/sintef/bin/mimir [OPTIONS] CONFIG


A purse seine path planner algorithm that calculates suggested deployment paths based on user preferences and environmental conditions.


The command is valid with install prefix set to ``/opt/sintef``. If $PATH has /opt/sintef/bin, the executable name is simply mimir.


Path to YAML config file.

-h, --help

Display the help message.

-v number, --severity number

Print severity, with number as defined in Severity below, default: 3.

-l number, --log number

Log file severity: with number as defined in Severity below, default: 3.

Severity is an integer number in [0-5], 5: trace, 4: debug, 3: info, 2: warning, 1: error, 0: fatal


The YAML configuration file follows a specific schema, with two common map attributes: dds and algorithm. The algorithm:name defines the name of the algorithm to be run and imples that a map with the same name is present in the YAML file. The configuration specification for a selected algorithm is specific to that particular algorithm. See EXAMPLE below.



If $OSPL_URI is not set, it defaults to ``file:///opt/sintef/etc/config/ospl.xml``. This is the configuration file for the OpenSplice middleware service used by the application. See OpenSplice deployment for details on configuring the middleware service.


If $OSPL_HOME is not set, it defaults to ``/opt/sintef/``. This is the root path used by the OpenSplice middleware.



OpenSplice configuration file as described in OpenSplice deployment.


/opt/sintef/bin/mimir -v 0 -l 3 /path/to/config.yml

Run algorithm specified in ``/path/to/config.yml/`` with fatal severity output to terminal, and info severity output to log file. The YAML config file below shows the common schema that mimir expects. Note that the algoritm enters a standby state and will not execute before a START_PROCESS command is issued to the request_topic specified in the config file.

YAML config file

The algorithm:command and algorithm:notifier entries are used to configure the DDS topics for user commands and state machine transition notifications. They use the interface definition language types indicated in the comment, which are defined in the RatatoskIDL dependency. Each algorithm has its own algorithm-specific schema; consult the documentation for the algorithm you intend to use.

# Excerpt of /path/to/config.yml, with 'algorithm-specific' map not expanded:
  domain: 0                                # DDS domain to connect to
  name: PursePlanner                       # Name identifier of algorithm
    request_topic: fkin_cmd                # IDL type: fkin::Command
    reply_topic: fkin_cmd_resp             # IDL type: fkin::CommandResponse
    recipient: PursePlanner                # Recipient identifier request/reply
    notify_topic: fkin_state_notification  # IDL type: fkin::ProcessStateKind
    identifier: PursePlanner               # Identifier of notification



Currently, the log outputs are only printed to stdout. This means that the ``-l | –log`` option has no effect.


  • yamllint.1 can be useful to validate the YAML config file (not installed by default).

  • OpenSplice deployment