Robust Task Execution: Procedural and Model-based. Outline. Desiderata: Robust Task-level Execution

Similar documents
Prof. Brian C. Williams February 23 rd, /6.834 Cognitive Robotics. based on [Kim,Williams & Abramson, IJCAI01] Outline

Model-based Programming of Cooperating Explorers

D-Case Modeling Guide for Target System

SEARCH TREE. Generating the children of a node

The Cooperative Cleaners Case Study: Modelling and Analysis in Real-Time ABS

Better Search Improved Uninformed Search CIS 32

Princess Nora University Faculty of Computer & Information Systems ARTIFICIAL INTELLIGENCE (CS 370D) Computer Science Department

SEARCH SEARCH TREE. Node: State in state tree. Root node: Top of state tree

AutonoVi-Sim: Modular Autonomous Vehicle Simulation Platform Supporting Diverse Vehicle Models, Sensor Configuration, and Traffic Conditions

Uninformed search methods

Lecturers. Multi-Agent Systems. Exercises: Dates. Lectures. Prof. Dr. Bernhard Nebel Room Dr. Felix Lindner Room

Search I. Tuomas Sandholm Carnegie Mellon University Computer Science Department. [Read Russell & Norvig Chapter 3]

Enhancing Discrete Event Simulation by Integrating

Problem Solving as Search - I

CENG 466 Artificial Intelligence. Lecture 4 Solving Problems by Searching (II)

Visual Traffic Jam Analysis Based on Trajectory Data

Uninformed search methods

Basic STPA Tutorial. John Thomas

Uninformed search methods II.

#19 MONITORING AND PREDICTING PEDESTRIAN BEHAVIOR USING TRAFFIC CAMERAS

Systems Theoretic Process Analysis (STPA)

/435 Artificial Intelligence Fall 2015

Multicore Real-Time Scheduling

Using STPA in the Design of a new Manned Spacecraft

Uninformed Search (Ch )

Introduction. AI and Searching. Simple Example. Simple Example. Now a Bit Harder. From Hammersmith to King s Cross

Solving Problems by Searching chap3 1. Problem-Solving Agents

Uninformed search methods II.

A Proof-Producing CSP Solver 1

Uninformed Search (Ch )

Problem Solving Agents

Systems Theoretic Process Analysis (STPA)

Uninformed Search Strategies

Software Engineering. M Umair.

G53CLP Constraint Logic Programming

Flutter Testing. Wind Tunnel Testing (excerpts from Reference 1)

Allocation of referees, hours and pistes User manual of Engarde - August, 2013

CSE 3401: Intro to AI & LP Uninformed Search II

Model-based Adaptive Acoustic Sensing and Communication in the Deep Ocean with MOOS-IvP

Design and Evaluation of Adaptive Traffic Control System for Heterogeneous flow conditions

STPA Systems Theoretic Process Analysis John Thomas and Nancy Leveson. All rights reserved.

Hazard Identification

Ocean Fishing Fleet Scheduling Path Optimization Model Research. Based On Improved Ant Colony Algorithm

CS 4649/7649 Robot Intelligence: Planning

Efficient Gait Generation using Reinforcement Learning

LECTUR 10 CHARACTERISTICS OF THE DRIVER, THE PEDESTRIAN, THE VEHICLE AND THE ROAD. One problem that faces traffic and transportation engineers is:

Fraglets: Chemical Programming with a Packet Prefix Language

Pedestrian Dynamics: Models of Pedestrian Behaviour

The Incremental Evolution of Gaits for Hexapod Robots

Optimization and Search. Jim Tørresen Optimization and Search

COLREGS Based Collision Avoidance of Unmanned Surface Vehicles

AN AUTONOMOUS DRIVER MODEL FOR THE OVERTAKING MANEUVER FOR USE IN MICROSCOPIC TRAFFIC SIMULATION

unsignalized signalized isolated coordinated Intersections roundabouts Highway Capacity Manual level of service control delay

Adaptability and Fault Tolerance

