AUV Workbench and Autonomous Vehicle Command Language (AVCL)

42
AUV Workbench and Autonomous Vehicle Command Language (AVCL) Progress and plans Don Brutzman and Duane Davis Naval Postgraduate School 18 October 2011

description

AUV Workbench and Autonomous Vehicle Command Language (AVCL). Progress and plans Don Brutzman and Duane Davis Naval Postgraduate School 18 October 2011. AUV Workbench poster. Planning, generating and running robot missions. Autonomous unmanned vehicle (AUV) workbench. - PowerPoint PPT Presentation

Transcript of AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Page 1: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AUV Workbench and Autonomous Vehicle Command

Language (AVCL)Progress and plans

Don Brutzman and Duane DavisNaval Postgraduate School

18 October 2011

Page 2: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AUV Workbench poster

Page 3: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AUTONOMOUS UNMANNED VEHICLE (AUV) WORKBENCH

Planning, generating and running robot missions

Page 4: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

4

Our 3 R’s: rehearsal, reality, replay

Same needs and capabilities for each: mission, visualization, data support, etc.

AUV workbench supports each• ongoing work, starting to mainstream

15 years of accumulated effort• integrating great variety of successful work• new work projects occurring regularly

Collaboration is welcome

Page 5: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Autonomous Unmanned Vehicle (AUV) Workbench builds missions,

tracksModels air, surface, underwater, ground

robots• Currently work: remote operated vehicle

(ROV)• Open-source Java, XML, etc. with online

archivesAutonomous Vehicle Command Language

(AVCL): 3-level XML-based language for robot telemetry, mission orders, mission planning• Multiple converters written

• Tools for doing work! Mission displays, GIS, X3D graphics visualization, telemetry plots

Page 6: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

6

Rehearsal

Prepare missions, either manually or automatically via other software tools

Test robot software’s ability to perform commands

Test again with physics “in the loop”• Hydrodynamics and control are critical,

difficult• Sonar, environmental modeling

Repeat until robust, with cautious respect• “Simulation is doomed to success” – G.

Bekey

Page 7: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

7

Reality: real-time mission support

Monitor mission progressTask-level control using same mission

vocabularyVisualize and supervise operations

• caveat, again: work in progressIntegrate acoustic and RF

communicationsChat for distributed collaboration among

participants, both human and robotic

Page 8: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

8

Record mission metadata for archives

Support operator keeping detailed notes, kept in context when conducting mission

Prompt for full details as appropriateArchive notes for later review and

followup

Future work• Automatic tests to confirm configuration,

control• Automate pre-underway checklists

Page 9: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

9

Replay: post-mission supportAutomatic archiving of mission to server

• Being built into workbench – simplify user tasks

Integration and compression of all relevant data into single compressed XML file• Metadata for mission• Many pieces: ordered mission, commands,

telemetry, coefficients, contacts, etc. etc.• Autonomous Vehicle Control Language

(AVCL) is Ph.D. work by CDR Duane Davis

Page 10: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

The Extended Rational Behavior Model

Features• Augments Existing

Vehicle Control Software• Translation to Vehicle-

Specific Data Format at Lowest Level

• AVCL Mission Construct Reliant

• Minimal Modification to Existing Vehicle Controller

Communications Model• Pull—Higher Levels

Query Lower Levels• Push—Higher Levels

Command Lower Levels• Push—Lower Levels

Provide Unrequested Information

Strategic Level

Tactical Level

Execution Level(existing vehicle

controller)

Declarative AVCL Mission High-Level

World Model

Mid-Level World Model

State and Sensor Data

Translator

Task-Level Behavior Script

Vehicle-Specific Com

mand

Status Q

ueryStatus Q

uery

Com

man

d St

atus

Script Status

Script Control

Agenda Control

Planner

Task-Level Behavior

Goal

Command FlowImplied Data VisibilityOptional Communications

Extended Rational Behavior Model Controller

Page 11: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL track, planned and

simulated

Page 12: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL planned mission track into KML

Page 13: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL simulation track to KML

Page 14: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Extensible 3D (X3D) GraphicsISO Standard, developed by working-

group members of non-profit Web3D Consortium

Broad range of 3D graphics, multiple codebases

Patterned after HTML and Web Architecture• Evolved Virtual Reality Modeling Language

(VRML)• XML, ClassicVRML, compressed binary

encodingsArchival publishing of 3D models• Geometry, interaction, navigation, DIS

networking• Many many resources, exemplars, archives,

etc.

Page 15: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AUV WORKBENCHWORK IN PROGRESS

Slow but steady progress

Page 16: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AUV Workbench efforts in progress

AUV Workbench• Mission metadata and mission reports• Restructured threading for performance,

debugging• Testing AVCL support: AllCommandsUuv.xml

etc.• Joystick input: ROV or human-substitute

controlXj3D visualization improvements• Rendering support for 64-bit architectures• Group merging multiple builds into common

trunkNightly builds and releases

