Finding Nemo
: Translating
Reactive Tasks to Reactive
Controllers
Hadas Kress

Gazit
joint work with Georgios Fainekos and George Pappas
“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”
“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”
Symbolic
reactive
high level task
Low level
sensor based
robot control
Automatic
Correct
Efficient
“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”
Problem
Known workspace
robot
Actions
Sensor
inputs
Correct robot
motion and action
high level
task
?
Related work
Known workspace
robot
Actions
Sensor
inputs
high level
task
What
to do?
robot motion and action
How?
Related work
Known workspace
robot
Actions
Sensor
inputs
high level
task
What
to do?
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. IJCAI’01 Workshop on Planning under
Uncertainty and Incomplete Information, 2001.
•
S. M. LaValle. Planning Algorithms. Cambridge University Press, Cambridge,
U.K., 2006.
Related work
robot motion and action
How?
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.
534
–
555
,
1999
.
•
S. M. LaValle. Planning Algorithms. Cambridge University Press, Cambridge,
U.K.,
2006
. (
Sampling based
, etc.)
Known workspace
robot
Actions
Sensor
inputs
high level
task
What
to do?
robot motion and action
How?
Automatic
Correct
Efficient
Formal methods:
Verification, Model checking
and Synthesis
A short detour
System/Program/Design
Requirements
Synthesis
Verification
Correct ?
System/Program/Design
Requirements
Verification
Correct ?
•
Simulation and testing
•
Deductive verification
•
Model checking
Finite state systems
Requirements
Usually in
Temporal Logic
Correct ?
Model checking
a,b
a,b
a,c
a,b
a
b,c
•
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
Crash 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
a,b
a,b
a,c
a,b
a
b,c
c
b
a
f
Crash 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
焠⡡(搩d⁰
焠⡯爩
•
Temporal operators
O
p (next), q
U
p (until),
◊
p (eventually),
[]
p (always)
–
Examples:
•
[]
a = “a is
always
true”
•
◊
(a
c) = “(a
and
c) is
eventually
true”
•
O
b = “b is true in the
next
state”
a,b
a,b
a,c
a,b
a
b,c
Crash Course in Temporal Logic
•
Robotic Task examples
:
•
“Visit rooms
1
,
2
,
3
while avoiding corridor
1
”:
[]
¬
(
corridor
1
)
◊
(room
1
)
◊
(room
2
)
◊
(room
3
)
•
“ 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”
[](
(room
3
)
(
SeeMika
)

> (Beep)
)
•
And much more…
Model checking
•
[]a
•
◊
(a
挩
•
[](c
→
Oc)
Correct ?
a,b
a,b
a,c
a,b
a
b,c
•
True
•
False: (a,b)(a,b)(a,b)…
•
True
Model 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
System/Program/Design
Requirements
Synthesis
•
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.
Back to Robotics
Known workspace
robot
Actions
Sensor
inputs
high level
task
What
to do?
robot motion and action
How?
Automatic
Correct
Efficient
Path
1
2
3
4
8
7
6
5
12
10
9
11
Known workspace
robot
Actions
Sensor
inputs
Hybrid Controller
Correct robot
motion and action
high level
task
Binary
Propositions
Discrete
Abstraction
Temporal logic formula
φ
Approach using
Model Checking
Non reactive
Find a
counter example
for
¬
φ
•
Example
“Go to room
4
”
φ
=
◊
(room
4
)
Model check the formula
¬
◊
(room
4
)
The formula is False and the counter example is
:
room
1
,
room
9
, room
12
, room
11
, room
4
Approach using
Model Checking
1
2
3
4
8
7
6
5
12
10
9
11
1
2
3
8
7
6
5
9
10
4
11
12
Approach 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
can’t do
reactive tasks
.
G. E. Fainekos, H. Kress

Gazit, and G. J. Pappas.
Temporal logic motion
planning for mobile robots
. ICRA ,
2005
.
IEEE Robotics & Automation Magazine
, March
2007
:
61

70
Workshop on “Symbolic Approaches for
Robot Motion Planning and Control”,
Robotics: Science and Systems
,
2006
Invited session “Symbolic Methods for
Control of Mobile Robots
”,
ICRA
,
2007
G. E. Fainekos, H. Kress

Gazit, and G. J.
Pappas. “
Temporal logic motion planning
for mobile robots”
.
ICRA
,
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
.
A. Bicchi, A. Marigo and B. Piccoli.
“
Feedback encoding for efficient symbolic
control of dynamical systems
”
.
IEEE Trans.
Autom. Control
, Jan
2006
.
M. M. Quottrup, T. Bak and R. Izadi

Zamanabadi.
“Multi

robot planning : a
timed automata approach”
.
ICRA
,
2004
.
G. E. Fainekos, H. Kress

Gazit, and G. J.
Pappas. “
Hybrid Controllers for Path
Planning: A Temporal Logic Approach”
.
CDC
,
2005
.
1
2
3
4
8
7
6
5
12
10
9
11
Known workspace
robot
Actions
Sensor
inputs
Automaton
Hybrid Controller
Correct robot
motion and action
high level
task
Binary
Propositions
Discrete
Abstraction
Temporal logic formula
φ
Approach using
Synthesis
Reactive !
H. Kress

Gazit, G. E. Fainekos
and G. J. Pappas.
Where’s
Waldo? Sensor Based
Temporal logic motion
planning
. ICRA ,
2007
.
“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”
1
2
3
4
8
7
6
5
12
10
9
11
Binary
Propositions
Discrete
Abstraction
Temporal logic formula
φ
1
2
3
4
8
7
6
5
12
10
9
11
Known workspace
robot
Actions
Sensor
inputs
Automaton
Hybrid Controller
Correct robot
motion and action
high level
task
Reactive !
Approach using
Synthesis
1
2
3
4
8
7
6
5
12
10
9
11
Constructing
φ
robot
Actions
Sensor
inputs
Discrete
Abstraction
Sensor (Input) propositions:
X
= {SenseNemo,
SenseFire, HearBaby,…
}
=
{s
Nemo
}
Robot (Output) propositions:
Y
= {Room
1
, Room
2
,…,Room
12
, Beep,
RecordVideo,…
}
=
{r
1
, r
2
,…, r
12
,Beep }
Known workspace
Constructing
φ
“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”
Structured English
(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.
Structured 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 r
12
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 r
1
…
Constructing
φ
We consider LTL formulas of the form:
Assumptions
about
the
environment
Desired
robot
behavior
s
e
*Note that only if the
assumptions
are met ( is true),
the desired behavior is
guaranteed
( must be true).
e
s
Nemo
Nemo
Nemo
9
1
1
12
Nemo
Nemo
Nemo
Nemo
Nemo
[]
[]
)
[](
)
[](
)
(
[]
[]
)
[](
}
8
,
5
,
3
,
1
{
}
8
,
5
,
3
,
1
{
12
}
8
,
5
,
3
,
1
{
s
r
r
s
r
Beep
s
r
r
r
Beep
r
r
True
s
s
r
s
s
s
i
i
i
i
i
i
i
i
i
Initial Conditions
Transitions
Goals
Example
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
= {s
Nemo
}
Robot (Output) propositions:
Y
= {r
1
, r
2
,…, r
12
,Beep}
Environment Assumptions
Desired behavior
Why 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
Automaton
robot
high level
task
1
2
3
4
8
7
6
5
12
10
9
11
Actions
Sensor
inputs
Hybrid Controller
Correct robot
motion and action
Binary
Propositions
Discrete
Abstraction
Temporal logic formula
φ
Known workspace
Approach using
Synthesis
Automaton synthesis
•
Synthesis algorithm due to Piterman,
Pnueli and Sa’ar (VMCAI
2006
)
•
Polynomial
(n
3
) 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.
Example
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”
r
12
r
9
r
8
r
9
r
10
r
5
r
10
r
11
r
3
r
11
r
12
r
9
Beep
r
1
r
1
s
Nemo
s
Nemo
s
Nemo
s
Nemo
3
4
8
7
6
5
12
10
9
11
1
2
Beep
r
8
Beep
r
3
Beep
r
5
Hybrid Controller
Automaton
Correct robot
motion and action
robot
high level
task
1
2
3
4
8
7
6
5
12
10
9
11
Actions
Sensor
inputs
Binary
Propositions
Discrete
Abstraction
Temporal logic formula
φ
Known workspace
Approach using
Synthesis
Hybrid 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
Example
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”
3
4
8
7
6
5
12
10
9
11
1
2
r
12
r
9
r
8
Beep
r
5
Beep
r
8
r
9
r
10
r
5
r
10
r
11
Beep
r
3
r
3
r
11
r
12
r
9
Beep
r
1
r
1
s
Nemo
s
Nemo
s
Nemo
s
Nemo
s
Nemo
When 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
e
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.
Extensions
•
Complex Dynamics
*Images courtesy of David C. Conner
Extensions
•
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
= {Robot
2
Kitchen,… },
Y
= {Kitchen, Hall,
Bedroom,… }
…
[]( Robot
2
Kitchen
→
¬O(
Kitchen) )
…
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.
Extensions
•
Multi Robot
“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 Exit
i
”
Summery
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
Demo
What’s 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
Thanks You
Comments 0
Log in to post a comment