Release Notes for Version 15.5 (May 22nd, 2015)

  • Release 15.5 contains a MOOS Release 10.0.3, which was posted by P.Newman/Oxford May 18, 2015.

pHelmIvP

  • Upon an unfound behavior in the configuration file, pHelmIvP no longer quits with an error message to the terminal. Instead it launches into a MALCONFIG state with its appcasting output indicating the offending line in the configuration file.
  • Modified to not post a helm decision for one iteration if there are no active behaviors. Relevant in situations where the helm is transitioning between modes, end flags trigger new behaviors/mode but for one transition iteration no behaviors are active. Rather than post desired speed of zero, helm just posts no new decision for one iteration. If an all-stop situation is encountered in the helm, the helm will post desired speed of zero immediately.

BHV_Waypoint

  • supporting config parameter currix=N which allows the behavior to immediately regard the current waypoint index to be set to N. Normally upon startup, or upon an update to the waypoints, the index is set to zero, the first waypoint. This parameter allows for an override of that policy.
  • An optional MOOS variable may be named via the wpt_dist_to_next parameter which, if non-empty, results in the posting to this variable of the linear distance to the next waypoint from the vehicle's current position. This allows other MOOS apps or behaviors to possibly modify their function, e.g., either changing speed or toggling a sensor as a turn is approached. This value changes to -1 in the idle state.
  • An optional MOOS variable may be named via the wpt_dist_to_prev parameter which, if non-empty, results in the posting to this variable of the linear distance to the previous waypoint from the vehicle's current position. This allows other MOOS apps or behaviors to possibly modify their function, e.g., either changing speed or toggling a sensor after a waypoint has been achieved. This values changes to -1 in the idle state.
  • The wptflag parameter has been augmented to allow for macros $(NX), $(NY), NX, and NY to be expanded to the x-y components of the next waypoint. This allows consumers of this information to know where the waypoint behavior is going next.
  • An optional config parameter, crs_spd_zaic_ratio=N, where N is in the range of [1,99]. This sets the weight of the heading portion of the heading-spd zaic created in the ZAIC (default) mode for IvP function creation. The corresponding speed weight is implied to be 100-N, so the two always add to 100 and neither is below 1 or greater than 99. The default is 50-50.

BHV_OpRegion

  • Added optional opregion_poly_var config parameter that names a MOOS variable that will be posted containing the prevailing OpRegion polygon upon startup
  • Fixed posting of VIEW_POLYGON representing the OpRegion poly, to now have a disctinct label, so successive postings will result in a redraw of the polygon. A re-posting may happen if the OpRegion poly is updated through the updates variable.

BHV_AvoidObstacle

  • Many improvements and bug fixes.

alogview

  • A major re-write of the previously existing alogview tool for analyzing post-mission data in the typical .alog file format produced by pLogger.
  • One of the biggest changes addresses the run-time memory size of alogview as it loads data from several vehicles with large alog files. The previous alogview tool would load *all* data from all vehicles upon startup. This could overwhelm the program and hang as the memory usage out-grew the RAM on modest to low-memory machines. The current implementation splits the log file into separate temporary files and grabs the data at run time from these files as-needed.
  • The GUI layout has changed to support the helm-state and IvPFunction views as separate pop-up windows. The user doesn't see them when not interested, and the user may bring up as many as desired as needed.
  • One or more Variable-History scopes may be opened on any subset of MOOS variables across all vehicles. For both string and double data.
  • Numerical log plots in the bottom of the main window may be synced to be on the same y-axis scale is desired.
  • More control over automatic replay speed and refresh rate. Replay speed limited by what is being drawn/calculated between iterations, and by the refresh rate. Viewer will show requested vs. actual refresh rate.
  • Command line switches for choosing initial startup conditions including initial logged variables, pan, zoom, and initial start time.
  • Command line switch for specifying a time range, allowing the tool to load less memory into RAM. Previously only possible by first clipping the alog files.
  • The IvPFunction viewer popup window will now show all behaviors with the current priority weight next to each. User can toggle between individual and collective IvP function view mode.
  • Support for alternate navigation solutions, so playback may render the vehicle's ground truth and on-board navigation solution simultaneously.
  • Many other bug-fixes

