Skip to content

[MJCF] Units for solref parameters #21

@ShravanTata

Description

@ShravanTata

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.

Image

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

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions