# UGV Interoperability Profile

UGV Interoperability Profile (UGV IOP), Robotics and Autonomous Systems – Ground IOP (RAS-G IOP) or simply IOP was originally an initiative started by the United States Department of Defense (DoD) to organize and maintain open architecture interoperability standards for Unmanned Ground Vehicles (UGV). A primary goal of this initiative is to leverage existing and emerging standards within the Unmanned Vehicle (UxV) community such as the Society of Automotive Engineers (SAE) AS-4 Joint Architecture for Unmanned Systems (JAUS) standard and the Army Unmanned Aircraft Systems (UAS) Project Office IOPs.
The IOP was initially created by U.S. Army Robotic Systems Joint Project Office (RS JPO): and is currently maintained by the U.S. Army Project Manager Force Projection (PM FP). The plural form Interoperability Profiles (IOPs) typically refers to the set of documents, which comprise the IOP and its intended usage. The IOPs are approved for public release. The National Advanced Mobility Consortium (NAMC) makes the IOPs available at the https://namcgroups.org website for registered users.

## Basic Concepts

From a system perspective, the IOP is defined to address interoperability at multiple levels within varying systems configurations, e.g.:
* OCU/UxV(s): Between Operator Control Units (OCU) and one or more Unmanned Vehicles (UxV(s))
* Intra-OCU: Between and among OCU hardware and software elements.
* Intra-UxV: Between and among UxV subsystems, payloads and platforms.
* OCU/UxV/C2: Between OCUs, UxVs and external C2 systems to exchange command and control, battlespace and audio/video information.
A key solution to this is the utilization of JAUS to establish a common message passing layer between the software components of the system. The IOP specifies rules for the use of standard JAUS messages as well as custom extensions to the standard message set.
For the interoperability of hardware components, the IOP also includes the specification of hardware plugs and mounts.

## Versions

The DoD intends to publish revisions to the IOP every other year. The current version is IOP version 2.0 (IOPv2). The release of version 3.0 is scheduled for the end of 2017.
Since version 3.0 the whole set of IOP documents is auto-generated from XML files.

## Document Structure & Overview

The IOPs consist of the following documents

### Overarching Profile

    Provides the base concepts, architecture, requirements, and overview for the IOP; and specifically addresses platform, payload, mobility, on-vehicle network, communication, and logical interoperability messaging requirements. Additionally, this document introduces and presents the conformance and validation approach to be employed within the IOP.

### Capabilities Plan

    Defines capability requirements related to the employment and usage of UGVs to perform current and relevant near-term robotic missions, in turn scoping and bounding the content of the IOP.

### SAE JAUS Profiling Rules

    Specifies the manner in which the SAE AS-4 JAUS standards have been profiled, to include clarification or additional content to define interoperability between controllers and UGVs as well as intra-UGV (platform/subsystem) interoperability.

### Custom Services, Messages and Transports

    Specifies additional SAE AS-4 JAUS messages and transport protocols required to support the scope of the IOP. Although titled “custom”, these messages are published and standardized within the IOP community with the end goal of transitioning to the SAE AS-4 JAUS standard(s) or other standards bodies for official adoption.

### Control Profile

    Specifies the Operator Control Unit (OCU) logical architecture, standards, Human-Machine Interface (HMI) requirements, and conformance approach to include host application user interface requirements, such as mission planning and command and control. Although OCU concepts and high level architecture are touched upon in the Overarching Profile, the Control Profile provides the more detailed requirements to specify how interoperability is to be achieved for conformant controllers.

### Payloads Profile

    Specifies the payload classification, standards, requirements, and conformance approach. Although these concepts are touched upon in the Overarching Profile, the Payloads Profile provides the more detailed requirements to specify the interoperability requirements for payloads with respect to the UGV platform.

### Communications Profile

    Specifies the communications standards, requirements, and conformance approach. Although these concepts are touched upon in the Overarching Profile, the Communications Profile provides the more detailed requirements to specify interoperability requirements for communications between and among controllers and UGVs.

### Applique Profile

    Specifies the appliqué systems classification, standards, requirements, and conformance approach. Although these concepts are touched upon in the Overarching Profile, the Applique Profile provides the more detailed requirements to specify the interoperability requirements for appliqué systems with respect to the unmanned ground systems, controllers, and base manned vehicle systems.

## Conformance Validation Tool

To validate the conformance of UGV components to IOP attributes (JAUS Profiling Rules), TARDEC has developed a software tool called Conformance Validation Tool (CVT). The CVT is a client tool that checks the interface (JAUS messages) and protocol (state) of the required JAUS services.
The CVT uses the original IOP XML-files to generate test messages. Thus, the CVT is considered to be the IOP reference implementation.

## Significance and Distribution
### NATO

The NATO Team of Experts on UGV has recommended the IOP to become a NATO STANAG. The proposal is being considered by NATO Land Capability Group Land Engagement (LCG LE). To prove the applicability of IOP to military robots, the NATO Team of Experts on UGV conducted several interoperability exercises and demonstrations.

### Commercial use

Several robotics companies already support IOP-compliant interfaces for their software or hardware products.

### Academia

Several academic robotics contests, like the IOP Challenge of the Intelligent Ground Vehicle Competition or the European Robotics Hackathon (EnRicH) recommend or require IOP as a common interface definition.

### Connection to other robotics middlewares

As IOP relies on the message passing architecture of JAUS, IOP-compliant software can be connected to other robotics middlewares through translating software bridges. Studies have shown, that IOP-compliant software can coexist with ROS-based robotics software.