Roy M. Turner
Department of Computer Science
Kingsbury Hall
University of New Hampshire
Durham, NH 03824
E-mail: rmt@unh.edu
D. Richard Blidberg
Steven G. Chappell
James C. Jalbert
Marine Systems Engineering Laboratory
Marine Science Center
Northeastern University
Adams Point
Nahant, MA 01908
We are just beginning work on a project whose goal is developing a paradigm for autonomous control software for AUVs, automated ships, and other autonomous vehicles operating in the real world. This will be a generic approach; though the details will need to be tailored to the particular vehicle to be controlled, the broad outlines of the approach will not.Over the past seventeen years, the Marine Systems Engineering Laboratory has grappled with the enormous problem of fielding a working autonomous system, resulting in the development of the EAVE (Experimental Autonomous VEhicle) autonomous underwater vehicles, currently in the third generation (EAVE-III) [\protect\citenameJalbert, 1984][\protect\citenameBlidberg &Chappell, 1986][\protect\citenameBlidberg et al., 1990][\protect\citenameBlidberg et al., 1991]. As a pioneer in the field, MSEL could not and cannot escape the reality that there is currently no paradigm for developing an autonomous system. While those working on the hardware side of the problem enjoy a large pool of engineering techniques, traditions, and emerging standards, those involved in the control software have no such advantages. Unfortunately, AUV implementation is at heart a software rather than a hardware problem [\protect\citenameO'Brien, 1991]. There are a myriad approaches and software ``architectures'' for controlling autonomous vehicles resulting from each researcher or group of researchers starting from scratch . The design, implementation, and integration of autonomous control software is a complex problem that has given rise to many isolated (and perhaps orthogonal) approaches and that has resulted in much duplicated effort by the various researchers. The previous of these symposia alone [MSEL, 1991] had 25 papers devoted to higher-level vehicle behavior and control issues and six on multiple vehicle interactions-each describing or in the context of essentially different architectures.The approach relies on software objects called generic behaviors, which are action-producing objects in many ways like similar objects in other behavior-based approaches. However, unlike other approaches, our generic behaviors (GBs) not only encode low-level sensorimotor behaviors but also higher-level behaviors up to and including those dealing with mission-level control (e.g., mission planning). Our GBs also differ in residing in a principled layered software architecture, the EAVE AUV control architecture, and in containing knowledge that the architecture's software modules can use to decide when to activate or deactivate GBs and how to deal with their interactions.
This paper discusses the overall outline of our generic behavior-based architecture, including generic behaviors, how they are controlled within the EAVE software modules, and a semantic primitive-based vocabulary for communication between the behaviors, between vehicles, and between a vehicle and a user. The approach will hopefully be a unifying framework for control software development, implementation, and integration that will be made available to the larger AUV and autonomous systems development community.
We are just beginning work on a project whose goal is developing a paradigm for autonomous control software for AUVs, automated ships, and other autonomous vehicles operating in the real world. This will be a generic approach: while the details will need to be tailored to the particular vehicle to be controlled, the broad outlines of the approach will not. The approach will be a unifying framework for control software development, implementation, and integration that will be made available to the larger AUV and autonomous systems development community.
We will build on our considerable experience with the EAVE software architecture [\protect\citenameJalbert, 1984][\protect\citenameBlidberg &Chappell, 1986][\protect\citenameBlidberg et al., 1990][\protect\citenameBlidberg et al., 1991] to develop a generic architecture. The EAVE architecture can already be viewed as generic in broad outline. It provides a time-based and functional decomposition of tasks that any autonomous control architecture will need to do. During this project, we will concentrate on developing ways of describing and implementing these tasks as generic behaviors and defining the interactions between them, between vehicles, and with the user. This generic approach will be useful both for our AUV development efforts and to the broader autonomous systems community. We foresee the resulting architecture providing a framework to facilitate autonomous systems development and their use.
In this paper, we discuss the overall outline of generic behavior-based control architecture, including the generic behaviors (at the perception-action level, the mission-control level, and at all levels in between), how they are controlled within the EAVE software modules, and a semantic primitive-based vocabulary for communication between the behaviors, between vehicles, and between a vehicle and a user. We discuss our future plans for this project, including how information about the work and the results will be disseminated to the broader AUV and automated systems community.