Combined Task and Motion Planning Via Sketch Decompositions (Extended Version with Supplementary Material)
<|reference_start|>Combined Task and Motion Planning Via Sketch Decompositions (Extended Version with Supplementary Material): The challenge in combined task and motion planning (TAMP) is the effective integration of a search over a combinatorial space, usually carried out by a task planner, and a search over a continuous configuration space, carried out by a motion planner. Using motion planners for testing the feasibility of task plans and filling out the details is not effective because it makes the geometrical constraints play a passive role. This work introduces a new interleaved approach for integrating the two dimensions of TAMP that makes use of sketches, a recent simple but powerful language for expressing the decomposition of problems into subproblems. A sketch has width 1 if it decomposes the problem into subproblems that can be solved greedily in linear time. In the paper, a general sketch is introduced for several classes of TAMP problems which has width 1 under suitable assumptions. While sketch decompositions have been developed for classical planning, they offer two important benefits in the context of TAMP. First, when a task plan is found to be unfeasible due to the geometric constraints, the combinatorial search resumes in a specific sub-problem. Second, the sampling of object configurations is not done once, globally, at the start of the search, but locally, at the start of each subproblem. Optimizations of this basic setting are also considered and experimental results over existing and new pick-and-place benchmarks are reported.<|reference_end|>
@article{dalmau-moreno2024combined,
    title={Combined Task and Motion Planning Via Sketch Decompositions (Extended
  Version with Supplementary Material)},
    author={Mag'i Dalmau-Moreno, N'estor Garc'ia, Vicenc{c} G'omez and
  H'ector Geffner},
    journal={arXiv preprint arXiv:2403.16277},
    year={2024},
    archivePrefix={arXiv},
    eprint={2403.16277},
    primaryClass={cs.RO}
}