Abstract
We provide a systematic analysis of levels of integration between discrete high-level reasoning and continuous low-level feasibility checks to address hybrid planning problems in robotic applications. We identify four distinct strategies for such an integration: (i) low-level checks are done for all possible cases in advance and the results are used during plan generation; (ii) low-level checks are done exactly when they are needed during the search for a plan; (iii) low-level checks are done after a plan is computed, and if the plan is found infeasible then a new plan is computed; (iv) similar to the previous strategy but the results of previous low-level checks are used during computation of a new plan. We analyze the usefulness of these strategies and their combinations by experiments on hybrid planning problems in different robotic application domains, in terms of computational efficiency and plan quality (relative to its feasibility).
Keywords
Introduction
Successful deployment of robotic assistants in our society requires these systems to deal with high complexity and wide variability of their surroundings to perform typical everyday tasks robustly and without sacrificing safety. Consequently, there exists a pressing need to furnish these robotic systems not only with discrete high-level reasoning (e.g., planning, diagnostic reasoning) and continuous low-level feasibility checks (e.g., trajectory planning, deadline and stability enforcement, collision checks), but also their tight integration resulting in hybrid planning.
Consider, for instance, a mobile robot tidying up a house. This task requires ordering of robotic actions of moving from one location to another one, picking objects from some locations, and placing objects to their desired locations, considering the preconditions and effects of these actions as well as other changes (e.g., ramifications of actions) in the domain. Therefore, motion planning (e.g., finding a continuous trajectory from one configuration of the robot to another configuration) and other low-level feasibility checks are not sufficient to solve this problem. On the other hand, tidying up a house also requires feasibility checks, such as whether the robot will be able to move from one location to another location without colliding with any objects, whether the robot will be able to reach the object on the table and grasp it without any collisions, or whether the stack of objects will be stable once the robot puts an object at the very top. Therefore, task planning only (e.g., finding a sequence of robotic actions from an initial state to a goal state) is not sufficient to solve the problem either. These examples illustrate the necessity for a hybrid approach to planning, that integrates task planning with feasibility checks.
Motivated by the importance of hybrid planning, recently there have been some studies on integrating discrete task planning and continuous motion planning, presented at various special sessions and workshops organized at major conferences at AAAI 2010, ICAPS 2012, AAAI 2013, RSS 2013, ICRA 2013, ICLP 2013, IROS 2013, AAAI 2014, IROS 2014, ECAI 2014, ICAPS 2014, AAAI 2015, RSS 2015, IJCAI 2015, IROS 2015. These studies can be discussed in two groups, where integration is done at the search level or at the representation level.
For instance, at the search level, the related studies [32,33,38,39,42,60,61,64,70] take advantage of a search algorithm to incrementally build a task plan, while checking its kinematic/geometric feasibility at each step by a motion planner; all these approaches use different methods to utilize the information from the task-level to guide and narrow the search in the configuration space. In this way, the task planner helps the search process during motion planning. Each one of these approaches presents a specialized combination of task and motion planning at the search level, and does not consider a general interface between task and motion planning.
On the other hand, at the representation level, the related studies [1,4,7,11,12,24,34–36] integrate task and motion planning by considering a general interface between them, using “external atoms” (in the spirit of semantic attachments in theorem proving [69]). External atoms are predicate/function atoms whose values are computed by an external mechanism, e.g., by a C++ program. The idea is to use external atoms in the representation of actions, e.g., for checking the feasibility of a primitive action by a motion planner. So, instead of guiding the task planner at the search level by manipulating its search algorithm directly, the motion planner guides the task planner at the representation level by means of external atoms. In [4,12,34], this approach is applied in the action description language
The focus of this paper is to investigate the usefulness of different methods and levels of integration between high-level (discrete) action planning and low-level (continuous) feasibility checks, at the representation level. For this purpose, (i) we identify different integration methods that are applicable to hybrid planning, (ii) propose a general representation and reasoning framework that allows us to implement all these integration methods and their combinations by modifying the representation of the robotic domain rather than by modifying the planners, solvers, and feasibility checkers, (iii) we perform a systematic empirical analysis of the usefulness of different methods and levels of integration over two robotic domains that involve a variety of navigation and manipulation tasks and feasibility checks.
Methods and levels of integration. The representation-level integration of task planning with feasibility checks can be achieved with different strategies and at various levels. For instance, some related studies [1,4,11,12,35] implement some of the feasibility checks as external atoms and use these external atoms in action descriptions to guide task planning when needed. Meanwhile, for a tighter integration, feasibility of task plans is checked by a dynamic simulator; in case of infeasible plans, the planning problem is modified with respect to the causes of infeasibilities, and the task planner is asked to find another plan.
We identify four distinct strategies to integrate a set of continuous feasibility checks into high-level reasoning, grouped into two: directly integrating low-level checks into high-level reasoning while a feasible plan is being generated, and generating plans and then post-checking the feasibility of these plans with respect to the low-level checks. For direct integration, we investigate two methods of integration:
low-level checks are done for all possible cases in advance and then this information is used during plan generation, low-level checks are done when they are needed during the search for a plan. low-level checks are done after a plan is computed, and then a new plan is computed if the plan is found infeasible; similar to the previous strategy of replanning but a new plan is computed subject to the constraints obtained from the previous feasibility checks.
For post-checking, we study two methods of integration:
We consider these four methods of integration, as well as some of their combinations. For instance, some geometric reasoning can be integrated within search as needed, whereas some temporal reasoning is utilized only after a plan is computed in a replanning loop. Considering each method and some of their combinations provides us different levels of integration.
Hybrid planning framework. To investigate the usefulness of these levels of integration at the representation level, we consider the expressive representation formalisms and the state-of-the-art efficient solvers of ASP. In particular, we use
Unlike the formalisms and solvers used in other approaches [1,4,7,11,12,24,34–36], that study integration at representation level,
It is important to emphasize here that we do not investigate the applicability of ASP for robotic planning, nor do we claim that ASP should be used in robotic planning via
Benchmarks and experiments. We perform experiments on hybrid planning problems in two robotic domains: housekeeping domain (like in [1,11]) and robotic manipulation (like in [12]). The housekeeping domain involves two sorts of feasibility checks: geometric reasoning (e.g., collision checks with static objects, and with movable objects, while finding continuous trajectories) and temporal reasoning (e.g., restrictions on the total duration of plans). The robotic manipulation domain involves geometric reasoning (e.g., collision checks of robots and payloads with each other and the environment).
We analyze the usefulness of different levels of integration in these domains, both from the point of view of computational efficiency (in terms of computation time and space) and from the point of view of plan quality relative to its feasibility (in terms of the number of feasible plans, infeasible plans, and low-level feasibility checks).
Raw data on benchmarks (i.e., experimental results for each problem instance) and the ROS-dlvhex plug-in used for the experiments are available at
It is important to emphasize here that, since our focus is on the integration of task planning with feasibility checks, we consider offline hybrid planning (under the assumption of complete knowledge of the world) in our experiments. Therefore, execution monitoring of plans is out of the focus and the scope of this paper. Various uses of hybrid planning in the context of different execution monitoring frameworks have been studied in some other papers (e.g., [11,15,34]).
Summary of contributions. The main contributions of our study can be summarized as follows:
We have identified and categorized four distinct strategies to integrate a set of continuous feasibility checks into high-level reasoning.
We have determined evaluation metrics to characterize performance of integration methods in terms of solution quality and computational efficiency.
We have designed and implemented an experimentation platform that utilizes a common ASP solver (dlvhex), such that all integration methods can be evaluated in a fair manner. As part of this experimentation platform, we have implemented all the necessary API’s to embed external computations for the feasibility checks.
We have empirically characterized performance of each integration method, as well as their combinations, under two realistic robotic domains, by considering multiple scenarios for each domain.
We have determined general guidelines that may help end-users select proper integration methods for their domains.
Results of our initial studies on systematic analysis of different methods of integration are presented at ICRA 2013 Workshop on Combining Task and Motion Planning [18], AAAI 2013 Workshop on Intelligent Robotic Systems [17], and the 21st RCRA International Workshop on Experimental Evaluation of Algorithms for solving problems with combinatorial explosion [19]. The results presented in this manuscript are significantly more systematic and comprehensive. In particular, in our earlier workshop papers [17,18], the experiments for direct integration were done using the ASP solver dlvhex, whereas the experiments for post-checking were done using the ASP solver
Outline of the paper. In the following, we first present some preliminaries on ASP (Section 2), hybrid planning in ASP (Section 3), and feasibility checks (Section 4). After that, we discuss different methods and levels of integration (Section 5). Then we set the stage for experiments by describing the evaluation criteria (Section 6), the robotic domain descriptions (Section 7), and the experimental setup (Section 8). We discuss the experimental results (Section 9) and the related work (Section 10), and we conclude (Section 11).
Answer set programming
Answer Set Programming (ASP) [2,46,47,49,54] is a form of knowledge representation and reasoning paradigm oriented towards solving combinatorial search problems as well as knowledge-intensive problems. The idea is to represent a problem as a “program” whose models (called “answer sets” [28,29]) correspond to the solutions. The answer sets for the given program can then be computed by special implemented systems called answer set solvers. ASP has a high-level representation language that allows recursive definitions, aggregates, weight constraints, optimization statements, and default negation. ASP also provides efficient solvers, such as
Due to the continuous improvement of the ASP solvers and highly expressive representation language of ASP which is supported by a strong theoretical background that results from a years of intensive research, ASP has been applied fruitfully to a wide range of areas. Here are, for instance, three applications of ASP used in industry: decision support systems [55] (used by United Space Alliance), automated product configuration [68] (used by Variantum Oy), and workforce management [63] (used by Gioia Tauro seaport).
ASP has also been used for various robotic applications, such as housekeeping robotics [1,11], cognitive factories [13,15,16], and multi-path finding [14].
An external atom is an expression of the form
We refer the reader to [9] for detailed information about the semantics of
For instance, to describe a precondition of a robot moving from one location to another, we define external atoms of the form
However, these collision checks are performed considering only the static objects in the environment: the external computation is performed considering only the two locations. To be able to check for collisions of movable objects as well, external computations should also take into account locations of other robots as well as their movements. For that, we can define external atoms of the form
dlvhex. Given a

