AI Planning meets Production Logistics Francesco Leofante Imperial College London, United Kingdom FMAIL 2019 Bergen, Norway December 2, 2019
A (Nearly Epic) Tale of Courage, Passion, Amazing Victories and Major Defeats Francesco Leofante Imperial College London, United Kingdom FMAIL 2019 Bergen, Norway December 2, 2019
Starring... Francesco Imperial College London Verification of Autonomous Systems Group @ Imperial https://fraleo.github.io/ F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 2 / 29
Starring... Erika ´ Abrah´ am Armando Tacchella RWTH Aachen University University of Genoa Gerhard Lakemeyer Tim Niemueller RWTH Aachen University X - The Moonshot Factory F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 2 / 29
Agenda AI Planning � What is planning? � Solving planning problems The RoboCup Logistics League � The competition � Our approach Concluding remarks � Towards domain-independent planning � Open challenges F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 3 / 29
Before we go into the details...a little teaser F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 4 / 29
Agenda AI Planning � What is planning? � Solving planning problems The RoboCup Logistics League � The competition � Our approach Concluding remarks � Towards domain-independent planning � Open challenges F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 5 / 29
Why? “A goal without a plan is just a wish” from “50 Ways to Lose Ten Pounds” (1995) by Joan Horbiak, p. 95 F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 6 / 29
What is planning anyway? Planning is... model-based autonomous behavior F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 7 / 29
What is planning anyway? Planning is... model-based autonomous behavior That is, given a model that represents � an initial situation I , � the actions A that can be performed and � a goal G what are the actions that I should perform to reach G from I ? F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 7 / 29
What is planning anyway? (cont.d) Depending on the type of actions we are dealing with, we can define several forms of planning, � Path planning � Motion planning � Task planning � ... F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 8 / 29
What is planning anyway? (cont.d) Depending on the type of actions we are dealing with, we can define several forms of planning, � Path planning � Motion planning � Task planning � ... Here: task planning F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 8 / 29
Solving planning problems Different techniques for different representations... � heuristic search in a graph � symbolic search � reductions to other problems... F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 9 / 29
Solving planning problems Different techniques for different representations... � heuristic search in a graph � symbolic search � reductions to other problems... Here: reductions to satisfiability checking F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 9 / 29
Planning as SAT Let F and A be the sets of state and action variables. Let X = F ∪ A and X ′ = { x ′ : x ∈ X} be its next state copy. A planning problem is a triple of formulas Π = � I , T , G � where � I ( F ) represents the set of initial states � T ( X , X ′ ) describes how actions affect states � G ( F ) represents the set of goal states F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 10 / 29
Planning as SAT Planning formula k − 1 � ϕ ( Π , k ) : = I ( F 0 ) ∧ T ( X i , X i + 1 ) ∧ G ( F k ) i = 0 � How to choose k ? � start with k = 1 � increase until ϕ ( Π , k ) SAT or upper bound is reached. � ϕ ( Π , k ) is sat iff there exists a plan with length k � in that case, a plan can be extracted from the satisfying assignment F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 10 / 29
Planning as SAT - limitations � � � � � � � F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 11 / 29
Planning as SAT - limitations Classical planning as SAT: only Boolean variables � � � � � � � hasFuel(robot) : y or n? F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 11 / 29
Planning as SAT - limitations Need for more expressive formalisms... � � � � � � � F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 11 / 29
Planning as SAT - limitations Need for more expressive formalisms... � � � � � � � minimize total time fuel(robot) > 5 hasMoney(robot) F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 11 / 29
Step 1: Planning Modulo Theories How to overcome (some) limitations of SAT? � Satisfiability Modulo Theories SMT: Boolean combinations of constraints expressed in decidable fragments of first-order theories F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 12 / 29
Step 1: Planning Modulo Theories How to overcome (some) limitations of SAT? � Satisfiability Modulo Theories SMT: Boolean combinations of constraints expressed in decidable fragments of first-order theories Integrated approach for new classes of planning problems: � numeric planning (costs, rewards...) � temporal planning (durations, deadlines) � planning with resources (raw materials) F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 12 / 29
Step 2: Optimal Planning Modulo Theories Can we ask for more? � compute a plan that achieves a goal � compute a plan that achieves a goal minimizing costs/time F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 13 / 29
Step 2: Optimal Planning Modulo Theories Can we ask for more? � compute a plan that achieves a goal � compute a plan that achieves a goal minimizing costs/time � Optimization Modulo Theories OMT: optimize objective function subject to SMT formulas F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 13 / 29
Agenda AI Planning � What is planning? � Solving planning problems The RoboCup Logistics League � The competition � Our approach Concluding remarks � Towards domain-independent planning � Open challenges F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 14 / 29
The RoboCup Logistics League BS RS 1 RS 2 RS 2 CS 2 F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 15 / 29
Planning & Execution Competition for Logistics Robots in Simulation [Niemueller et al., 2015] F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 16 / 29
Planning & Execution Competition for Logistics Robots in Simulation [Niemueller et al., 2015] Planning for the RCLL: what’s hard? 1 � Representation � state space � languages and scalability? � Execution � changing environment � temporary robot/machine failures � changes in task definitions � online arrival of new tasks 1 See IFM 2018 [Leofante et al., 2018b] for more. F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 16 / 29
Representational challenges � domain representation: over 250 product configurations possible! � need a language that can model crucial aspects of the domain: � resources : how many token do I need to produce X? � durations : how long does it take to produce X? � deadlines : deliver X before... � time and space dependencies Solving the RCLL is not easy: � heuristic search does not scale � rule-based approaches work, but no formal guarantees ! F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 17 / 29
Can I panic now? F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 18 / 29
Exploration tasks F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 19 / 29
Exploration tasks robot i F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 19 / 29
Exploration tasks location k location l robot i F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 19 / 29
Exploration tasks Step j F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 19 / 29
Exploration tasks pos i , j + 1 = l d i , j + 1 Step j F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 19 / 29
Exploration tasks pos i , j + 1 = l pos i , j + 2 = k d i , j + 1 d i , j + 2 Step j F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 19 / 29
Exploration tasks pos i , j + 1 = l pos i , j + 2 = k d i , j + 1 d i , j + 2 Step j The move action for each robot i and step j can be encoded as Z Z � � � � ∀ i . ∀ j . pos i , j − 1 = l ∧ pos i , j = k ∧ d i , j = d i , j − 1 + D ( k , l ) ∨ l = 0 k = 1 � � l � k pos i , j = stop ∧ d i , Z = d i , j − 1 F. Leofante - f.leofante@imperial.ac.uk FMAIL ’19 December 2, 2019 19 / 29
Recommend
More recommend