EquiMus: Musculoskeletal Equivalent Dynamic Modeling and Simulation for Rigid-soft Hybrid Robots with Linear Elastic Actuators
Table of Contents
- EquiMus: Musculoskeletal Equivalent Dynamic Modeling and Simulation for Rigid-soft Hybrid Robots with Linear Elastic Actuators
EquiMus is an energy-equivalent dynamic modeling framework that brings musculoskeletal robots into real-time simulation, based on MuJoCo. It converts soft actuators (e.g., pneumatic muscles, FEAs) into a rigorously derived 3-2-1 lumped-mass representation, preserving their true kinetic, potential, damping, and actuation energies.
This allows EquiMus to accurately model dynamic mass redistribution, biarticular routing, and kinematic loops within standard MuJoCo workflowsโfeatures that are traditionally hard (or impossible) to simulate.
EquiMus provides:
- A physically consistent actuator model validated in theory, simulation, and hardware
- A MuJoCo-compatible implementation supporting complex multi-muscle topologies
- Static, dynamic, and morphological validation results
- Downstream examples including PID auto-tuning, model-based control, and RL tasks
๐ In short: EquiMus makes muscle-driven robots truly simulatable.
EquiMus addresses four long-standing pain points in musculoskeletal robot simulation:
Most simulators approximate muscles as massless springs, leading to incorrect dynamics.
โ EquiMus preserves actuator inertia, elasticity, damping, and work through an energy-equivalent formulation.
URDF/PyBullet cannot represent multi-joint muscles or loop closures.
โ EquiMus uses MJCF with automatically generated constraints to model loops safely and robustly.
FEM and Cosserat rod models are accurate but far from real time.
โ EquiMus achieves MuJoCo-level performance (>140ร real-time) while retaining physical consistency.
Current workflows require hand-built hacks and produce inconsistent dynamics.
โ EquiMus provides a clean, reproducible end-to-end pipeline, including calibration and sim-to-real examples.
[EN] EquiMus fakes how nature uses energy to control motion โ through an energy-equivalent formulation that turns physics intuition into simulation reality. That is the โfake it until you make itโ philosophy in the energy domain.
[CN] ๅไนไปฅ่ฝ้๏ผๅพไนไบ่ฟๅจใไปฅไผชๆ็๏ผไปฅ่้ ๅฎใ่ช็ถไน้๏ผไบบไนๆ้ฉญใ
- Clone the repo & install dependencies
git clone https://github.com/fly-pigTH/EquiMus.git
cd EquiMus
conda create -n equimus python=3.11 -y
conda activate equimus
pip install -r requirements.txt- Quick check
python -c "import mujoco; print('MuJoCo:', mujoco.__version__)"- Run the demo (2-DOF & 3-DOF musculoskeletal morphologies)
# Display help message
python demo/demo.py -h
# macOS (mjpython)
mjpython demo/demo.py --dof 3
# Windows/Linux
python demo/demo.py --dof 3If successful, a MuJoCo passive-viewer will open:
![]() |
![]() |
|---|---|
| (a) 3-DOF Morphology | (b) 2-DOF Morphology |
You can rotate, drag, and actuate the model using standard MuJoCo GUI controls following (MuJoCo interaction conventions).
Dynamic-validation examples require extra datasets:
๐ Download here: https://drive.google.com/file/d/1wKS-2Aa7IVpy4-AHKAF68sH8nZ6IhQTV/view?usp=drive_link
Place the extracted data/ folder inside src/validation_simulation/dynamic/. Static & morphology validation demos already include necessary data.
- MacOS
brew install ffmpeg
- Windows
conda install -c conda-forge ffmpeg
- Linux
sudo apt update
sudo apt install ffmpeg
The project is structured to mirror the workflow presented in the paper, making it easy to navigate and reproduce all experiments. Each module includes its own ReadMe for quick reference.
EquiMus/
โโโ models/ # MuJoCo XML models
โ โโโ 2DOF/
โ โโโ 3DOF/
โ โโโ ...
โ
โโโ src/
โ โโโ validation_simulation/ # Simulation-based validation
โ โ โโโ static/ # โโ Static validation
โ โ โ โโโ ReadMe.md
โ โ โโโ dynamic/ # โโ Dynamic validation
โ โ โ โโโ ReadMe.md
โ โ โโโ morphology/ # โโ Morphology generalization
โ โ โโโ ReadMe.md
โ โ
โ โโโ validation_physical/ # Real-world experiments
โ โ โโโ static/
โ โ โโโ dynamic/
โ โ โโโ ReadMe.md
โ โ
โ โโโ application/ # Downstream usage demos
โ โ โโโ PID_AutoTuning/ # โโ PID auto-tuning demo
โ โ โ โโโ ReadMe.md
โ โ โโโ RL_BallKicking/ # โโ RL ball-kicking demo
โ โ โโโ ReadMe.md
โ โ
โ โโโ utils/
โ โโโ experiment.py # Utility script for experiments.
โ โโโ experiment_topology.py
โ
โโโ demo/ # Demo scripts & figures
โ
โโโ media/ # Logos & website resources
โ
โโโ requirements.txt
โโโ LICENSE
โโโ ReadMe.md # Main documentationWe are actively developing EquiMus and have outlined the following roadmap for future enhancements and features:
- EquiMus Toolbox (will be released before December 2025)
- Automated actuator parsing from URDF/MJCF
- Automatic 3-2-1 reconstruction & constraint generation
- Support for batch model conversion
- Model Library Expansion
- Single-joint actuator examples (FEA, McKibben)
- Biarticular / multi-joint muscles
- Rigidโsoft hybrid benchmark models
- Parameter Identification Suite
- Documentation & Website
- Tutorials & interactive examples
- Model Zoo on website
If you are interested in collaborating, have questions, or need support, please feel free to reach out to us!
- Yinglei Zhu: zylbhsf@gmail.com
- Huichan Zhao: zhaohuichan@mail.tsinghua.edu.cn
If you find EquiMus helpful, please cite us:
@article{zhu2025equimus,
title={EquiMus: Energy-Equivalent Dynamic Modeling and Simulation of Musculoskeletal Robots Driven by Linear Elastic Actuators},
author={Zhu, Yinglei and Dong, Xuguang and Wang, Qiyao and Shao, Qi and Xie, Fugui and Liu, Xinjun and Zhao, Huichan},
journal={IEEE Robotics and Automation Letters},
year={2025},
publisher={IEEE}
}

