vkoltun / diffsim

Scalable Differentiable Physics for Learning and Control (ICML2020) (in progress)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Scalable Differentiable Physics for Learning and Control

Yi-Ling Qiao, Junbang Liang, Vladlen Koltun, Ming C. Lin

(in progress)

Setup

  1. Create a conda virtual environment and activate it.
conda create -n diffsim python=3.6 -y
conda activate diffsim
  1. Download and build the project.
git clone git@github.com:YilingQiao/diffsim.git
cd diffsim
pip install -r requirements.txt
bash script_build.sh
cd pysim
  1. Run the examples

Examples

Optimize an inverse problem

python exp_inverse.py

By default, the simulation output would be stored in pysim/default_out directory. If you want to store the results in some other places, like ./test_out, you can specify it by python exp_inverse.py test_out

To visualize the simulation results, use

python msim.py

You can change the source folder of the visualization in msim.py. More functionality of msim.py can be found in arcsim/src/msim.cpp.

The visualization is the same for all other experiments.

Learn to drag a cube using a cloth

python exp_learn_cloth.py

Learn to hold a rigid body using a parallel gripper

python exp_learn_stick.py

Scalability experiments

Figure 3, first row.

bash script_multibody.sh

Figure 3, second row.

bash script_scale.sh

Ablation study

Table 1, sparse collision handling.

bash script_absparse.sh

Table 2, fast differentiation.

bash script_abqr.sh

Estimate the mass of a cube

python exp_momentum.py

Two-way coupling - Trampoline

python exp_trampoline.py

Two-way coupling - Domino

python exp_domino.py

Two-way coupling - armadillo and bunny

python exp_bunny.py

Domain transfer - motion control in MuJoCo

This experiment requires MuJoCo environment. Install MuJoCo and its python interface mujoco_py before running this script.

python exp_mujoco.py

Bibtex

@aritical{Qiao2020Scalable,
author  = {Qiao, Yiling and Liang, Junbang and Koltun, Vladlen and Lin, Ming C.},
title  = {Scalable Differentiable Physics for Learning and Control},
booktitle = {ICML},
year  = {2020},
}

About

Scalable Differentiable Physics for Learning and Control (ICML2020) (in progress)


Languages

Language:C++ 80.8%Language:HTML 11.1%Language:C 6.6%Language:Python 1.2%Language:Makefile 0.2%Language:Shell 0.1%Language:Batchfile 0.0%Language:MATLAB 0.0%