Gait Evolution for a Hexapod Robot

Application of Dijkstra s Algorithm in the Evacuation System Utilizing Exit Signs

CHAPTER 1 INTRODUCTION TO RELIABILITY

The system design must obey these constraints. The system is to have the minimum cost (capital plus operating) while meeting the constraints.

Breaking Up is Hard to Do: An Investigation of Decomposition for Assume-Guarantee Reasoning

A SEMI-PRESSURE-DRIVEN APPROACH TO RELIABILITY ASSESSMENT OF WATER DISTRIBUTION NETWORKS

YAN GU. Assistant Professor, University of Massachusetts Lowell. Frederick N. Andrews Fellowship, Graduate School, Purdue University ( )

CprE 288 Final Project Description

Design and Evaluation of Adaptive Traffic Control System for Heterogeneous flow conditions. SiMTraM & CosCiCost2G

Representation. Representation. Representation. Representation. 8 puzzle.

Launch Vehicle Performance Estimation:

Online Diagnosis of Engine Dyno Test Benches: A Possibilistic Approach

Performing Hazard Analysis on Complex, Software- and Human-Intensive Systems

Maximum CPU utilization is obtained by multiprogramming. CPU I/O Burst Cycle Process execution consists of a cycle of CPU execution and I/O wait

MWGen: A Mini World Generator

Eastern PA Trail Summit October 1, 2018

CSE 3402: Intro to Artificial Intelligence Uninformed Search II

Artificial Intelligence for the EChO Mission Scheduler

Generating None-Plans in Order to Find Plans 1

Intelligent Decision Making Framework for Ship Collision Avoidance based on COLREGs

Depth-bounded Discrepancy Search

Planning. CS 510: Intro to AI October 19 th 2017

CEPA Initiative: Response Time Guideline 2015 EMERGENCY SECURITY MANAGEMENT WORK GROUP

Cycling and risk. Cycle facilities and risk management

6.034 Artificial Intelligence

Mathematics of Planet Earth Managing Traffic Flow On Urban Road Networks

THE CANDU 9 DISTRffiUTED CONTROL SYSTEM DESIGN PROCESS

(C) Anton Setzer 2003 (except for pictures) A2. Hazard Analysis

beestanbul RoboCup 3D Simulation League Team Description Paper 2012

Bulgarian Olympiad in Informatics: Excellence over a Long Period of Time

Technical note. 1. Introduction

GOLOMB Compression Technique For FPGA Configuration

Petacat: Applying ideas from Copycat to image understanding

UNIVERSITY OF WATERLOO

Author s Name Name of the Paper Session. Positioning Committee. Marine Technology Society. DYNAMIC POSITIONING CONFERENCE September 18-19, 2001

Basic CPM Calculations

Walking Gait Generation with Foot Placement Control for the HOAP-3 Humanoid Robot

Planning and Acting in Partially Observable Stochastic Domains

Basketball Agent 101 Syllabus

Basic STPA Exercises. Dr. John Thomas

1.2 Example 1: A simple hydraulic system

HAZARD ANALYSIS PROCESS FOR AUTONOMOUS VESSELS. AUTHORS: Osiris A. Valdez Banda Aalto University, Department of Applied Mechanics (Marine Technology)

System Operating Limit Definition and Exceedance Clarification

Indiana Traffic Signal Hi Resolution Data Logger Enumerations

Engineering Risk Assessment of Space Thruster Challenge Problem

Hazard Operability Analysis

Transcription:

