1 / 35

Reading

Reading. B. Williams and P. Nayak, “A Reactive Planner for a Model-based Executive,” International Joint Conference on Artificial Intelligence, 1997. PDE. PDE. Flight Computer. Flight Computer. SRU. He. N 2 H 4. Commands. Data. PDU. z facing thrusters. x facing thrusters. GDE.

phelan-orr
Download Presentation

Reading

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Reading • B. Williams and P. Nayak, “A Reactive Planner for a Model-based Executive,” International Joint Conference on Artificial Intelligence, 1997.

  2. PDE PDE Flight Computer Flight Computer SRU He N2H4 Commands Data PDU z facing thrusters x facing thrusters GDE BC BC PASM DSEU 1553 bus PEPE States are commanded through lengthy paths

  3. How do we command safely? Remote Terminal Driver Valve Computer Bus Control Remote Terminal Driver Valve How do we open a valve?

  4. Reactive Planning Model-based Execution & Reactive PlanningBurton [Williams & Nayak, IJCAI97] State estimates Goal state specifications Model Mode Estimation Goal Interpretation Flight System Control Observations Commands RT Control Layer

  5. dcmdin = dcmdout inflow = outflow dcmdin = reset stuck open open on resettable dcmdin = on dcmdin = off vcmdin = open vcmdin = close dcmdin = off stuck closed closed off failed Models are Concurrent Probabilistic Automata dcmdout= vcmdin 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 ME: dr = on, vlv = open RP dcmdin = off ME: dr = off, vlv = open

  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. dcmdin = dcmdout inflow = outflow dcmdin = reset stuck open open on resettable dcmdin = on dcmdin = off vcmdin = open vcmdin = close dcmdin = off stuck closed closed off failed To Handle Indirect Control . . . dcmdout= vcmdin flowin dcmdin vcmdin flowout

  10. driver = on driver = on dcmdin = open dcmdin = close flowout . . . Compile Out Constraints dcmdout = vcmdin dcmdin = dcmdout inflow = outflow inflow = outflow dcmdin = reset stuck open open on resettable dcmdin = on dcmdin = off vcmdin = open vcmdin = close dcmdin = off stuck closed closed off failed flowin dcmdin vcmdin

  11. . . . Compile Out Constraints dcmdin = reset stuck open open on resettable dcmdin = on dcmdin = off driver = on driver = on dcmdin = off dcmdin = open dcmdin = close stuck closed closed off failed 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. Driver Valve • Example • Current State: driver = on, valve = closed • Goal State: driver = off, valve = open • Achieve: (driver = off) Then: (valve = open) • . . . clobbers (driver = off) command Why Search is Needed 1) An achieved goal can be clobbered by a subsequent goal. • 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 achievedconcurrently.

  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. Driver Valve • Example • Current State: driver = on, valve = closed • Goal State: driver = off, valve = open • Achieving (driver = off) and then (valve = open) clobbers (driver = off) command Eliminating Type 1 Search 1) An achieved goal can be clobbered by a subsequent goal. • Achieve Valve goal before Driver goal • Achieve downstream goal before upstream goal

  18. Driver dcmdin Valve Observe: Component schematics tend not to have loops Remote Terminal Valve Driver Computer Bus Control Remote Terminal 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. Affected Unaffected 13 10 5 11 6 12 7 2 8 3 9 4 1 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. • 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. But ancestors no longer needed once goal (7) is satisfied. Unaffected 13 10 5 11 6 12 7 2 8 3 Not Shared 9 4 1 • 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 • 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. Goal Current Open Closed idle driver = on cmd = close Open driver = on cmd = open idle Closed fail fail Stuck Solution: Create Factored Policies • Convert each automata into a goal-directed policy open driver = on driver = on cmd = open cmd = close closed • 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 1 Driver Valve 2 Goal Goal Current Current On Open Off 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 1 Driver Valve 2 Goal Goal Current Current On Open Off 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 1 Driver Valve 2 Send: cmd = on Goal Goal Current Current On Open Off 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 1 Driver Valve 2 Goal Goal Current Current On Open Off 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 1 Driver Valve 2 Goal Goal Current Current On Open Off 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 1 Driver Valve 2 Send cmd = reset Goal Goal Current Current On Open Off 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 1 Driver Valve 2 Send cmd = close Goal Goal Current Current On Open Off 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 1 Driver Valve 2 Send cmd = off Goal Goal Current Current On Open Off 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 1 Driver Valve 2 Goal Goal Current Current On Open Off 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 • Identify allowed transitions and assignments • 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

More Related