Skip to content


Repository files navigation

Note: ChainQueen is now part of DiffTaichi, where we implemented 10 differentiable physical simulators.

The (Legacy) ChainQueen Differentiable MPM Solver (v1)

Note: This is an old (Oct 2018) version of ChainQueen that we built for the ICRA 2019 paper. We have several unpublished projects based on our latest version of ChainQueen, and it is too time-consuming to peel off our private code to release the latest version. Meanwhile, we are actively building ChainQueen v2, which has a better-designed software architecture and higher performance. Therefore, we decide to put our limited effort on developing ChainQueen v2 instead of cleaning up the latest ChainQueen v1. We release the legacy ChainQueen v1 without unpublished results for now.

You are welcome to investigate the internal implementation in this legacy codebase, but we recommend to wait for ChainQueen v2 to build your own research project.

Installation (Tested on Arch Linux/Ubuntu 16.04/18.04)

  • Install the legacy taichi library.
  • Install CUDA 8.0+ if you don't have it.
  • Install tensorflow-gpu.
  • Make sure you are using gcc-6. If not, please install export CXX=g++-6 CC=gcc-6.
  • Put this repo in taichi/projects/
  • Execute ti build
  • Runnable demos are in demos/.


  title={ChainQueen: A Real-Time Differentiable Physical Simulator for Soft Robotics},
  author={Hu, Yuanming and Liu, Jiancheng and Spielberg, Andrew and Tenenbaum, Joshua B and Freeman, William T and Wu, Jiajun and Rus, Daniela and Matusik, Wojciech},
  journal={Proceedings of IEEE International Conference on Robotics and Automation (ICRA)},


Differentiable MPM Simulator






No releases published


No packages published