Download presentation
Presentation is loading. Please wait.
Published byAmy Reynolds Modified over 6 years ago
1
Reading B. Williams and P. Nayak, “A Reactive Planner for a Model-based Executive,” International Joint Conference on Artificial Intelligence, 1997.
2
States are commanded through lengthy paths
z facing thrusters x facing thrusters 1553 bus Commands Data N2H4 He PDE SRU PDU GDE PASM DSEU PEPE BC Flight Computer Flight Computer BC PDE
3
How do we command safely?
Remote Terminal Driver Valve Computer Bus Control Remote Terminal Driver Valve How do we open a valve?
4
Model-based Execution & Reactive Planning Burton [Williams & Nayak, IJCAI97]
State estimates Goal state specifications Model Mode Estimation Goal Interpretation Reactive Planning The key feature of our approach is that we build models of both the physical constituents and of the software components in domain specific languages that are embedded within the same deductive framework. These models are combined at runtime by extremely fast online deductive algorithms that reasons about the constraints from all the models as a single constraint satisfaction problem. In effect, our executive emulates a controller tailored to the specific situation by interpreting the models at runtime. In contrast to approaches based on software synthesis, the models are available at runtime to help guide diagnosis and recovery procedures. This approach allows room for adaptation at runtime to incompleteness of models, to changes of the physical system (e.g. battle damage) and to other unexpected or anomalous events. An earlier version of this real-time Deductive executive has been successfully prototyped and deployed in NASA’s Deep Space 1 mission by one of the PI’s. Flight System Control Observations Commands RT Control Layer
5
Models are Concurrent Probabilistic Automata
dcmdout= vcmdin dcmdin = dcmdout closed open stuck closed stuck open vcmdin = close vcmdin = open inflow = outflow off on failed resettable dcmdin = off dcmdin = on dcmdin = reset flowin dcmdin vcmdin flowout
6
Example: Model-based Execution in Action
Valve Driver dr Valve vlv vcmdin dcmdin Goal: No thrust Commands Driver State Valve State ME: dr = off, vlv = open GI: dr = off, vlv = closed RP dcmdin = on ME: dr = on, vlv = open RP dcmdin = close ME: dr = reset failure, vlv = open RP dcmdin = reset RP dcmdin = off
7
To achieve reactivity we eliminate all forms of search.
Eliminate Indirect Control through Compilation Eliminate Search for Goal Ordering through Reversibility and Serialization Eliminate Search to find Suitable Transitions by Constructing Factored Polices
8
To achieve reactivity we eliminate all forms of search.
Eliminate Indirect Control through Compilation Eliminate Search for Goal Ordering through Reversibility and Serialization Eliminate Search to find Suitable Transitions by Constructing Factored Polices
9
To Handle Indirect Control . . .
dcmdout= vcmdin dcmdin = dcmdout closed open stuck closed stuck open vcmdin = close vcmdin = open inflow = outflow off on failed resettable dcmdin = off dcmdin = on dcmdin = reset flowin dcmdin vcmdin flowout
10
. . . Compile Out Constraints
dcmdout = vcmdin dcmdin = dcmdout inflow = outflow inflow = outflow dcmdin = reset stuck open on resettable open dcmdin = on dcmdin = off driver = on dcmdin = close dcmdin = open vcmdin = open vcmdin = close dcmdin = off stuck closed off failed closed flowin flowout dcmdin vcmdin
11
. . . Compile Out Constraints
dcmdin = reset stuck open on resettable open dcmdin = on dcmdin = off driver = on driver = on dcmdin = off dcmdin = open dcmdin = close stuck closed off failed closed dcmdin
12
To Compile Out Constraints
Eliminate intermediate variables. Transitions are conditioned on mode and control variables Generate transitions as prime implicates: Fi Þ next(yi = ei) where Fi is a conjunction of mode and control variable assignments. Prime implicates for transitions enumerated using OpSAT 40 seconds on SPARC 20 for 12,000 clause spacecraft model.
13
To achieve reactivity we eliminate all forms of search.
Eliminate Indirect Control through Compilation Eliminate Search for Goal Ordering through Reversibility and Serialization Eliminate Search to find Suitable Transitions by Constructing Factored Polices
14
Why Search is Needed 1) An achieved goal can be clobbered by a subsequent goal. Valve Driver command Example Current State: driver = on, valve = closed Goal State: driver = off, valve = open Achieve: (driver = off) Then: (valve = open) . . . clobbers (driver = off) Must achieve Valve goal before Driver goal
15
Why Search is Needed 2) Two goals can compete for the same variable in their subgoals. Switch 1 Latch1 data 2 Latch2 Example Goal: Latch1 Closed, Latch2 Open Latch1 and Latch2 compete for the position of Switch if goals achieved concurrently.
16
Why Search is Needed 3) A state transition of a subgoal variable has irreversible effect. Switch 1 Latch1 data 2 Latch2 Example Assume Switch can only be used once, Then Latch1 must be latched before Latch2.
17
Eliminating Type 1 Search
1) An achieved goal can be clobbered by a subsequent goal. Valve Driver command Example Current State: driver = on, valve = closed Goal State: driver = off, valve = open Achieving (driver = off) and then (valve = open) clobbers (driver = off) Achieve Valve goal before Driver goal Achieve downstream goal before upstream goal
18
Observe: Component schematics tend not to have loops
Remote Terminal Valve Computer Bus Control Driver Remote Terminal Driver Valve dcmdin Driver Valve Define: Causal Graph G of compiled transition system S vertices are component state variables. edge from vi to vj if vj’s transition is conditioned on vi. Introduce Requirement: The causal graph is acyclic. Achieve conjunctive goals upstream from outputs to inputs
19
Solution The only variables used to set a variable (y7) is its ancestors. y7 can be changed without affecting its descendants. Ancestors no longer needed once variable is set. 13 12 9 11 8 10 7 4 6 3 5 2 1 Unaffected Affected Its is safe to achieve goals in an upstream order. Simple check: Number causal graph depth first achieve goals in order of increasing depth first number.
20
Eliminating Type 3 Search
2) Two goals can compete for the same variable in their subgoals. Switch 1 Latch1 data 2 Latch2 Example Latch1 and Latch2 compete for the position of Switch if achieved concurrently. Solution: Solve Serially
21
Sibling goals (7,4) may both need shared ancestors.
Not Shared Unaffected 13 10 5 11 6 12 7 2 8 3 Shared 9 4 1 13 12 9 11 8 10 7 4 6 3 5 2 1 Unaffected Not Shared But ancestors no longer needed once goal (7) is satisfied. Solution: Solve one goal before starting next sibling (Serialization). Feature: Generates first control action of plan first!
22
Eliminating Type 3 Search
3) A state transition of a subgoal variable has irreversible effect. Switch 1 Latch1 data 2 Latch2 Example Assume Switch can be used once, Then Latch1 must be latched before Latch2. But irreversible effects aren’t desirable for reactive planners Don’t allow irreversible actions . . . Except to repair failure modes
23
To achieve reactivity we eliminate all forms of search.
Eliminate Indirect Control through Compilation Eliminate Search for Goal Ordering through Reversibility and Serialization Eliminate Search to find Suitable Transitions by Constructing Factored Polices
24
Solution: Create Factored Policies
fail Goal driver = on cmd = open idle cmd = close Current Open Closed Stuck open driver = on driver = on cmd = open cmd = close closed Convert each automata into a goal-directed policy Policy selects first transition towards achieving each automata goal state, given current state. Policy maps goals to subgoals and commands, in proper order Ensures only reversible transitions are taken, by only using transitions marked allowed.
25
Plan by passing sub-goals up causal graph
Goal: Driver = off, Valve = closed Current: Driver = off, Valve = open Driver 2 Valve 1 Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
26
Plan by passing sub-goals up causal graph
Goal: Driver = off, Valve = closed Current: Driver = off, Valve = open Driver 2 Valve 1 Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
27
Plan by passing sub-goals up causal graph
Goal: Driver = off, Valve = closed Current: Driver = off, Valve = open Driver 2 Valve 1 Send: cmd = on Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
28
Plan by passing sub-goals up causal graph
Goal: Driver = off, Valve = closed Failed Resettable Current: Driver = resettable, Valve = open Driver 2 Valve 1 Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
29
Plan by passing sub-goals up causal graph
Goal: Driver = off, Valve = closed Current: Driver = resettable, Valve = open Driver 2 Valve 1 Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
30
Plan by passing sub-goals up causal graph
Goal: Driver = off, Valve = closed Current: Driver = resettable, Valve = open Driver 2 Valve 1 Send cmd = reset Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
31
Plan by passing sub-goals up causal graph
Goal: Driver = off, Valve = closed Current: Driver = on, Valve = open Driver 2 Valve 1 Send cmd = close Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
32
Plan by passing sub-goals up causal graph
Goal: Driver = off, Valve = closed Current: Driver = on, Valve = closed Driver 2 Valve 1 Send cmd = off Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
33
Plan by passing sub-goals up causal graph
Success Goal: Driver = off, Valve = closed Current: Driver = off, Valve = closed Driver 2 Valve 1 Goal Goal Current On Off Current Open Closed idle cmd = off idle driver = on cmd = close On Open cmd = on idle driver = on cmd = open idle Off Closed cmd = reset cmd = off fail fail Resettable Stuck
34
Factored, Model-based Reactive Planning
Compile-time Analysis: Compile-out interactions Confirm schematics are loop free. Depth first number variables. Periodic, Run-time Analysis: Given initial state Identify allowed transitions and assignments Given autonomous jump to failure state Run-time Plan Execution: Work conjunctive goals from outputs to inputs. Achieve goals serially. Only perform reversible transitions. Lookup control actions and sub-goals in policies
35
Complexity of Reactive Planning
Worst Case per action: Depth * Sub-goal branch factor Average Cost per action: Sub-goal branch factor Valve1 = open Valve2 = open Driver1 = off Driver2 = off Driver1 = on Driver2 = on CU = on CU = on CU = on CU = on CU = on CU = on
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.