Software



Group: MOOS-IvP


Total Lines of Code: 159,807

Total Files of Code: 1,164

Total Work Years: 34.28


Group Description: (109 modules)

This group contains all modules in the MOOS-IvP release. All MOOS apps, all behaviors, all command line utilities and all libraries.

Documentation:

Distribution:

  • moos-ivp.org (Public anonymous access)
    svn co https://oceanai.mit.edu/svn/moos-ivp-aro/trunk moos-ivp

Modules:

  • alogavg: Utility for averaging Y-values per X-Value for file with X-Y value per line.
  • alogbin: Utility for binning data within similar ranges into clusters.
  • alogcat: ConCATinate two alog files into one alog file.
  • alogcd: Scan an alog file for collision detection reports.
  • alogcheck: Scan an alog file and check if given condition is satisfied.
  • alogclip: Trim an alog file given a start and end time stamp.
  • alogeplot: Produce an encounter plot image from encounters from and alog file.
  • aloggrep: Trim an alog file by retaining specified MOOS variables.
  • aloghelm: Scan an alog file to generate one of several helm reports.
  • alogiter: Scan an alog file to analyze avg application load by iterations.
  • alogpare: Prune an alog file based on events and mark values.
  • alogrm: Prune an alog file by removing nammed MOOS variables.
  • alogscan: Scan an alog file and produce breakdowns on log volume.
  • alogsort: Create new alog file sorting entries based on timestamp.
  • alogsplit: Split an alog file into dedicated alog files per variable.
  • alogview: A GUI tool for replaying and analyzing one or more vehicle alog files.
  • gen_obstacles: A command line tool for random generation of obstacle polygons to a file.
  • MOOSDB: The main communication mechanism for all MOOS apps.
  • iMatlab: A tool for connecting Matlab to a running MOOS community.
  • iRemoteLite: A remote control interface for manual vehicle control.
  • iSay: Invokes system text to voice upon postings to the MOOSDB.
  • manifest_test: A command line utility for correctness testing of manifest files.
  • manifest_wiki: A command line utility for generating web content from manifest files.
  • pAntler: A utility for launching a batch of MOOS processes.
  • pBasicContactMgr: Manages known contacts and generates alerts consumed by the helm.
  • pContactMgrV20: Manages known contacts and generates alerts consumed by the helm.
  • pDeadManPost: Enable configured postings to be staged in the absence of other events.
  • pEchoVar: Re-post configured MOOS variables under a different name(s).
  • pHelmIvP: A behavior-based helm with multi-objective optimization based (IvP) action selection.
  • pHostInfo: Auto-detect the machine's IP address and MOOSDB port number.
  • pLogger: A utility for logging the variables histories from the MOOSDB.
  • pMarinePID: Simple PID controller for heading, speed and depth.
  • pMarineViewer: Mission control GUI for monitoring, deploying and commanding vehicles.
  • pNodeReporter: Gather vehicle navigation info into single published node report.
  • pObstacleMgr: Manages known contacts and generates alerts consumed by the helm.
  • pRealm: Shadow the local MOOSDB and support RealmCasting requests.
  • pShare: A tool for bridging between MOOS communities.
  • pickpos: A cmdline utility choosing simulation starting values.
  • uFldBeaconRangeSensor: Simulates range information derived from pinging a buoy.
  • uFldCollisionDetect: Monitors ship traffic collisions and reports near collisions.
  • uFldCollObDetect: Monitors ship traffic obstacle collisions and reports near collisions.
  • uFldContactRangeSensor: Simulates range measurements to other moving contacts.
  • uFldMessageHandler: Handles and unwraps incoming messages from other vehicles.
  • uFldShoreBroker: Facilitates shoreside share connections to vehicle communities.
  • uFldNodeComms: Shoreside MOOS App for conditionally sending messages between vehicles.
  • uFldObstacleSim: Simulation of obstacle (re)generation and lidar sensing of obstacles.
  • uFldScope: Shoreside MOOS App for monitoring user-chosen fields across vehicles.
  • uFldNodeBroker: Facilitates vehicle share connections to shoreside community.
  • uFunctionVis: A GUI based MOOS App for monitoring IvP Helm objective functions.
  • uHelmScope: A terminal based MOOS App for monitoring the state of IvP Helm.
  • uLoadWatch: A utility for monitoring the load of MOOS Apps.
  • uMAC: A terminal based MOOS app for monitoring appcasts.
  • uMACView: A GUI based MOOS app for visually monitoring appcasts.
  • uMS: A graphical scope for monitoring the contents of a running MOOSDB.
  • uMemWatch: A MOOS app for monitoring the memory usage of other apps.
  • uPlotViewer: A GUI based MOOS app for plotting a frequency bar graph.
  • uPokeDB: A command line app for poking the MOOSDB.
  • uProcessWatch: A MOOS app for monitoring the presence of other MOOS apps.
  • uQueryDB: A command line app, connect to MOOSDB, check condition, then exit.
  • uSimMarine: A simple marine vehicle simulator.
  • uTermCommand: A terminal MOOS app for poking the MOOSDB with pre-configured pokes.
  • uTimerScript: An app for generating scripted pokes to the MOOSDB.
  • uXMS: A command line app for scoping the MOOSDB.
  • zaic_hdg: A GUI utility for exploring the ZAIC_HDG IvPBuild tool.
  • zaic_hleq: A GUI utility for exploring the ZAIC_LEQ and ZAIC_HEQ IvPBuild tools.
  • zaic_peak: A GUI utility for exploring the ZAIC_PEAK IvPBuild tool.
  • zaic_spd: A GUI utility for exploring and rendering the ZAIC_SPD build tool.
  • zaic_vect: A GUI utility for exploring the ZAIC_VECT IvPBuild tool.
  • BHV_AvdColregs: A behavior for avoiding collision based on CPA and COLREGS considerations.
  • BHV_AvoidCollision: A behavior for avoiding collision based primarily on CPA considerations.
  • BHV_ConstantDepth: A behavior for specifying the desired depth of the vehicle.
  • BHV_ConstantHeading: A behavior for specifying the desired heading of the vehicle.
  • BHV_ConstantSpeed: A behavior for specifying the desired speed of the vehicle.
  • BHV_CutRange: A behavior intercepting, closing range, to another moving vessel.
  • BHV_GoToDepth: A behavior for specifying a sequence of desired depths of the vehicle.
  • BHV_Loiter: A behavior for repeatedly traversing a given convex polygon of waypoints.
  • BHV_MaxDepth: A behavior to influence the vehicle to go no deeper than a given depth.
  • BHV_MemoryTurnLimit: A behavior preventing quick wrap-around turns, especiall with towed sensor.
  • BHV_OpRegion: A behavior monitoring vehicle position to remain within a convex polygon region.
  • BHV_PeriodicSpeed: A behavior for periodically influencing the vehicle speed.
  • BHV_PeriodicSurface: A behavior for periodically influencing the vehicle to surface.
  • BHV_Shadow: A behavior matching the heading and speed of a contact vehicle.
  • BHV_StationKeep: A behavior for holding a vehicle at a given position.
  • BHV_TestFailure: A behavior designed to fail, to test the helm's handling of a behavior failure.
  • BHV_Timer: A behavior for posting to the MOOSDB based on other events or timing.
  • BHV_Trail: A behavior for maneuvering ownship at a relative bearing and range to a contact.
  • BHV_Waypoint: A behavior for traversing a given set of waypoints.

  • lib_MOOS: Core MOOS comms, MOOS App superclass, and utitlities implementation.
  • lib_apputil: A library for supporting AppCasting MOOS apps.
  • lib_behaviors-colregs: A library holding the COLREGS collision avoidance behavior implementation.
  • lib_behaviors-marine: A library holding most of the IvP behaviors of MOOS-IvP.
  • lib_behaviors: A library containing superclass code for all IvP behaviors.
  • lib_bhvutil: A library holding several utility classes used by behaviors.
  • lib_contacts: A library implementing the node report message structure.
  • lib_encounters: A library holding the Encounter class, for vehicle CPA encounters.
  • lib_genutil: A library used by applications having both a MOOS and user interface.
  • lib_geometry: Core geometry libraries for autonomy behaviors and GUIs. Includes CPAEngine.
  • lib_helmivp: A library holding most non-MOOS specific code of the IvP Helm.
  • lib_ipfview: A library with classes to support the rendering of IvP Functions.
  • lib_ivpbuild: A library with utilities for build IvP Functions.
  • lib_ivpcore: A library with core classes for representing IvP Functions and IvP Domains.
  • lib_ivpsolve: A library for representing and solving IvP Problems.
  • lib_logic: A library for implementing simple Boolean logic in applications.
  • lib_logutils: A library of utilities to support many of the apps in the ALog Toolbox.
  • lib_manifest: A library with key manifest data structures an I/O functions for populat ing manifests.
  • lib_marineview: A library common classes for supporting GUIs with marine operation views.
  • lib_ucommand: A library for supporting CommandFolios - mission control pre-defined sets of commands.
  • lib_ufield: A library for holding a few classes shared across apps in the uField Toolbox.
  • lib_zaicview: A library with common superclasses used by all the zaic utilities.

