Automated Parsing and Conversion Of Vehicle specific Data














- Slides: 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
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
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 AUV 1 AUV 2 Support AGV 1 AVCL AGV 2 Support Ultimate Goals • Facilitate Interoperability • Support Pre-, Mid-, and Post. Mission Data Requirements • Provide Intuitive Data Access AAV 1 AAV 2 Support
AVCL Organization Mission Specification (Tasking) • Scripted Behaviors • Declarative Goals Mission Results • Synchronous • Telemetry • Control Orders • Asynchronous • Event Log Communications
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 A Scripted AVCL AUV Mission: <UUVCommand. Script> <Position> <XYPosition x="0. 0" y="0. 0"/> <Depth value="0. 0"/> </Position> <Thrusters value="false"/> <Make. Depth value="25. 0"/> <Waypoint> <XYPosition x="100. 0" y="100. 0"/> <Set. Propeller> <All. Propellers value="100. 0"/> </Set. Propeller> </Waypoint> <XYPosition x="500. 0" y="100. 0"/> </Waypoint> <Make. Altitude value="15"/> <Waypoint> <XYPosition x="500. 0" y="200. 0"/> </Waypoint> <XYPosition x="0. 0" y="0. 0"/> </Waypoint> <Make. Depth value="0. 0"/> <Quit/> </UUVCommand. Script>
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 • Graph. Plan Scripted to Declarative AVCL • Case-Based Reasoning • Bayesian Reasoning AVCL Mission Goals and Constraints Rules & Templates Planners Task Level Commands CFGs XSLT / XML Data Binding Vehicle-Specific Languages
CFGs and 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 Scheduling_Info_Is_Timed Destination_Latitude Destination_Longitude Until_when Transit_Altitude Loiter_Depth : : : : Station_Keep_Order True 33. 0 Degrees -122. 5 Degrees 90 Minutes 15 Meters 15 Feet
Context Free Grammar Definition Terminals (the alphabet) Formal CFG Definition: • 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 • • • is is a a Set Set of of Variables Terminals Productions Start Variables A Simple Example (produces balanced parentheses):
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
CFG-Based Parsing Cocke-Younger-Kasami (CYK) Algorithm • Uses CNF Production Rules • Bottom up Parser • Organizes Data as a Binary Parse Tree Command Position 3 D Lat. Long Waypoint. Tkn Double “Waypoint” “-33. 5” “-121. 7” “ 15. 0”
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
Parse Tree Conversion Mission Command. Lst Launch. Cmd … … Command. Lst Position 3 D … … Lat. Long Waypoint. Tkn Double “Waypoint” “-33. 5” “-121. 7” “ 15. 0” Generated AVCL Script Mission: <UUVCommand. Script> <Position> <XYPosition x="0. 0" y="0. 0"/> </Position> <Make. Depth value="15. 0"/> <Waypoint> <Latitude. Longitude latitude="-33. 5" longitude="-121. 7"/> <Set. Propeller> <All. Propellers value="100. 0"/> </Set. Propeller> </Waypoint>. . . </UUVCommand. Script>
Vehicle Implementations NPS ARIES NAVO Seahorse • Sequentially Executed Waypoints • 11 Double-Precision Numbers • Implementation CFG • 1 Unary ( • 14 Binary ( ) Productions NPS Phoenix • Sequentially Executed Script Commands (34) • Mixed Text and Numbers • Implementation CFG • 22 Unary Productions • 39 Binary Productions • 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
Questions?