what is a tpn
play

What is a TPN? To ensure safe, optimal execution, the control - PDF document

Goals Autonomous Robust Execution of Complex Robotic Missions Paul Robertson, Robert T. Effinger, Brian C. Williams 1. Enable development of complex missions with MERS, CSAIL, MIT (papers on http://mers.mit.edu) contingencies (Complexity) 2.


  1. Goals Autonomous Robust Execution of Complex Robotic Missions Paul Robertson, Robert T. Effinger, Brian C. Williams 1. Enable development of complex missions with MERS, CSAIL, MIT (papers on http://mers.mit.edu) contingencies (Complexity) 2. Provide robustness to component, temporal, and contingency failure (Robustness) 3. Support online optimal temporal planning with contingencies (Optimality) What I won’t talk about Model-based Programming Model-based Embedded Programs • Suspicious • Monitors intentions and plans Activity Model-predictive Method Selection Observation • Self-Adaptive Planning 1. Health Management/Maintenance Planning • Exploits and generates Lazy Activity Scheduling contingencies 2. Mapping/localization Path • State and Fault Aware RMPL S Mapping Planning 3. Path Planning • Specified at level of states. • Achieved using failure knowledge. Model 4. Distribution over multiple robots Temporal Continuous Continuous Health • Anticipatory Mode/State Reactive Planning Estimation Commanding 5. Algorithms for Performance Management – Plans and verifies into the future – Predicts likely future states 6. Generative Activity Planner Obs Cntrl – Plans contingencies S � “RMPL” reactive Model-Based Services and Hardware Programming Language Model-Predictive Method Selection What is a TPN? To ensure safe, optimal execution, the control sequencer: � Dynamically selects consistent methods over future horizon, • A Temporal Plan Network (TPN) is � Adapts to uncertainty by selecting execution times dynamically, – A Simple Temporal Network extended to � Monitors outcomes and plans contingencies. support: Encode possible executions via Temporal Plan Network • Multiple Redundant Methods Temporal Plan Network • Method Deprecation and Regeneration Continuous Temporal Planner Control • Optimal Planning Program Plan Runner – Adds a choice node RMPL imageScienceTargets(Rover1, Rover2) control sequencer – Adds exceptions { { [5,10] Rover1.goto(p4); Commands [5,10] Rover1.goto(p5); [2,5] Rover1.imageTargets(); Mode Mode – Adds cost/rewards to arcs Model of [5,10] Rover1.goto(p3); Estimation Reconfiguration }, Observables Subsystems – Adds online replanning { [5,10] Rover2.goto(p1); [5,10] Rover2.goto(p2); [2,5] Rover2.findTargets(); deductive controller [5,10] Rover2.goto(p3); } } 1

  2. Temporal Planner Block Diagram Temporal Planner Block Diagram TPN Macro RMPL TPN Macro RMPL Mission Specification RMPL RMPL Library Compiler Library Compiler TPN updates TPN updates TPN TPN CSP problem updates Kernel CSP problem updates Kernel TPN data TPN data Initialize Mission TPN data Initialize Mission TPN data CSP CSP TPN Algorithm Nexus Algorithm Nexus Variables Variables Temporal Consistency Check Temporal Consistency Check and Constraints and Constraints Domains Suite of Algorithms Dynamic Domains Suite of Algorithms processed processed TPN TPN Tell Consistency Check Tell Consistency Check data FIFO data FIFO SSSP Kernel SSSP SDSP SDSP APSP OCSP APSP Ask Consistency Check Ask Consistency Check Common Data Common Data Location Consistency Check Location Consistency Check partial partial Dynamic Optimal Dynamic Optimal solutions Repository solutions Repository CSP Solver CSP Solver Macro Expansion Macro Expansion plan updates plan updates Exception Handling Executive Exception Handling Executive exceptions exceptions Architecture Walkthrough Architecture Walkthrough TPN Macro RMPL TPN Macro RMPL Library Compiler Library The Kernel connects the specification, TPN, and CSP parts of the Kernel system, translating data so that these sub- 1.The human writes a mission program in RMPL. Initialize Mission systems can work together. Temporal Consistency Check 2.The RMPL Compiler compiles the RMPL code Tell Consistency Check and populates a library of TPN specifications. The Kernel contains a Ask Consistency Check This library contains the main program, along variety of modules that with any macros that may be called. Location Consistency Check it uses to update the TPN and CSP. Macro Expansion Exception Handling Initialize: Reformulate TPN into Reformulating the TPN into a conditional optimal CSP CSP initialize Step 1: Walk the TPN and create variables corresponding to the decision nodes • Step 1: Initial Variables – Walk the TPN and create variables and constraints Start End V I ={V 1 } corresponding to the decision nodes Ask(B=x) Variables Tell(B=x) V 1 ={ } • Step 2: V 2 ={ , } – Create variables and constraints corresponding to the V 3 ={ , } non-causal link constraint arcs (these come from Tell(B=y) V 4 ={ , } Constraints Tell(A=x) � V 2 arbitrary temporal constraints) � V 3 � V 4 Tell(A=y) 2

  3. Initialize: Reformulate TPN into Architecture Walkthrough CSP initialize The CSP solver finds a TPN Macro RMPL Step 2: Create variables and constraints solution or partial solution to RMPL Library Compiler corresponding to the non-causal link constraint arcs the CSP problem, and passes it back to the Kernel for analysis. Initial Variables Start End V I ={V 1 } TPN updates TPN CSP problem updates Kernel TPN data Initialize Mission TPN data CSP Variables Algorithm Nexus Variables Temporal Consistency Check and Constraints V 1 ={ } Domains Suite of Algorithms processed V 2 ={ , } TPN Tell Consistency Check data FIFO SSSP V 3 ={ , } SDSP APSP Ask Consistency Check Constraints V 4 ={ , } � V 2 Common Data V 5 ={ } Location Consistency Check partial � V 3 Dynamic Optimal solutions Repository V 6 ={ } CSP Solver � V 4 Macro Expansion � V 5 plan updates � V 6 Exception Handling Executive exceptions Solution Analysis: Temporal Architecture Walkthrough Consistency Check If the temporal consistency checking When the CSP solver returns a partial solution to the Kernel, the Kernel Partial Solution TC Check algorithm detects a negative cycle, the analyzes the partial solution. Each analysis module may generate additional V 1 ={ } V 2 ={ } V 3 ={ } conjunction of variable assignments that TPN nodes & arc, as well as additional CSP variables and constraints. contributes to the negative cycle become a new conflict constraint. Initial Variables Start End TPN updates V I ={V 1 } TPN CSP problem updates Kernel TPN data Initialize Mission CSP Variables Variables Temporal Consistency Check and Constraints V 1 ={ } Domains V 2 ={ , } Tell Consistency Check The first analysis kernel V 3 ={ , } module is Temporal Ask Consistency Check Constraints V 4 ={ , } Consistency Check . � V 2 V 5 ={ } Location Consistency Check partial Dynamic Optimal � V 3 solutions V 6 ={ } CSP Solver � V 4 Macro Expansion � V 5 � V 6 Exception Handling Solution Analysis: Tell Solution Analysis: Tell Consistency Check Consistency Check The CSP is updated with a new Tell Consistency Check ensures that any Partial Solution Partial Solution variable and constraint Tell Consist Check Tell Consist Check potentially co-occuring mutually V 1 ={ } V 2 ={ } V 6 ={ } V 1 ={ } V 2 ={ } V 6 ={ } The TPN is updated with two exclusive Tells are ordered so they do new conflict avoidance arcs not co-occur. Initial Variables Initial Variables Start End Start End V I ={V 1 } V I ={V 1 } Variables Variables Tell(B=x) V 1 ={ } V 1 ={ } V 2 ={ , } V 2 ={ , } V 3 ={ , } V 3 ={ , } Constraints Constraints Tell(B=y) V 4 ={ , } V 4 ={ , } Tell(A=x) Tell(A=x) � V 2 � V 2 V 5 ={ } V 5 ={ } � V 7 � V 3 � V 3 � V 7 V 7 ={ , } V 6 ={ } V 6 ={ } � V 4 � V 4 V 7 ={ , } � V 5 � V 5 Tell(A=y) Tell(A=y) � V 6 � V 6 Possible Overlap!! 3

Recommend


More recommend