Skip to content
/ drake Public
forked from zeshunzong/drake

A Convex Formulation of Material Points and Rigid Bodies with GPU-Accelerated Async-Coupling for Interactive Simulation (IROS 2025)

License

Notifications You must be signed in to change notification settings

g1n0st/drake

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drake Implementation of A Convex Formulation of Material Points and Rigid Bodies with GPU-Accelerated Async-Coupling for Interactive Simulation (IROS 2025)

We present a novel convex formulation that weakly couples the Material Point Method (MPM) with rigid body dynamics through frictional contact, optimized for efficient GPU parallelization. Our approach features an asynchronous time-splitting scheme to integrate MPM and rigid body dynamics under different time step sizes. We develop a globally convergent quasi-Newton solver tailored for massive parallelization, achieving up to 500x speedup over previous convex formulations without sacrificing stability. Our method enables interactive-rate simulations of robotic manipulation tasks with diverse deformable objects including granular materials and cloth, with strong convergence guarantees. We detail key implementation strategies to maximize performance and validate our approach through rigorous experiments, demonstrating superior speed, accuracy, and stability compared to state-of-the-art MPM simulators for robotics.

Paper Link

Installation

git clone -b cuda-mpm-weak-coupling-clean git@github.com:g1n0st/drake.git

We currently support Ubuntu 22.04 with CUDA 12.1.

Please follow the official Drake from-source build guide for detailed instructions: https://drake.mit.edu/from_source.html

1. Check CUDA Compiler (Required)

Ensure that CUDA 12.1 is properly installed. You can verify it with:

nvcc --version

If not installed, refer to NVIDIA’s CUDA installation guide: https://developer.nvidia.com/cuda-downloads

2. Install Drake Build Dependencies

Run the following script to install system dependencies:

cd drake
./setup/install_prereqs

This script will install all required packages and tools needed to build Drake and our extension.

Demos

Go to the demo folder by:

cd examples/multibody/deformable

Rolling an Elastoplastic Dough

bazel run roll --config omp --

Cloth and rigid bodies

bazel run allegro_bagging --config omp --

Laundry

bazel run allegro_bagging_cloth --config omp --

Folding and Unfolding a T-Shirt

bazel run dual_arm_flipping --config omp --

Bibtex

If you use this code in your research, please use the following citation:

@misc{yu2025convexformulationmaterialpoints,
      title={A Convex Formulation of Material Points and Rigid Bodies with GPU-Accelerated Async-Coupling for Interactive Simulation}, 
      author={Chang Yu and Wenxin Du and Zeshun Zong and Alejandro Castro and Chenfanfu Jiang and Xuchen Han},
      year={2025},
      eprint={2503.05046},
      archivePrefix={arXiv},
      primaryClass={cs.RO},
      url={https://arxiv.org/abs/2503.05046}, 
}

About

A Convex Formulation of Material Points and Rigid Bodies with GPU-Accelerated Async-Coupling for Interactive Simulation (IROS 2025)

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 86.1%
  • Python 7.0%
  • Starlark 4.2%
  • Jupyter Notebook 1.0%
  • Cuda 0.7%
  • C 0.7%
  • Other 0.3%