Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language...

14
Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR Duane Davis, USN

Transcript of Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language...

Page 1: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous

Vehicle Control Language using Context-Free Grammars and XML Data Binding

CDR Duane Davis, USN

Page 2: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Outline

Autonomous Vehicle Command Language (AVCL)—What and Why?

Context-Free Grammars (CFG) and Vehicle-Specific Data Formats

Parsing Vehicle-Specific DocumentsTransformation of Parsed Vehicle-Specific

Data into AVCLSpecific Vehicle Implementation Summary

Page 3: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

What (Why) is AVCL?

Autonomous Vehicle (AV) Ontology• Vehicle Independent• Schema-Governed

Extensible Markup Language (XML)

Automated Conversions• AVCL to Vehicle-Specific• Vehicle-Specific to AVCL

Ultimate Goals• Facilitate Interoperability • Support Pre-, Mid-, and Post-

Mission Data Requirements• Provide Intuitive Data

Access

AVCL

AAV 1

Support

AUV 2

AGV 2

AAV 2

AUV 1

AGV 1

AUV 2

AGV 2

AAV 2

AAV 1 Support

Support Support

Support Support

Support

AGV 1

AUV 1

Page 4: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

AVCL Organization

Mission Specification (Tasking)• Scripted Behaviors• Declarative Goals

Mission Results• Synchronous

• Telemetry• Control Orders

• Asynchronous• Event Log

Communications

Page 5: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Mission SpecificationScripting

• Atomic Task-Level Commands

• Sequential Execution• Potential Parallelism

Declarative Goals• Finite State Machine

(FSM)• States Represent

Individual Goals• Transitions Executed

upon Goal Success or Failure

A Scripted AVCL AUV Mission:<UUVCommandScript> <Position> <XYPosition x="0.0" y="0.0"/> <Depth value="0.0"/> </Position> <Thrusters value="false"/> <MakeDepth value="25.0"/> <Waypoint> <XYPosition x="100.0" y="100.0"/> <SetPropeller> <AllPropellers value="100.0"/> </SetPropeller> </Waypoint> <Waypoint> <XYPosition x="500.0" y="100.0"/> </Waypoint> <MakeAltitude value="15"/> <Waypoint> <XYPosition x="500.0" y="200.0"/> </Waypoint> <Waypoint> <XYPosition x="0.0" y="0.0"/> </Waypoint> <MakeDepth value="0.0"/> <Quit/></UUVCommandScript>

Page 6: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

AVCLMission Goals and Constraints

Task Level Commands

Vehicle-Specific Languages

PlannersRules & Templates

XSLT /XML Data Binding

AVCL TranslationsAVCL to Vehicle-Specific Data

• XSLT• XML Data Binding

Vehicle-Specific Data to AVCL• Context Free Grammars• XML Data Binding

Declarative to Scripted AVCL• A* Search• GraphPlan

Scripted to Declarative AVCL• Case-Based Reasoning• Bayesian Reasoning

CFGsCFGs

AVCL to Vehicle-Specific Data• XSLT• XML Data Binding

Vehicle-Specific Data to AVCL• Context Free Grammars• XML Data Binding

Declarative to Scripted AVCL• A* Search• GraphPlan

Scripted to Declarative AVCL• Case-Based Reasoning• Bayesian Reasoning

Page 7: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

CFGs and Vehicle-Specific Data

Vehicle-Specific Data Formats Are:• Not XML (cannot use XSLT for translations)• Rigorously Defined• Unambiguous• Context Free Languages (CFL)• Can be Generated by Context Free Grammars (CFG)

A Seahorse AUV Station Keeping Order:

Start_Order : Station_Keep_OrderScheduling_Info_Is_Timed : TrueDestination_Latitude : 33.0 DegreesDestination_Longitude : -122.5 DegreesUntil_when : 90 MinutesTransit_Altitude : 15 MetersLoiter_Depth : 15 Feet

Page 8: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Context Free Grammar Definition

Terminals (the alphabet)

• Reserved Words• Numbers

Variables• Represent Substrings

Productions:• is a Variable• is a Sequence of

Variables and Terminals

• Means “Produces”• Define how Variables

Expand into Instances

Formal CFG Definition:

• is a Set of Variables• is a Set of Terminals• is a Set of Productions• is a Set of Start

Variables

A Simple Example (produces balanced parentheses):

A

A

SPTVG ,,,

VTPS

AAAAAG ,)((),,)(,,

Page 9: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Chomsky Normal Form (CNF)

No Useless Symbols• All terminals appear in at least one valid CFL string• All variables are used in the derivation of at least one

valid CFL string

NoεProductions• εis a “null” (no literal)

• Productions of the form where contains ε

Production Rule Form Restrictions• where , , and are variables• where is a variable and is a terminal

A

CBCA A BaA aA

Page 10: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

CFG-Based ParsingCocke-Younger-Kasami (CYK) Algorithm

• Uses CNF Production Rules• Bottom up Parser• Organizes Data as a Binary Parse Tree

“-121.7”“-33.5” “15.0”“Waypoint”

DoubleDoubleDoubleWaypointTkn

LatLong

Position3D

Command

Page 11: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Parse Tree Translation

Depth-First Parse Tree Traversal• In-Order Traversal of the Source Document• Multiple Traversals—Symbol Table Generation

Template-Based AVCL Generation• Applied at Command Node Level• Full Traversal Unnecessary

Analogous to XSLT Transformation of XML• In Order vs. Arbitrary Order Input Document

Traversal• Arbitrary Order vs. In Order Output Document

Generation

Page 12: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Parse Tree Conversion

Generated AVCL Script Mission:<UUVCommandScript> <Position> <XYPosition x="0.0" y="0.0"/> </Position> <MakeDepth value="15.0"/> <Waypoint> <LatitudeLongitude latitude="-33.5" longitude="-121.7"/> <SetPropeller> <AllPropellers value="100.0"/> </SetPropeller> </Waypoint> . . .</UUVCommandScript>

“-121.7”“-33.5” “15.0”

DoubleDoubleDouble

LatLong

Position3D

“Waypoint”

WaypointTkn

Command

CommandLst

Mission

CommandLst

… …

LaunchCmd

… …

LaunchCmd

… …

CommandLst

Mission

Command

“Waypoint”

WaypointTkn

“-121.7”“-33.5” “15.0”

DoubleDoubleDouble

LatLong

Position3D

CommandLst

… …

Page 13: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Vehicle ImplementationsNPS ARIES

• Sequentially Executed Waypoints

• 11 Double-Precision Numbers• Implementation CFG

• 1 Unary ( ) Production• 14 Binary ( )

Productions

NPS Phoenix• Sequentially Executed Script

Commands (34)• Mixed Text and Numbers

• Implementation CFG• 22 Unary Productions• 39 Binary Productions

NAVO Seahorse• Command Set

• Sequentially Executed Script Commands (4)

• Start and End Commands• Mixed Text and Numbers

• Implementation CFG• 47 Unary Productions• 136 Binary Productions

WHOI REMUS• Command Set

• Locations• Sequential Objectives (14)• Mixed Text and Numbers

• Implementation CFG• 40 Unary Productions• 40 Binary Productions

aABCA

Page 14: Automated Parsing and Conversion Of Vehicle-specific Data into Autonomous Vehicle Control Language using Context-Free Grammars and XML Data Binding CDR.

Questions?