pMarineViewer

  • Fixed problem where MVIEWER_LCLICK was not being published correctly
  • Added ability to "clear" geometric objects with PMV_CLEAR subscription
  • Fixed problem in pMarineViewer where the background image defaulted to the MIT campus if left unspecified, and wouldn't draw at all if the MIT image was removed from ivp/data/. It now launches and draws fine if no background image is found or if left unspecified.

uFldNodeBroker

  • Fixed a bug that could prevent node connections in some cases. These cases were when pShare started sufficiently later than uFldNodeBroker, perhaps missing the cluster of initial config messages published by uFldNodeBroker.

pDeadManPost (New App)

  • The pDeadManPost application allows the user to arrange configured posts to the MOOSDB made only upon the absence of another event. There are several uses for this, but here are a few of the ideas that motivated this app:
  • On a shoreside community, a dead-man post can be made to trigger an alert when a deployed vehicle is out of contact after some period of time. The alert could be a posting to trigger an alarm .wav file or a spoken alert message through iSay.
  • On a vehicle, a dead-man post can be made to put a unmanned surface vehicle in a station-keeping mode if comms to the shoreside command and control goes silent for some period of time.

uSimMarine

  • Supports reverse thrust (DESIRED_THRUST < 0)
  • Added support for differential thrust mode. Essentially allows the vehicle to traverse backwards using normal waypoint behaviors.
  • Bug fix - negative thrust was not working properly
  • Added support for halting the vehicle propagation when OBSTACLE_HIT=1 is posted.

pNodeReporter

  • Added ability to detect when in reverse thrust mode and note it in the NODE_REPORT

aloggrep

  • Added --no_comments (or -nc) command line arg to allow for the output to discard the comments typically found at the top of an alog file
  • Added --no_report (or -nr) command line arg to allow for the output to not produce the summary report normally generate to stdout during normal operation.
  • Added the --quiet (or -q) command which is essentially a shortcut for --no_comments and --no_report
  • Added ability to filter out lines that don't begin with a number. These lines are typically from an entry with carriage returns. The primary offender in this regard is DB_VARSUMMARY. If DB_VARSUMMARY is on the list of variables to retain, then badlines are not filtered out. Otherwise they are filtered out automatically. The automatic filtering out of badlines can be overridden with the --keep_badlines/-kb command line switch.

alogrm

  • Added ability to handle lines that don't begin with a number. These lines are typically from an entry with carriage returns. The primary offender in this regard is DB_VARSUMMARY. If DB_VARSUMMARY is on the list of variables to be removed, then badlines are now properly removed along with the DB_VARSUMMARY line. Otherwise the badlines are retained.

alogscan

  • Added ability to handle lines that don't begin with a number. These lines are typically from an entry with carriage returns. The primary offender in this regard is DB_VARSUMMARY.

alogsort

  • Added ability to handle lines that don't begin with a number. These lines are typically from an entry with carriage returns. The primary offender in this regard is DB_VARSUMMARY.

alogsplit (New App)

  • This app will a given alog file into a directory, within which each MOOS variable is split into it's own (klog) file containing only that variable. The split will also create a summary.klog file with summary information.
  • Given file.alog, file_alvtmp/ directory will be created. Will not overwrite directory if previously created.
  • This is essentially the operation done at the outset of launching the alogview applicaton.

uFunctionVis

  • Fixed glitch that prevented the Behaviors pull-down menu from appearing upon startup

BUILD Script (build-ivp.sh)

  • Allows for three different build sets: (a) Full build, the default, (b) Full build minus any GUI applications (--nogui), and (c) a minimal robot build containing only those apps conceived to run a robot platform (--minrobot,-m). The latter is to address cases where compiling on a slower CPU as is more typically found on a robot compared to a development computer.
  • Allows for three different compiler flags options. (a) optimization and debug flags turned on, the default, (b) optimization flags turned off (--noopt), (c) debug flags turned off (--nodebug). The (--fast,-f) option turns both flags off.
  • The fastest possible build is ./build-ivp.sh -f -m
  • As before, ./build-ivp.sh -h displays the above options in the terminal.

Most Recent Previous Release Notes (14.7.1)