-
Notifications
You must be signed in to change notification settings - Fork 6
Description
The documentation for MuJoCo's solver parameters needs clarification regarding the units for damping (b) and stiffness (k) coefficients in the reference acceleration equation α_ref = -bv - kr.
https://mujoco.readthedocs.io/en/stable/modeling.html#solver-parameters
The stiffness (k) and damping (b) in MuJoCo directly define the reference acceleration (α_ref) that determines how constraints attempt to rectify violations. Readthedocs Since acceleration already has mass factored in (F=ma), the coefficients work directly with acceleration rather than force.
This differs from the standard spring-mass-damper equation (mẍ + bẋ + kx = F) where b and k would have units that include mass:
Force equation: F = mẍ + bẋ + kx
Units: [N] = [kg]·[m/s²] + [b]·[m/s] + [k]·[m]
For this equation to be dimensionally consistent:
Standard damping [b]: [kg/s] or [N-s/m]
Standard stiffness [k]: [kg/s²] or [N/m]
Currently, the units are not explicitly documented, which can lead to confusion since these parameters don't follow standard spring-mass-damper system units.
Acceleration equation: α_ref = -bv - kr
Units: [m/s²] = [b]·[m/s] + [k]·[m]
The correct SI units should be:
- Damping (b): s⁻¹ (reciprocal seconds)
- Stiffness (k): s⁻² (reciprocal seconds squared)
These units reflect that the coefficients directly influence acceleration rather than force, which explains the absence of mass normalization in the equation.
This needs to verified and handled accordingly in farms_mujoco/mjcf.py while defining and performing units scaling