1 October 16 th, 2009 Meaning to motion: Transforming specifications to provably-correct control Hadas Kress-Gazit Cornell University George Pappas University of Pennsylvania
2 October 16 th, 2009 SUBTLE MURI
3 October 16 th, 2009 Example Mission Murray starts in room 11. “Search rooms 1,2,3 and 4. If you see a dead body, abandon the search and go to room 11. If you see a bomb, pick it up and take it to room 13 and then resume the search.”
4 October 16 th, 2009 “Search rooms 1,2,3 and 4. If you see a dead body, abandon the search and go to room 11. If you see a bomb, pick it up and take it to room 13 and then resume the search.”
5 October 16 th, 2009 Known workspace Dynamic environment Actions Sensor inputs Correct robot motion and action high level task Automatic Correct by construction Automatic Correct by construction robot
6 October 16 th, 2009 Known workspace Dynamic environment Actions Sensor inputs Correct robot motion and action high level task robot Automaton Hybrid Controller Binary Propositions Binary Propositions Discrete Abstraction LTL formula φ
7 October 16 th, 2009 Linear Temporal Logic (LTL) Syntax: Semantics: Truth is evaluated along infinite computation paths σ ((a,b),a,a,a… (a,b),(a,b),(a,c),(a,c),…) a,b a,c a,b a b,c “next” “always” “until” “eventually”
8 October 16 th, 2009 Linear Temporal Logic (LTL) Robotic Task examples: “Visit rooms 1,2,3 while avoiding corridor 1”: [] ¬(corridor1) ◊(room1) ◊(room2) ◊(room3) “ If the light is on, visit rooms 1 and 2 infinitely often”: []( (LightOn) -> ([]◊(room 1) []◊(room 2)) ) “If you are in room 3 and Mika is there, beep” []( (room3) (SeeMika) -> (Beep) ) And much more… 8
9 October 16 th, 2009 Why LTL ? Formal description of tasks Many algorithms and tools Compositional Suitable for specifications that can be encoded as finite state machines Not context free –Can’t encode “for every person you saw before, beep exactly once” if there is no upper bound on the number of people. 9
10 October 16 th, 2009 “Search rooms 1,2,3 and 4. If you see a dead body, abandon the search and go to room 11. If you see a bomb, pick it up and take it to room 13 and then resume the search.” MetaPAR
11 October 16 th, 2009 Automaton synthesis LTL formula converted to an automaton such that every execution is guaranteed to satisfy the formula (achieve the task) – if feasible
12 October 16 th, 2009 Known workspace Dynamic environment Actions Sensor inputs Correct robot motion and action high level task robot Automaton Hybrid Controller Binary Propositions Binary Propositions Discrete Abstraction LTL formula φ
13 October 16 th, 2009 Map, Regions of interest 13 Discrete Abstractions
14 October 16 th, 2009 Robot abilities, simulated and real 14 Discrete Abstractions Search(), Approach(), Track(),Follow() (Ongoing work with Umass Lowell)(Ongoing work with George Mason, UPenn) pickUp(), Drop()
15 October 16 th, 2009 Locative prepositions 15 Discrete Abstractions “If you hear the alarm, stay between A and D” “Always stay within 5 of B”
16 October 16 th, 2009 Locative prepositions 16 Discrete Abstractions “Never go through within 2 of between A and D”
17 October 16 th, 2009 Hybrid Controller Room 1 Room 5 Bisimilar low-level controllers: PAR or Feedback Control Room 1 Room 1, searched
18 October 16 th, 2009 Guarantee If the task is feasible, a controller will be created and the robot’s behavior will be correct, if the environment behaves well.
19 October 16 th, 2009 Simulation
20 October 16 th, 2009 Challenge “If you see a bomb, pick it up and take it to room 13 and then resume the search”
21 October 16 th, 2009 Projective locative prepositions – ‘to the right of’, ‘in front’… MetaPARs Integration with UMass Lowell 21 Year 3…
22 October 16 th, 2009 Thank you 22
23 October 16 th, 2009 LTL and PAR Integration Pragmatics->PAR->LTL->PAR Commands in the form of PARs will be instantiated from pragmatics. If the command requires planning (e.g. search), then LTL is called. LTL automatically and verifiably composes controllers that satisfy high level task specifications. PAR can then be used to fill in parameters of the actions and for simulation. Additionally, PAR provides LTL with precepts of the environment that produce state transitions in the LTL automaton.