Group: 2.680


Total Lines of Code: 6,803

Total Files of Code: 67

Total Work Years: 1.35


Group Description: (10 modules)

Modules used in MIT 2.680 Marine Autonomy, Sensing, and Communications

Documentation:

Distribution:

  • moos-ivp.org (Public anonymous access)
    svn co https://oceanai.mit.edu/svn/moos-ivp-2680-aro moos-ivp-2680

Modules:


  • lib_henrik_anneal: A library with annealer and thermal front sim, for 2.680 Front Estimation lab.
  • lib_ufld_hazards: A library containing key data structures for the 2.680 Hazard Search Lab.

Group: Swarm Toolbox


Total Lines of Code: 21,582

Total Files of Code: 145

Total Work Years: 4.45


Group Description: (19 modules)

The Swarm Toolbox is a collection of robot applications, command-and-control applications, helm behaviors, engineering development tools and core libraries for support multi-vehicle collaborative (swarm) autonomy missions. The mission focus areas were chosen based on ongoing research projects, but the core data structures and algorithms generalize to many different kinds of missions. This includes capabilities for decentralized auction-based decision-making, new task-handling capability for behaviors based on a new IvPTaskBehavior superclass, and a family of distributed coverage algorithms based on Voronoi decompositions of collaborators.

Documentation:

