<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="review-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Robot. AI</journal-id>
<journal-title>Frontiers in Robotics and AI</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Robot. AI</abbrev-journal-title>
<issn pub-type="epub">2296-9144</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">637888</article-id>
<article-id pub-id-type="doi">10.3389/frobt.2021.637888</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Robotics and AI</subject>
<subj-group>
<subject>Review</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Combining Task and Motion Planning: Challenges and Guidelines</article-title>
<alt-title alt-title-type="left-running-head">Mansouri et&#x20;al.</alt-title>
<alt-title alt-title-type="right-running-head">Combining Task and Motion Planning</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Mansouri</surname>
<given-names>Masoumeh</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/990216/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Pecora</surname>
<given-names>Federico</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1314014/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Sch&#xfc;ller</surname>
<given-names>Peter</given-names>
</name>
<xref ref-type="aff" rid="aff3">
<sup>3</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1162212/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<label>
<sup>1</sup>
</label>Intelligent Robotics Lab, School of Computer Science, University of Birmingham, <addr-line>Birmingham</addr-line>, <country>United&#x20;Kingdom</country>
</aff>
<aff id="aff2">
<label>
<sup>2</sup>
</label>Multi-Robot Planning and Control Lab, Center for Applied Autonomous Sensor Systems, &#xd6;rebro University, <addr-line>&#xd6;rebro</addr-line>, <country>Sweden</country>
</aff>
<aff id="aff3">
<label>
<sup>3</sup>
</label>Knowledge-Based Systems Group, TU Wien, <addr-line>Vienna</addr-line>, <country>Austria</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/226752/overview">Holger Voos</ext-link>, University of Luxembourg, Luxembourg</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/419322/overview">Jose Luis Sanchez-Lopez</ext-link>, University of Luxembourg, Luxembourg</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/256318/overview">Elias Kosmatopoulos</ext-link>, Democritus University of Thrace, Greece</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Masoumeh Mansouri, <email>m.mansouri@bham.ac.uk</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Robotic Control Systems, a section of the journal Frontiers in Robotics and&#x20;AI</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>19</day>
<month>05</month>
<year>2021</year>
</pub-date>
<pub-date pub-type="collection">
<year>2021</year>
</pub-date>
<volume>8</volume>
<elocation-id>637888</elocation-id>
<history>
<date date-type="received">
<day>04</day>
<month>12</month>
<year>2020</year>
</date>
<date date-type="accepted">
<day>22</day>
<month>04</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2021 Mansouri, Pecora and Sch&#xfc;ller.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Mansouri, Pecora and Sch&#xfc;ller</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these&#x20;terms.</p>
</license>
</permissions>
<abstract>
<p>Combined Task and Motion Planning (TAMP) is an area where no one-fits-all solution can exist. Many aspects of the domain, as well as operational requirements, have an effect on how algorithms and representations are designed. Frequently, trade-offs have to be made to build a system that is effective. We propose five research questions that we believe need to be answered to solve real-world problems that involve combined TAMP. We show which decisions and trade-offs should be made with respect to these research questions, and illustrate these on examples of existing application domains. By doing so, this article aims to provide a guideline for designing combined TAMP solutions that are adequate and effective in the target scenario.</p>
</abstract>
<kwd-group>
<kwd>task and motion planning</kwd>
<kwd>integrative AI</kwd>
<kwd>knowledge representation</kwd>
<kwd>automated reasoning</kwd>
<kwd>industrial applications of robotics</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>This paper addresses a known problem in planning for robots, namely, that of combining Task And Motion Planning (TAMP). As robots have been increasingly deployed in challenging, unstructured object- and interaction-rich environments, combined TAMP has received extensive attention from the robotics community. Examples include TAMP solutions for autonomous excavators pushing gravel in construction sites, or autonomous mining robots drilling the ground to extract materials. To make a robot operate competently in such environments, researchers have combined methods from different sub-fields of Artificial Intelligence, including task planning to compute appropriate actions, motion planning to generate motions using geometric models, and control to compute feasible trajectories. The numerous efforts dedicated to combining task and motion planning highlight a common scientific challenge, namely, that the level of abstraction varies across planning models: discrete domain representations for task planning and continuous models for motion planning and control. <xref ref-type="fig" rid="F1">Figure&#x20;1</xref> illustrates several challenges that commonly occur in combining TAMP: finding solutions in discrete search spaces that are infeasible in continuous space, abstraction of continuous space, and uncertainty (e.g., due to obstructed view). Currently, solutions to combined TAMP vary in the way in which they explore the (joint) continuous-discrete search&#x20;space.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Example of combining TAMP using an abstract and a motion representation with uncertainty (question marks) and two abstract solutions of which one is infeasible due to a tight&#x20;spot.</p>
</caption>
<graphic xlink:href="frobt-08-637888-g001.tif"/>
</fig>
<p>When designing a TAMP method, the application requirements pose scientific questions beyond how we explore the search space. This paper attempts to lay down relevant challenges and research questions that can be used as guidelines for solving real-world TAMP problems. We consider relevance with respect to two criteria: 1) addressing the challenge is technically difficult and requires significant research and innovation; 2) advances in addressing the challenge have a large impact in current industrial applications. These research questions are the following:<list list-type="simple">
<list-item>
<p>&#x2022;<italic>Q1: How can a domain be divided into multiple levels of abstraction, and what are effective methods for finding a globally feasible solution that obeys all constraints in all abstraction levels?</italic>
</p>
</list-item>
<list-item>
<p>&#x2022;<italic>Q2: How should symbolic and continuous knowledge representations be reasoned upon jointly?</italic>
</p>
</list-item>
<list-item>
<p>&#x2022;<italic>Q3: What classes of methods exist for learning models, specifying models, and performing the two together? In particular what are the options for combining existing task and motion planning methods with machine learning?</italic>
</p>
</list-item>
<list-item>
<p>&#x2022;<italic>Q4: How to enable online decision making in combined task an motion planning? How can we guarantee the consistency of decision-making in such settings?</italic>
</p>
</list-item>
<list-item>
<p>&#x2022;<italic>Q5: Which methods should be used to deal with uncertain perception in combined task and motion planning? Should uncertainty be considered in one of the decision making processes or both?</italic>
</p>
</list-item>
</list>
</p>
<p>We will show how these five aspects reflect the major gaps/open questions in the current state of advancement in planning for robots. We will also show that these questions include the key choices that need to be made when combining task and motion planning in real applications. As our analysis makes evident, alternative solutions are proposed to similar questions. This often depends on aspects of the application context, and on the different assumptions and trade-offs that can be made. This paper serves as a guideline for navigating the landscape of existing solutions and their caveats when designing combined task and motion planning methods. As opposed to the latest survey on this topic (<xref ref-type="bibr" rid="B12">Garrett et&#x20;al., 2020</xref>), we here analyze a wider scope of concerns within TAMP and their combination; in particular, we discuss several orthogonal aspects, including uncertainty handling and online planning. Also, the discussion is centered on five open research questions and how answering them matters in a selection of industrially-relevant application contexts.</p>
</sec>
<sec id="s2">
<title>2 Discussion Over Five Research Questions</title>
<p>Task and motion planning methods are categorised based on the different class of algorithms used in planning tasks and motions, as well as the way in which these two types of methods are combined. In their widely referenced textbook on Task Planning, <xref ref-type="bibr" rid="B14">Ghallab et&#x20;al. (2016)</xref> organised their discussion based on available <italic>representation and reasoning</italic> choices in task planning for the purpose of acting. Similarly, for the motion planning reference book, <xref ref-type="bibr" rid="B27">LaValle (2006)</xref> centered his discussion around how a robot world (<italic>via</italic> a geometric and configuration space) can be <italic>represented</italic> and the efficient algorithms to explore those spaces (<italic>reasoning</italic> about motion). Our Q1 concerns the representational choices that need to be made combining these two types of representations, each belonging to a different level of abstraction. Q2 follows the logical next step of addressing issues related to reasoning about these representations in combination. Q3 discusses using learning algorithms in lieu or in support of both representation and reasoning. Q4 concerns applications where TAMP techniques should be integrated online with acting, and Q5 addresses the all-important question in robotics of planning with uncertain knowledge. There are, of course, other open issues in combined TAMP &#x2014;&#x20;however, we believe that these are either subsumed by these questions (e.g., how to discretize the environment for task planning), or are of lesser general interest because they are relevant to very specific application settings. We also claim that it is not possible to answer any of the four questions above in isolation. The issues around representation, reasoning, how we obtain a joint model, online reasoning, and uncertain or incomplete knowledge of an environment, are all interdependent. For example, consider an application where we have a TAMP problem that should be solved in an online manner. For the TAMP solution to be appropriate for this purpose (addressing Q4), the chosen representation for the task and motion (addressing Q1) should be computationally adequate for enabling fast joint reasoning (addressing Q2). In <xref ref-type="sec" rid="s4">Section 4</xref>, we provide four applications requiring combined TAMP and discuss a possible order in which these questions can be addressed.</p>
</sec>
<sec id="s3">
<title>3 Analysis of the State-of-the-Art</title>
<p>We categorise the existing TAMP methods around our five research questions. Note that the categorisation is not crisp, i.e.,&#x20;one paper can belong to more than one category.</p>
<sec id="s3-1">
<title>3.1 Abstraction</title>
<p>In this section, we mainly discuss how different levels of abstractions interact by means of a shared abstraction (partially addressing Q1), and leave the discussion about choice of knowledge representations at each level to the next section. A shared abstraction must have the capacity to represent knowledge at different levels. Shared abstractions can be realized by the mechanism of an already existing logic [e.g., Satisfiability Modulo Theories (SMT) (<xref ref-type="bibr" rid="B38">Nieuwenhuis et&#x20;al., 2006</xref>)], various forms of constraint-based approaches (e.g., meta-constraint reasoning), or a novel formalism designed specifically for enabling interaction between these levels.</p>
<p>SMT is built upon the notion of augmenting the Boolean Satisfiability Problem (SAT) with the ability to reason about several diverse background theories. For instance, <xref ref-type="bibr" rid="B37">Nedunuri et&#x20;al. (2014)</xref> encode high-level robot requirements in a SAT formulation, and the background theories are linear arithmetic and functions which relate to the physical configuration of the robot and objects in the environment. Another example of reasoning with a shared abstraction is meta constraint reasoning. In this problem formulation, task and motion planning problems are modeled as different instances of Constraint Satisfaction Problems (CSPs) at different levels of abstraction. So-called meta-constraints capture the dependencies between task and motion CSPs (<xref ref-type="bibr" rid="B34">Mansouri, 2016</xref>). Instead of adapting known knowledge representation like SMT or CSP, <xref ref-type="bibr" rid="B8">Dantam et&#x20;al. (2018)</xref> propose a flexible framework that employs a uniform interface (called scene graph) as a shared abstraction to connect motion and environment models with task states. Similarly, <xref ref-type="bibr" rid="B13">Gaschler et&#x20;al. (2013)</xref> treats volumes as a shared abstraction.</p>
<p>In addition to shared representations, formal methods are used to provide behavioral guarantees at all levels of abstraction. In these methods, formal synthesis provides a framework for specifying tasks in a mathematically precise language, and automatically transforming these specifications into correct-by-construction robot controllers (<xref ref-type="bibr" rid="B23">Kress-Gazit et&#x20;al., 2018</xref>). Linear Temporal Logic (LTL) is a formal language that is commonly used in TAMP formulations (e.g., <xref ref-type="bibr" rid="B41">Plaku, 2012</xref>). Also, Signal Temporal Logic (STL) also exist to relate logic predicates to continuous-time signals (e.g., <xref ref-type="bibr" rid="B29">Maler and Nickovic, 2004</xref>).</p>
<p>The TAMP domains in the instances described above were divided based on the capacity of the shared knowledge representations which ensure to find global feasible solutions for all levels of abstraction. Choosing a shared representation capable of maintaining such global consistency is an effective method to divide an overall TAMP problem to a set of sub-problems embedded in a shared representation. In the following section, we discuss other ways to enable interactions between levels of abstraction.</p>
</sec>
<sec id="s3-2">
<title>3.2 Symbolic Versus Continuous Models</title>
<p>In TAMP, symbolic knowledge representations are often relevant in most variants of task planning; by contrast, most models that are relevant for motion planning are expressed in terms of variables with continuous domains. Furthermore, different types of models (and, hence, different forms of automated planning) may be relevant in a given application, e.g., continuous time and events, metric maps and qualitative spatial relations, kinodynamic motion models and symbolic preconditions for acting. In the following, we analyze various approaches for combining symbolic and continuous models.</p>
<p>To enable joint reasoning across symbolic and continuous domains (addressing Q2), <italic>Procedural Attachment</italic> is a common approach. In procedural attachment, feasibility of actions in terms of kinematics, dynamics, and geometric constraints is assessed through a procedure, e.g., an external motion planner, that is attached to the symbol(s) representing that action at a high level of abstraction. The approaches differ in the reasoning techniques used for high level action and task planning, e.g., Boolean satisfiability (<xref ref-type="bibr" rid="B16">Havur et&#x20;al., 2013</xref>), PDDL planning (<xref ref-type="bibr" rid="B45">Srivastava et&#x20;al., 2014</xref>), Hierarchical Task Network (HTN) planning (<xref ref-type="bibr" rid="B19">Kaelbling and Lozano-P&#xe9;rez, 2011</xref>), or Answer Set Programming (ASP) (<xref ref-type="bibr" rid="B10">Erdem et&#x20;al., 2016</xref>); as well as the attached procedures, e.g., simulation-based verification (<xref ref-type="bibr" rid="B36">Mosenlechner and Beetz, 2011</xref>), geometric reasoning (<xref ref-type="bibr" rid="B25">Lagriffoul et&#x20;al., 2012</xref>) or motion planning (<xref ref-type="bibr" rid="B16">Havur et&#x20;al., 2013</xref>). Another common approach to enable joint reasoning is to use sampling-based methods, where both task and motion solutions are combined in one common space for a probabilistic search to navigate in. Such methods can use conditional samplers that are provided as part of a domain specification, hence domain knowledge improves sampling in the (usually large) solution spaces (<xref ref-type="bibr" rid="B11">Garrett et&#x20;al., 2018</xref>).</p>
<p>Sampling-based methods incorporate discrete sampling for task planning into the (usually non-discrete) sampling process used in many approaches to motion planning. Procedural attachment is exactly the opposite strategy: motion planning is attached to certain logical predicates that are processed by the algorithm of the task planner. A notable difference is that motion planning methods are directly used as sub-procedures in procedural attachment, while sampling-based methods do not use a task planner; they recast task planning as sampling. Therefore, procedural attachment and sampling-based methods are two extremes in a potential continuum of integrating task and motion planning along the aspect of &#x2018;what is the leading formalism&#x2019; of the integration &#x2014;&#x20;the task level or the motion planning&#x20;level.</p>
<p>Historically, combining task and motion planning <italic>via</italic> procedural attachment has been very successful in promoting the role of Symbolic AI reasoning in robotics. However, procedural attachment fails to provide a scalable, general technique for integrating very diverse forms of reasoning. There are reasons behind this shortcoming. One is that procedural attachments often do not capture inter-dependencies among sub-problems, i.e.,&#x20;each sub-problem solver is not aware of requirements of the domain that pertain to other sub-problems. These approaches lack a clear and transparent means to specify inter-dependencies between sub-problems; this is due to the fact that such a specification would have to combine notions/concepts that are expressed in different KR formalisms. Finally, note that some flavors of procedural attachment permit limited inter-dependencies between low-level sub-problems, e.g., HEX-programs (<xref ref-type="bibr" rid="B10">Erdem et&#x20;al., 2016</xref>).</p>
<p>Regarding integration of symbolic and continuous reasoning, several properties of the application area need to be considered. if it is sufficient to find solutions that are close to the optimal, sampling-based methods are a better choice. However, procedural attachment or more powerful symbolic task-level methods are preferable for cases when the task level search is highly complex so that only few solutions exist, and sampling would potentially yield no solution. Procedural attachment can also be used when low-level reasoning itself is required to be split into many small sub-problems so that can be solved independently.</p>
</sec>
<sec id="s3-3">
<title>3.3 Specifying Versus Learning</title>
<p>Q1 and Q2 discussed so far concerned the choices TAMP methods make regarding the representation of planning models. Q3, on the other hand, has to do with how to obtain these models, and is particularly in focus today thanks to the rise in popularity of machine learning techniques, in particular deep (reinforcement) learning.</p>
<p>The recent AlphaGo breakthrough has had a great impact in many areas of AI, including TAMP. <xref ref-type="bibr" rid="B21">Kim et&#x20;al. (2019a)</xref> propose an actor-critic algorithm that learns from planning experience to guide a planner. They have also investigated how to predict global constraints on the solution for generic TAMP problems using a scoring function to represent planning problem instances (<xref ref-type="bibr" rid="B22">Kim et&#x20;al., 2019b</xref>), and have developed an algorithm that learns a stochastic policy from past search trees using generative adversarial nets, for problems with fixed numbers of objects (<xref ref-type="bibr" rid="B20">Kim et&#x20;al., 2018</xref>).</p>
<p>Using a learning method for planning does not originate form AlphaGo. In a review paper from 2012 (<xref ref-type="bibr" rid="B17">Jim&#xe9;nez et&#x20;al., 2012</xref>), learning for planning is described on the task level and with respect to discrete planning actions and states; the purpose of learning is to acquire knowledge about 1) action conditions and effects, i.e.,&#x20;the domain; or 2) heuristic knowledge for guiding the search process faster to a goal state. A later review from 2018 (<xref ref-type="bibr" rid="B1">Arora et&#x20;al., 2018</xref>) focuses only on 1) and refers to the integration of task-level and motion planning as part of a list of &#x201c;guidelines that a robotic system can follow in order to be proclaimed autonomous&#x201d;. This review also mentions Surprise Based Learning (SBL) (<xref ref-type="bibr" rid="B43">Ranasinghe and Shen, 2008</xref>), which learns a domain description from execution monitoring and interleaves prediction of future states and monitoring of actually reached states to improve that domain theory. SBL is the main work that embraces the idea of an incorrect domain theory. We argue that Motion Planning also embraces that idea but in an orthogonal way: TAMP is based on the use of a domain description which is correct on its level of abstraction and coarse enough to permit efficient planning; however, due to its coarseness, planning with this domain description requires an integration with motion planning to ensure that the task plan can be realized in the concrete domain. Contrary to SBL, TAMP does not attempt to repair the task-level domain description, because any repair that would ensure full correctness would at the same time make the domain description useless for efficient planning algorithms.</p>
<p>
<xref ref-type="bibr" rid="B2">Balac et&#x20;al. (2000)</xref> employs regression tree learning to predict the influence of terrain on the efficiency of high-level actions to be used in the task planner. In other words, their system performs learning of low-level action cost to be used as a parameter in the high-level domain for task and motion planning. In a similar vein, imitation learning has been used to learn motion primitives corresponding to a manually specified high-level task structure from one-shot demonstrations of a human (kinesthetic teaching) who also gives verbal cues about the task at hand (<xref ref-type="bibr" rid="B7">Caccavale et&#x20;al., 2019</xref>). An attention mechanism automatically segments motion tracking data from the human and assigns recorded motion primitives to sub-tasks. In general, learning is a better choice for designing levels of abstraction within TAMP such that the specification is difficult to achieve or imprecise due to the complexity of the domain or lack of knowledge on the environment. We will see concrete examples of learning parts of domains in our illustrated use cases in <xref ref-type="sec" rid="s4">Section&#x20;4</xref>.</p>
</sec>
<sec id="s3-4">
<title>3.4 Online Planning</title>
<p>In real-world applications, automated planning systems are often required to make decisions online, while previous plans are already under execution. When planning for motions, this is known as Receding Horizon Control, or Model Predictive Control. In task planning, methods ensuring the ability to update plans online is often referred to as continuous planning. Moreover, incomplete knowledge about the domain requires assumptions to be made for planning, and in online planning these assumptions may be revised multiple times during physical execution of the plan. This concern can be summarised as in Q4, around which we analyze the current methods.</p>
<p>Many approaches to online task and motion planning can also be relevant to <italic>plan-based robot control</italic> (see the next subsection). Online planning is about radical changes of plans due to contingencies, whereas control is more about small disturbances that the controller can compensate in its local environment without affecting the overall plan. Also, we assume that a plan obtained by an online planner is only preliminary until it has been executed. This is because the environment is highly non-deterministic, described probabilistically, partially unknown, or a considerable fraction of actions is bound to fail. As a case in point, a human-robot collaborative manipulation system has to adapt its cooperative behavior during execution due to the continuous human intervention (<xref ref-type="bibr" rid="B6">Cacace et&#x20;al., 2018</xref>).</p>
<p>Contingency planning methods do not compute plans in an online fashion, rather prepare them for dealing with foreseeable failures. The way these planners work is to put in sensing and repair actions in an original plan, sometimes conditionally, where certain action failures are likely to happen. In this way, contingency planners &#x2018;program&#x2019; replanning already into the initial plan. An example is the HCP-ASP hybrid conditional planner, where conditional actuation and sensing actions are modeled in ASP (<xref ref-type="bibr" rid="B48">Yalciner et&#x20;al., 2017</xref>). An ASP solver computes feasible branches of a conditional plan using external atoms that account for continuous feasibility checks (e.g., collision checks).</p>
<p>In summary, with respect to online planning we have to first identify which classes of possible action failures or modified environment situations we want the robot to be robust against. It is important to determine in the beginning whether the goal of the plan is subject to change. Also, it is important to know how fast new knowledge needs to be integrated into the plan, in other words, how long can we afford to execute the &#x2018;old&#x2019; plan before knowing and switching to the &#x2018;new&#x2019;&#x20;plan.</p>
</sec>
<sec id="s3-5">
<title>3.5 Planning With Uncertainty</title>
<p>Robots epitomize the need for automated planning methods, which provide them with the means to achieve goals. Yet the physical nature of robot systems, as well as the uncertainty connected to robot behaviors and perception, destroy many of the assumptions made by current methods for planning. Q5 focuses on this aspect of&#x20;TAMP.</p>
<p>Many pioneers in using automated task planning for deriving robot behaviors use the term plan-based robot control to distinguish planning for robots from planning for other systems. The focus here has been on aligning the belief-state of the robot with the symbolic planning process. The latter can employ one of the many approaches to task planning, from Hierarchical Task Networks for TAMPs in partially observable environments (e.g., <xref ref-type="bibr" rid="B47">Weser et&#x20;al., 2010</xref>) to inferring the most appropriate plan from a pre-defined plan library using probabilistic representations (e.g., <xref ref-type="bibr" rid="B3">Beetz et&#x20;al., 2001</xref>). Decision-theoretic task planning methods, and specifically Markov Decision Processes (MDPs) and Partially Observable Markov Decision Processes (POMDPs) are the most prevalent approaches for tackling various types of uncertainty in TAMP formulations (e.g., <xref ref-type="bibr" rid="B46">&#x15e;ucan and Kavraki, 2012</xref>; <xref ref-type="bibr" rid="B18">Kaelbling and Lozano-P&#xe9;rez, 2013</xref>; <xref ref-type="bibr" rid="B15">Hadfield-Menell et&#x20;al., 2015</xref>). A recent work includes an anytime algorithm of TAMP generating policies for handling multiple execution-time contingencies using MDP-based modeling of actions which corresponds to an infinite set of motion planning problems (<xref ref-type="bibr" rid="B44">Shah et&#x20;al., 2020</xref>).</p>
<p>A reactive type of formal methods has also been used to provide behavioral guarantees in typically uncertain or adversarial environments [e.g., within a receding horizon paradigm (<xref ref-type="bibr" rid="B42">Raman et&#x20;al., 2015</xref>)]. LTL-based abstractions can be used to account for delays and measurement errors as a form of uncertainty modeling in TAMP (<xref ref-type="bibr" rid="B28">Liu and Ozay, 2016</xref>). Also, recent theoretical advancement in synthesis methods for uncertain MDPs that provide better noise modeling than classical MDPs, have shown promise for uncertainty handling in TAMP (e.g., <xref ref-type="bibr" rid="B26">Lahijanian et&#x20;al., 2015</xref>).</p>
<p>With respect to uncertainty, it is essential to identify whether uncertainties on the task level can be foreseen so that we can create robust plans regarding the uncertainty models. For uncertainties on the motion-planning level, we have to validate whether it is sufficient to use local control methods to tackle uncertainties, or there is a need for deferring to the task level. In general, the more uncertainty we have to deal with, the more likely it is that some type of Online Planning (see previous section) is to be necessary.</p>
</sec>
</sec>
<sec id="s4">
<title>4 Applications</title>
<p>Now that we have outlined the key questions underlying the realization of combined TAMP, we illustrate how some of these aspects have been considered in concrete industrial applications. There are many industries where combined TAMP is required for long-term autonomy. These range from automation of heavy-duty machines operating in unstructured environments such as mines or construction sites, to that of robots in controlled and unobstructed environments such as factories. The challenges these domains bring about differ in nature, but fall in the range of the questions we have outlined above. Specifically, we identify three broad issues posed by such industrial applications.</p>
<p>First, in some domains, tasks carried out by the robot(s) in the environment affect the motions that can be carried out in realizing other tasks. This is true in mining, for instance, where operations like drilling have a permanent effect on navigability. In general, decisions over the order of the tasks not only affect the subsequent motions but also the environment. We illustrate an example of such applications in <xref ref-type="sec" rid="s4-1">Section&#x20;4.1</xref>.</p>
<p>Second, an industrial application has crucial qualitative requirements to guarantee safe operation, e.g., there should always be a machine in a certain station whenever one is in another station. These seemingly simple constraints have ramifications beyond the task level, as they affect all levels of abstraction including the low-level control. For instance, a machine may need to accelerate to fill the place of another machine leaving an active station. We will examine such an instance of TAMP in an application of electric haulers in a quarry in <xref ref-type="sec" rid="s4-2">Section&#x20;4.2</xref>.</p>
<p>Third, peculiarities of industrial applications and their consequences in their TAMP formulations are not limited to those that derive from unstructured, outdoor environments. Even in more structured environments, like factories, a relevant issue is how to design the environment for efficient task and motion planning. In manufacturing, for instance, motion planning can often be greatly simplified at the cost of limiting the flexibility of the robotic solution. We address the relation between specifications for task planning and their implication on the resulting TAMP formulation in <xref ref-type="sec" rid="s4-3">Section&#x20;4.3</xref>.</p>
<p>Fourth, qualitative specifications may be relevant to ensure task achievement under extreme uncertainty. This is case in mission planning for Autonomous Underwater Vehicles, where task plans and motions are affected by currents and other complex environmental phenomena that are difficult to model. We discuss the use of learning predictive models for use in combined TAMP in <xref ref-type="sec" rid="s4-4">Section&#x20;4.4</xref>.</p>
<p>Although these problems are relevant in many more applications than those cited below, we have made a selection of few concrete examples in each of these three categories in order to underscore the impact that innovation in task and motion planning can have in the real world. We conclude the section by indicating some good practices derived from these examples.</p>
<sec id="s4-1">
<title>4.1 Drill Planning for Open-Pit Mines</title>
<p>In this section we analyze the <italic>drill planning</italic> problem within an application involving a fleet of surface drill rigs operating in a common area of an open-pit mine, called a&#x20;bench.</p>
<sec id="s4-1-1">
<title>4.1.1 Problem and requirements.</title>
<p>A set of drill targets in a bench is given; at each target, a blast hole is to be drilled and filled with explosive material, which will then be detonated to produce rubble that will be processed into ore. The drill planning problem consists of computing a plan that involves machines reaching each drill target in a bench and performing the necessary operations to drill the blast hole. Drilling produces piles of excess material around the hole. These piles constitute obstacles for the machine itself and other machines, hence no machine can drive over them. A solution to the drill planning problem should take into account the emerging obstacles as well as all other common TAMP requirements (e.g., avoiding machine-machine collisions) to be executable by the drill&#x20;rigs.</p>
</sec>
<sec id="s4-1-2">
<title>4.1.2 Integration Challenges</title>
<p>The drill planning problem can be seen as a combination of several sub-problems: task planning (consisting of deciding the sequencing of the targets to be drilled), motion planning, and coordination. These problems cannot be treated separately, as the solutions of each problem depend on each other. For instance, task planning must lead to a sequence of drill targets that accounts for the piles generated after drilling (which become obstacles that must be taken into account in motion planning). In other words, the order in which the targets are drilled will affect the ability of the machine itself and other machines to traverse on the bench. Hence, it is necessary to subject the possible choices made to solve one problem to the choices made in resolving the other problems, e.g., verifying through motion planning that a chosen sequence of targets to drill will be kinematically feasible and will avoid the piles of material produced by drilling. There are two approaches in the literature addressing the drill planning problem. One approach is based on meta constraint reasoning (<xref ref-type="bibr" rid="B31">Mansouri et&#x20;al., 2016</xref>) in which the task planning, motion planning and coordination problems are modeled as CSPs at different levels of abstraction, and the meta-constraints capture inter-dependencies between the tasks and motions as a shared abstraction. The second approach implements a multi-abstraction search where an abstract solution is refined incrementally with different types of search at different levels of abstraction (<xref ref-type="bibr" rid="B32">Mansouri et&#x20;al., 2017</xref>).</p>
</sec>
<sec id="s4-1-3">
<title>4.1.3 Considerations</title>
<p>This application allows us to make several statements pertaining to questions Q1&#x2013;&#x20;Q3.</p>
<p>Q1: One common way to deal with multiple levels of abstraction is to abstract away the continuous (geometric) representation &#x2013; the motions and the piles in this problem &#x2013; in order to obtain a fully discrete (graph) representation. The graph representation of the drill planning problem forms a variant of the Traveling Salesperson Problem (TSP) where nodes are the drill targets, and edges represent abstracted motion between the nodes. Then, the problem is to find a shortest closed path (tour) in the graph such that every node is visited only once. In a TSP, regions to be visited are associated to nodes in a graph, and each node should be traversed exactly once. Roughly speaking, each region along a tour acts as an &#x201c;obstacle&#x201d; that appears dynamically once the node is visited, and which must be avoided while visiting other nodes. However, the TSP employs the abstract notion of a graph to represent locations and their connectivity, thus ignoring the geometrical extent of the locations. Ignoring the geometric reality of the nodes in the TSP, and the fact that paths between them are affected by this spatial extent, leads to solutions that may not be feasible in practice, as they ignore the further constraints to the motion space that derive from the drilling tasks. This points to a rather general observation: abstracting away certain aspects of the problem representation preserves correctness only if we do not lose information regarding the dependencies between different aspects of the problem (in this application, the geometrical extent of the drill targets). An alternative way is to keep each representation at its own level of abstraction, and to leverage a common language to combine relevant knowledge among different levels of abstraction. To enable the use of a common language, we should first identify sub-problems of the overall problem. Furthermore, we need to identify dedicated solvers, each of which focuses on a subset of aspects of the overall problem, e.g., a motion planner verifies kinematic feasibility and absence of collisions, while a scheduler verifies that coordination choices are temporally and spatially feasible. Validated solutions for each sub-problem can be see as <italic>constraints</italic> that account for particular aspects of the overall problem. As remarked below, constraints can play the role of a common language to facilitate joint reasoning.</p>
<p>Q2: Where we discard the continuous (geometric) representation of motion and piles under a fully discrete (graph) representation, we effectively disable joint reasoning for the drill planning problem. Nevertheless, one might solve a TSP over the graph representation as a proxy to solve the drill planning problem, and use a post-processing step to filter out TSP solutions that are infeasible with respect to motion and pile constraints. To enable joint reasoning in the second alternative of dealing with multiple levels of abstractions, we can use the common language, in this case constraints, in a common constraint network (<xref ref-type="bibr" rid="B9">Dechter, 2003</xref>) to model the search space of all problems jointly. In this way, each dedicated solver only operates in the relevant level of abstraction, and validating solutions to sub-problems is reduced to posting constraints in the common constraint network and verifying its consistency. This approach is realized in several different applications, including drill planning (<xref ref-type="bibr" rid="B31">Mansouri et&#x20;al., 2016</xref>) and integrated task and motion planning for warehouse management (<xref ref-type="bibr" rid="B30">Mansouri et&#x20;al., 2015</xref>).</p>
<p>Q3: Machine learning can be useful not only for generating planning models, but also to generate heuristics for efficiently exploring search spaces. In the drill planning problem, we can learn patterns from examples provided by human experts for sequencing decisions in regions where machines have limited space to manoeuvre (<xref ref-type="bibr" rid="B31">Mansouri et&#x20;al., 2016</xref>). In general, learning from humans is important for uptake by the industry, as end users want machines to adhere to the best practices of humans while expending little effort in specification/knowledge engineering. We can also use clustering methods for analyzing the topology of a bench, which will allow to cluster targets into groups for which there are only few reasonable sequencing possibilities and that are easy to navigate in sequence. This again will alleviate the computational burden of finding sequences in a joint search space, which is strongly affected by constraints on motion (<xref ref-type="bibr" rid="B31">Mansouri et&#x20;al., 2016</xref>; <xref ref-type="bibr" rid="B32">Mansouri et&#x20;al., 2017</xref>).</p>
</sec>
</sec>
<sec id="s4-2">
<title>4.2&#x20;Multi-Hauler Planning for Quarrying</title>
<p>In this section, we focus on an instance of TAMP for multiple electric haulers operating in a quarry. The important challenge in this application is to provide team-level guarantees over team behaviors in the presence of high uncertainty over the durations of navigation actions. The problem requirements presented in this application can be found in other real-world robotics applications, such as mining, construction, and warehouse automation.</p>
<sec id="s4-2-1">
<title>4.2.1 Problem and Requirements</title>
<p>A team of autonomous electric haulers transport material between stations in a quarry. At the unloading station, a hauler can unload gravel obtained from two crushers. The primary crusher (PC) constantly produces gravel, which is continuously output <italic>via</italic> a conveyor belt. The production of gravel at the PC cannot be stopped under normal circumstances, hence, there should <italic>always be a robot under the PC</italic> so that gravel does not accumulate on the ground, obstructing access to the PC and halting the entire process. The secondary crusher (SC) does not have this constraint, as the gravel produced there is loaded onto haulers manually. Also, robots are required to leave the PC when full. The aim is to maximize the throughput of the overall system, i.e.,&#x20;the amount of gravel dumped at the unloading point. The important constraint of this application is to guarantee that there is always a hauler under the PC. In this instance of TAMP, we require to solve task planning for the team-wide decisions of which robot visits which station in what order, and motion planning and coordination for the decisions of how, when and where the robots move. Henceforth, we refer to this instance as a <italic>multi-hauler planning</italic> problem.</p>
</sec>
<sec id="s4-2-2">
<title>4.2.2 Integration Challenges</title>
<p>In order to respect the constraint of &#x201c;there should always be a robot under the PC&#x201d;, we have to able to compute exactly how long it takes for a hauler to go from one station to another station to make sure that we dispatch the robot in an appropriate time. Being too conservative and sending as many robots as available to the PC, makes the SC useless, and negatively affects the throughput by wasting robots being in a queue to reach the PC. However, the durations of navigation actions of the haulers in the quarry is very uncertain. This uncertainty stems from many sources, e.g., the dynamics of individual robots are typically only partially known; robots may navigate differently in different parts of the environment (e.g., skidding over a sandy patch of terrain, proceeding more slowly in the vicinity of pedestrians); task-dependent factors may affect how robots navigate (e.g., slow movement due to a heavy load); and interactions between robots jointly navigating in a shared space introduce further unmodelled dynamics (e.g., robots yielding to, or avoiding, each other). The multi-hauler planning problem was addressed in the literature by a hierarchical approach based on Generalised Stochastic Petri nets (GSPN) for modeling team behavior, where accurate probabilistic models of path durations are obtained <italic>via</italic> integration with a lower-level team controller (<xref ref-type="bibr" rid="B33">Mansouri et&#x20;al., 2019</xref>). The GSPN is then interpreted as a MDP for which policies can be generated so that team performance is optimized whilst avoiding the exponential blow-up associated with the construction of a full joint&#x20;model.</p>
</sec>
<sec id="s4-2-3">
<title>4.2.3 Considerations</title>
<p>This application is most relevant to two of our original questions.</p>
<p>Q3: Today&#x2019;s commercial solutions for multi-robot path planning remove many source of uncertainty by engineering the environment. Such assumptions are not applicable in many real-world applications including multi-hauler planning. For this reason, current industrial practice relies on fixed, hand-crafted policies for selecting tasks for robots and dispatching them to their destinations. We should instead replace the current practice with an automated planning system that does not make assumptions on the map, the robot geometries, the paths followed by robots, or their kinematics and dynamics. The system should provide a means to easily specify high-level requirements on team behavior, including safety constraints, and it should scale to realistically-sized teams. In order to robustly maintain the safety specification for the PC, models of navigation task duration can be learned. In the absence of real data due to the difficulties of deploying real experiments, we can learn from simulations of the team navigating in the target environment in this case a quarry (<xref ref-type="bibr" rid="B33">Mansouri et&#x20;al., 2019</xref>). To explore the range of multi-robot navigation experiences relevant for the target environment, the robot team must operate in a way that is as similar to the desired behavior as possible. To achieve this, the team should be controlled in simulation using a controller which integrates coordination, motion planning and robot control (e.g., <xref ref-type="bibr" rid="B40">Pecora et&#x20;al., 2018</xref>), and supports the injection of external navigation choices for robots. Given these choices, the controller generates multi-robot paths that take into account the kino-dynamic constraints of individual robots. These paths are jointly executed and supervised by the controller. When generating data for learning, a randomised policy can be used to provide navigation choices.</p>
<p>Q5: The main source of uncertainty in this problem is the duration of navigation actions. We require a method for multi-hauler planning that accounts for this uncertainty. A popular approach to planning with uncertainly is to use MDPs, where uncertainly is modeled in the outcomes of actions. However, it is not accurate to directly model the learned probabilistic model of duration as an action outcome in an MDP. Instead, we can use a stochastic extension to Petri nets to model team behaviors with probabilistic models of path durations. This can then yields an MDP which can be solved to generate policies that optimise team behavior against the team requirements and performance objective.</p>
</sec>
</sec>
<sec id="s4-3">
<title>4.3 Assembly Planning for Industrial Manipulators</title>
<p>In this section, we analyze an application of dual-arm manipulators in assembly&#x20;tasks.</p>
<sec id="s4-3-1">
<title>4.3.1 Problem and Requirements</title>
<p>A modern lightweight dual-arm robot, e.g., the ABB Yumi, is deployed to assemble pieces of wiper motors. The workstation is depicted in <xref ref-type="fig" rid="F2">Figure&#x20;2C</xref>, where the rotors are already inserted into workpiece holders (A) on a conveyor system, arriving in groups of five. The stators with the brushes and the electric interfaces are supplied in transport containers (B). Mounting a stator on a rotor requires to place a cone-shaped tool on the motor shaft temporarily. (C) marks the position the robot picks up of a tool. Such flexible production requires fast methods to specify new tasks for these robots, and classical teach-in by means of fixed poses and paths is not appropriate. Flexible assembly planning involves three aspects: task planning of the necessary steps and actions to achieve the overall goal/task; scheduling of these steps and actions; and motion planning for each step and action. Dual-arm manipulation further requires to decide about the allocation of task steps and actions to the individual arms. Moreover, the complexity of scheduling and motion planning is increased heavily, due to the necessity to closely coordinate the manipulators to prevent self-collisions of the robot. All four aspects &#x2013; task planning, scheduling, allocation and motion planning &#x2013; are closely interrelated and must be combined to achieve optimal plans with regard to some objective e.g., makespan. Henceforth, we refer to this instance of combined planning as an <italic>assembly planning</italic> problem.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Drilling machines and the resulting holes in an open-pit mine <bold>(a, b)</bold>, autonomous construction machines in a quarry <bold>(c)</bold>; a dual-arm robot assembling wiper motors <bold>(d)</bold>.</p>
</caption>
<graphic xlink:href="frobt-08-637888-g002.tif"/>
</fig>
</sec>
<sec id="s4-3-2">
<title>4.3.2 Integration Challenges</title>
<p>Obtaining an optimal solution to the assembly planning problem depends not only on the motion of the manipulators but also on the orders in which a workpiece is assembled, the components are taken from boxes or conveyor belts, processed by other machines, etc. These dependencies are all the more complex if connected systems or machines impose further temporal constraints. In addition, different assignments of sub-tasks to arms, while taking the individual working ranges into account as well as task steps in which the arms have to cooperate, lead to a further combinatorial complexity. The assembly planning problem was addressed in the literature <italic>via</italic> different methods, including prioritized TAMP (<xref ref-type="bibr" rid="B24">Kurosu et&#x20;al., 2017</xref>), fixed-path planning (<xref ref-type="bibr" rid="B39">O&#x2019;Donnell and Lozano-P&#xe9;rez, 1989</xref>), and fixed-roadmap planning. For this paper, we analyze the latter approach, which uses a flexible model and solver for simultaneous task allocation and motion scheduling that is based on constraint programming (CP) and constraint optimization (<xref ref-type="bibr" rid="B4">Behrens et&#x20;al., 2019a</xref>). The core modeling concepts was Ordered Visiting Constraints, which describe routine sequences of actions in production and time-scalable motion series. These are linked by so-called Connection Variables that act as the shared abstraction between the task and the motion models.</p>
</sec>
<sec id="s4-3-3">
<title>4.3.3 Considerations</title>
<p>Four of our original questions are relevant in this application.</p>
<p>Q1: Similarly to the drill planning problem, we can keep each representation at its own level of abstraction, and employ a common language to pass relevant knowledge among those levels. Assembly planning for a large scale of items can possibly lead to a massive search space of mutually feasible solutions. However, industrial workplaces often have several characteristic properties that we can leverage to simplify the problem. For example in task modeling, it is safe to assume that many production routines can be described concisely by sequences of actions (e.g., drilling, picking, welding or joining) to perform with one of the robot arms at given locations, with temporal constraints and dependencies between them. This can be easily specified using Constraint Processing (CP) languages (<xref ref-type="bibr" rid="B4">Behrens et&#x20;al., 2019a</xref>). Also, many industrial workplaces provide a controlled and unobstructed environment in which motions can be pre-computed in the form of time-scalable roadmaps. The obtained representation of motion is then discrete and ready to be connected to the high-level CP-based task model by some auxiliary variables so that it can be directly used by a constraint optimisation solver.</p>
<p>Q2: When we flatten out all levels of abstractions into one uniform level, or use an interface representation to manage interactions among abstraction levels, it then becomes straightforward to employ a dedicated solver that can read the uniform or the interface representation. In assembly planning, we can follow this logic, and employ a dedicated constraint optimisation solver for CP languages, e.g., Google Operation Research tools, to obtain an executable optimal assembly plan. The resulting plan is effectively a mutually feasible solution for all sub-problems: task planning, scheduling, allocation and motion planning.</p>
<p>Q3: Instead of directly specifying a sequence of production routines into a planning domain languages (e.g., a constraint problem), a multi-model learning method can be used for robot programming. In particular, a combination of learning from demonstration and requirements specification through natural language has been shown to be effective in preparing robot assembly planning domains for flexible manufacturing (<xref ref-type="bibr" rid="B5">Behrens et&#x20;al., 2019b</xref>).</p>
<p>Q5: Industrial workplaces provide by design a controlled and unobstructed environment. Therefore, it can be assumed that all object locations and possible placements are known in advance, which allows for offline pre-calculation of motion roadmaps and a profile of potential collisions of the arms in motions. Furthermore, depending on the industrial setting, we may able to assume the absence of external interference, e.g., from humans.</p>
</sec>
</sec>
<sec id="s4-4">
<title>4.4 Navigation Planning for Autonomous Underwater Vehicles</title>
<p>In this section, we focus on an instance of TAMP for Autonomous Underwater Vehicles (AUV) operating in spatially and temporally complex environments such as oceans. The problem analyzed in this section will be referred to as the <italic>AUV mission planning</italic> problem.</p>
<sec id="s4-4-1">
<title>4.4.1 Problem and Requirements.</title>
<p>AUVs are required to autonomously accomplish missions such as coverage or inspection of a sequence of regions in the ocean or sea. To perform such missions, an AUV must employ a mission planner that can reason about both high-level sequencing of the regions to be visited and low-level motions for navigating through them. While an AUV executes a series of tasks that can span over a period of several hours, the environment could change drastically due to the presence of tide and currents. An AUV mission planner should generate a combined task and motion plan that take into account not only the nonlinear dynamics of AUVs, natural obstacles in water, kinematic constraints, but also drift caused by the time-varying ocean currents. If these requirements, especially those imposed by dynamically changing environment, are not met, AUVs would attempt to carry out highly costly missions that are no longer feasible.</p>
</sec>
<sec id="s4-4-2">
<title>4.4.2 Integration Challenges</title>
<p>In order to generate a feasible motion plan for an AUV, the intertwined dependencies between the tasks and dynamics of the AUVs and the environment should be considered in the initial planning phases. If the interactions with the environment are overlooked, it may be difficult or impossible to reach the regions of interest that the high-level task planner prescribes. Also, drift is usually modeled <italic>via</italic> a function whose inputs are position, depth, and time. Therefore, a particular ordering of visitation and position, for instance, could push the UAV further away from its goal because of drift. The AUV mission planning problem has been addressed in the literature by several different approaches. The one we analyze here builds a high-level navigation roadmap by sampling waypoints over the operational area and connecting neighboring waypoints to construct a network of navigation routes. This network avoids known obstacles, areas that are deemed too dangerous for the AUV, or other forbidden regions (<xref ref-type="bibr" rid="B35">McMahon and Plaku, 2016</xref>). The navigation roadmap is then combined with a Deterministic Finite Automaton (DFA) representing a regular language to compute sequences of waypoints that are compatible with the mission specification. This combined representation is then used to effectively guide a sampling-based motion planner that takes into account a model of the time-varying ocean currents in each its edge expansion.</p>
</sec>
<sec id="s4-4-3">
<title>4.4.3 Considerations</title>
<p>For this application, we analyze two of our original questions.</p>
<p>Q1: As explained earlier, one way to deal with multiple levels of abstraction is to abstract away the continuous representation. In AUV mission planning, this particular choice would lead to discretising the relevant portion of the ocean in order to be able to impose high-level specifications for task and motion planning. It is problematic, however, to account for the nonlinear dynamics of the AUV and of the ocean currents in this discretisation. A complementary approach is to use a roadmap type of discretisation (i.e.,&#x20;a graph) which does not represent knowledge regarding the dynamics of the vehicle/environment, but contains knowledge about feasible states that satisfy the high-level task specification. An example of such a representation is roadmap coupled with a DFA (<xref ref-type="bibr" rid="B35">McMahon and Plaku, 2016</xref>). This is used as a guide to sample the continuous domain for obtaining a motion tree that is aware of constraints normally imposed on a continuous motion representation e.g., kinodynamic constraints or current&#x20;drift.</p>
<p>Q3: The obvious candidate to leverage learning methods in this problem is to learn a drift model. In absence of reliable data to build predictive models of ocean currents, a simulator can take advantage of synthetic data derived from what is known of the physics of oceans.</p>
</sec>
</sec>
<sec id="s4-5">
<title>4.5 Good Practices</title>
<p>One of the first questions that should be addressed when designing a TAMP solution for an application is to elicit the level of uncertainty inherent in the domain. Uncertainty manifests itself in many different ways: it may be relate to knowledge of goals, requiring them to be posted online, or it may relate to partial observability of the environment, the sudden appearance of obstacles, or uncertainty in the duration of motions. Understanding the nature of uncertainty at hand corresponds to answering questions Q4 and Q5. Analysing the types of uncertainty will narrow the range of task and motion planning algorithms that cater to that specific domain, and help in determining strategies to tackle the consequent challenges. For example, certain uncertainties can be completely hidden from the TAMP method and instead be dealt with during plan execution using existing control methods. Others, like the uncertain travel times in the multi-hauler planning application, should be considered explicitly in the design of a TAMP method, as disregarding them would violate important safety constraints. Sometimes, we can afford to totally ignore the presence of uncertainty, as in the case of the industrial manipulators operating in a controlled environment.</p>
<p>The next step in designing an appropriate TAMP method is to determine the levels of abstraction, and an effective method for their incorporation. This concerns the problem of finding one or more knowledge representation formalisms that are appropriate for expressing the requirements of the domain in question while affording efficient reasoning (addressing questions Q1 and Q2). Effectively dividing knowledge into different levels of abstraction is very challenging. In the drill planning application, for instance, a graph representation for the sequencing problem enables efficient high-level TSP computation while dedicating the geometric information to the motion planner. The TSP passes the knowledge of emerging obstacles to the motion planner, and the motion planner in response verifies the sequencing choice made by the TSP solver. Although this seems a reasonable distribution of knowledge between the two planners, the frequency of knowledge sharing between the two can be exponentially high. As this application shows, the question of how to interface several levels of abstraction is most crucial when there is high interdependency between the levels. On the contrary, in the multi-hauler planning, the interdependency is weak, and we can learn the low-level information and explicitly incorporate the learned model in the high-level task planner. In the latter, the question of how to interface efficiently is less crucial.</p>
<p>Another important issue that must be addressed in the early stages of designing an approach for combines TAMP is how to discretize the problem space. The right choice of discretization has a massive impact on the final solution. This directly relates to the size of the state space at the task level as well as the required calls to motion planning in loosely-coupled approaches like semantic attachments.</p>
</sec>
</sec>
<sec id="s5">
<title>5 Summary and Outlook</title>
<p>The research questions we discussed above do not have simple answers. Depending on the domain at hand and the constraints of the application scenario, different answers may suit better for achieving an effective combined TAMP method. To aid the researcher or engineer in building a TAMP system, we have outlined an order in which questions can be approached, with the intention of reducing the amount of required backtracking in the decision making process.</p>
<p>As witnessed by the number of questions and the complexity of the overall topic, future research has the potential to simplify certain questions and maybe even eliminate certain trade-offs by providing more general solutions than we currently have at our disposal. Nevertheless, we conjecture that a one-fits-all method for solving combined TAMP will never exist, therefore the questions we have discussed in this article, as well as the proposed guidelines, will remain relevant in the future.</p>
</sec>
</body>
<back>
<sec id="s6">
<title>Author Contributions</title>
<p>MM coordinated the research and the writing of the manuscript. All authors listed have made a substantial, direct, and intellectual contribution to the work and approved it for publication.</p>
</sec>
<sec id="s7">
<title>Funding</title>
<p>Federico Pecora is supported by the Swedish Knowledge Foundation (KKS) under the Semantic Robots research profile, and by Vinnova under projects AutoBoomer and AutoHauler. Peter Sch&#xfc;ller is supported by the EU Horizon 2020 project AI4EU under grant agreement No. 825619.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of Interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Arora</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Fiorino</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Pellier</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>M&#xe9;tivier</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Pesty</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>A Review of Learning Planning Action Models</article-title>. <source>Knowl. Eng. Rev.</source> <volume>33</volume>, <fpage>e20</fpage>. <pub-id pub-id-type="doi">10.1017/s0269888918000188</pub-id> </citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Balac</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Gaines</surname>
<given-names>D. M.</given-names>
</name>
<name>
<surname>Fisher</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2000</year>). &#x201c;<article-title>Learning Action Models for Navigation in Noisy Environments</article-title>&#x201d;, in <conf-name>ICML Workshop on Machine Learning of Spatial Knowledge, Stanford</conf-name>. </citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Beetz</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Arbuckle</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Belker</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Cremers</surname>
<given-names>A. B.</given-names>
</name>
<name>
<surname>Schulz</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Bennewitz</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2001</year>). <article-title>Integrated, Plan-Based Control of Autonomous Robot in Human Environments</article-title>. <source>IEEE Intell. Syst.</source> <volume>16</volume>, <fpage>56</fpage>&#x2013;<lpage>65</lpage>. <pub-id pub-id-type="doi">10.1109/5254.956082</pub-id> </citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Behrens</surname>
<given-names>J.&#x20;K.</given-names>
</name>
<name>
<surname>Lange</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Mansouri</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019a</year>). &#x201c;<article-title>A Constraint Programming Approach to Simultaneous Task Allocation and Motion Scheduling for Industrial Dual-Arm Manipulation Tasks</article-title>&#x201d;, in <conf-name>Proc. of the IEE Int. Conf. on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Montreal, Canada</conf-loc>, <conf-date>May 20, 2019</conf-date>, <fpage>8705</fpage>&#x2013;<lpage>8711</lpage>. </citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Behrens</surname>
<given-names>J.&#x20;K.</given-names>
</name>
<name>
<surname>Stepanova</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Lange</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Skoviera</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2019b</year>). <article-title>Specifying Dual-Arm Robot Planning Problems through Natural Language and Demonstration</article-title>. <source>IEEE Robot. Autom. Lett.</source> <volume>4</volume>, <fpage>2622</fpage>&#x2013;<lpage>2629</lpage>. <pub-id pub-id-type="doi">10.1109/lra.2019.2898714</pub-id> </citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cacace</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Caccavale</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Finzi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Lippiello</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Interactive Plan Execution during Human-Robot Cooperative Manipulation</article-title>. <source>IFAC-PapersOnLine</source> <volume>51</volume>, <fpage>500</fpage>&#x2013;<lpage>505</lpage>. <pub-id pub-id-type="doi">10.1016/j.ifacol.2018.11.584</pub-id> </citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Caccavale</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Saveriano</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Finzi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Lee</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Kinesthetic Teaching and Attentional Supervision of Structured Tasks in Human&#x2013;Robot Interaction</article-title>. <source>Auton. Robots</source> <volume>43</volume>, <fpage>1291</fpage>&#x2013;<lpage>1307</lpage>. <pub-id pub-id-type="doi">10.1007/s10514-018-9706-9</pub-id> </citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dantam</surname>
<given-names>N. T.</given-names>
</name>
<name>
<surname>Chaudhuri</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Kavraki</surname>
<given-names>L. E.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>The Task-Motion Kit: An Open Source, General-Purpose Task and Motion-Planning Framework</article-title>. <source>IEEE Robot. Autom. Mag.</source> <volume>25</volume>, <fpage>61</fpage>&#x2013;<lpage>70</lpage>. <pub-id pub-id-type="doi">10.1109/mra.2018.2815081</pub-id> </citation>
</ref>
<ref id="B9">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Dechter</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2003</year>). <source>Constraint Processing (Morgan Kaufmann Series in Artificial Intelligence)</source>.</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Erdem</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Patoglu</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Sch&#xfc;ller</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A Systematic Analysis of Levels of Integration between High-Level Task Planning and Low-Level Feasibility Checks</article-title>. <source>AI Commun.</source> <volume>29</volume>, <fpage>319</fpage>&#x2013;<lpage>349</lpage>. <pub-id pub-id-type="doi">10.3233/AIC-150697</pub-id> </citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Garrett</surname>
<given-names>C. R.</given-names>
</name>
<name>
<surname>Lozano-P&#xe9;rez</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Kaelbling</surname>
<given-names>L. P.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Sampling-based Methods for Factored Task and Motion Planning</article-title>. <source>Int. J.&#x20;Robot. Res.</source> <volume>37</volume>, <fpage>1796</fpage>&#x2013;<lpage>1825</lpage>. <pub-id pub-id-type="doi">10.1177/0278364918802962</pub-id> </citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Garrett</surname>
<given-names>C. R.</given-names>
</name>
<name>
<surname>Chitnis</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Holladay</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Silver</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Kaelbling</surname>
<given-names>L. P.</given-names>
</name>
<etal/>
</person-group> (<year>2020</year>). <article-title>Integrated Task and Motion Planning</article-title>. <source>Ann. Rev. Contr. Robot.Auton. Sys.</source> <volume>4</volume> [<comment>Dataset</comment>]. <pub-id pub-id-type="doi">10.1146/annurev-control-091420-084139</pub-id> </citation>
</ref>
<ref id="B13">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Gaschler</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Petrick</surname>
<given-names>R. P.</given-names>
</name>
<name>
<surname>Giuliani</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Rickert</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Knoll</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>Kvp: A Knowledge of Volumes Approach to Robot Task Planning</article-title>&#x201d;, in <conf-name>Proc. of the IEEE/RSJ Int. Conf. on Intelligent Robots and Systems</conf-name>, <conf-loc>Tokyo, Japan</conf-loc>, <conf-date>Nov 3, 2013</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>202</fpage>&#x2013;<lpage>208</lpage>. <pub-id pub-id-type="doi">10.1109/iros.2013.6696354</pub-id> </citation>
</ref>
<ref id="B14">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ghallab</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Nau</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Traverso</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2016</year>). <source>Automated Planning and Acting</source>. <publisher-loc>Cambridge, United&#x20;Kingdom</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>.</citation>
</ref>
<ref id="B15">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Hadfield-Menell</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Groshev</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Chitnis</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Abbeel</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Modular Task and Motion Planning in Belief Space</article-title>&#x201d;, in <conf-name>2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS)</conf-name>, <conf-loc>Hamburg, Germany</conf-loc>, <conf-date>Sep 28, 2015</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>4991</fpage>&#x2013;<lpage>4998</lpage>. <pub-id pub-id-type="doi">10.1109/IROS.2015.7354079</pub-id> </citation>
</ref>
<ref id="B16">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Havur</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Haspalamutgil</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Palaz</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Erdem</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Patoglu</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2013</year>). &#x201c;<article-title>A Case Study on the Tower of Hanoi Challenge: Representation, Reasoning and Execution</article-title>&#x201d;, in <conf-name>IEEE Conference on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Karlsruhe, Germany</conf-loc>, <conf-date>May 6, 2013</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>4552</fpage>&#x2013;<lpage>4559</lpage>. </citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jim&#xe9;nez</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>De La Rosa</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Fern&#xe1;ndez</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Fern&#xe1;ndez</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Borrajo</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>A Review of Machine Learning for Automated Planning</article-title>. <source>Knowl. Eng. Rev.</source> <volume>27</volume>, <fpage>433</fpage>&#x2013;<lpage>467</lpage>. <pub-id pub-id-type="doi">10.1017/s026988891200001x</pub-id> </citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kaelbling</surname>
<given-names>L. P.</given-names>
</name>
<name>
<surname>Lozano-P&#xe9;rez</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Integrated Task and Motion Planning in Belief Space</article-title>. <source>Int. J.&#x20;Robot. Res.</source> <volume>32</volume>, <fpage>1194</fpage>&#x2013;<lpage>1227</lpage>. <pub-id pub-id-type="doi">10.1177/0278364913484072</pub-id> </citation>
</ref>
<ref id="B19">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Kaelbling</surname>
<given-names>L. P.</given-names>
</name>
<name>
<surname>Lozano-P&#xe9;rez</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Hierarchical Planning in the now</article-title>&#x201d;, in <conf-name>Proc. of the IEEE Int. Conf. on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Shanghai, China</conf-loc>, <conf-date>May 13, 2011</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>). <pub-id pub-id-type="doi">10.1109/icra.2011.5980391</pub-id> </citation>
</ref>
<ref id="B20">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Kim</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Kaelbling</surname>
<given-names>L. P.</given-names>
</name>
<name>
<surname>Lozano-P&#xe9;rez</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Guiding Search in Continuous State-Action Spaces by Learning an Action Sampler from off-Target Search Experience</article-title>&#x201d;, in <conf-name>Thirty-Second AAAI Conference on Artificial Intelligence</conf-name>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="https://ojs.aaai.org/index.php/AAAI/article/view/12106">https://ojs.aaai.org/index.php/AAAI/article/view/12106</ext-link>
</comment> (<comment>Accessed April 26, 2018</comment>). </citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kim</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Kaelbling</surname>
<given-names>L. P.</given-names>
</name>
<name>
<surname>Lozano-P&#xe9;rez</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2019a</year>). &#x201c;<article-title>Adversarial Actor-Critic Method for Task and Motion Planning Problems Using Planning Experience</article-title>&#x201d;, in <conf-name>Proc. of the AAAI Conf. on Artificial Intelligence</conf-name> <volume>Vol. 33</volume>, <fpage>8017</fpage>&#x2013;<lpage>8024</lpage>. <pub-id pub-id-type="doi">10.1609/aaai.v33i01.33018017</pub-id> </citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kim</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Kaelbling</surname>
<given-names>L. P.</given-names>
</name>
<name>
<surname>Lozano-P&#xe9;rez</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2019b</year>). <article-title>Learning to Guide Task and Motion Planning Using Score-Space Representation</article-title>. <source>Int. J.&#x20;Robot. Res.</source> <volume>38</volume>, <fpage>793</fpage>&#x2013;<lpage>812</lpage>. <pub-id pub-id-type="doi">10.1177/0278364919848837</pub-id> </citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kress-Gazit</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Lahijanian</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Raman</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Synthesis for Robots: Guarantees and Feedback for Robot Behavior</article-title>. <source>Annu. Rev. Contr. Robot. Auton. Syst.</source> <volume>1</volume>, <fpage>211</fpage>&#x2013;<lpage>236</lpage>. <pub-id pub-id-type="doi">10.1146/annurev-control-060117-104838</pub-id> </citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kurosu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yorozu</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Takahashi</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Simultaneous Dual-Arm Motion Planning for Minimizing Operation Time</article-title>. <source>Appl. Sci.</source> <volume>7</volume>, <fpage>1210</fpage>. <pub-id pub-id-type="doi">10.3390/app7121210</pub-id> </citation>
</ref>
<ref id="B25">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Lagriffoul</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Dimitrov</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Saffiotti</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Karlsson</surname>
<given-names>L.</given-names>
</name>
</person-group> (<year>2012</year>). &#x201c;<article-title>Constraint Propagation on Interval Bounds for Dealing With Geometric Backtracking</article-title>&#x201d;, in <conf-name>Proc. of IEEE/RSJ Int&#x2019;l Conf. on Intelligent Robots and Systems</conf-name>, <conf-loc>Vilamoura-Algarve, Portugal</conf-loc>, <conf-date>Oct 7, 2012</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>). <pub-id pub-id-type="doi">10.1109/iros.2012.6385972</pub-id> </citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lahijanian</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Andersson</surname>
<given-names>S. B.</given-names>
</name>
<name>
<surname>Belta</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Formal Verification and Synthesis for Discrete-Time Stochastic Systems</article-title>. <source>IEEE Trans. Automat. Contr.</source> <volume>60</volume>, <fpage>2031</fpage>&#x2013;<lpage>2045</lpage>. <pub-id pub-id-type="doi">10.1109/tac.2015.2398883</pub-id> </citation>
</ref>
<ref id="B27">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>LaValle</surname>
<given-names>S. M.</given-names>
</name>
</person-group> (<year>2006</year>). <source>Planning Algorithms</source>. <publisher-loc>New York, NY</publisher-loc>: <publisher-name>Cambridge University Press</publisher-name>. <pub-id pub-id-type="doi">10.1017/cbo9780511546877</pub-id> </citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ozay</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Finite Abstractions With Robustness Margins for Temporal Logic-Based Control Synthesis</article-title>. <source>Nonlinear Anal. Hybrid Syst.</source> <volume>22</volume>, <fpage>1</fpage>&#x2013;<lpage>15</lpage>. <pub-id pub-id-type="doi">10.1016/j.nahs.2016.02.002</pub-id> </citation>
</ref>
<ref id="B29">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Maler</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Nickovic</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2004</year>). &#x201c;<article-title>Monitoring Temporal Properties of Continuous Signals</article-title>&#x201d;, in <source>Formal Techniques, Modelling and Analysis of Timed and Fault-Tolerant Systems</source> (<publisher-loc>Berlin, Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>152</fpage>&#x2013;<lpage>166</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-540-30206-3_12</pub-id> </citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mansouri</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Andreasson</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Pecora</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Towards Hybrid Reasoning for Automated Industrial Fleet Management</article-title>&#x201d;, in <conf-name>In Hybrid Reasoning Workshop of Int. Joint Conf. on Artificial Intelligence</conf-name>, <conf-loc>Buenos Aires, Argentina</conf-loc>. </citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mansouri</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Andreasson</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Pecora</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Hybrid Reasoning for Multi-Robot Drill Planning in Open-Pit Mines</article-title>. <source>Acta Polytech.</source> <volume>56</volume>, <fpage>47</fpage>&#x2013;<lpage>56</lpage>. <pub-id pub-id-type="doi">10.14311/app.2016.56.0047</pub-id> </citation>
</ref>
<ref id="B32">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Mansouri</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Lagriffoul</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Pecora</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>Multi Vehicle Routing With Nonholonomic Constraints and Dense Dynamic Obstacles</article-title>&#x201d;, in <conf-name>Proc. of the IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS)</conf-name>, <conf-loc>Vancouver, Canada</conf-loc>, <conf-date>Sep 28, 2017</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>3522</fpage>&#x2013;<lpage>3529</lpage>. <pub-id pub-id-type="doi">10.1109/iros.2017.8206195</pub-id> </citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mansouri</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Lacerda</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Hawes</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Pecora</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>Multi-Robot Planning Under Uncertain Travel Times and Safety Constraints</article-title>&#x201d;, in <conf-name>Proc. of the Int. Joint Conf. on Artificial Intelligence (IJCAI)</conf-name>, <fpage>478</fpage>&#x2013;<lpage>484</lpage>. <pub-id pub-id-type="doi">10.24963/ijcai.2019/68</pub-id> </citation>
</ref>
<ref id="B34">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Mansouri</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>A Constraint-Based Approach for Hybrid Reasoning in Robotics</article-title>. <comment>PhD thesis</comment>. <publisher-loc>&#xd6;rebro (Sweden)</publisher-loc>: <publisher-name>&#xd6;rebro University</publisher-name>. </citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>McMahon</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Plaku</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Mission and Motion Planning for Autonomous Underwater Vehicles Operating in Spatially and Temporally Complex Environments</article-title>. <source>IEEE J.&#x20;Ocean. Eng.</source> <volume>41</volume>, <fpage>893</fpage>&#x2013;<lpage>912</lpage>. <pub-id pub-id-type="doi">10.1109/JOE.2015.2503498</pub-id> </citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mosenlechner</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Beetz</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>Parameterizing Actions to Have the Appropriate Effects</article-title>&#x201d;, in <conf-name>Proc. of IEEE/RSJ Int&#x2019;l Conf. on Intelligent Robots and Systems</conf-name>, <conf-loc>San Francisco, CA</conf-loc>, <conf-date>Sep 25, 2011</conf-date>. <pub-id pub-id-type="doi">10.1109/iros.2011.6094883</pub-id> </citation>
</ref>
<ref id="B37">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Nedunuri</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Prabhu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Moll</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Chaudhuri</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Kavraki</surname>
<given-names>L. E.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>SMT-Based Synthesis of Integrated Task and Motion Plans for Mobile Manipulation</article-title>&#x201d;, in <conf-name>IEEE Intl. Conf. on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Hong Kong, China</conf-loc>, <conf-date>May 31, 2014</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>). <pub-id pub-id-type="doi">10.1109/icra.2014.6906924</pub-id> </citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nieuwenhuis</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Oliveras</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Tinelli</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Solving Sat and Sat Modulo Theories: From an Abstract Davis&#x2013;Putnam&#x2013;Logemann&#x2013;Loveland Procedure to Dpll(t)</article-title>. <source>J.&#x20;ACM</source> <volume>53</volume>, <fpage>937</fpage>&#x2013;<lpage>977</lpage>. <pub-id pub-id-type="doi">10.1145/1217856.1217859</pub-id> </citation>
</ref>
<ref id="B39">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>O&#x2019;Donnell</surname>
<given-names>P. A.</given-names>
</name>
<name>
<surname>Lozano-P&#xe9;rez</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>1989</year>). &#x201c;<article-title>Deadlock-Free and Collision-Free Coordination of Two Robot Manipulators</article-title>&#x201d;, in <conf-name>IEEE International Conference on Robotics and Automation</conf-name>, <conf-loc>Scottsdale, AZ</conf-loc>, <conf-date>May 14, 1989</conf-date> (<publisher-loc>Washington, DC</publisher-loc>: <publisher-name>IEEE Computer Society</publisher-name>), <fpage>484</fpage>&#x2013;<lpage>489</lpage>. </citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pecora</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Andreasson</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Mansouri</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Petkov</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>A Loosely-Coupled Approach for Multi-Robot Coordination, Motion Planning and Control</article-title>&#x201d;, in <conf-name>Proc. of the Int. Conf. on Automated Planning and Scheduling (ICAPS)</conf-name>. <fpage>485</fpage>&#x2013;<lpage>493</lpage>. </citation>
</ref>
<ref id="B41">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Plaku</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2012</year>). &#x201c;<article-title>Planning in Discrete and Continuous Spaces: From Ltl Tasks to Robot Motions</article-title>,&#x201d; in <source>Advances in Autonomous Robotics</source>. Editors <person-group person-group-type="editor">
<name>
<surname>Herrmann</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Studley</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Pearson</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Conn</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Melhuish</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Witkowski</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<publisher-loc>Berlin, Heidelberg</publisher-loc>: <publisher-name>Springer</publisher-name>), <fpage>331</fpage>&#x2013;<lpage>342</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-642-32527-4_30</pub-id> </citation>
</ref>
<ref id="B42">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Raman</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Donz&#xe9;</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Sadigh</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Murray</surname>
<given-names>R. M.</given-names>
</name>
<name>
<surname>Seshia</surname>
<given-names>S. A.</given-names>
</name>
</person-group> (<year>2015</year>). &#x201c;<article-title>Reactive Synthesis from Signal Temporal Logic Specifications</article-title>&#x201d;, in <conf-name>Proc. of the Int. Conf. on Hybrid Systems: Computation and Control (ACM)</conf-name>, <conf-loc>Seattle, Washington</conf-loc>, <conf-date>April, 2015</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>Association for Computing Machinery</publisher-name>), <fpage>239</fpage>&#x2013;<lpage>248</lpage>. </citation>
</ref>
<ref id="B43">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ranasinghe</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Shen</surname>
<given-names>W.-M.</given-names>
</name>
</person-group> (<year>2008</year>). &#x201c;<article-title>Surprise-Based Learning for Developmental Robotics</article-title>&#x201d;, in <conf-name>ECSIS Symposium on Learning and Adaptive Behaviors for Robotic Systems</conf-name>, <conf-loc>Edinburgh, United&#x20;Kingdom</conf-loc>, <conf-date>Aug 6, 2008</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>65</fpage>&#x2013;<lpage>70</lpage>. </citation>
</ref>
<ref id="B44">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Shah</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Kala Vasudevan</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Kamojjhala</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Srivastava</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Anytime Integrated Task and Motion Policies for Stochastic Environments</article-title>&#x201d;, in <conf-name>IEEE Int. Conf. Robotics Automation (ICRA)</conf-name>, <conf-loc>Paris, France</conf-loc>, <conf-date>May 31, 2020</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>9285</fpage>&#x2013;<lpage>9291</lpage>. <pub-id pub-id-type="doi">10.1109/ICRA40945.2020.9197574</pub-id> </citation>
</ref>
<ref id="B45">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Srivastava</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Fang</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Riano</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chitnis</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Russell</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Abbeel</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>Combined Task and Motion Planning through an Extensible Planner-Independent Interface Layer</article-title>&#x201d;, in <conf-name>Proc. of the IEEE Int. Conf. on Robotics and Automation (ICRA)</conf-name>, <conf-loc>Hong Kong, China</conf-loc>, <conf-date>May 31, 2014</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>). <pub-id pub-id-type="doi">10.1109/icra.2014.6906922</pub-id> </citation>
</ref>
<ref id="B46">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>&#x15e;ucan</surname>
<given-names>I. A.</given-names>
</name>
<name>
<surname>Kavraki</surname>
<given-names>L. E.</given-names>
</name>
</person-group> (<year>2012</year>). &#x201c;<article-title>Accounting for Uncertainty in Simultaneous Task and Motion Planning Using Task Motion Multigraphs</article-title>&#x201d;, in <conf-name>IEEE International Conference on Robotics and Automation</conf-name>, <conf-loc>Saint Paul, MN</conf-loc>, <conf-date>May 14, 2012</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>4822</fpage>&#x2013;<lpage>4828</lpage>. </citation>
</ref>
<ref id="B47">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Weser</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Off</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>Htn Robot Planning in Partially Observable Dynamic Environments</article-title>&#x201d;, in <conf-name>Proc. of IEEE Int. Conf. on Robotics and Automation</conf-name>, <conf-loc>Anchorage, AK</conf-loc>, <conf-date>May 3, 2010</conf-date> (<publisher-loc>New York, NY</publisher-loc>: <publisher-name>IEEE</publisher-name>), <fpage>1505</fpage>&#x2013;<lpage>1510</lpage>. </citation>
</ref>
<ref id="B48">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yalciner</surname>
<given-names>I. F.</given-names>
</name>
<name>
<surname>Nouman</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Patoglu</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Erdem</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Hybrid Conditional Planning Using Answer Set Programming</article-title>. <source>Theor. Pract. Logic Program.</source> <volume>17</volume>, <fpage>1027</fpage>&#x2013;<lpage>1047</lpage>. <pub-id pub-id-type="doi">10.1017/s1471068417000321</pub-id> </citation>
</ref>
</ref-list>
</back>
</article>