-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
enhancementNew feature or requestNew feature or request
Description
The feature, motivation and pitch
Problem
We currently do not have a well-defined way to describe different muscle models needed for neuromechanical simulations. Our implementation mixes three distinct components without clear separation:
-
Transmission (length computation)
- Joint-based: Muscle length computed as function of joint angles (constant moment arms)
- MTU-based: Muscle length computed from spatially-defined muscle path (variable moment arms)
-
Activation Dynamics (control → activation)
- Direct control (pass-through)
- First-order activation/deactivation dynamics
-
Force Generation (activation → force)
- Linear combination of control inputs
- Nonlinear Hill-type force-length-velocity curves (active + passive components)
Proposed Solution
Following MuJoCo's convention, structure muscle models as composable single-input-single-output (SISO) components that can be chained together:
Control Input → Activation Dynamics → Force Generation → Transmission → Joint Torque
Alternatives
No response
FARMS packages
farms_mujoco
Additional context
Muscle models
- Ekeberg muscles
- Brown muscle
- Rigid tendon
- Flexible tendon
Related
- MuJoCo actuator documentation: https://mujoco.readthedocs.io/en/stable/modeling.html#actuator
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request