Release Notes for Version 17.7 (July 31st, 2017)

  • Release 17.7 contains a MOOS Release posted by P.Newman/Oxford Aug 28th, 2015.

New Applications

uCommand (new MOOS App)

  • A command and control window for poking the MOOSDB, comparable to the commander pop-up window in pMarineViewer

uQueryDB (new MOOS App)

  • A command-line MOOSApp, similar to and complementing to uPokeDB. It will connect to a running MOOSDB and check a given logic condition and provide a return value to the shell. Useful for running batch missions and checking for end-of-mission and shutting down the mission in the shell script.


  • A MOOSApp for evaluating the efficiency of a vehicle conducting a loiter mission. Used in conjuction with uFldCollisionDetect to gauge how well a vehicle is balancing collision avoidance safety alongside mission efficiency.
  • Considered to be the first app of its type in the ongoing work to measure mission performance on both the safety and efficiency axes.


  • A command-line tool for parsing an alog file, checking for collision detection metrics of COLLISION, NEAR_MISS and ENCOUNTER.
  • By default used in coordination with uFldCollisionDetect


  • A command-line tool for generating encounter plots, from data in an alog file. By default works in conjunction with output from pEvalLoiter.


  • A command line tool to remove named variables from a given alog file based on proximity in time to configure events. Motivated by the need to have full alog files around the times when a collision or near miss occurs, and sparse alog file at all other times.


  • A shoreside tool for monitoring close-in encounters betweeen any pair of vehicles. A report is generated for each encounter, with user-configurable declarations of collision or near-miss.
  • This is virtually a full re-write of an app by the same name in release 15.5.


  • Simple GUI app for exploring the workings of the ZAIC_HDG utility


  • Simple GUI app for exploring the workings of the ZAIC_HLWQ utility


  • Simple GUI app for exploring the workings of the ZAIC_PEAK utility


  • Simple GUI app for exploring the workings of the ZAIC_SPD utility


  • Simple GUI app for exploring the workings of the ZAIC_VECT utility

New Behaviors


  • (Major) New behavior to handle intervehicle collision avoidance in accordance to the Coast Guard Collision Regulations (COLREGS).
  • Includes ~5X faster implementation of the CPAEngine in the lib_geometry library. This class does much of the heavy lifting for performing closest-point-of-approach (CPA) calculations used both in the COLREGS and non-COLREGS collision avoidance behaviors. See OCEANS 2017 paper on Fast-CPA for more detail.

Modifications to Existing Applications


  • Fixed a bug that would allow behaviors with duplicate names to be spawned
  • Augmented the Helm appcast output to include a list of all Spawnable behaviors, i.e. behavior templates, with a running tab of attempts to spawn and total successful spawnings
  • Fixed the ability to re-start the helm mid-mission with "RESTART_HELM=type1". Results in the destruction and re-instantiation of the set of behaviors.
  • A helm restart will result in the publishing of "IVPHELM_RESTARTED=true" upon completion of the restart.
  • The variables IVPHELM_BHV_CNT and IVPHELM_BHV_CNT_EVER are now only published when the value changes, NOT on every iteration regardless of value. If you have anything use these variables as a form of "heartbeat" indication, you should instead use the one variable IVPHELM_STATE recommended for this purpose and guaranteed to be published on each iteration regardless of value.
  • Fixed a bug in behavior spawning where a spawned behavior was not getting the "us" field set, i.e., the name of ownship, which is set to the name of the MOOS community found in the .moos mission file. All spawned behaviors now have this field set upon spawning.
  • Modified IvPBehavior to ignore the "name" parameter during behavior updates. Previously it was indeed not acted on, but threw a update warning. The name parameter is used solely to identify which behavior the update should be applied to, but the name is not actually updated.
  • Augmented behaviors and the helm to produce new information about updates. The Helm publishes IVPHELM_UPDATEVARS to indicate which MOOS variables are involved in behavior updates. This variable is published each time the list changes, so typically only once upon startup. The Helm also now publishes IVPHELM_UPDATE_RESULT for each MOOS variable posted involved with a behavior update. It will show the result of the update.
  • Augmented the Attractor behavior to use the IvPContactBehavior class


  • (Major) Added support for rendering encounter plots. Encounter plots are accessible for each vehicle, and the user can click on any encounter and change the replay time line to this encounter.
  • Fixed bug that caused the background image to start up in a corrupted state on MacOS
  • Fixed bug that would not reset the view center gravity up on arrow-key hits


  • augmented pHostInfo to recognized the addtional "WiFi" interface, in addition to "Wi-Fi" with the dash
  • Added ability to see "Wi-Fi" network interfaces in addition to "WiFi".
  • Added ability to see "USB 10/100/1000 LAN" interfaces on OSX


  • Bug fix - allow messages from Vehicle A to B to be sent in clusters, all at the same time, if min_msg_interval is zero.


  • (Major) Added support for Commander pop-up window. Command and control buttons may be configured to work with any connected vehicle, defined group of vehicles, or to all vehicles. If configured in the mission file, commander popup window appears and disappears by hitting the spacebar. The uCommand app is stand-alone app that works from the same commander configuration.
  • Added support for VIEW_WEDGE objects
  • Added support left mouse clicks to include a new macro UP_VNAME_CLOSEST and VNAME_CLOSEST which represent the string values of the vehicle name closest to the mouse click. This allows one to configure to say return a vehicle by clicking on it.
  • Added support for the "mokai" vehicle type, for now rendered just as a kayak
  • Added support for the colorname "empty" as an alias for "invisible"


  • augmented the report output to show the logged data rate.
  • A new --noaux flag instructs the scan to ignore the auxilliary source information when binning entries based on source. E.g., the sources pHelmIvP:loiter, pHelmIvP:return, and pHelmIvP would all be binned under pHelmIvP.


  • Added support for the "mokai" vehicle type
  • Added support for terse node reports (omitting YAW, DEP, LAT, LON) if parameterized with terse_reports=true.


  • fixed bug in uXMS where timestamps were rendered in full UTM time rather than time since the start of the MOOSDB.


  • Augmented pBasicContactMgr to post CONTACTS_COUNT to indicate the number of vehicles currently alerted
  • Augmented to also post CONTACT_CLOSEST to indicate the contact closest to ownship.

Modifications to Existing Behaviors


  • 2010 Deprecated parameter collision_distance no longer supported. Use min_util_cpa_dist instead.
  • 2010 Deprecated parameter completed_distance no longer supported. Use completed_dist instead.
  • 2010 Deprecated parameter active_outer_distance and active_distance no longer supported. Use pwt_outer_dist instead.
  • 2010 Deprecated parameter active_inner_distance no longer supported. Use pwt_inner_dist instead.

Most Recent Previous Release Notes (15.5)