Distribution:

  • MIT Pavlab Development Code (password required)
    $ svn co https://oceanai.mit.edu/moos-ivp-swarm-aro moos-ivp-swarm

Modules:

  • pTaskManager: An app for managing incoming tasks and spawning appropriate behavior(s).
  • uSimMarineX: A much faster new version of uSimMarine with embedded PID controller.
  • alogmtask: Analyze an alog file for mission task events and resolutions.
  • pMarinePIDx: A refactored PID controller using new utility classes.
  • uFldTaskMonitor: A shoreside tool for monitoring tasks across a group of vehicles.
  • uFldVoronoi: A shoreside tool for rendering vehicles participating in a Voronoi coverage.
  • pEncircle: An app to enable balanced encircling with multiple vehicles.
  • bngview: A GUI app rendering pair of vehicles and several geometric relationships.
  • gridview: A GUI app for rendering a region/grid, and creating bathymetry map.
  • voiview: A GUI app for rendering and testing Voronoi data structures and algorithms.
  • obview: A GUI app for rendering and testing obstacle avoidance algorithms.
  • BHV_Muster: A behavior mustering in a region and keeping separation from others.
  • BHV_TaskMuster: A task behavior for auctioning on traversing to a muster region.
  • BHV_TaskWaypoint: A task behavior for auctioning on traversing to a destination.
  • BHV_TaskConvoy: A task behavior for auctioning on forming a convoy ordering.

  • lib_marine_pid: Library holding PID Engine code for embedding in apps using PID control.
  • lib_voronoi: Library holding key data structures and utilities for Voronoi apps/behaviors.
  • lib_genpoly: Library representing and handling general non-convex polygons.
  • lib_helmtask: Library of core classes and utilities for task related behaviors and apps.