260 likes | 435 Views
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. CDR Duane Davis, USN. 6 April 2005. Outline.
E N D
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 CDR Duane Davis, USN 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)
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 Proposed AV Tasking Examples
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.
AVCL AGV 2 AUV 2 AGV 1 AUV 1 AGV 2 AUV 2 AGV 1 AUV 1 AAV 2 AAV 1 AAV 2 AAV 1 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
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 0 RPM 500 WAYPOINT 100 10 10 HOVER 100 50 10 GPSFIX RPM 700 WAYPOINT 0 50 5 WAYPOINT 0 100 5 WAYPOINT 100 100 5 HOVER 100 150 10 GPSFIX WAYPOINT 0 150 10 WAYPOINT 0 200 10 WAYPOINT 100 200 10 WAYPOINT 100 250 10 HOVER 0 250 10 GPSFIX HOVER 0 0 10 360 DEPTH 0 WAIT 25 QUIT
Complex Task Subtask 1 Subtask 2 Subtask 3 Sub-Subtask 1 Sub-Subtask 2 Sub-Subtask 3 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
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
Compact Control Language (C2L) Sample Target Reporting Message • 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 1 Byte Message ID 3 Bytes Latitude 3 Bytes Longitude 3 Bytes Classification 1 Byte Target ID 3 Bytes Latitude 3 Bytes Longitude 3 Bytes Classification 1 Byte Target ID 3 Bytes Latitude 3 Bytes Longitude 3 Bytes Classification 1 Byte Target ID
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
Interpreter Intermediate Code Plan Planner 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 User PC CCL Mission Vehicle CCL Hybrid Controller Native Controller Commands Communications
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
Vehicle-Specific Script XSLT Stylesheet AVCL Script Vehicle-Specific Binary Data-Bound Object Custom Serializer AVCL Data 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 unmarshall serialize
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 Mission LaunchCmd MissionMdl MissionEnd WaypointCmd SurfaceCmd RendezvousCmd Translation of Vehicle-Specific Data to AVCL 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:
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)