GithubHelp home page GithubHelp logo

cock-puncher / diffsim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from yilingqiao/diffsim

0.0 0.0 0.0 27.89 MB

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

Makefile 0.17% Python 1.01% HTML 11.15% C++ 81.01% C 6.56% Batchfile 0.03% MATLAB 0.02% Shell 0.05%

diffsim's Introduction

Scalable Differentiable Physics for Learning and Control

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

[Project] [arXiv] [Video] [GitHub]

Setup

  1. Create a conda virtual environment and activate it.
conda create -n diffsim python=3.6 -y
conda activate diffsim

# install dependencies
sudo apt install gcc-4.8 gcc-5
sudo apt-get install libblas-dev liblapack-dev
sudo apt-get install libopenblas-dev
sudo apt-get install gfortran
sudo apt-install scons
sudo apt-install libpng-dev
  1. Download and build the project.
git clone [email protected]: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

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

diffsim's People

Contributors

vkoltun avatar yilingqiao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.