1 / 14

CDR Duane Davis, USN

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. Outline. Autonomous Vehicle Command Language (AVCL)—What and Why?

platt
Download Presentation

CDR Duane Davis, USN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. Outline • Autonomous Vehicle Command Language (AVCL)—What and Why? • Context-Free Grammars (CFG) and Vehicle-Specific Data Formats • Parsing Vehicle-Specific Documents • Transformation of Parsed Vehicle-Specific Data into AVCL • Specific Vehicle Implementation Summary

  3. AVCL Support AAV 1 AAV 2 AUV 1 AAV 1 AUV 2 AAV 2 AGV 2 AGV 1 AGV 1 AGV 2 AUV 2 AUV 1 Support Support Support Support Support Support 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

  4. AVCL Organization • Mission Specification (Tasking) • Scripted Behaviors • Declarative Goals • Mission Results • Synchronous • Telemetry • Control Orders • Asynchronous • Event Log • Communications

  5. A Scripted AVCL AUV Mission: <UUVCommandScript> <Position> <XYPositionx="0.0"y="0.0"/> <Depthvalue="0.0"/> </Position> <Thrustersvalue="false"/> <MakeDepthvalue="25.0"/> <Waypoint> <XYPositionx="100.0"y="100.0"/> <SetPropeller> <AllPropellersvalue="100.0"/> </SetPropeller> </Waypoint> <Waypoint> <XYPositionx="500.0"y="100.0"/> </Waypoint> <MakeAltitudevalue="15"/> <Waypoint> <XYPositionx="500.0"y="200.0"/> </Waypoint> <Waypoint> <XYPositionx="0.0"y="0.0"/> </Waypoint> <MakeDepthvalue="0.0"/> <Quit/> </UUVCommandScript> Mission Specification • Scripting • 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

  6. AVCL Mission Goals and Constraints Task Level Commands CFGs CFGs Vehicle-Specific Languages AVCL Translations • 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 • 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 Rules & Templates Planners XSLT / XML Data Binding

  7. 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) CFGs and Vehicle-Specific Data A Seahorse AUV Station Keeping Order: Start_Order : Station_Keep_Order Scheduling_Info_Is_Timed : True Destination_Latitude : 33.0 Degrees Destination_Longitude : -122.5 Degrees Until_when : 90 Minutes Transit_Altitude : 15 Meters Loiter_Depth : 15 Feet

  8. 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): Context Free Grammar Definition

  9. 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

  10. Command Position3D LatLong Double WaypointTkn Double Double “Waypoint” “-121.7” “-33.5” “15.0” CFG-Based Parsing • Cocke-Younger-Kasami (CYK) Algorithm • Uses CNF Production Rules • Bottom up Parser • Organizes Data as a Binary Parse Tree

  11. 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

  12. LaunchCmd … … Command CommandLst Position3D … … LatLong WaypointTkn Double Double Double “Waypoint” “-121.7” “-33.5” “15.0” LaunchCmd … … Command CommandLst … … Position3D LatLong Double Double Double WaypointTkn “-121.7” “Waypoint” “-33.5” “15.0” Parse Tree Conversion Mission Mission CommandLst CommandLst • Generated AVCL Script Mission: • <UUVCommandScript> • <Position> • <XYPositionx="0.0"y="0.0"/> • </Position> • <MakeDepthvalue="15.0"/> • <Waypoint> • <LatitudeLongitude latitude="-33.5" • longitude="-121.7"/> • <SetPropeller> • <AllPropellersvalue="100.0"/> • </SetPropeller> • </Waypoint> • . . . • </UUVCommandScript>

  13. NPS 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 Vehicle Implementations

  14. Questions?

More Related