Maintained by: mikerb@mit.edu         Get PDF


1  The ConstantDepth Behavior
     1.1 Configuration Parameters
     1.2 Variables Published
     1.3 The duration Parameter
     1.4 The ConstantDepth Objective Function


IvP Helm Behaviors in General


A behavior of the IvP helm is one of perhaps several behaviors active in any given moment, competing for influence over the requested trajectory of the vehicle. The \bhv{} behavior is one such behavior. All behaviors share a common structure, exploited by the helm, that balances a design goal of being uniform enough to be plug-and-play, against the design goal of enabling the unique nature of any particular behavior. Each behavior, it can be argued, is a mini expert system.

A behavior produces two kinds of output, an objective function, and one or more postings. This document describes the unique elements of the \bhv{} behavior in terms of (1) how the objective function is created and from what information, (2) posting events that are unique to the \bhv{} behavior, and (3) posting macros that are unique to the \bhv{} behavior. The full set of configuration parameters unique to the \bhv{} behavior are also discussed.

1   The ConstantDepth Behavior


This behavior will drive the vehicle at a specified depth. This behavior merely expresses a preference for a particular depth. If other behaviors also have a depth preference, coordination/compromise will take place through the multi-objective optimization process. The following parameters are defined for this behavior:

1.1   Configuration Parameters    [top]


Listing 2.1 - Configuration Parameters Common to All Behaviors.

activeflag:A MOOS variable-value pair posted when the behavior is in the active state. [more].
condition:Specifies a condition that must be met for the behavior to be running. [more].
duration:Time in behavior will remain running before declaring completion. [more].
duration_idle_decay:When true, duration clock is running even when in the idle state. [more].
duration_reset:A variable-pair such as MY_RESET=true, that will trigger a duration reset. [more].
duration_status:The name of a MOOS variable to which the vehicle duration status is published. [more].
endflag:A MOOS variable-value pair posted when the behavior has completed. [more].
idleflag:A MOOS variable-value pair posted when the behavior is in the idle state. [more].
inactiveflag:A MOOS variable-value posted when the behavior is not in the active state. [more].
name:The (unique) name of the behavior. [more].
nostarve:Allows a behavior to assert a maximum staleness for a MOOS variable. [more].
perpetual:If true allows the behavior to to run even after it has completed. [more].
post_mapping:Re-direct behavior output normally to one MOOS variable to another instead. [more].
priority:The priority weight of the behavior. [more].
pwt:Same as priority.
runflag:A MOOS variable and a value posted when a behavior has met its conditions. [more].
spawnflag:A MOOS variable and a value posted when a behavior is spawned. [more].
spawnxflag:A MOOS variable and a value posted when a behavior is spawned. [more].
templating:Turns a behavior into a template for spawning behaviors dynamically. [more].
updates:A MOOS variable from which behavior parameter updates are read dynamically. [more].

Listing 2.2 - Configuration Parameters for the ConstantDepth Behavior.

ParameterDescription
basewidth:The width of the base, in meters, in the produced ZAIC-style IvP function. Section 2.4.
depth:The desired depth of the vehicle, in meters.
duration:Behavior duration, in seconds. Mandatory configuration for this behavior. Section 2.3.
peakwidth:The width of the peak, in meters, in the produced ZAIC-style IvP function. Section 2.4.
summitdelta:The height of the summit delta parameter in the produced ZAIC-style IvP function. See Figure ???. Section 2.4.
depth_mismatch_var:Name of the MOOS variable indicating the present delta between the desired depth and the current depth. Section 2.2.

Listing 2.3 - Example Configuration Block.

 Behavior = BHV_ConstantDepth
 {
   // General Behavior Parameters
   // ---------------------------
   name         = const_dep_survey   // example
   pwt          = 100                // default
   condition    = MODE==SURVEYING    // example
   updates      = CONST_DEP_UPDATES  // example

   // Parameters specific to this behavior
   // ------------------------------------
            basewidth = 100          // default
                depth = 0            // default
   depth_mismatch_var = DEPTH_DIFF   // example
             duration = 0            // default
            peakwidth = 3            // default
          summitdelta = 50           // default
 }

1.2   Variables Published    [top]


The behavior may be optionally configured to publish a variable indicating the discrepancy between the requested depth and the actual observed depth. The MOOS variable is named using the depth_mismatch_var parameter. This variable will only be published when the behavior is in the running state.

1.3   The duration Parameter    [top]


The duration parameter defined for all general behaviors, but for this behavior, specification is mandatory for safety reasons. The default if not specified is 0 seconds which will result in the behavior completing immediately. If no duration limit is desired, e.g., if the behavior is tied to another behavior or event via condition variables, then setting duration=no-time-limit will result in no time duration checks for this behavior.

1.4   The ConstantDepth Objective Function    [top]


See Figure ???.

  • basewidth: The width of the base, in meters in the produced objective function. The default is 100. See Figure ??? for more on the basewidth parameter used in the ZAIC tool for building IvP functions.
  • peakwidth: The width of the peak in meters in the produced objective function. The default is 3. See Figure ??? for more on the peak parameter used in the ZAIC tool for building IvP functions.
  • summitdelta: The width of the base, in meters in the produced objective function. The default is 50. See Figure ??? for more on the summitdelta parameter used in the ZAIC tool for building IvP functions.

Document Maintained by: mikerb@mit.edu        
Page built from LaTeX source using texwiki, developed at MIT. Errata to issues@moos-ivp.org. Get PDF