Page 17: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AllCommandsUuv.xmlList and test every AVCL command• Simple testing of workbench software• Confirms interface and validation• Not necessarily a runnable mission• Considering adding “dead reckoning” to 2D

plot• Mission unit tests for comprehensive

coverage likely to followAlso for other robotics platforms• AllCommandsUsv.xml AllCommandsUav.xml

AllCommandsUgv.xml

Page 18: AUV Workbench and Autonomous Vehicle Command Language (AVCL)
Page 19: AUV Workbench and Autonomous Vehicle Command Language (AVCL)
Page 20: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Joystick inputMotivation• Rehearse ROV missions, especially for high-

school student experiments and competitions

• Provide alternate control input when rehearsing complex UUV missions

• Make AUV Workbench suitable for classroom or poolside use

Software• Java jinput project handles different devices

and operating systems satisfactorily

Page 21: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Thoughts on autonomous ethicsEverything old is new again• Largely unexplored or unconsidered

territory?• Significant history of experience: mine

warfare?Assume success… then what?• Even if perfectly executable, proper robot

logic is not useful unless it is a directly extension of warfighter logic

• Rules of Engagement, Concepts of Operations, Doctrine, Tactics, etc. must be expressible in equivalent terms in order to be effective, usable

Page 22: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Multi-layer robot architectures

3 common layers defined in Rational Behavior Model (RBM) robot architecture• Strategic: planning, goal evaluation,

strategy• Tactical: navigation, operations, mission

conduct• Execution: low-level control of systems

Autonomous Vehicle Command Language (AVCL) mappable to many robot dialects

Possible fourth layer: Rules of Engagement?• provide ethical constraints on robot

strategies

Page 23: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AUTONOMOUS VEHICLE COMMAND LANGUAGE (AVCL)

XML vocabulary for robot mission specification, conduct and replay

Page 24: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Problem: Mission Incompatibility for Dissimilar Autonomous Vehicles

(AVs)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 25: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Proposed Solution: A Common AV Data Model

Common Data Format: (e.g., AVCL):

• 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

AUV 2

ASV 2

AAV 2

AAV 1 Suppor

t

Support

Support

Support

Support

Support

ASV 1

AUV 1

AVCL

AAV 1

Support

AUV 2

ASV 2

AAV 2

AUV 1

ASV 1

Page 26: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL DescriptionAutonomous Vehicle Control Language

(AVCL) is a command and control language for autonomous unmanned vehicles, enabling common XML-based representations for mission scripts, agenda plans and post-mission recorded telemetry. Operators can utilize a single archivable and validatable format for robot tasking and results that is directly convertible to and from a wide variety of different robot command languages.

Page 27: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL Integration in a Multi-Layer AV Control Architecture

Multi-Layer AV Control Architectures

• Hierarchical• Hybrid

Relationship to AVCL• Declarative Mission• Scripted Mission

Rational Behavior Model (RBM)• Three-Level Hybrid Architecture• Strategic Level: Ship CO• Tactical Level: Watch Officers• Execution Level: Watch Standers

RBM vs AVCL:Strategic Level: Declarative Mission

Tactical Level: Behavior Script

Execution Level: Individual Commands

Page 28: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL and Related Technologies

Exemplar Data Model Definition: AVCL• Task-Level Behavior Set Determination• XML Schema Design• Correlated information:

• Mission Specification (goals, constraints, tasking)• Mission Results (telemetry)• Communications (message set)

Data Conversions• AVCL translation to Vehicle-Specific languages• Vehicle-Specific language translations to AVCL• AVCL Declarative output as AVCL Task-Level

commands• AVCL Task-Level status responses to AVCL

Declarative

Data Model Use to Facilitate AV Control• Integration into a Multi-Layer Architecture

Page 29: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Scripted Mission Specification

Task-Level Behaviors• Minimum Requirements

to Capture Arbitrary Tasking

• Behavior Activation and Termination Criteria

Scripting• Atomic Task-Level

Behaviors• Sequential Execution• Potential Parallelism

MakeSpeed

MakeDepth

Waypoint

MakeAltitude

Waypoint

ObtainGPS

SetPosition

Waypoint

Quit

Page 30: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Declarative Goal-Based Mission Specification

14 Predefined Goal Types

Finite State Machine (FSM)• States Represent

Individual Goals• Transitions Executed

upon Goal Success or Failure

Mission Start

Rendezvous with UUV-2 in

Area C

Search Area A

Search Area B Sample Environment in

Area A

Mission Complete

SucceedFail

SucceedFailSuccee

d or Fail

Succeed or Fail

Page 31: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL TRANSLATIONS AND PARSER PRODUCTION

Theory and Practice

Page 32: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

External C2 Systems

AVCL

Mission Goals and Constraints

Task Level Commands

Vehicle-Specific Languages

PlannerRules & Templates

XSLT and Vehicle-Specific XML

C2IEDM Business Objects

AVCL Translations OverviewAVCL to Vehicle-Specific Data

• XSLT (text)• Vehicle-Specific XML

(binary)Vehicle-Specific Data to AVCL

