Files
Mujoco_WASM/plugin/elasticity
Alessio Quaglino 66a9cacc90 Move elasticity force computation to the engine.
PiperOrigin-RevId: 676028775
Change-Id: I994e3dda8d6470815763c04df0c276e265aa1f54
2024-09-18 09:55:00 -07:00
..
2022-12-06 08:23:49 -08:00

MuJoCo

Elasticity plugins

These are first-party plugins that implement passive forces based on discretized continuum mechanics models. They can be applied to flexes and bodies (via the composite functionality). Sample models can be found in this folder.

Cable

Implemented in cable.cc.

The cable plugin discretizes an inextensible 1D continuum. It is intended to simulate the twist and bending of rods where the stretching in negligible compared to the other deformation modes.

Parameters:

  • twist [Pa]: twisting stiffness.
  • bend [Pa]: bending stiffness.
  • flat [bool]: if true, the stress-equilibrium configuration is that of a straight cable; if false or unspecified, it is the configuration defined in the XML.
  • vmax [N/m^2]: If greater than zero, the cable is colored using mechanical stresses; the value represent the maximum stress in the color scale.

Shell

Implemented in shell.cc.

The shell plugin discretizes an inextensible 2D continuum. It is intended to simulate the bending of plates where the stretching is negligible compared to other deformation modes.

Parameters:

  • young [Pa]: Young's modulus.
  • poisson [Pa]: Poisson's ratio; if 0, then the material only opposed shear deformations; if near 0.5, then the material is nearly incompressible (rubber-like).
  • thickness [m]: shell thickness, used to scale the bending stiffness.

Membrane

Implemented in membrane.cc.

The membrane plugin discretized an extensible 2D continuum. It is intended to simulate the stretching of membranes subjected to tensile stresses, where the bending is negligible.

Parameters: see flex parameters in the XML Reference docs.

Solid

Implemented in solid.cc.

The membrane plugin discretized an extensible 3D continuum. It is Saint VenantKirchhoff model intended to simulate the compression or elongation of hyperelastic materials subjected to large displacements (finite rotations) and small strains, since it uses a nonlinear strain-displacement but a linear stress-strain relationship.

Parameters: see flex parameters in the XML Reference docs.