The Undersea Cooperative Cueing and Intervention (UC2I) Program objectives include a heavy emphasis on developing autonomy for both unmanned underwater vehicles (UUVs) and Unmanned Surface Vehicles (USVs). The mission objective is to utilize a collection of such assets, each with different sensors, range, endurance, speed, and communications capabilities to work together to rapidly search and map a minefield area on the order of 100 x 100 kilometers in five days or under. This program explores the gain achieved by utilizing assets in a coordinated manner. Working together includes not only intervehicle cueing and sharing of information, but also the transportation, launch and recovery of UUVs from USVs. The possible configurations of platform assets, sensors, sensing algorithms, navigation algorithms and autonomy algorithms is enormous. Of significant concern to the Navy and the execution of this program is the ability to explore this configuration space to find the most effective system for achieving mission objectives. Practically speaking, this not only requires that software solutions are decoupled from hardware solutions, but that the collection of software modules that comprise the sensing, navigation and vehicle autonomy algorithms are also decoupled from one another. This white paper outlines the plan and software architecture ground rules for the UC2I program to meet that objective.
OVERVIEWThe architecture plan described here is composed of three paradigms. The first concerns separation of the vehicle autonomy system from the physical platform and platform specific core software. The second concerns the separation within the autonomy system between high-level functions, one of which is the module generating autonomy decisions. The third is the separation within the decision-making module between dedicated modules associated with mission objectives.
Backseat-driver paradigm:A division between "low-level" control and "high-level" control on the vehicle, with most likely the former residing on the vehicle's main computer, and the latter residing on a computer in a payload section that can be physically swapped out of the vehicle. The low-level control is also referred to as "vehicle control" and the high-level control as "mission control".
Publish-Subscribe Middleware:The term "middleware" here refers to the architecture software that coordinates the set of software modules collectively comprising the "backseat-driver" system running in the payload. Publish-subscribe middleware implements a community of modules communicating through a shared database process that accepts information voluntarily published by any other connected process, and distributes particular information to any such process that subscribes for updates to such information.
Modular Behavior-Based Autonomy:Behavior-based control is composed of a set of distinct, separate autonomy modules each vying for influence of the vehicle based on sensed conditions of the environment and individual objectives.