Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jiawei-ren/diffmimic

[ICLR 2023] DiffMimic: Efficient Motion Mimicking with Differentiable Physics https://arxiv.org/abs/2304.03274
https://github.com/jiawei-ren/diffmimic

fullbodycontroller motion-imitation

Last synced: about 1 month ago
JSON representation

[ICLR 2023] DiffMimic: Efficient Motion Mimicking with Differentiable Physics https://arxiv.org/abs/2304.03274

Awesome Lists containing this project

README

        

DiffMimic:
Efficient Motion Mimicking with Differentiable Physics


Jiawei Ren* Cunjun Yu* Siwei Chen Xiao Ma Liang Pan Ziwei Liu


S-Lab, Nanyang Technological University 
National University of Singapore  

*equal contribution

corresponding author


ICLR 2023



---


[Project Page]
[Paper]
[Demo]
[Video]

## About
We implement DiffMimic with [Brax](https://github.com/google/brax):
>BRAX
>
>Brax is a fast and fully differentiable physics engine used for research and development of robotics, human perception, materials science, reinforcement learning, and other simulation-heavy applications.

An environment `mimic_env` is implemented for training and benchmarking. `mimic_env` now includes the following characters:
- [HUMANOID](diffmimic/mimic_envs/system_configs/HUMANOID.py): [AMP](https://github.com/nv-tlabs/ASE/blob/main/ase/data/assets/mjcf/amp_humanoid.xml)-formatted humanoid, used for acrobatics skills.
- [SMPL](diffmimic/mimic_envs/system_configs/SMPL.py): [SMPL](https://smpl.is.tue.mpg.de/)-formatted humanoid, used for mocap data.
- [SWORDSHIELD](diffmimic/mimic_envs/system_configs/SWORDSHIELD.py): [ASE](https://github.com/nv-tlabs/ASE/blob/main/ase/data/assets/mjcf/amp_humanoid_sword_shield.xml)-formatted humanoid, used for REALLUSION sword-shield motion.

More characters are on the way.

## Installation
```
conda create -n diffmimic python==3.9 -y
conda activate diffmimic

pip install --upgrade pip
pip install --upgrade "jax[cuda]==0.4.2" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install -r requirements.txt
```

## Get Started
```shell
python mimic.py --config configs/AMP/backflip.yaml
```

## Visualize
```shell
streamlit run visualize.py
```

## Citation
If you find our work useful for your research, please consider citing the paper:
```
@inproceedings{ren2023diffmimic,
author = {Ren, Jiawei and Yu, Cunjun and Chen, Siwei and Ma, Xiao and Pan, Liang and Liu, Ziwei},
title = {DiffMimic: Efficient Motion Mimicking with Differentiable Physics},
journal = {ICLR},
year = {2023},
}
```
## Acknowledgment
- Differentiable physics simulation is done by [Brax](https://github.com/google/brax).
- Early version of the code is heavily based on [Imitation Learning via Differentiable Physics (ILD)](https://github.com/sail-sg/ILD).
- Motion files are borrowed from [DeepMimic](https://github.com/xbpeng/DeepMimic), [ASE](https://github.com/nv-tlabs/ASE), [AMASS](https://amass.is.tue.mpg.de/), and [AIST++](https://google.github.io/aistplusplus_dataset/factsfigures.html).
- Characters are borrowed from [DeepMimic](https://github.com/xbpeng/DeepMimic) and [ASE](https://github.com/nv-tlabs/ASE).
- The work is inspired by valuable insights from [SuperTrack](https://montreal.ubisoft.com/en/supertrack-motion-tracking-for-physically-simulated-characters-using-supervised-learning/) and [Spacetime Bound](https://milkpku.github.io/project/spacetime.html).