Skip to content

fly-pigTH/EquiMus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

11 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

EquiMus Logo

EquiMus: Musculoskeletal Equivalent Dynamic Modeling and Simulation for Rigid-soft Hybrid Robots with Linear Elastic Actuators

arXiv Previous Work TRO IEEE RA-L Project Page GitHub stars

Table of Contents

โœ๏ธ What is EquiMus?

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.

โ€ผ๏ธ Note: Our repository EquiMus focuses on the verification of the energy-equivalent modeling method in MuJoCo simulation at this stage. For real-world application, we are still working on building a complete open-source toolbox EquiMus-Toolbox for musculoskeletal robot design, fabrication, and sim-to-real deployment. Stay tuned for updates!

๐Ÿ’ก What Problems Does EquiMus Solve?

EquiMus addresses four long-standing pain points in musculoskeletal robot simulation:

1. Soft actuators are difficult to modelโ€”especially with dynamic mass redistribution

Most simulators approximate muscles as massless springs, leading to incorrect dynamics.
โ†’ EquiMus preserves actuator inertia, elasticity, damping, and work through an energy-equivalent formulation.

2. Musculoskeletal systems contain kinematic loops

URDF/PyBullet cannot represent multi-joint muscles or loop closures.
โ†’ EquiMus uses MJCF with automatically generated constraints to model loops safely and robustly.

3. High-fidelity soft-body simulation is too slow for control & RL

FEM and Cosserat rod models are accurate but far from real time.
โ†’ EquiMus achieves MuJoCo-level performance (>140ร— real-time) while retaining physical consistency.

4. No unified workflow from CAD โ†’ simulation โ†’ real robot

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.

๐ŸŽถ Design Philosophy

[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] ๅ‡ไน‹ไปฅ่ƒฝ้‡๏ผŒๅพ—ไน‹ไบŽ่ฟๅŠจใ€‚ไปฅไผชๆˆ็œŸ๏ผŒไปฅ่™š้€ ๅฎžใ€‚่‡ช็„ถไน‹้“๏ผŒไบบไน‹ๆ‰€้ฉญใ€‚

๐Ÿš€ Install & Run EquiMus (3 minutes)

  1. 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
  1. Quick check
python -c "import mujoco; print('MuJoCo:', mujoco.__version__)"
  1. 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 3

If successful, a MuJoCo passive-viewer will open:

3DOF 2DOF
(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).

Optional: Download Validation Data

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.

Optional: Install FFmpeg (for video logging)

  • MacOS
brew install ffmpeg
  • Windows
conda install -c conda-forge ffmpeg
  • Linux
sudo apt update
sudo apt install ffmpeg

๐Ÿ“‚ Project Structure

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 documentation

๐Ÿงญ Roadmap

We 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

โœ‰๏ธ Contact

If you are interested in collaborating, have questions, or need support, please feel free to reach out to us!

๐Ÿ“– Citation

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}
}

Releases

No releases published

Packages

No packages published

Languages