Sensor-Based Temporal Logic Motion Planning

Meaning to motion:
Transforming specifications to
provably-correct control
Hadas Kress-Gazit
Cornell University
George Pappas
University of Pennsylvania
October 16th, 2009
1
SUBTLE MURI
October 16th, 2009
2
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.”
October 16th, 2009
3
“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.”
October 16th, 2009
4
Sensor
inputs
Actions
robot
high level
task
Automatic
Known workspace
Dynamic environment
Correct by construction
Correct
robot motion
and action
October 16th, 2009
5
Sensor
inputs
Actions
robot
high level
task
Discrete
Abstraction
Binary
Propositions
Known workspace
Dynamic environment
LTL formula φ
Automaton
Hybrid Controller
Correct robot
motion and action
October 16th, 2009
6
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
b,c
a,b
“next”
“always”
“eventually”
a,b
a,c
“until”
October 16th, 2009
7
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…
October816th, 2009
8
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.
October916th, 2009
9
“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
..
.V
V ¤ (r 1 ! (° r 1 _ ° r 5 ))
¤ (r 2 ! (° r 2 _ ° r 6 ))
..
.V
V ¤ § (sawD ead ! r 11 )
¤ § ((haveB omb^ : sawD ead) ! r 13 )
October 16th, 2009
10
Automaton synthesis
• LTL formula converted to an automaton such
that every execution is guaranteed to satisfy the
formula (achieve the task) – if feasible
October 16th, 2009
11
Discrete
Abstraction
Sensor
inputs
Actions
robot
high level
task
Binary
Propositions
Known workspace
Dynamic environment
LTL formula φ
Automaton
Hybrid Controller
Correct robot
motion and action
October 16th, 2009
12
Discrete Abstractions
• Map, Regions of interest
1316th, 2009
October
13
Discrete Abstractions
• Robot abilities, simulated and real
Search(), Approach(),
Track(),Follow()
(Ongoing work with Umass Lowell)
pickUp(), Drop()
(Ongoing work with George Mason, UPenn)
1416th, 2009
October
14
Discrete Abstractions
• Locative prepositions
“Always stay within 5 of B”
“If you hear the alarm,
stay between A and D”
1516th, 2009
October
15
Discrete Abstractions
• Locative prepositions
“Never go through within 2
of between A and D”
1616th, 2009
October
16
Hybrid Controller
Room
Room11
Room 1,
Room 5
searched
Bisimilar low-level controllers:
PAR or Feedback Control
October 16th, 2009
17
Guarantee
• If the task is feasible, a controller will be
created and the robot’s behavior will be
correct, if the environment behaves well.
October 16th, 2009
18
Simulation
October 16th, 2009
19
Challenge
“If you see a
bomb, pick it
up and take it
to room 13
and then
resume the
search”
October 16th, 2009
20
Year 3…
• Projective locative prepositions – ‘to the right
of’, ‘in front’…
• MetaPARs
• Integration with UMass Lowell
2116th, 2009
October
21
Thank you
2216th, 2009
October
22