Prev-Talk | Next-Talk | All-Talks | Talks-Sorted

Talk-05: Integrating MOOS Into An Existing AUV Using Gumstix

Dave Billin, University of Idaho

The University of Idaho Center for Intelligent Systems Research (CISR) employs a small fleet of autonomous underwater vehicles (AUVs) used in research funded by the Office of Naval Research (ONR). For the past four years, the CISR AUVs have successfully served as a research platform for developing collaborative autonomous behaviors in underwater vehicles. In an effort to increase the portability of results obtained from this research, CISR has undertaken a pilot program to transfer the AUVs' collaborative behaviors to a MOOS-based software system. To this end, two of the Rabbit 3000 microprocessors in the AUV's embedded control system have been replaced with Gumstix OVERO embedded computing modules running the Angstrom Linux operating system. The presentation will discuss aspects of porting MOOS to the Gumstix platform, MOOS software created for the CISR AUV, and remaining challenges in interfacing the vehicle's sensor, actuator, and communication systems with MOOS IvP Helm navigation facilities.

Work to date has focused on configuration and use of the OpenEmbedded build system used to cross- compile software for the ARM Cortex A8 processor on the Gumstix OVERO modules. Initial efforts concentrated on porting the MOOS core libraries and IvP Helm and installing them on the Gumstix modules. This was done through the creation of 'recipe' scripts for the OpenEmbedded build tool, BitBake. The output of this tool came in the form of .ipk packages containing compiled binaries that could be easily transferred to and installed on the Gumstix from a command line interface. In an effort to maximize compatibility with future MOOS software revisions, the recipe scripts were designed so that they made use of the CMake configuration files distributed with MOOS.

After successfully porting the core libraries and applications, development began on several MOOS instruments used to interface with the AUV hardware subsystems. These applications coupled a MOOS database running on one of the Gumstix with AUV sensor and control devices attached via serial and Ethernet ports. Specifically, these included:

  • A Woods Hole Oceanographic Institution (WHOI) Acoustic Micro-modem
  • A 900 MHz Digi International radio modem
  • An Archangel Inc. IM3 Inertial Measurement Unit (IMU)
  • A DSP-based processing module used to acquire and record sensor payloads
  • Two Ethernet-connected Rabbit 3000 micro-controllers supplying additional sensors and control over the AUV's control surfaces and propeller drive.

Subsequent development has centered on the design of middle-ware applications that interface AUV sensors to IvP Helm navigation and handle AUV-specific requirements for command and control. One such application, pPositionAgent, utilizes an extended Kalman filter (EKF) implementation from the Rabbit-based AUV systems to combine acoustic navigation, data from a GPS receiver and readings from several other on-board sensors. Based on these inputs, the EKF produces an estimated vehicle position, heading, depth, and speed, and publishes them to the corresponding “NAV_*” variables used by IvP Helm. This application offers similar functionality to the EKF provided by pNav, but incorporates specifics of the acoustic navigation implementation used by the CISR AUV.

A second application being developed, pMissionManager, provides a mechanism by which files containing multi-vehicle collaborative objectives, navigation behaviors, waypoint lists, and system settings can be loaded from files and applied to the MOOS community. This allows the current mission to be aborted while underway, and a new set of mission objectives to be loaded from pre-defined mission files. Thus the AUV can be re-tasked via a single 'start mission' command sent via radio or acoustic modem, removing the need to re-launch MOOS processes with a new .moos mission file.

Another application, pMissionMonitor, provides a simple means by which one or more MOOS variables can be monitored. MOOS variables to be monitored are specified in the .moos mission file along with associated parameters defining the range or set of values they may take on. If the value of a monitored variable exceeds its specified boundaries, a second MOOS variable, also defined in the mission file parameter set, will receive a predefined value. Currently, this is being used to detect critical faults that might occur in the CISR AUV such as a water leak or low battery voltage. In such a case, pMissionMonitor can easily be configured to engage emergency behaviors or simply revert vehicle navigation to manual control. The generalized approach used for this application may, however, make it useful for other tasks.

The number of MOOS applications being generated for the CISR AUV project led to a desire to maintain consistency among developers and applications. Partially to address this, a project wizard for Microsoft Visual Studio 2008 was created to generate ready-to-build boilerplate MOOS applications. The current version of this tool will create MOOS processes or instruments based on template files. The generated files come complete with doxygen format comments, and include a CMake configuration file (CMakeLists.txt), a .moos mission file, and a README.txt documentation file. A similar tool for the Eclipse CDT development environment is also being considered for future work.

Significant progress has been made in the CISR AUV project, however many challenges still lay ahead. Strategies for transitioning actuator control algorithms from the Rabbit-based AUV design are currently being evaluated. Wherever possible, CISR would prefer to implement control systems using MOOS software – ideally by using readily-available applications such as pNav and pMarinePID. It is not yet clear, however, whether these applications include the necessary facilities to accommodate all of the implementation details particular to the CISR AUV, such as the vehicle's positive buoyancy and the use of synchronous acoustic navigation. Similar considerations are being given to timing and media access control needed to implement both acoustic communication and navigation via the WHOI acoustic modem.

Despite these uncertainties, it is anticipated that by the end of 2010, continued design efforts will yield functional navigation and control systems for the CISR AUV that are entirely MOOS-based.

Related Material:

Categories:

  • Acoustic Communications,
  • Multi-Vehicle Autonomy
  • Autonomy
  • UUVs
  • MS Windows
  • Academia