MyoSuite
is a collection of musculoskeletal environments and tasks simulated with the MuJoCo physics engine and wrapped in the OpenAI gym
API to enable the application of Machine Learning to bio-mechanic control problems.
Full task details | Baselines | Documentation | Tutorials
Below is an overview of the tasks in the MyoSuite.
Getting Started
You will need Python 3.8 or later versions.
It is recommended to use Miniconda and to create a separate environment with:
conda create --name myosuite python=3.8
conda activate myosuite
It is possible to install MyoSuite with:
pip install -U myosuite
for advanced installation, see here.
Test your installation using the following command (this will return also a list of all the current environments):
python -m myosuite.tests.test_myo
You can also visualize the environments with random controls using the command below:
python -m myosuite.utils.examine_env --env_name myoElbowPose1D6MRandom-v0
NOTE: On MacOS, we moved to mujoco native launch_passive
which requires that the Python script be run under mjpython
:
mjpython -m myosuite.utils.examine_env --env_name myoElbowPose1D6MRandom-v0
Examples
It is possible to create and interface with MyoSuite environments just like any other OpenAI gym environments. For example, to use the myoElbowPose1D6MRandom-v0
environment, it is possible simply to run:
import myosuite
import gym
env = gym.make('myoElbowPose1D6MRandom-v0')
env.reset()
for _ in range(1000):
env.mj_render()
env.step(env.action_space.sample()) # take a random action
env.close()
You can find tutorials on how to load MyoSuite models/tasks, train them, and visualize their outcome. Also, you can find baselines to test some pre-trained policies.
License
MyoSuite is licensed under the Apache License.
Citation
If you find this repository useful in your research, please consider giving a star
@Misc{MyoSuite2022,
author = {Vittorio, Caggiano AND Huawei, Wang AND Guillaume, Durandau AND Massimo, Sartori AND Vikash, Kumar},
title = {MyoSuite -- A contact-rich simulation suite for musculoskeletal motor control},
publisher = {arXiv},
year = {2022},
howpublished = {\url{https://github.com/facebookresearch/myosuite}},
year = {2022}
doi = {10.48550/ARXIV.2205.13600},
url = {https://arxiv.org/abs/2205.13600},
}