Internals of
dlvhex evaluates a
When the
ASP planning [6,45,46,54,65] is based on the idea of reducing a planning problem to the problem of finding an answer set for a program and then computing a plan using an ASP solver. In that sense, it is similar to SAT planning [40], which reduces a planning problem to the problem of finding a satisfying interpretation for a set of propositional formulas and then computes a plan using a SAT solver. ASP planning differs from SAT planning in that it uses programs instead of propositional formulas, and ASP solvers instead of SAT solvers. Also, it is easier to describe some properties and constraints of robotic domains in ASP due to the special constructs its formalism and its solvers support (e.g., default negation, aggregates, optimization statements, cardinality constraints).
In ASP planning, we (i) represent the robotic domain as a program, (ii) represent the planning problem instance as a program, (iii) compute an answer set for the union of these two programs using an ASP solver, and (iv) extract the plan characterized by the answer set. Let us describe this process with an example in the robotic navigation domain mentioned in the previous section. ASP formulations of two other example robotic domains (used in our experiments) are provided in the Appendix.
Representing a planning problem in ASP
A representation of an action domain in ASP consists of descriptions of actions by means of their preconditions and direct effects, descriptions of ramifications of actions, the commonsense-law of inertia, constraints (such as state, transition, noconcurrency, cardinality constraints), auxiliary definitions (such as derived predicates), optimization statements.
Fluents and actions. To describe the robotic actions and how the world state changes over time, we need to introduce atoms to represent occurrences of actions and values of fluents at a given time step. We denote occurrence of an action A at time step t by
Background knowledge. In addition to the fluents and the actions, whose values may change over time, we need to represent background knowledge whose values do not change over time (e.g., locations of static objects, or common sense knowledge). For instance, to describe the locations
Direct effects of actions. Suppose that the transitions in this sample navigation domain have Markovian property: direct effects of an action executed at a state (at time step t) are observed at the next state (at time step
(Conditional) direct effects of an action are described by HEX rules (1) where
Preconditions of actions. Preconditions of actions are represented by means of nonexecutability conditions. Nonexecutability conditions of an action are described by constraints (HEX rules (1) where
Ramifications (or indirect effects) of actions. Ramifications of actions are described by HEX rules (1) where
The commonsense law of inertia. Formalizing the commonsense law of inertia is proposed as a solution to the frame problem [51]. According to the commonsense law of inertia, an action can be assumed not to change the value of a fluent unless there is evidence to the contrary. ASP allows us to easily formalize the commonsense law of inertia, thanks to its nonmonotonic negation
Constraints. We can express various sorts of constraints (about states, transitions, concurrency of actions, cardinality of a set of atoms, durations of actions, etc.) using HEX rules (1) where
Planning problem. An initial state of a planning problem instance can be described as a set of facts (HEX rules (1) where
The goal is described as a set of HEX rules (1) where
Solving a planning problem in ASP
Suppose that the robotic actions and the change of worlds states are described by a set D of HEX rules, and a planning problem instance P is described by another set P of HEX rules, as shown by examples above. We can present the union
Once a maximum makespan
Discussion
ASP provides a general declarative problem solving framework for a wide variety of combinatorial search problems. Therefore, its formalism and its solvers support many utilities. In that sense, its formalism is different from action languages [30] (introduced to represent dynamic systems), planning languages [22,52] (introduced to represent planning problems). Its solvers are different from reasoning systems (implemented to solve various reasoning problems, such as prediction, planning, postdiction) and planners (implemented to solve planning problems, such as classical planning, conditional planning, conformant planning).
Feasibility checks
There are various feasibility checks to consider while planning in a robotic domain, and each feasibility check is a well-studied computational problem in robotics. For instance, feasibility of the action of a mobile robot moving from one location to another as described in Section 2, can be modeled as a motion planning problem with collision checks.
Let us formally define the motion planning problem. We first present some preliminary definitions as in [59].
A continuous state consists of a collection of variable values that completely describe a dynamic system at any given instant in time. The set of all continuous states constitutes the state space of a system.
For instance, the continuous state of a 2D polygonal robot consists of variables that specify the position
Please note that, despite the identical terminology, the notion of a state in dynamic systems is different from the notion of a state in task planning. In particular, in dynamics terminology, a state of a system essentially consists of continuous variables that uniquely define the configuration of the system augmented with variables that define its velocity. In this paper, the term “state” will be reserved for task planning, and the term “continuous state” will be used for dynamic systems.
Continuous state constraints indicate a desired invariant that each continuous state should satisfy. In motion planning, common continuous state constraints include collision avoidance with obstacles and other robots, joint limits, limits on accelerations and radius of curvature avoid abrupt motions.
The motion-planning goal is specified as desired constraints that a continuous goal state should satisfy. Such constraints may include a desired position or orientation. In motion-planning with dynamics, it is also common to require that a robot’s velocity remain within certain bounds.
Finally, a trajectory indicates the evolution of a system’s continuous state with respect to time. In particular, a trajectory is a function
Given these definitions, a motion-planning problem can be defined as a tuple
A solution to the motion-planning problem P is a valid trajectory
The basic motion planning is proven to be PSPACE-complete [62], like propositional action planning [3,20].
There are various books that describe motion planning [5,44], and software libraries [67] that gather implementations of various motion planners. There are also software libraries [56] that include implementations of various collision check algorithms. Our methods of integration allow the use of these existing libraries as they are.
Levels of integration
An action domain description can be viewed as a transition system, i.e., a directed graph whose nodes correspond to world states and edges to transitions between states via execution of actions. Transitions in such a domain can be formalized in ASP over time steps
A low-level continuous reasoning module gets as input, a part of a plan history and returns whether this part of the plan history is feasible or not with respect to some geometric, dynamic or temporal reasoning. For example, the feasibility of a robot’s action of moving from a location
Let L denote a low-level reasoning module that can be used for feasibility checks of plans for a planning problem instance H. We consider four different methods of utilizing L for computing feasible plans for H, organized into two groups: directly integrating reasoning L into H, and post-checking plans of H using L.
Direct integration of feasibility checks
For directly integrating low-level reasoning into plan generation, we propose two methods of integration: Precomputation (
Then, these new atoms are used (like external atoms) to express constraints (like preconditions of actions). For instance, to express that a robot r cannot go from a location
Next, the method tries to find a plan for H with respect to the modified domain description.
Clearly, in a robotic domain without movable obstacles, every plan obtained with this method satisfies all low-level feasibility checks of L. Another advantage of this method is that, since the domain description is augmented with constraints, the search space is pruned.
In robotics, it is common to precompute and cache the results of such feasibility checks to speed up computations, such as, determining robot base locations for reachability, calculating stable grasps between robot gripper and object pairs. These results can be utilized for hybrid planning in robotic domains via the method
Note that, since the results of feasibility checks are represented by atoms, they can be easily utilized for describing the preconditions of actions in other action description formalisms (like PDDL). In that sense,
On the other hand, in some robotic domains,
Applications of the method
Consider, for instance, the navigating robot example, and suppose that there are no movable objects in the environment. This method first introduces external atoms of the form
Then, for every pair
Next, the method tries to find a plan for H with respect to the modified domain description.
With external atoms included in the constraints, for each action considered during the search, the relevant feasibility checks implemented in L are immediately performed to find out whether including this action will lead to an infeasible plan. An action is included in the plan only if it is feasible. The results of feasibility checks of actions can be stored not to consider infeasible actions repeatedly in the search of a plan. Plans generated by the method
If there are movable objects in the environment, then the method
As discussed in Section 2, external atoms are evaluated when needed, so are the feasibility checks in L. In this way, infeasible plans are eliminated while they are being computed, so a plan does not need to be completely computed if its infeasibility is detected by the externally defined feasibility checks.
On the other hand, despite these advantanges, the method
The applications of the method
Post-checking plan feasibility
Alternatively, the feasibility checks of the low-level reasoning module L can be integrated with high-level reasoning in the search for a plan for the planning problem instance H, by post-checking the feasibility of a computed plan for H relative to L and replanning if the plan is found infeasible. We propose two methods of integration to perform post-checking on solutions: Replanning (
The method
Also, it is good to include this method in our systematic analysis of different methods and levels of integration, to better understand the usefulness of providing guidance to generation of new plans.
Consider, for instance, a robot R navigating in an environment. Suppose that a plan is computed for a planning problem H, and the plan involves the robot’s action of moving from location
Applications of the method
A remark about replanning: The replanning problem considered in the methods above involves the same domain description as in the original planning problem, the same initial state, the same goals, and possibly some additional constraints. Therefore, replanning may extend the original planning problem by adding constraints. In that sense, replanning as in the methods above is different from replanning in the context of execution monitoring of plans, where the replanning problem involves the same domain description, the current state, and the same goals.
Comparison of integration methods
A comparison of these methods, in terms of their applicability with existing planners and reasoners and in terms of bilateral guidance between task planning and feasibility checks, is presented in Table 1.
A comparison of methods of integration: Benefits (+) and drawbacks (−)
A comparison of methods of integration: Benefits (+) and drawbacks (−)
The methods
The methods
Low-level feasibility checks are triggered by task planning in all the methods except
In our studies, the integration methods
Consider the same planning problem instance (i.e., same initial state, same goal conditions); suppose that no additional constraints are added for
For
These minimal changes in the implementation of the four strategies aim at keeping the high-level planning engine the same while changing only the method of low-level integration. This way we know that differences in results are really just because of the type of integration and not because of other effects.
Combinations of integration methods
Let us denote by
In our systematic analysis of levels of integration, we do consider the hybrid framework depicted in Fig. 2: by selectively enabling some of the feasibility checks, we consider combinations of feasibility checks being performed by different types of integration. For instance, to analyze the usefulness of
Evaluation criteria
We consider two quantitative metrics to evaluate different types and levels of integration: solution quality and computation time.

Different levels of integration.
We quantify solution quality by addressing the following two questions:
How many feasible plans are found in a given time?
How many infeasible plans are discarded meanwhile?
In this study, we are not concerned with optimization of plans and thus we do not consider other measures for plan quality.
Note that, with the methods
We quantify computational efficiency by means of
CPU time to find the first feasible plan,
total CPU time to find the first 10,000 feasible plans, and
total CPU time for low-level feasibility checks.
In some cases, the first feasible plan can be computed in a short amount of time. Therefore, for a better understanding of planning efficiency, we also consider the computation time of first 10,000 feasible plans.
Independent from the number of low-level feasibility checks, the duration of external computations can dominate the overall planning time, or it can be negligible depending on the computational burden of performing the feasibility check. Therefore, we measure not only the number of computations of low-level feasibility checks but also the time spent for these computations.
For a systematic empirical evaluation of integration methods, we consider various planning problem instances in two action domains: housekeeping domain (like in [1,11]) and robotic manipulation domain (like in [12]). Both of these domains require hybrid planning.
Housekeeping domain
In the housekeeping domain [1,11], the goal is for multiple autonomous PR2 robots to collaboratively tidy up a house, by putting items to their proper places, within a given amount of time. For example, dirty dishes are put into the dishwasher, books into the bookcase, and pillows into the cupboard. Robots can perform the following actions: they can move from one location to another location, attach to and detach from objects. Therefore, a task plan consists of these three forms of actions.
In this domain, there are two sorts of feasibility checks: checking that a plan can be completed with a given deadline, and checking whether a plan is geometrically and kinematically feasible for each robot. These checks require utilization of both geometric and temporal reasoning.
Overview of low-level checks for housekeeping domain
Overview of low-level checks for housekeeping domain
Coordinates are pairs
Table 2 presents an overview of low-level reasoning modules used in the housekeeping domain. In particular,
As shown in Table 2, for each check, different settings are used for the motion planner. In particular, we increase the planning time limit for
We consider a mobile manipulation problem, as in [12], where two Kuka youBots arrange elongated payloads in a space that contains obstacles by performing one of the three forms of actions: moving from one location to another location, picking and dropping an endpoint of a payload. The payloads can only be carried cooperatively by both robots. Therefore, task plans in this domain are composed of these actions.
To find a feasible plan, we need to ensure that objects do not collide with each other or with the environment, and robots do not collide with each other. Some collision checks between objects can be realized in the high-level representation of the action domain, whereas most collision checks require use of geometric models of the robot and the environment. For instance, collision-free paths for robots for particular collaborative actions can only be determined using low-level geometric reasoning and cannot be represented at the high-level.
Overview of low-level checks for robotic manipulation domain
Overview of low-level checks for robotic manipulation domain
Poses are triples
Table 3 presents an overview of low-level reasoning components used in the robotic manipulation domain. In particular, given position and orientation of two robots,
For this domain, we perform motion planning and collision checking for one or two independently moving Kuka youBot bases, or for two Kuka youBot bases connected by a payload. Similar to the housekeeping domain, we realize motion planning using bidirectional RRT using the MoveIt!, OMPL, and FCL libraries.
The domains used as benchmarks have been carefully designed, taking into account the following aspects.
They represent real world robotic domains, such that they can be dynamically simulated and/or physically implemented using real robots, as in [1,11,12].
The domains involve a variety of robotic actions, involving both navigation [1,11] and manipulation [12].
The problem sizes are reasonable not only from the perspective of the real world applications, but also from the point of view of related work on robotic planning. For instance, in planning problem instances of our housekeeping domain, we view the workspace as an
The domains involve a variety of feasibility checks whose computations necessitate the use of different algorithms or external computations of different complexity. For instance, in the housekeeping domain, all the low-level reasoning modules perform motion planning to check feasibility of actions, but the motion planners are used with different parameters. In robotic manipulation domain, there are two types low-level reasoning: (i) object collision checks
To be able to use the method
On the other hand, the checks
Experimental setup
We applied different variations of integration methods to planning problem instances in the housekeeping domain, with varying size and difficulty. In particular, we performed tests on 20 Housekeeping instances (over
All experiments were performed on a Linux server with 32 2.4 GHz Intel® E5-2665 CPU cores and 64 GB memory. We realized hybrid planning using the dlvhex solver (tag 2_1_0_loi) using the backends Computational effort of precomputation Housekeeping: Comparison between integration methods Robotic manipulation: Comparison between integration methods
The measurements for enumerating up to 10,000 plans reveal information about solution quality and provide a more complete picture of the behavior of each method: one method might find a feasible solutions very fast by chance, whereas finding many (or all) solutions fast by chance is unlikely.
In the following, the reported numbers of performed low-level feasibility checks indicate distinct low-level reasoning tasks, as we implement a basic cache for low-level check results. In case of a timeout, a run was counted to use the full time, i.e., 36,000 s, in order to avoid that timeouts decrease the reported average time. Precomputation effort (i.e., performing all feasibility checks in advance) is given in Table 4. The other tables do not include precomputation counts and times in the reported values.
We discuss the results of our experiments in two parts, by comparing methods of integration and by comparing levels of integration.
A comparison of integration methods
The feasibility checks
Computational effort
Experimental results for comparing these integration methods, in terms of computational efficiency, are summarized in Tables 5 and 6, and Fig. 3.

Comparison of computational effort depending on integration method.
According to these results, if we only look at the methods where
If we compare methods that involve
For the combination of

Comparison of solution quality depending on integration method.
In summary, the effect of
Experimental results for comparing integration methods, in terms of solution quality, are summarized in Tables 5 and 6, and Fig. 4. These results depict solution quality measurements, including the number of feasible plans found. As the number of infeasible plans varies greatly between methods (cf. Table 6), we use a logarithmic scale in Fig. 4.
According to these results (and as discussed in Section 5), the methods
In the Housekeeping domain, we obtain a clear order:
In the Robotic Manipulation domain,
Based on these results, we can conclude that, with respect to solution quality,
Additional observations
Number of low-level feasibility checks. When we compare
In Housekeeping,
In Robotic Manipulation, the importance of low-level checks for solution feasibility is not as high as in Housekeeping. Therefore, few infeasible plans are produced without low-level checks, and using
For
Difference between
This observation can be explained by the different levels of relevance of low-level checks for these domains. In Housekeeping, it takes significant effort to find an initial solution that does not violate any low-level check, and similar solutions can be found easily afterwards. On the contrary, in Robotic Manipulation, low-level checks play a less important role so finding the next feasible plan is as hard as finding the first feasible plan.
Memory usage. We measured peak memory usage over the whole runtime of each instance. The maximum memory usage for Housekeeping stayed below 2 GB, for Robotic Manipulation below 5 GB.
Memory usage increases drastically when using precomputation, as a larger amount of constraints must be processed by the solver. Apart from that, we could not observe significant differences in memory usage between different methods of integration.
In Housekeeping, memory usage of integration scenarios that include
A comparison of levels of integration
According to the results of our experiments to compare methods of integration, we can observe that the most promising two methods are
Housekeeping: Comparison between levels of integration
Housekeeping: Comparison between levels of integration
Robotic manipulation: Comparison between levels of integration
From the results presented in Tables 7 and 8 and Fig. 5, we observe that integrating more low-level checks with
The results of Housekeeping show a significant increase in computational efficiency when going from pure
For Robotic Manipulation there is also a significant increase in computational efficiency when integrating any low-level check with
Solution quality
Figure 6 depicts measurements from Tables 7 and 8 regarding solution quality compared to levels of integration.

Comparison of computational effort vs. levels of integration.

Comparison of solution quality vs. levels of integration.
In Housekeeping, according to Table 7, integrating only
We can conversely observe this significance of
For Robotic Manipulation, we observe that handling only
If we compare the variation in number of infeasible plans between both domains, we see that Housekeeping has either small (<30) or large (>10,000) values, while Robotic Manipulation shows a more gradual difference between numbers of infeasible plans. The reason for that is our limit of enumerating only 10,000 plans for
The limitation of 10,000 plans for
We discuss the related work in two parts: related work that integrates task planning with feasibility checks at the representation level, in a robotic domain; and related work that studies the usefulness of integration of task planning with feasibility checks, but at the search level.
Related work on integration of task planning with feasibility checks at the representation level
Related work on integration of task planning with feasibility checks at the representation level
Recently, there have been some studies [1,4,7,11,12,24,34–36] on integrating discrete task planning and continuous motion planning, at the representation level. For each one of these studies, Table 9 provides information about the representation formalism, reasoner/planner, robotic domain, feasibility checks considered in the study.
The studies [4,12,34] consider the action description language
The studies [1,11,35] formulate the robotic domains in ASP; Aker et al. [1,11] use the ASP solver
The studies [7,36] extend the planning domain description language PDDL [23] to support external atoms, and modify the planners FF [37] and TFD [21] accordingly to compute hybrid plans; the extended PDDL is called PDDL/M, the extended versions of FF and TFD are called FF/M and TFD/M, respectively. Dornhege et al. [7] use PDDL/M and FF/M for hybrid planning in a manipulation domain where a robot aims to transfer objects from a table to a shelf. Depending on the continuous grasp direction, collisions may occur. The authors thus integrate collision checks into task planning; they use
Gaschler et al. [24] use the PKS planner [57,58] to apply hybrid planning to a manipulation domain, where a bartender robot detects bottles located on the bar and removes all empty bottles to a special dishwasher location at the right of the robot. The language of PKS is an extension of STRIPS [22]. To be able to grasp the bottles without any collisions, the feasibility check of collision-free trajectory is integrated in task planning. Due to the small number of bottles, the authors use
In the studies above, we see various applications of hybrid planning. However, there is no experimental evaluation over different integration methods.
A systematic analysis of integration at the search level
Recently, Lagriffoul et al. [43] have investigated the usefulness of integration of task planning with geometric reasoning at the search level. In that study, geometric checks are embedded into symbolic search trees (for task planning) up to some depth D of the symbolic search tree. After depth D of the symbolic search tree, no geometric reasoning is considered until a goal state is reached. When a goal state is reached then the plan’s feasibility is checked; if the plan is not feasible, then the search over the symbolic search tree continues. In such a platform, levels of integration is characterized by this depth. Effects of level of integration is studied by measuring the number of visited symbolic search states and the number of visited geometric configurations until a feasible plan is found.
For their experiments, the authors modify the planner
From the results of their experiments, the authors make several interesting observations. In particular, they observe that, as the value of D changes, there is a trade-off between the number of visited symbolic search states and the number of visited geometric configurations until a feasible plan is found. They suggest (a) a tight integration (i.e., a larger D) for domains with lower geometric success rate (i.e., the ratio of the average branching factor of the symbolic search tree with geometric checks to the average branching factor of the symbolic search tree without any geometric search), and (b) no tight integration for domains with high geometric success rate.
Lagriffoul et al.’s observations (a) are inline with our experimental results for interleaved method (
Lagriffoul et al.’s observations (b), on the other hand, do not confirm with our experimental results for
The different observations are not surprising, considering that the experiments are conducted with two different integration approaches (search level vs representation level). Also, in Lagriffoul et al.’s analysis, experiments are performed over one robotic domain and over instances with short makespans, effect of levels of integration on computational efficiency (computation time) is not considered, and effects of various combinations of levels of integration for feasibility checks are not investigated.
Discussion and conclusion
We have identified four different methods of integrating high-level task planning with low-level feasibility checks, and introduced a computational method for systematically analyzing the efficacy of these methods of integration through a comprehensive empirical study. Our method also involves a detailed study of levels of integration by considering various uses of combinations of methods. Based on this systematic approach, we have performed experiments in housekeeping and robotic manipulation domains with different feasibility checks. Results of these experiments suggest the following conclusions.
If low-level feasibility checks have a high influence on plan feasibility, then using full interleaved reasoning (
If low-level feasibility checks necessitate a small number of inputs, such that precomputation is a feasible option, then
The
If both
Footnotes
Acknowledgement
This work is partially supported by TUBITAK Grants 111E116, 113M422, 114E491 (ChistEra COACHES), 114E430.
P. Schüller’s work was carried out while visiting the Cognitive Robotics Lab at Sabancı University.
Housekeeping domain description
The Housekeeping domain used in our experiments is essentially the one described in [1,11]. Let us briefly review the formulation of this domain in ASP.
Planning problem: Input and output. An initial state of a planning problem instance is described as a set of facts using simple fluents of the forms
for
The goal is described as a set of constraints
where
A plan is a sequence of actions of the forms
Once a maximum makespan
Preconditions and direct effects of actions. We describe direct effects and preconditions of the action
The direct effects and preconditions of the action
Similarly the action
Ramifications. Indirect effects of actions can be defined by rules as well. For instance, an indirect effect of the action
Another ramification of the
Commonsense law of inertia. We describe the commonsense law of inertia by the following rules:
State constraints. The state constraint that no two robots/objects occupy the same location at any time step can be expressed by the following rules:
We can describe the constraint that a robot cannot be attached to multiple objects at the same time as follows:
We can describe the state constraint that the endpoints of the objects should be aligned horizontally or vertically as follows:
Concurrency constraints. A robot cannot simultaneously move, and attach or detach:
Temporal constraints. To be able to ensure that the elapsed time is less than a given specific time unit, we introduce further auxiliary fluents of the form
For
For other actions, we define their durations as constants:
Once durations of each action is defined, we accumulate the maximum of the durations of actions executed at time step
Geometric constraints. As described in Section 2, the following constraint ensures that, for each time step and each robot, there is a collision-free motion plan from the location given by
The following geometric constraint utilizes the low-level feasibility check
Robotic manipulation domain description
The Manipulation domain used in our experiments is essentially the one described in [12]. Let us briefly review the formulation of this domain in ASP.
Planning problem: Input and output. An initial state of a planning problem instance is described by a set of facts using the simple fluents of the form
We specify the goal by constraints using auxiliary fluents. For example, consider the goal that payload 2 is located at
A plan is a sequence of actions of the forms
Once a maximum makespan
Preconditions and direct effects of actions. The direct effects of moving can be defined by the following rules:
A robot cannot move if it is the only one holding a payload. This precondition is described by the following constraint
We define the direct effects and preconditions of a robot’s action of picking up an endpoint of a payload as follows:
We define the direct effects and preconditions of a robot’s action of dropping the endpoint of a payload that it is holding, as follows:
Ramifications. The position of a payload’s endpoint p is the same as the position of the robot r who is holding p. Representing this statement formally also helps describe the ramifications of actions (e.g., whenever a robot moves to a new location then the position of the payload it is holding also changes accordingly). Here are the rules representing these ramifications:
Commonsense law of inertia. We define inertia for fluents
Concurrency constraints. We disallow concurrency of picking, dropping, and moving.
State constraints. We require that payloads are located horizontally or vertically on the grid.
Furthermore we ensure that robots do not hold different payloads at the same time, and that a payload is held by two robots or by none.
Geometric constraints. We require that payloads do not overlap with each other. Note that this constraint excludes many cases where low-level feasibility checks (i.e., collision checks) would fail.
To make physical feasibility more likely, we restrict movements of robots when holding the payload in a non-axis-aligned way: the robots do not have to hold the payloads from their endpoints exactly but “sufficiently close to” the endpoints within some “tolerance” value.
The low-level feasibility check
Similarly, the following constraint realizes
Finally the
Experimental results with the ASP solver Clasp
We have performed some experiments using the ASP solver
The experimental results are summarized in Table 10. Due to the more coarse interface of