Robust Task Execution: Procedural and Model-based Mission Goals and Environment Constraints Temporal Planner Temporal Network Solver Projective Task Expansion Initial Conditions Temporal Plan Dynamic Scheduling and Task Dispatch Task Dispatch Modes Goals Brian C. Williams.J/.J March th, 00 Model-based Executive Observations Commands Robust Task Expansion Desiderata: Robust Task-level Execution Outline Create Languages that are: Suspicious Monitor intentions and plans Self-Adaptive Exploits and generates contingencies Anticipatory Predicts, plans and verifies into future State Aware Commanded with desired state Fault Aware Reasons about and responds to failure Obs Model-based Embedded Programs S Model Continuous Continuous Mode/State Reactive Estimation Commanding S Plant Cntrl Safe Procedural Execution Model-Predictive Dispatch Model-based Reactive Planning Robust Task Execution: RAPS [Firby PhD] RAPS Monitors Success Against Spec (define-rap (move-to thing place) (succeed (LOCATION thing place)) (method (context (and (LOCATION thing loc) (not (= loc UNKNOWN)))) (task-net (t0 (goto loc) ((TRUCK -LOCATION loc) for t)) (t (pickup thing)((truck -HOLDING thing) for t) ((TRUCK -HOLDING thing) for t)) (t (goto place) ((TRUCK-LOCATION place) for t)) (t (putdown thing)))) (method (context (LOCATION thing UNKNOWN)) (task-net (t0 (goto WAREHOUSE))))) Robust Task Execution: RAPS [Firby PhD] RAPS Exploits contingencies by performing functionally redundant method selection (define-rap (move -to thing place) (succeed (LOCATION thing place)) (method (context(and (LOCATION thing loc) (not (= loc UNKNOWN)))) (task-net (t0 (goto loc) ((TRUCK -LOCATION loc) for t)) (t (pickup thing)((truck -HOLDING thing) for t) ((TRUCK -HOLDING thing) for t)) (t (goto place) ((TRUCK-LOCATION place) for t)) (t (putdown thing)))) (method (context (LOCATION thing UNKNOWN)) (task-net (t0 (goto WAREHOUSE)))))

HOME Landing Site: ABC Landing Site: XYZ T O W N O E COLLECTION POINT Enroute SCIENCE AREA RENDEZVOUS SCIENCE AREA Diverge SCIENCE AREA Robust Task Execution: RAPS [Firby PhD] RAPS Exploits contingencies by performing functionally redundant method selection Methods are chosen based on the current situation. If a method fails, another is tried instead. Tasks do not complete until satisfied. Methods can include monitoring subtasks to deal with contingencies and opportunities. Methods selected reactively Model -predictive dispatch Goals explicitly observable and controllable Model -based execution RMPL Model-based Program Kirk Model-based Executive Control Program Selects consistent Executes concurrently threads of activity Preempts non -deterministic choice Control from redundant Sequencer methods A[l,u ] timing Schedules and Dispatches A at l location Activities Dynamically Environment Model location estimates location goals Tracks Estimation location Executive pre-plans activities Observations pre-plans paths dynamically schedules [Tsmardinos et al.] Finds least Reconfiguration cost paths Mode Mode Deductive Controller Plant Commands Outline Safe Procedural Execution Model-Predictive Dispatch Model-based Programming Temporal Plan Networks (TPN) Activity Planning (Kirk) Unifying Activity and Path Planning Model-based Reactive Planning Example: Cooperative Mars Exploration How do we coordinate heterogeneous teams of orbiters, rovers and air vehicles to perform globally optimal science exploration? Example: Cooperative Mars Exploration Reactive Model-based Programming HOME Landing Site: ABC Landing Site: XYZ TWO ONE COLLECTION POINTEnroute SCIENCE AREA RENDEZVOUS Diverge SCIENCE AREA Idea: Describe team behaviors by starting with a rich concurrent, embedded programming language (RMPL,TCC, Esterel): c If c next A Unless c next A A, B Always A Sensing/actuation activities Conditional execution Preemption Full concurrency Iteration Properties: SCIENCE AREA Teams exploit a hierarchy of complex strategies. Maneuvers are temporally coordinated. Novel events occur during critical phases. Quick responses draw upon a library of contingencies. Selected contingencies must respect timing constraints. Add temporal constraints: A [l,u] Timing Add choice (non-deterministic or decision-theoretic): Choose A, B Contingency

