STAMP: Differentiable Task and Motion Planning via Stein Variational Gradient Descent

1University of Toronto 2Carnegie Mellon University 3NVIDIA 4Massachusetts Institute of Technology 5Technical University of Darmstadt 6McGill University 7University of Sydney

Video

Abstract

Planning for sequential robotics tasks often requires integrated symbolic and geometric reasoning. TAMP algorithms typically solve these problems by performing a tree search over high-level task sequences while checking for kinematic and dynamic feasibility. This can be inefficient because, typically, candidate task plans resulting from the tree search ignore geometric information. This often leads to motion planning failures that require expensive backtracking steps to find alternative task plans. We propose a novel approach to TAMP called Stein Task and Motion Planning (STAMP) that relaxes the hybrid optimization problem into a continuous domain. This allows us to leverage gradients from differentiable physics simulation to fully optimize discrete and continuous plan parameters for TAMP. In particular, we solve the optimization problem using a gradient-based variational inference algorithm called Stein Variational Gradient Descent. This allows us to find a distribution of solutions within a single optimization run. Furthermore, we use an off-the-shelf differentiable physics simulator that is parallelized on the GPU to run parallelized inference over diverse plan parameters. We demonstrate our method on a variety of problems and show that it can find multiple diverse plans in a single optimization run while also being significantly faster than existing approaches.

Block Pushing

Pushing towards the robot: from the East in 1 push (left) and from the East and South in 2 pushes (right). Videos are sped up by 3x.

Pushing away the robot: from the North in 1 push (left), from the East in 1 push (middle), and from the East and North in 2 pushes (right). Videos are sped up by 3x.

Long-Horizon Pick-Place

The goal is to place the blue cube in one of the red targets. Videos are sped up by 4x.

First solution (top):

  1. Picking the red cube from the bottom target
  2. Placing the red cube
  3. Picking the blue cube
  4. Placing the blue cube in the bottom target
Second solution (bottom):
  1. Picking the red cube from the top target
  2. Placing the red cube
  3. Picking the blue cube
  4. Placing the blue cube in the top target