Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake Initial Commit May 1, 2019
core Add meta parser Jun 4, 2019
data Add meta parser Jun 4, 2019
png Initial Commit May 1, 2019
python Add meta parser Jun 4, 2019
render Add meta parser Jun 4, 2019
.gitignore Initial Commit May 1, 2019
CMakeLists.txt Initial Commit May 1, 2019
LICENSE Add License Jun 4, 2019 Add meta parser Jun 4, 2019

MASS(Muscle-Actuated Skeletal System)



This code implements a basic simulation and control for full-body Musculoskeletal system. Skeletal movements are driven by the actuation of the muscles, coordinated by activation levels. Interfacing with python and pytorch, it is available to use Deep Reinforcement Learning(DRL) algorithm such as Proximal Policy Optimization(PPO).


Seunghwan Lee, Kyoungmin Lee, Moonseok Park, and Jehee Lee Scalable Muscle-actuated Human Simulation and Control, ACM Transactions on Graphics (SIGGRAPH 2019), Volume 37, Article 73.

Project Page :

Youtube :

Paper :

How to install

Install TinyXML, Eigen, OpenGL, assimp, Python3, etc...

sudo apt-get install libtinyxml-dev libeigen3-dev libxi-dev libxmu-dev freeglut3-dev libassimp-dev libpython3-dev python3-tk python3-numpy virtualenv ipython3 cmake-curses-gui

Install boost with python3 (1.66)

We strongly recommand that you install boost libraries from the source code (not apt-get, etc...).

cd /path/to/boost_1_xx/
./ --with-python=python3
sudo ./b2 --with-python --with-filesystem --with-system --with-regex install
  • Check yourself that the libraries are installed well in your directory /usr/local/. (or /usr/)

If installed successfully, you should have something like


  • /usr/local/include/boost/
  • /usr/local/include/boost/python/
  • /usr/local/include/boost/python/numpy


  • /usr/local/lib/
  • /usr/local/lib/
  • /usr/local/lib/

Install DART 6.3

Please refer to (Install version 6.3)

Install PIP things

You should first activate virtualenv.

virtualenv /path/to/venv --python=python3
source /path/to/venv/bin/activate
pip3 install 
pip3 install torchvision
  • numpy, matplotlib
pip3 install numpy matplotlib ipython

How to compile and run


Our system require a reference motion to imitate. We provide sample references such as walking, running, and etc...

To learn and simulate, we should provide such a meta data. We provide default meta data in /data/metadata.txt. We parse the text and set the environment. Please note that the learning settings and the test settings should be equal.(metadata.txt should not be changed.)

Compile and Run

mkdir build
cd build
cmake .. 
make -j8
  • Run Training
cd python
source /path/to/virtualenv/
python3 -d ../data/metadata.txt

All the training networks are saved in /nn folder.

  • Run UI
source /path/to/virtualenv/
./render/render ../data/metadata.txt
  • Run Trained data
source /path/to/virtualenv/
./render/render ../data/metadata.txt ../nn/ ../nn/

If you are simulating with the torque-actuated model,

source /path/to/virtualenv/
./render/render ../data/metadata.txt ../nn/
You can’t perform that action at this time.