Download presentation
Presentation is loading. Please wait.
Published byJustina Nash Modified over 9 years ago
1
A Language for Task-Level Executives Reid Simmons David Apfelbaum Carnegie Mellon University
2
2 Layered Architectures Behavioral Layer
3
Carnegie Mellon University3 Task-Level Executives Forms Bridge Between Planning and Behaviors Discrete vs. continuous control Symbolic vs. numeric representations Real-time considerations Basic Roles Decompose task into subtasks Dispatch tasks based on synchronization constraints Monitor execution for contingencies and opportunities Handle exceptions upon failure
4
Carnegie Mellon University4 Task Trees - Deliberative Execution Trace of Hierarchical Plan Created Dynamically at Run Time Decompose task into subtasks Temporal constraints (partially) order task execution Can be conditional and recursive Associate Actions with Nodes Can perform computations, add child nodes and constraints, check sensors, etc. Leaf Nodes Connect Directly to Functional Layer deliverMail center OnDoor navigate To speak move center OnDoor lookFor Door
5
Carnegie Mellon University5 Task Trees - Reactive Task-Specific Execution Monitors Context-Dependent, Hierarchical Exception Handlers React by Analyzing and Manipulating Task Trees Terminate subtrees Add new nodes Add new temporal constraints noDelivery monitor Pickup deliverMail center OnDoor navigate To speak move center OnDoor lookFor Door
6
Carnegie Mellon University6 Task Definition Language (TDL) Requirements Simple concepts should be expressible in simple terms Do not preclude expression of complex control constructs Natural integration with existing code High-Level Language Tailored to Task-Level Control Extension of C++ with explicit syntax for task-level control constructs Compiles into pure C++ with calls to task management library Threaded Distributed
7
Carnegie Mellon University7 TDL Example I Goal deliverMail (int room) Exception Handler noDelivery { double x, y; getRoomCoordinates(room, &x, &y); spawn navigateTo(x, y); spawn centerOnDoor(x, y) with sequential execution previous, terminate in 30.0; spawn speak(“Xavier here with your mail”) with sequential execution centerOnDoor, terminate at monitorPickup completed; spawn monitorPickup() with sequential execution centerOnDoor; } Goal centerOnDoor(double x, double y) { int whichSide; spawn lookForDoor(&whichSide) with wait; if (whichSide != 0) { if (whichSide < 0) spawn move(-10); // move left else spawn move(10); // move right spawn centerOnDoor(x, y) with disable execution until previous execution completed; } deliverMail noDelivery center OnDoor navigate To speak monitor Pickup move center OnDoor lookFor Door
8
Carnegie Mellon University8 TDL Example II Goal GroupDeploy (deployList) { with (serial) { for (i=1; i<=length(deployList); i++) { with (parallel) { for (j=i; j<=length(deployList); j++) { spawn Deploy(deployList[j].robot, deployList[i].location); } } Goal LeapFrogDeploy (deployList) { with (serial) { for (i=1; i<=length(deployList); i++) { with (serial) { for (j=1; j<=i; j++) { spawn Deploy(deployList[i].robot, deployList[j].location); } } } } }
9
Carnegie Mellon University9 Some Applications That Use TDL Autonomous spacecraft prototype Autonomous airship (Brazil) Office delivery robot Social robot (GRACE) Multi-rover exploration Multi-robot mapping Multi-robot assembly and construction Integrated with the CASPER planner (JPL)
10
Carnegie Mellon University10 Formal Verification Use of Model Checking to Detect Design-Time Flaws Formalize TDL as Concurrent FSA Automatic translation of TDL subset into SMV Define Requirements using CTL (Temporal Logic) Developing Tool for Analyzing Counterexamples
11
Carnegie Mellon University11 Formal Verification TDL SMV Model Domain Requirements SMV Specifications Causal Explanation SMV Trace SMV TRANSLATORTRANSLATOR
12
Carnegie Mellon University12 Multi-Robot Coordination Executive Behavioral Control Planning Executive Behavioral Control Planning Executive Behavioral Control Executive Behavioral Control Planning
13
Carnegie Mellon University13 Distributed Task Synchronization Robot 1 Robot 2 Robot 3 Execute Sequentially Execute Concurrently Execute Sequentially taskA taskC taskB
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.