CDR Duane Davis, USN
Autonomous Vehicle Control Language (AVCL):An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability
Ph.D. Committee:Dr. Don BrutzmanDr. Robert McGheeDr. Neil RoweDr. Chris DarkenDr. Mike Zyda
6 April 2005
Outline• What and Why?• Proposed Solution Overview• Related Work
Autonomous Vehicle Control Paradigms System and Platform Independent Data Formats
• Some Specifics Script and Communications Translations Declarative Mission Translations Experimentation What’s Done So Far (Demo)
Proposed AV Tasking Examples• Underwater
Maritime Reconnaissance Undersea Search and Survey Communications / Navigation Aid Submarine Track and Trail
• Surface Force Protection / Port Security Patrol and Reconnaissance Maritime Interdiction
• Ground Reconnaissance Surveillance and Target
Acquisition Minefield Detection and
Neutralization Contaminated Area
Operations
• Air Airborne Early Warning Surveillance and Target
Acquisition Search and Rescue Communications Relay
The Problem
• Examples Homogeneous vehicle system: Swarming Programmed compatibility: CJTFEX 04-2 Coordinated MCM
Vehicle-specific data formats and mission planning systems preclude effective coordination in multi-vehicle systems and hinder the design of such systems.
To date, the preponderance of multi-vehicle research has assumed inherent compatibility: homogeneous vehicle systems or explicitly programmed compatibility.
The Solution• A Well Defined Common Format:
Mission Specification (tasking) Communications Mission Results
• Automated Conversions AVCL to Vehicle-Specific Vehicle-Specific to AVCL
• Ultimate Goals Facilitate interoperability between
dissimilar vehicles (including legacy) Support pre-, mid-, and post-mission
data requirements Provide other vehicles and human
operators intuitive and efficient data access
AAV 2
AGV 2
AVCL
AUV 2
AAV 1
AGV 1
AUV 1
AAV 2
AGV 2
AUV 2
AAV 1
AGV 1
AUV 1
Specifics• Develop an Ontology for Use in Describing:
AV Tasking at Various Levels of Abstraction Iterative Scripts Declarative Goal / Constraint Defined Missions
Mission Results In-Mission Communications
Selected Research Goals• Define a Set of Task-Level Commands for use with
Arbitrary Vehicles• Develop Methods for Automated Conversions between
Task-Level AVCL and Vehicle-Specific Languages• Develop a Vocabulary for Declarative Tasking• Utilize AI Planning Algorithms to Generate Plans Consisting
of Task-Level Commands to Execute Declarative Missions• Develop Communications Primitives for Arbitrary Run-Time
Communications• Utilize Automated Conversion Techniques to Translate
between AVCL and Vehicle-Specific Languages
Why XML?• Schema (or DTD) Governance
Consistency Validation
• Encapsulated Semantics Tagnames, Attribute Names, and Document Structure
Imply Meaning Human or Machine Readable
• Transformations• Tools
APIs, Standards, and Authoring Tools Product Auto-Generation
AV Control Methodologies• Scripted Control
• Hierarchical Control
• Behavioral Control
• Hybrid Control
Scripted Control• Missions Executed Iteratively
with Little Branching• Simplest and Most Common
Methodology• Exemplar Systems:
NPS Aries AUV Hydroid REMUS AUV NRL/NAVO Seahorse AUV
• Relevance of AVCL Mappings between AVCL Task-
Level Commands and Vehicle-Specific Script Commands
POSITION 0 0 0RPM 500WAYPOINT 100 10 10HOVER 100 50 10GPSFIXRPM 700WAYPOINT 0 50 5WAYPOINT 0 100 5WAYPOINT 100 100 5HOVER 100 150 10GPSFIXWAYPOINT 0 150 10WAYPOINT 0 200 10WAYPOINT 100 200 10WAYPOINT 100 250 10HOVER 0 250 10GPSFIXHOVER 0 0 10 360DEPTH 0WAIT 25QUIT
Hierarchical Control• User Defined Complex Tasks• Planner Generates Subtasks• Lowest Layer Consists of
Script Commands• Exemplar Systems:
Draper Labs ADEPT Architecture for Intelligent Autonomy
NUWC UUV-21 AUV• Relevance of AVCL:
Declarative Definition of Complex Tasks
Mapping between AVCL Task-Level Commands and Subtasks
Complex Task
Subtask 1 Subtask 2 Subtask 3
Sub-Subtask 1
Sub-Subtask 2
Sub-Subtask 3
Behavioral Control• Purely Reactive Behaviors• High-Level Mission
Management to Activate, Deactivate, or Blend Behaviors
• Exemplar Systems: CMU’s Distributed Architecture
for Mobile Navigation (right) PSU ARL Intelligent Controller
• Relevance of AVCL: Mapping between AVCL Task-
Level Commands and Behavioral Mission Specification
Hybrid Control• Hierarchical (deliberative) Top
Layers• Behavioral (reactive) Lower
Layers• Exemplar Systems:
Planner / Reactor Architecture NUWC Common Control
Language
• Relationship to AVCL: Declarative Definition of Complex
Tasks Mapping between AVCL Task-
Level Commands and Subtasks
Typical Hybrid Control Architecture
System Independent Data Formats
• Compact Control Language (C2L) Woods Hole Oceanographic Institute
• Common Control Language (CCL) Naval Undersea Warfare Center University of Massachusetts Autonomous Undersea Systems Institute
• Joint Architecture for Unmanned Systems (JAUS) Department of Defense Joint Robotics Program
1 Byte Message ID
Compact Control Language (C2L)
• Communications Language for AUVs Low Bandwidth Acoustic
Modems Designed Around WHOI
Acoustic Modem Capabilities MCM Focus
• Format and Content 32-Byte Message Supported Messages
Control and Tasking Vehicle Status Environmental Data Target Information (CAD/CAC) Text Messages
3 Bytes Latitude3 Bytes Longitude3 Bytes Classification1 Byte Target ID
3 Bytes Latitude3 Bytes Longitude3 Bytes Classification1 Byte Target ID
3 Bytes Latitude3 Bytes Longitude3 Bytes Classification1 Byte Target ID
Sample Target Reporting Message
C2L Advantages and Disadvantages
• Advantages Compact Reasonably Robust Platform Neutral Could be Extended Fairly Easily
• Disadvantages Requires Vehicle-Specific Implementation Optimized for Specific Hardware Not an Open Specification
Common Control Language (CCL)
• Platform Independent AUV Language
• Based on $-Calculus (Process Algebra) Designed for Specifying
Concurrent Tasks Supports Anytime Planning
Algorithms• On-Vehicle Hybrid Planner
Implementation• Vehicle-Specific Controller
Commands
CCL Mission
Vehicle
User PC
Interpreter
Intermediate Code
Planner
CCL Hybrid Controller
Native Controller Commands
Communications
Plan
CCL Advantages and Disadvantages
• Advantages Platform Neutral Inherent Communication Support
• Disadvantages Requires Significant On-Vehicle Implementation Non-Intuitive
Joint Architecture for Unmanned Systems (JAUS)
• Open Standard for Design and Implementation of Unmanned Systems
• Topological System Construction Each Vehicle is a Subsystem A Node Provides a Single Capability (e.g. vision) A Component Provides a Single Service
• Fixed Set of Available Components
• Fixed Command Set• Fixed Message Set
JAUS Advantages and Disadvantages
• Advantages Open Architecture Rigorously Defined Message and Command Granularity
• Disadvantages More Suited to Unmanned than Autonomous
Vehicles Closed (and Static) System Topology
Translation from AVCL to Vehicle-Specific Formats
• Primary Method (AVCL to Text)
• Alternate Method (AVCL to Binary) XML Data Binding (JAX-B)
Schema-Based Generation of Java Classes Automatic Loading of AVCL Documents to Objects
Serializer to Write AVCL Objects as Binary
XSLT Stylesheet
Vehicle-Specific Script
AVCL Script
Vehicle-Specific Binary
Custom Serializer
AVCL Data
Data-Bound Object
unmarshall serialize
Translation of Vehicle-Specific Data to AVCL• Parse as a Context Free Grammar
(CFG) Chomsky Normal Form (CNF) Cocke-Younger-Kasami (CYK)
Algorithm Yields a Binary Parse Tree
• Translate Parse Tree to AVCL Depth First Traversal Template-Based Translation of
Individual Parse Nodes
• Parse Tree Semantically Similar to a Data-Bound Object
• Translator Functionally Similar to a Data-Bound Object Serializer
Example Chomsky Normal Form Rules:Mission -> LaunchCmd + MissionMiddle
Mission -> LaunchCmd + MissionEnd
MissionMiddle -> WaypointCmd + MissionMdl
MissionMiddle -> SurfaceCmd + MissionMdl
MissionMiddle -> WaypointCmd + MissionEnd
MissionMiddle -> SurfaceCmd + MissionEnd
MissionEnd -> WaypointCmd + RendezvousCmd
MissionEnd -> SurfaceCmd + RendezvousCmd
Example (Partial) Parse Tree:
Mission
LaunchCmd MissionMdl
WaypointCmd MissionEnd
RendezvousCmdSurfaceCmd
Translation of Declarative Missions
• Case 1: Declarative to Declarative XSLT XML Data Binding Serialization
• Case 2: Declarative to Script Define Task-Level Command Pre and Post Conditions Generate World Model (Avoid Areas and Obstacles) Apply Planning, Search, and/or Pathfinding Algorithms
• Case 3: Script to Declarative Brute Force? Templates or Pattern Matching? Reverse Planning Algorithm?
Experiments: Simulation• AUVWorkbench (Demo to follow)
AVCL-Based Mission Planning, Rehearsal and Playback 2D Mission Planner 3D Mission Visualization Rehearsal and Playback in Virtual Environment
• Models Parameterizable to Model Arbitrary Vehicles UUV
Healey Model (Brutzman Dissertation) PD, PID, and Sliding Mode Control Equations
UAV Piecemeal Airfoil Composition Model Used to Obtain Coefficients for a
Stability Derivative-Based Model PID Control Equations
UGV & USV: To be developed
Anticipated Real-World Testing Platforms
• NPS Aries AUV
• Hydroid REMUS (operated by NPS)
• Seahorse AUV (operated by NAVO)
• UUV-21 (operated by NUWC)
Demo and Questions