Example Enroute Activity: Rendezvous Enroute Corridor Corridor Rescue Area RMPL for Group-Enroute choose Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK, Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK ; Group-Transmit(OPS,ARRIVED)[0,], Group-Wait(HOLD,HOLD)[0,u*0%] watching PROCEED RMPL for Group-Enroute RMPL for Group-Enroute Activities: choose Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK, Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK ; Group-Transmit(OPS,ARRIVED)[0,], Group-Wait(HOLD,HOLD)[0,u*0%] watching PROCEED Conditionality and Preemption: choose Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK, Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK ; Group-Transmit(OPS,ARRIVED)[0,], Group-Wait(HOLD,HOLD)[0,u*0%] watching PROCEED RMPL for Group-Enroute Sequentiality: choose Concurrency : Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK, Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK ; Group-Transmit(OPS,ARRIVED)[0,], Group-Wait(HOLD,HOLD)[0,u*0%] watching PROCEED RMPL for Group-Enroute Temporal Constraints: choose Group-Fly-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK, Group-Fly-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK ; Group-Transmit(OPS,ARRIVED)[0,], Group-Wait(HOLD,HOLD)[0,u*0%] watching PROCEED

RMPL for Group-Enroute Non-deterministic choice: choose Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK, Group-Traverse-Path(PATH_,PATH_,PATH_,RE_POS)[l*90%,u*90%]; maintaining PATH_OK ; Group-Transmit(OPS,ARRIVED)[0,], Group-Wait(HOLD,HOLD)[0,u*0%] watching PROCEED Model-Predictive Dispatch for RMPL How do we provide fast, temporally flexible planning for contingent method selection? Graph-based planners support fast planning. but plans are totally order. Desire flexible plans based on simple temporal networks (e.g., Constrain-based Interval Planning). How do we create temporally flexible plan graphs? Augment simple temporal networks with activities & choice. temporal plan network TPN). Model-Predictive Dispatch for RMPL Outline Reactive Model -based Programming Language RMPL Compiler Temporal Plan Network (TPN) with STN Reactive Temporal Planner Concurrent Plan Represents all RMPL executions Selects schedulable execution threads of TPN Plan = Execution threads related by Simple Temporal Net Safe Procedural Execution Model-Predictive Dispatch Model-based Programming Temporal Plan Networks (TPN) Activity Planning (Kirk) Unifying Activity and Path Planning Model-based Reactive Planning Enroute Activity: with flexible plan representation Enroute Activity: with flexible plan representation Enroute Enroute [0,0] 9 0 [0, ] [0, ] Group Transmit Group Transmit [0, ] [0, ] Activity (or sub-activity) Activity (or sub-activity) Duration (temporal constraint)

Enroute Activity: Add conditional nodes Enroute Activity: Add temporally extended, symbolic constraints Enroute [0,0] Enroute [0,0] [0, ] [0, ] [0, ] [0, ] 9 0 Ask( PATH = OK) Ask( EXPLORE = OK) Group Transmit [0, ] Group Transmit [0, ] [0, ] [0, ] [0, ] [0, ] Ask( PATH = OK) Activity (or sub-activity) Duration (temporal constraint) Conditional node Activity (or sub-activity) Duration (temporal constraint) Conditional node Symbolic constraint (Ask,Tell) Outline Safe Procedural Execution Model-Predictive Dispatch Model-based Programming Temporal Plan Networks (TPN) Activity Planning (Kirk) Unifying Activity and Path Planning Model-based Reactive Planning Planning Group-Enroute Group-Enroute [0,0] Ask(PATH=OK) Ask(PROCEED) [0,] Ask(PATH=OK) [0,] 9 0 [0,] Group Transmit [0, ] [0,] To Plan: Instantiate Group-Enroute Planning Group-Enroute Generates Schedulable Plan Group-Enroute [00,00] s [0, ] [0, ] [0,0] Ask(PATH=OK) Ask(PROCEED) [0,] Ask(PATH=OK) [0,] 9 0 [0,] Group Transmit [0, ] [0,] e Ask(PATH=OK) [0,] Ask(PATH=OK) [0,] Group-Enroute [00,00] s [0, ] [0, ] [0,0] Ask(PROCEED) 9 0 [0,] Group Transmit [0,] [0, ] e Tell(PATH=OK) Tell(PROCEED) [0,0] [0, ] [00,00] [0,0] To Plan: Instantiate Group-Enroute Add External Constraints (Tells) Tell(PATH=OK) Tell(PROCEED) [0,0] [0, ] [0,0] [00,00] To Plan: Instantiate Group-Enroute Add External Constraints Check Schedulability Satisfy and Protect Asks

