Prev-Talk | Next-Talk | All-Talks | Talks-Sorted

Talk-18: Emacs Support for Configuring IvP Helm Behavior Files and MOOS Mission Files

Michael Kaplan, NUWC-Newport
Michael R. Benjamin, NUWC-Newport, MIT

This talk describes Emacs modes for supporting autonomy mission configuration using MOOS and the IvP Helm. These modes aim to reduce the complexity and human error associated with mission planning by makeing MOOS mission files and IvP Helm behavior files easier to manage.

The Emacs modes initial benefit is in adding syntactic highlighting to their respective configura- tion files. Keywords, comments, parameters and other structures of interest are more prominently distinguishable. In addition to basic syntax highlighting, the modes provide a method for defining allowing parameters within a given Behavior or ProcessConfig scope. Parameters are then checked on the fly (and initially upon loading a file), and invalid or unknown parameters in a block are red-flagged. Beyond checking known parameters, the modes will also check for parameters that are included multiple times within a block when not allowed. The IvP Helm always allows multiple occurences of parameters and individual behaviors are responsible for determining how this should be handled. By red-flagging invalid multiple occurences in real-time, subtle bugs can be avoided at run time.

Multiple Behaviors with the same name create a similar problem in that the Helm will discard the initial blocks and use just the final Behavior block with a given name. This is another opportunity for runtime error that is detected and flagged on-the-fly within the Emacs mode. Improperly specificied parameter values in configuration files are another detectable error within the modes. A variety of types can be specified for a given parameter within a given block, and typechecking is done in real time. Types can range from simpler enums, booleans, and non-negative- numericals to more complex lists of points with a minimum of three points for defining regions.

Behavior and ProcessConfig information is built into the modes for the standard IvP Helm Behaviors and the MOOS and IvP Helm applications. The modes include a means of augmentation for custom defined behaviors and MOOS processes with a user-defined parameter configuration file. After specification, user defined features can access all of the benefits of the built-in items. The modes also provide utilities such as importing Behavior and ProcessConfig templates for known items. These templates insert a formatted block with full comments for each known parameter and each parameter is specified with a default value if known.

Categories:

  • Autonomy
  • MOOS-IvP
  • Mission Planning
  • Academia
  • Govt Labs