Title: Finding Nemo: Translating Reactive Tasks to Reactive Controllers Hadas KressGazit joint work with Ge
1Finding Nemo Translating Reactive Tasks to
Reactive Controllers Hadas Kress-Gazitjoint
work with Georgios Fainekos and George Pappas
2Look for Nemo. If he is in a red zone, sound the
alarm and go to the office. If he is in another
zone, take him to one of the parking lots
3Look for Nemo. If he is in a red zone, sound the
alarm and go to the office. If he is in another
zone, take him to one of the parking lots
4Symbolic reactive high level task
Look for Nemo. If he is in a red zone, sound the
alarm and go to the office. If he is in another
zone, take him to one of the parking lots
Automatic Correct Efficient
Low level sensor based robot control
5Problem
Sensor inputs
Actions
Known workspace
robot
?
high level task
Correct robot motion and action
6Related work
Sensor inputs
Actions
What to do?
Known workspace
robot
high level task
How?
robot motion and action
7Related work
Sensor inputs
Actions
What to do?
Known workspace
robot
high level task
Planning and AI
- S. Russell and P. Norvig. Artificial
Intelligence, A Modern Approach. - Prentice Hall, second edition, 2003.
- P. Bertoli, A. Cimatti, M. Pistore, M. Roveri and
P. Traverso. MBP A model based planner. In In
Proc. IJCAI01 Workshop on Planning under
Uncertainty and Incomplete Information, 2001. - S. M. LaValle. Planning Algorithms. Cambridge
University Press, Cambridge, U.K., 2006.
8Related work
Motion Planning
- R. R. Burridge, A. A. Rizzi, and D. E.
Koditschek, Sequential composition of
dynamically dexterous robot behaviors,
International Journal of Robotics Research, vol.
18, no. 6, pp. 534555, 1999. - S. M. LaValle. Planning Algorithms. Cambridge
University Press, Cambridge, U.K., 2006.
(Sampling based, etc.)
How?
robot motion and action
9Sensor inputs
Actions
What to do?
Known workspace
robot
high level task
Automatic Correct Efficient
How?
robot motion and action
10Formal methods Verification, Model
checkingand Synthesis
11System/Program/Design
Synthesis
Requirements
Verification
12System/Program/Design
Requirements
Verification
Correct ?
- Simulation and testing
- Deductive verification
- Model checking
13Model checking
Finite state systems
Requirements Usually in Temporal Logic
Correct ?
- Exhaustive search of the state space
- Algorithm is guaranteed to terminate with the
correct answer. - If there is a bug, (sometimes) a counter-example
is given
14Crash Course in Temporal Logic
- Propositional logic
-
- if a b c True in our world, then f True
- if a b True but c False in our world,
then f False - What if the world is not static?
- We can discuss the truth of statements of the
form - a is always True
- c is eventually True
- b and c are never True together
- If c is True, then c stays True forever
- It is possible that c will become True
- b is True in the next state
15Crash Course in Temporal Logic
- Linear Temporal Logic (LTL)
- Truth is evaluated along infinite computation
paths - (a,b),a,a,a
- (a,b),(a,b),(a,c),(a,c),
- (a,b),a,a,a,(a,b),(a,b),(a,c),(a,c),
- Formulas
- Atomic propositions (a,b,c)
- Boolean combinations
- p (not), p?q (and), p?q (or)
- Temporal operators
- Op (next), qUp (until),
- ?p (eventually), p (always)
- Examples
- a a is always true
- ?(a ? c) (a and c) is eventually true
- Ob b is true in the next state
16Crash Course in Temporal Logic
- 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
17Model checking
Correct ?
- True
- False (a,b)(a,b)(a,b)
- True
18Model checking
- Great book Model Checking. Clarke, E.M.,
Grumberg, O., and Peled, D. MIT Press, 2000. - Many tools (SPIN, NuSMV, UPPAAL)
- Extensively used in the hardware design world
19System/Program/Design
Synthesis
Requirements
- Given a formula, create the system
- Synthesis of the full LTL is double exponential
in the size of the formula - For a specific fragment, it is polynomial in the
state space.
20Back to Robotics
21Sensor inputs
Actions
What to do?
Known workspace
robot
high level task
Automatic Correct Efficient
How?
robot motion and action
22Approach using Model Checking
Sensor inputs
Actions
Known workspace
robot
high level task
Non reactive
Correct robot motion and action
23Approach using Model Checking
- Example
- Go to room 4
- f ?(room4)
- Model check the formula
- ?(room4)
- The formula is False and the counter example is
- room1, room9, room12, room11, room4
24Approach using Model Checking
- Advantages
- Fast example with 9250 regions took 55 seconds
- Many tools
- NuSMV
- SPIN
- Disadvantages
- Paths are not optimal
- Result is a path not a plan, so we cant do
reactive tasks.
G. E. Fainekos, H. Kress-Gazit, and G. J. Pappas.
Temporal logic motion planning for mobile robots.
ICRA , 2005.
25G. E. Fainekos, H. Kress-Gazit, and G. J. Pappas.
Temporal logic motion planning for mobile
robots. ICRA, 2005.
G. E. Fainekos, H. Kress-Gazit, and G. J. Pappas.
Hybrid Controllers for Path Planning A Temporal
Logic Approach. CDC, 2005.
M. Kloetzer and C. Belta. A fully automated
framework for control of linear systems from ltl
specifications. HSCC, 2006.
J. McNew and E. Klavins. Locally interacting
hybrid systems with embedded graph grammars.
CDC, 2006.
IEEE Robotics Automation Magazine, March 2007
61-70
Workshop on Symbolic Approaches for Robot Motion
Planning and Control, Robotics Science and
Systems, 2006
M. M. Quottrup, T. Bak and R. Izadi-Zamanabadi.
Multi-robot planning a timed automata
approach. ICRA, 2004.
A. Bicchi, A. Marigo and B. Piccoli. Feedback
encoding for efficient symbolic control of
dynamical systems .IEEE Trans. Autom. Control,
Jan 2006.
Invited session Symbolic Methods for Control of
Mobile Robots , ICRA, 2007
26Approach using Synthesis
Sensor inputs
Actions
Known workspace
robot
high level task
Reactive !
H. Kress-Gazit, G. E. Fainekos and G. J. Pappas.
Wheres Waldo? Sensor Based Temporal logic motion
planning. ICRA , 2007.
Correct robot motion and action
27 Nemo may be sitting in one of rooms 1, 3, 5 and
8. Starting in corridor 12, look for him in these
rooms. If at some point you see him, stop and
beep
28Approach using Synthesis
29Constructing f
Sensor inputs
Discrete Abstraction
Actions
robot
Known workspace
Sensor (Input) propositions X SenseNemo,
SenseFire, HearBaby, sNemo Robot
(Output) propositions Y Room1,
Room2,,Room12, Beep, RecordVideo, r1,
r2,, r12,Beep
30Constructing f
Nemo may be in one of rooms 1, 3, 5 and 8.
Starting in corridor 12, look for him in these
rooms. If at some point you see him, stop and
beep
???
(MURI SUBTLE)
H. Kress-Gazit, G. E. Fainekos and G. J. Pappas.
From Structured English to Robot Motion, IROS,
San Diego, CA, Oct 2007. To appear.
31Structured English Interface
Nemo may be in one of rooms 1, 3, 5 and 8.
Starting in corridor 12, look for him in these
rooms. If at some point you see him, stop and
beep
Environment starts with not Nemo You start in
r12 If you are sensing Nemo then stay there Beep
if and only if you are sensing Nemo If you are
not sensing Nemo then go to r1
32Constructing f
We consider LTL formulas of the form
Assumptions about the environment
Desired robot behavior
Note that only if the assumptions are met (
is true), the desired behavior is guaranteed (
must be true).
33Example
Task Nemo may be sitting in one of rooms 1, 3,
5 and 8. Starting in corridor 12, look for him in
these rooms. If at some point you see him, stop
and beep Sensor (Input) propositions X
sNemo Robot (Output) propositions Y r1,
r2,, r12,Beep
Environment Assumptions
Desired behavior
34Why this structure?
- Can be efficiently synthesized into an
automaton - No significant loss of expressivity with respect
to the full LTL - Clear distinction between assumptions and
desired behavior
35Approach using Synthesis
36Automaton synthesis
- Synthesis algorithm due to Piterman, Pnueli and
Saar (VMCAI 2006) - Polynomial (n3) in the number of states (as
opposed to double exponential in the length of
the formula) - Basically, solves a game between the environment
and the robot. If the robot wins, an automaton is
extracted.
37Example
Task Nemo may be sitting in one of rooms 1, 3,
5 and 8. Starting in corridor 12, look for him in
these rooms. If at some point you see him, stop
and beep
Beep r8
sNemo
sNemo
Beep r5
sNemo
r9
r12
r8
r10
r9
r5
sNemo
Beep r1
sNemo
r10
r1
sNemo
r9
r11
r12
r3
r11
Beep r3
sNemo
sNemo
38Approach using Synthesis
39Hybrid controller
- We employ a set of simple controllers that
drive the robot from one region to an adjacent
one, based on its dynamics. - Belta et. al. (CDC 2004)
- Conner et. al. (IROS 2003, RSS 2006,IROS 2007)
- Lindemann et. al. (RSS 2006, ICRA 2007)
- The automaton governs the sensor based
composition of these controllers
40Example
Task Nemo may be sitting in one of rooms 1, 3,
5 and 8. Starting in corridor 12, look for him in
these rooms. If at some point you see him, stop
and beep
Beep r8
sNemo
Beep r5
sNemo
sNemo
r9
r8
r10
r12
r5
r9
sNemo
Beep r1
sNemo
r10
r1
sNemo
r11
r9
r12
r3
r11
Beep r3
sNemo
sNemo
41When will this break?
- Logical inconsistency go to room 1 and always
stay in room 4 - Topologically impossible go to room 5 and
always avoid room 10 - ? No automaton is synthesized
- Environment behaves badly
- Sensors inputs contradict assumptions ( is
false) - Violent environment
- ? Execution may be incorrect or terminated
prematurely
42Extensions
D. C. Conner, H. Kress-Gazit, H. Choset, A. Rizzi
and G. J. Pappas. Valet parking without a valet,
IROS, San Diego, CA, Oct 2007. To appear.
Images courtesy of David C. Conner
43Extensions
- Multi Robot
- Naturally captured in a decentralized way
- The environment of each robot contains all other
robots - If robot 2 is in the kitchen, do not go there
- X Robot2Kitchen, , Y Kitchen, Hall,
Bedroom, - ? ( Robot2Kitchen ? O(Kitchen) ) ?
44Extensions
Drive around the environment, while obeying
traffic rules, until you find a free parking
space, and then park
Leave the block, while obeying traffic rules,
through Exiti
H. Kress-Gazit, D. C. Conner, H. Choset, A. Rizzi
and G. J. Pappas. Courteous cars Decentralized
multi-agent traffic coordination, Special Issue
of the IEEE Robotics and Automation Magazine on
Multi-Agent Robotics. To appear.
45Summery
- Method for transforming high level reactive
tasks into low level robot control - Advantages
- Sensor based
- Automatic
- Efficient
- Correct by construction
- Interface between discrete planning and
continuous control
46Demo
47Whats next?
- Natural language interface
- Feedback\Dialog with the user
- Unknown workspace (SLAM ?)
- Verify sensor models obey assumptions
- Incorporate cost
- On the fly extraction of automata
- Experiments
48Thanks You