Find paths from start-node to end-node Not a decision-node: Follow all outarcs Not a decision-node: Follow all outarcs Not a decision-node: Follow all outarcs Decision-node: Select a single outarc Not a decision-node: Follow all outarcs

Continue Not a decision-node: Follow all outarcs Continue Check Schedulability Don t test consistency at each step. Only when a path induces a cycle, check for negative cycle in the STN distance graph Example: Inconsistent Check Schedulability [,0] [,0] [,] [ 0,0] [,] [ 0,0] [ 0,0] [ 0,0] [,] [,] [,] [ 0,0] [ 0,0] [ 0,0] [,] [,] [0, ] [,] [,] [0, ] [,]

Trace Alternative Trajectories Backtrack to choice Complete paths Trace Alternative Trajectories [,0] [,] [,] [,] [,] [,] [0, ] [,] [,0] [,] [,] [,] [,] [,] [0, ] [,] How Do We Handle Asks? Group-Enroute [00,00] s e [0, ] [0, ] [0,0] Ask(PATH=OK) Ask(PROCEED) [0,] Ask(PATH=OK) [0,] 9 0 [0,] Group Transmit [0, ] [0,] Tell(PATH=OK) Tell(PROCEED) [0,0] [0, ] [0,0] [00,00] Unconditional planning approach: Guarantee satisfaction of asks at compile time. Treatment similar to causal-link planning Satisfying Asks Compute bounds on activities. Link ask to equivalent, overlapping tell. Constrain tell to contain ask. [,] [,] [,] ask(c) [,] [,] tell(c) [,] [,9] [,0] Avoiding Threats Identify overlapping Inconsistent activities. Symbolic Constraint Consistency Promote or demote [,] [,] [,] tell(c) [,] [,] [,9] tell(c) [0,inf] [,] [,] [,] [,] [,] tell( c) [,9] [,0] [,] tell( c) [,9] [,0]

How do we optimally select activities and paths? Enroute Activity: Closer look at sub-activity Enroute [0,0] Background: Can perform global path planning using Rapidly -exploring Random Trees (RRTs) (la Valle). Approach:. Search for globally optimal activity and path plan by unifying TPN & RRT graphs, and by searching hybrid graph best first.. Refine plan using receding horizon control. [0, ] [0, ] 9 Ask( PATH = OK) Ask( PROCEED) 0 Group Transmit [0, ] [0, ] [0, ] Ask( PATH = OK) Traverse to sub-activity: Traverse through way points to science target [0, ] sub-activity: One obstacle between nodes and Two Obstacles between nodes and Obstacle Ask( PATH = OK) Obstacle Obstacle [0, ] Ask( PATH = OK) sub-activity: Non-explicit representations of obstacles obtained from an increment al collision detection algorithm Path Path 9

Planner considers rovers taking Path : Path Path x goal Path Path Path Path Path 0

RRT:Example RRT:Example Path Path Common Node RRT:Example RRT:Example Path Path RRT:Example Path Model-Predictive Dispatch Goal: Fast, robust, temporal execution with contingencies, in an uncertain environments. Solution: Model-predictive Dispatch, a middle ground between non-deterministic programming and temporal planning. Rich embedded language, RMPL, for describing complex concurrent team strategies extended to time and contingency. Kirk Interpreter looks for schedulable threads of execution before leaping to execution. Temporal Plan Network provides a flexible, temporal, graphbased planning paradigm built upon Simple Temporal Nets. Global optimality achieved by unifying activity planning and global kino-dynamic path planning.