Musculoskeletal environments simulated in MuJoCo
Project description
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.
Documentation | Tutorials | Task specifications
Below is an overview of the tasks in the MyoSuite.
Installations
You will need Python 3.10 or later versions.
Using uv
uv is a fast Python package manager. Install MyoSuite with:
uv sync -p 3.10
Using conda
It is recommended to use Miniconda and to create a separate environment with:
conda create --name myosuite python=3.10
conda activate myosuite
pip install -U myosuite
Using uv (recommended)
For faster installation, you can use uv, a fast Python package installer:
# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create and activate a virtual environment
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
# Install MyoSuite
uv pip install -U myosuite
For installation from source with uv:
git clone --recursive https://github.com/myohub/myosuite.git
cd myosuite
uv pip install -e .
For advanced installation options, see here.
Test your installation using the following command (this will return also a list of all the current environments):
# With uv:
uv run python -m myosuite.tests.test_myo
# With pip/conda:
python -m myosuite.tests.test_myo
You can also visualize the environments with random controls using the command below:
# With uv:
uv run python -m myosuite.utils.examine_env --env_name myoElbowPose1D6MRandom-v0
# With pip/conda:
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
It is possible to take advantage of the latest MyoSkeleton. Once added (follow the instructions prompted by uv run myoapi_init or python -m myosuite_init), run:
# With uv:
uv run python -m myosuite.utils.examine_sim -s myosuite/simhive/myo_model/myoskeleton/myoskeleton.xml
# With pip/conda:
python -m myosuite.utils.examine_sim -s myosuite/simhive/myo_model/myoskeleton/myoskeleton.xml
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:
from myosuite.utils 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 our tutorials on the general features and the ICRA2023 Colab Tutorial ICRA2024 Colab Tutorial
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 ⭐ 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}},
doi = {10.48550/ARXIV.2205.13600},
url = {https://arxiv.org/abs/2205.13600},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file myosuite-2.12.0.tar.gz.
File metadata
- Download URL: myosuite-2.12.0.tar.gz
- Upload date:
- Size: 90.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d2f1bdc3dec0062cf3f6cb4381f4791b1da4a4936cc9bee8c071de736274168b
|
|
| MD5 |
f2f602214f0711a3c6a7c8340a822bd8
|
|
| BLAKE2b-256 |
319ee668589eae9a3f8ab44fb8d7f5aa8aa128ffd0bf622a5d3bc2568383c54a
|
File details
Details for the file myosuite-2.12.0-py3-none-any.whl.
File metadata
- Download URL: myosuite-2.12.0-py3-none-any.whl
- Upload date:
- Size: 90.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22ca4ef2d654fd7289e526495a5ca09b5054494fc9fc2f66dfca4e1d9bf2f7e7
|
|
| MD5 |
ccd0621abee5ee613eef0e0d54d1378e
|
|
| BLAKE2b-256 |
96692287932ce250102c79bcf0fcd81675b8ed7e918d31339a7988983156996d
|