Configuration File for the Belief State System

Many aspects of the belief state system can be configured from a central config.cfg configuration file (following the libconfig syntax). The file does not have to be placed in the ROS package directory of the belief state, but could potentially reside in three places:

  • The directory from which you run the beliefstate binary (./)
  • The ~/.beliefstate/ directory (in your home directory)
  • The beliefstate package's directory

When placed in one of these directories, its name must be config.cfg. Additionally, the file path (and name) for the configuration file can be manually specified when running the beliefstate binary:

$ rosrun beliefstate beliefstate --config <path-to-config-file>/<filename>

The predefined directories are tried in the order shown above, but a manually specified configuration file takes precedence over the others.

Configuration Options

The following main sections with their respective options can be specified in the configuration file:

  • persistent-data-storage – General settings for persistent data storage
    • base-data-directory (string): todo (pays respect to the directory resolution tokens)
    • use-mongodb (bool): Enable the use of a MongoDB database server
    • mongodb – Details about how to connect to MongoDB database servers
      • host (string): Hostname or IP of the MongoDB instance to use
      • port (integer): Port of the MongoDB instance to use
      • database (string): MongoDB database name to select
  • experiment-data – Settings for naming conventions and storage places for individual experiment data
    • experiment-name-mask (string): todo
    • symlink-name (string): todo
  • plugins – Settings specifying which plugins to load and how to parameterize them
    • load-development-plugins (bool): Load or ignore development plugins
    • search-paths (list): Search paths for finding plugin binaries (pays respect to the directory resolution tokens)
    • load (list): Comma-separated list of bare plugin-names to load when starting the system
    • colors (list): Comma-separated list of color-coding strings for plugin outputs
    • individual-configurations (list): Consists of individual (custom) configurations for plugins. These are groups of configuration settings, each of them holding at least a plugin field, plus additional custom fields:
      • plugin (string): Bare plugin name this settings-group is valid for
      • field (type): field can be any field name except for plugin. The field values can be of type, with type being either a string, a bool, an integer, or a new group, allowing for nested configuration trees for the plugins. When setting a string value, this value pays respect to the directory resolution tokens.
  • miscellaneous – Misc settings (mostly cosmetic, controlling output verbosity)
    • display-unhandled-events (bool): Display a warning or ignore it every time an unhandled internal event gets dropped
    • display-unhandled-service-events (bool): Display a warning or ignore it every time an unhandled internal service event gets dropped