• Context Free Grammars (text)

• Vehicle-Specific XML (binary)

Artificial Intelligence• Planning and Search• Case-Based Reasoning• Bayesian Reasoning

Business Objects• Command and Control

Information Exchange Data Model (C2IEDM)

• AVCL Declarative Tasking

CFGs or Vehicle-Specific XML

Page 33: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL to Text—Direct generation with XSLT

Exemplar Translations• AVCL to Phoenix UUV• AVCL to ARIES UUV• AVCL to Seahorse UUV• AVCL to REMUS UUV

XSLT Stylesheet

Vehicle-Specific Script

AVCL Script

Translation from AVCL to Text-Based Vehicle-Specific Formats

Page 34: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

A Mutable Variable Pattern for XSLT

Why?• Inability to Update

Variable Values in XSLT while looping (immutable properties)

• Requirement to Maintain Behavior Parameters for Parallel Execution

How?• Use Template Parameters• Explicitly Controlled

Iteration

begin XSLT processing variable B = sequential list of task-level behaviors apply template for B1 with default parameters d1 to dn

end XSLT processing

begin template for task-level behavior Bi with parameters p1 to pn

for k = 1 to n variable vk

if Bi updates pk

vk = new_pk

else vk = pk

generate required output for Bi apply template for Bi+1 with parameters v1 to vn

end template

Page 35: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

AVCL to Binary• Generate vehicle-specific XML with XSLT• Serialize to binary

Binary to AVCL• Read from binary to vehicle-specific XML• Generate AVCL with XSLT

Exemplar Implementation• AVCL to Joint Architecture for Unmanned Systems (JAUS)

Messages• JAUS Messages to AVCL

Vehicle-Specific Binary

Custom Serializer

AVCL Data

XSLT Stylesheet

Translation from AVCL to Binary Vehicle-Specific Formats and Vice Versa

Vehicle-Specific XML

AVCL Script

XSLT Stylesheet

Vehicle-Specific Binary

Custom Reader

Vehicle-Specific XML

Page 36: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Translating Vehicle-Specific Text Formats to AVCL

Parse as a Context Free Language (CFL)

• Chomsky Normal Form (CNF) Context Free Grammar (CFG)

• Cocke-Younger-Kasami (CYK) Parsing Algorithm

• Yields a Binary Parse TreeTranslate Parse Tree to AVCL

• Depth First Traversal• Template-Based Translation

of Individual Parse NodesCFG Serves the Same Role as an XML SchemaParser/Translator Serves the Same Role as an XSLT Stylesheet

Example Chomsky Normal Form Rules:Mission -> LaunchCmd + MissionMiddleMission -> LaunchCmd + MissionEndMissionMiddle -> WaypointCmd + MissionMdlMissionMiddle -> SurfaceCmd + MissionMdlMissionMiddle -> WaypointCmd + MissionEndMissionMiddle -> SurfaceCmd + MissionEndMissionEnd -> WaypointCmd + RendezvousCmdMissionEnd -> SurfaceCmd + RendezvousCmd

Example (Partial) Parse Tree

Mission

LaunchCmd MissionMdl

WaypointCmd MissionEnd

RendezvousCmdSurfaceCmd

Page 37: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Translation of Declarative Missions to Task-Level Behavior

ScriptsInter-Area Transit

• Best-First (A*) SearchGoal Accomplishment Planning

• Trivial Goal Types• MonitorTransmissions• Reposition

• Others• Require Area Coverage

(Search)• Decision-Tree Plan-Type

Selection• Parameterized Preplanned

Patterns for Regularly Shaped Operating Areas

• Planner-Generated (A*, Hill-Climbing, Iterative Improvement) for Irregularly Shaped Areas

Page 38: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

TODO wish list for AVCL v2.1AVCL schema needs to be simplified• Remove vehicle-specific duplicate

definitions• Possibly streamline inner abstract types• Blocker: all changes reflected in JAXB API,

so XML changes provoke corresponding AUVW changes

Multi-vehicle message passing, coordination

Graduate improvements using MetaCommand• Joystick

Publish JAXB library as independent API

Page 40: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Collaboration is welcomeNaval Postgraduate School (NPS)

is .mil, .edu university driven by research and education• Happy to offer our resources for your use• Happy to write proposals together to fund

workComing soon: 4 online courses as

distance-learning certificate• X3D graphics I and II, Simulation

Networking, Networked Virtual Environments (NVE)

Please tell us what you think. Thanks!

Page 41: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Don Brutzman, [email protected]

[email protected] http://faculty.nps.edu/brutzman

Code USW/Br, Naval Postgraduate SchoolMonterey California 93943-5000 USA

1.831.656.2149 work1.831.402.4809 cell

Contact

Page 42: AUV Workbench and Autonomous Vehicle Command Language (AVCL)

Duane Davis, CDR USN, [email protected]

Code CS/Dv, Naval Postgraduate SchoolMonterey California 93943-5000 USA

1.831.656.7980 work

Contact