Finding Nemo Translating Reactive Tasks to Reactive Controllers
- Slides: 48
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”
“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 Automatic Correct Efficient Low level sensor based robot control
Problem Sensor inputs Actions robot high level task ? Known workspace Correct robot motion and action
Related work Sensor inputs Actions robot What to do? Known workspace high level task How? robot motion and action
Related work Sensor inputs Actions robot high level task • • • What to do? Known workspace 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. La. Valle. Planning Algorithms. Cambridge University Press, Cambridge, U. K. , 2006.
Related 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. 534– 555, 1999. • S. M. La. Valle. Planning Algorithms. Cambridge University Press, Cambridge, U. K. , 2006. (Sampling based, etc. ) How? robot motion and action
Sensor inputs Actions robot What to do? high level task How? Known workspace Automatic Correct Efficient robot motion and action
Formal methods: Verification, Model checking and Synthesis A short detour
Synthesis System/Program/Design Requirements Verification Correct ?
Requirements System/Program/Design Verification Correct ? • Simulation and testing • Deductive verification • Model checking
Model checking Requirements a Usually in Temporal Logic a, b b, c a, b a, c systems Finite state 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
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, c a, b a, c
Crash Course in Temporal Logic Linear Temporal Logic (LTL) – Truth is evaluated along infinite computation paths • (a, b), a, a, a… • (a, b), (a, c), … • (a, b), a, a, a, (a, b), (a, c), … – Formulas: • Atomic propositions (a, b, c…) • Boolean combinations ¬p (not), p q (and), p q (or) • Temporal operators Op (next), q. Up (until), ◊p (eventually), []p (always) a, b a – Examples: a, b • []a = “a is always true” • ◊(a c) = “(a and c) is eventually true” • Ob = “b is true in the next state” b, c a, b a, c
Crash Course in Temporal Logic • Robotic Task examples: • “Visit rooms 1, 2, 3 while avoiding corridor 1”: [] ¬(corridor 1) ◊(room 2) ◊(room 3) • “ If the light is on, visit rooms 1 and 2 infinitely often”: []( (Light. On) -> ([]◊(room 1) []◊(room 2)) ) • “If you are in room 3 and Mika is there, beep” []( (room 3) (See. Mika) -> (Beep) ) • And much more…
Model checking • []a • ◊(a c) • [](c → Oc) a a, b b, c a, b a, c Correct ? • True • False: (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, Nu. SMV, UPPAAL…) • Extensively used in the hardware design world
Synthesis Requirements System/Program/Design • 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
Sensor inputs Actions robot What to do? high level task How? Known workspace Automatic Correct Efficient robot motion and action
Approach using Model Checking Sensor inputs Actions robot 1 Discrete Abstraction 12 2 Binary Propositions 3 8 9 11 4 7 10 6 5 Known workspace high level task Temporal logic formula φ Non reactive Path Find a counter example for ¬φ Hybrid Controller Correct robot motion and action
Approach using Model Checking • Example “Go to room 4” φ = ◊(room 4) 8 1 2 12 3 Model check the formula ¬◊(room 4) 9 11 4 7 10 1 6 12 2 3 8 9 11 7 10 6 4 5 The formula is False and the counter example is: room 1, room 9, room 12, room 11, room 4 5
Approach using Model Checking • Advantages – Fast – example with 9250 regions took 55 seconds – Many tools • Nu. SMV • 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.
G. 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. IEEE Robotics & Automation Magazine, March 2007: 61 -70 J. Mc. New and E. Klavins. “Locally interacting hybrid systems with embedded graph grammars”. CDC, 2006. 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. Invited session “Symbolic Methods for Control of Mobile Robots ”, ICRA, 2007 A. Bicchi, A. Marigo and B. Piccoli. “Feedback encoding for efficient symbolic control of dynamical systems ”. IEEE Trans. Autom. Control, Jan 2006.
Approach using Synthesis Sensor inputs Actions robot high level task Reactive ! H. Kress-Gazit, G. E. Fainekos and G. J. Pappas. Where’s Waldo? Sensor Based Temporal logic motion planning. ICRA , 2007. 1 Discrete Abstraction 12 2 Binary Propositions 3 8 9 11 4 7 10 6 5 Known workspace Temporal logic formula φ Automaton Hybrid Controller Correct robot motion and action
“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” 8 1 7 9 10 12 2 6 11 3 4 5
Approach using Synthesis Sensor inputs Actions robot high level task Reactive ! 1 Discrete Abstraction 12 2 Binary Propositions 3 8 9 11 4 7 10 6 5 Known workspace Temporal logic formula φ Automaton Hybrid Controller Correct robot motion and action
Constructing φ Sensor inputs Actions Discrete Abstraction 1 12 2 3 robot 8 9 11 4 7 10 6 5 Known workspace Sensor (Input) propositions: X = {Sense. Nemo, Sense. Fire, Hear. Baby, … } = {s. Nemo} Robot (Output) propositions: Y = {Room 1, Room 2, …, Room 12, Beep, Record. Video, … } = {r 1, r 2, …, r 12, Beep }
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 *Note that only if the assumptions are met ( the desired behavior is guaranteed ( is true), must be true).
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 Initial Conditions Transitions Goals
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
Approach using Synthesis Sensor inputs Actions robot high level task 1 Discrete Abstraction 12 2 Binary Propositions 3 8 9 11 4 7 10 6 5 Known workspace Temporal logic formula φ Automaton Hybrid Controller Correct robot motion and action
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” Beep r 5 o s. Nemo r 5 r 10 r 9 s. Nemo r 3 r 8 r 9 r 10 r 11 Beep em s. N Beep s Nemo r 3 r 11 r 12 r 9 s. Nemo r 12 s Nemo 3 r 1 8 1 2 Beep 9 12 s. Nemo 7 10 6 11 4 5
Approach using Synthesis Sensor inputs Actions robot high level task 1 Discrete Abstraction 12 2 Binary Propositions 3 8 9 11 4 7 10 6 5 Known workspace Temporal logic formula φ Automaton Hybrid Controller Correct robot motion and action
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” Beep r 5 s. Nemo r 5 r 10 s. Nemo r 3 s Nemo r 8 Beep s. Ne r 3 r 11 r 9 r 12 r 8 s. Nemo r 12 r 9 mo s. Nemo r 11 Beep r 9 r 10 s Nemo r 1 8 1 7 9 10 12 2 6 11 3 4 5
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 ( – “Violent” environment → Execution may be incorrect or terminated prematurely is false)
Extensions • Complex Dynamics 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
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) ) …
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 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.
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 FeedbackDialog with the user Unknown workspace (SLAM ? ) Verify sensor models obey assumptions Incorporate cost On the fly extraction of automata Experiments
Thanks You
- Static character literary definition
- Finding nemo call to adventure
- Mangrove rivulus
- You may think it's bad to forget your homework
- Nemo first day of school gif
- Finding nemo symbolism
- Climax of finding nemo
- Roc-2015 ro controllers supplier
- Programmable logic controllers frank petruzella
- Programmable logic controllers frank d petruzella
- Reverse and direct acting controller
- Gartner magic quadrant for wan optimization controllers
- Transfer function of pid controller is
- Pic logicator
- Rate controllers motor development
- Relay logic controllers
- The avoider love style
- Programmable logic controllers frank d petruzella
- Ncp1568 controllers
- Rms output voltage
- Plunger lift controllers
- Cat repeater controller
- Applications of ac voltage controller
- Fsu controllers office
- Programmable logic controllers frank d petruzella
- The controllers chapter 8
- Frc pdp
- Translating chemical equations
- Translating english into logical expressions
- Graphing exponential functions calculator
- 1-4 translating words into symbols answer key
- Translating linear inequalities
- Transformation of quadratic functions
- Translating contracts
- On the different methods of translating
- Clamshell doors reverse thrust
- Translating conic sections
- Translating research findings to clinical nursing practice
- 3-3 lesson quiz transforming linear functions
- Translating strategy into action
- Translate expressions and equations
- When a disc cam operates a translating roller follower
- Translating phrases
- Clamshell thrust reverser
- Translating verbal expressions
- Translating ore polygons
- Translating financial statements
- Relative motion of two particles using translating axes
- Translating expressions and equations