MOOS-IvP   Home Page   (www.moosivp.org)
Home   Documentation   Software   Support   Contact Us   Background  

Downloading the IvP Helm Code and Documentation
About this code:
    This code tarfile contains ~25 distinct software modules supporting autonomous control of unmanned marine vehicles, only eight of which are dedicated specifically to autonomous control. The remaining modules provide sufficient ability (simple simulation, rendering, and mission control etc) to run the examples provided in the documentation.
    The primary executable, pHelmIvP, is a MOOS application that co-exists with other MOOS processes in a typical configuration. MOOS is a set of software modules written by Paul Newman of Oxford University, initially when Paul was a post-doc at MIT working for John Leonard.   MOOS has been extended and improved since Paul has moved to Oxford and the latest releases are available from the Oxford website.   The core of MOOS provides interprocess communication and scheduling of processes. In addition, a number of useful MOOS applications are provided by Newman, some of which are re-included in this tarfile for the sake of providing a minimally functional system to get started with the helm.
Compiling and running this code:
    To compile this code, see the README file in the top level directory. To run this code, see the examples described in the documentation linked above.
Email Discussion Lists:
    MOOS-IvP email list:     All things related with the modules posted on this website.
MOOS email list:     All things MOOS related.

Module Descriptions:
    MOOS Core (Newman)
Strictly minimal set of modules for running MOOS. Latest versions and documentation at Paul Newman's website. Included here to allow for a complete stand-alone software set.
MOOSLIB:    A library of core MOOS classes and functionality
MOOSGenLib:    A library of general purpose MOOS utilities
MOOSDB:    The MOOS database process central to all MOOS apps   
 
    General Utilities (Newman)
Utilities essential in practice for effective MOOS usage. Latest versions and documentation at Paul Newman's website along with many other useful applications. Included here to allow for a complete stand-alone software set.
MOOSUtilityLib:    A library of general purpose MOOS utilities
iRemote:    A remote control interface for manual vehicle control
pAntler:    A utility for launching a batch of MOOS processes
pLogger:    A tool for logging variable histories from the MOOSDB
pMOOSBridge:    A tool for bridging variables between MOOS communities
 
IvP Helm Core (Benjamin)
Strictly minimal set of modules for running the IvP Helm.
pHelmIvP:    An autonomous helm for marine and land robots
lib_helmivp:    A library of the non-MOOS side of the IvP Helm
lib_behaviors:    A library definining general IvP Behavior properties
lib_behaviors-marine:    A library of marine autonomy behaviors
lib_geometry:    A library of geometry data structures and algorithms for use by behaviors
lib_ivpcore:    A library of core IvP data structures and algorithms
lib_ivpbuild:    A library of tools for building IvP Functions
lib_mbutil:    A library of general-purpose utility tools
 
General Utilities (Benjamin)
Practical utilities for running, planning and analyzing autonomy missions. Not strictly required for Helm operation, and with less guarantee of support and bug testing as the IvP Helm modules. Feedback and bug reports are welcome, complaints to /dev/null.
uHelmScope:    A terminal-based scope on a running IvP Helm process
pMarinePID:    A PID controller for marine and land robots
iMarineSim:    A very simple marine vehicle simulator.
pEchoVar:    A tool for re-publishing MOOS variables under a different name
pMarineViewer:    A modest real-time 2D multi-vehicle renderer
uXMS:    A terminal-based MOOS scope
pTransponderAIS:    An AIS-like report generator and receiver
uTermCommand:    A terminal-based tool for executing pre-defined pokes of the MOOSDB
app_geoview:    A tool for plotting and rendering waypoints on a 2D geodisplay
app_logview:    A tool for rendering logged vehicle data on a 2D geodisplay
lib_marineview:    A library of common 2D vehicle rendering tools
lib_navplot:    A library of tools for dealing with vehicle nav plots

Related Publications:
  • M. Benjamin, J. Curcio, J. Leonard, P. Newman, "Protocol-Based COLREGS Collision Avoidance Navigation Between Unmanned Marine Surface Craft", Journal of Field Robotics, Vol. 23, No. 5, May 2006.
  • D. Eickstedt, M. Benjamin, H. Schmidt, J. Leonard, "Adaptive Control of Heterogeneous Marine Sensor Platforms in An Autonomous Sensor Network", IEEE/RJS International Conference on Intelligent Robots and Systems (IROS), Beijing China, October 2006.
  • M. Benjamin, J. Curcio, J. Leonard, P. Newman, "Navigation of Unmanned Marine Vehicles in Accordance with the Rules of the Road", International Conference on Robotics and Automation (ICRA), Orlando FL, May 2006.    [pdf]
  • M. Benjamin, M. Grund, P. Newman, "Multi-objective Optimization of Sensor Quality with Efficient Marine Vehicle Task Execution", International Conference on Robotics and Automation (ICRA), Orlando FL, May 2006.    [pdf]
  • M. Benjamin, "The Interval Programming Model for Multi-objective Decision Making", AI Lab Technical Memo AIM-2004-021, Massachusetts Institute of Technology, Cambridge MA, Septempber 2004.    [pdf]
  • M. Benjamin, "Interval Programming: A Multi-Objective Optimization Model for Autonomous Vehicle Control", PhD thesis, Brown University, Providence RI, May 2002.   [pdf]