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.
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 myosuiteIt is possible to install MyoSuite with:
pip install -U myosuitefor 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_myoYou can also visualize the environments with random controls using the command below:
python -m myosuite.utils.examine_env --env_name myoElbowPose1D6MRandom-v0NOTE: 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-v0It 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.
MyoSuite is licensed under the Apache License.
If you find this repository useful in your research, please consider giving a star ⭐ and cite our arXiv paper by using the following BibTeX entrys.
@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/myohub/myosuite}},
year = {2022}
doi = {10.48550/ARXIV.2205.13600},
url = {https://arxiv.org/abs/2205.13600},
}
