Skip to content

Latest commit

 

History

History
119 lines (91 loc) · 5.68 KB

README.md

File metadata and controls

119 lines (91 loc) · 5.68 KB

MyoSim

CI License Python PyPI

MyoSim is the MuJoCo musculoskeletal model library used by MyoSuite. It provides anatomically detailed XML models of the human arm, leg, torso, and hand, plus a Python package for loading and composing them.

Models

Model DoF Muscles Preview Version
MyoLeg 29 80 Screenshot 2026-08-07 at 9 00 43 AM stable
MyoArm 38 63 myoarm_demo stable
MyoTorso (MyoBack) 18 210 stable
MyoHand 23 39 stable
MyoFullBody 123 416 stable
MyoLeg26 18 26 Screenshot 2026-08-07 at 8 56 17 AM beta
MyoFinger 4 5 legacy
MyoElbow 2 6 legacy

Legacy models ship in the pip package under myo_sim/models/legacy/ and load via registry names such as myoelbow, myofinger, and osl. They are maintained for backwards compatibility only — see myo_sim/models/legacy/README.md.

Buildable Models

The following registered models can be compiled with myo_sim.build.compose.build_model("<name>"):

  • myotorso — torso scaffold with torso muscles.
  • myotorso_abdomen — simple abdomen scaffold.
  • myotorso_arm_r — torso with the right arm only.
  • myotorso_arms — torso with the right arm plus a mirrored-left arm.
  • myoarm_r — passive anatomical torso scaffold with the right arm.
  • myoarms — passive anatomical torso scaffold with mirrored arms.
  • myohand_r — passive anatomical torso scaffold with the right hand derived from the pruned right arm.
  • myohands — passive anatomical torso scaffold with right and mirrored-left hands derived from pruned arms.
  • myolegs — passive anatomical torso scaffold with legs.
  • myolegs26 — passive anatomical torso scaffold with reduced-muscle legs and simplified kinematic chain.
  • myolegs_abdomen — simple abdomen scaffold with legs.
  • myofullbody — full body with torso, mirrored arms, and legs.

To generate compiled MuJoCo XML files for the primary composed assemblies, run:

uv run python -m myo_sim.build.compose --generate

This writes loadable XML files for myoarms, myotorso, myolegs, myolegs26, and myofullbody under myo_sim/models/. Treat these as generated snapshots for GUI viewing and compatibility; for source edits, update the component XML files and myo_sim/build/compose.py, then regenerate. Those downstream XMLs are not actively maintained.

Install

pip install myo-sim

Quickstart

import mujoco
import myo_sim

# Load a model by registry name
model, data = myo_sim.load("myolegs")
print(f"Joints: {model.njnt}, Muscles: {model.nu}")

# Or compose another registered model
model, data = myo_sim.load("myotorso")

# Legacy models (backwards compatibility)
model, data = myo_sim.load("myoelbow")
# Compose a full-body MjSpec model
from myo_sim.build.compose import build_model
model = build_model("myofullbody")
print(f"Full body — joints: {model.njnt}, muscles: {model.nu}")

Development

git clone https://github.com/MyoHub/myo_sim.git
cd myo_sim
uv sync --dev
uv run pytest tests/ -x -n auto --ignore=tests/test_equivalence.py

See CONTRIBUTING.md for the full contributor guide.

Citation

If you find this repository useful in your research, please cite the following works:

@misc{MyoSuite2022,
  author    = {Caggiano, Vittorio and Wang, Huawei and Durandau, Guillaume
               and Sartori, Massimo and Kumar, Vikash},
  title     = {{MyoSuite}: A contact-rich simulation suite for musculoskeletal motor control},
  year      = {2022},
  doi       = {10.48550/ARXIV.2205.13600},
  url       = {https://arxiv.org/abs/2205.13600},
}
@article{Li2026MuscleMimic,
  title={Towards Embodied AI with MuscleMimic: Unlocking full-body musculoskeletal motor learning at scale},
  author={Li, Chengkun and Wang, Cheryl and Ziliotto, Bianca and Simos, Merkourios and Kovecses, Jozsef and Durandau, Guillaume and Mathis, Alexander},
  journal={arXiv preprint arXiv:2603.25544},
  year={2026}
}

License

Apache 2.0 — see LICENSE.