26
CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability Ph.D. Committee: Dr. Don Brutzman Dr. Robert McGhee Dr. Neil Rowe Dr. Chris Darken Dr. Mike Zyda 6 April 2005

CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 2: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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)

Page 3: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 4: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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.

Page 5: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 6: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 7: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 8: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 9: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

AV Control Methodologies• Scripted Control

• Hierarchical Control

• Behavioral Control

• Hybrid Control

Page 10: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 11: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 12: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 13: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 14: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 15: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 16: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 17: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 18: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

CCL Advantages and Disadvantages

• Advantages Platform Neutral Inherent Communication Support

• Disadvantages Requires Significant On-Vehicle Implementation Non-Intuitive

Page 19: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 20: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 21: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 22: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 23: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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?

Page 24: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

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

Page 25: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

Anticipated Real-World Testing Platforms

• NPS Aries AUV

• Hydroid REMUS (operated by NPS)

• Seahorse AUV (operated by NAVO)

• UUV-21 (operated by NUWC)

Page 26: CDR Duane Davis, USN Autonomous Vehicle Control Language (AVCL): An Extensible Markup Language Vocabulary Supporting Autonomous Vehicle Interoperability

Demo and Questions