Skip to content

Voxel Types

ConstantValueCategoryDescription
EMPTY0No cell. Disables a grid position.
RIGID1DynamicStiff structural material. Highest spring constants.
SOFT2DynamicDeformable material. Lower spring constants than rigid.
H_ACT3DynamicHorizontal actuator. Action controls horizontal edge springs.
V_ACT4DynamicVertical actuator. Action controls vertical edge springs.
FIXED5StaticAnchored, immovable. Used for ground, walls, and platforms.
CONTRACTILE6DynamicUniversal actuator with independent per-axis control at runtime.

Values 7 through 30 are reserved for legacy slope terrain fixtures:

  • SLOPE_*
  • SLOPE2_*
  • SLOPE3_*

These values remain in jax_evogym.constants so older fixtures and internal tests can still be inspected. They are not exported from the package top level, are not shown in the public designer palette, and are rejected by compile_world_template(...) unless allow_experimental_slopes=True is passed.

When explicitly enabled, slopes are geometry-only. Sloped edges receive normal collision response, but slope friction, slope grip, near-contact support, stiction, and persistent slope manifold behavior are disabled. They are omitted from the designer and stable examples because that friction/support model is still unresolved.

ACTUATOR_TYPES = {H_ACT, V_ACT, CONTRACTILE}
STABLE_STATIC_TERRAIN_TYPES = {FIXED}
DYNAMIC_VOXEL_TYPES = {RIGID, SOFT, H_ACT, V_ACT, CONTRACTILE}
STABLE_WORLD_CELL_TYPES = {EMPTY, FIXED, RIGID, SOFT, H_ACT, V_ACT, CONTRACTILE}
TypeIn robotsIn terrainDynamicStatic
EMPTYYes (disables cell)Yes
RIGIDYesYesYesNo
SOFTYesYesYesNo
H_ACTYesNoYesNo
V_ACTYesNoYesNo
CONTRACTILEYesNoYesNo
FIXEDNoYesIn mixed objectsIn pure fixed objects

A terrain object containing only FIXED cells is compiled as static — it contributes collider/render geometry but no dynamic points, masses, or springs to SimState. A terrain object containing SOFT, RIGID, or actuator cells is compiled as dynamic.

Spring constants are material properties sourced from C++ ObjectCreator.h. They are not scaled by cell size.

MaterialMain KDiagonal K
Rigid / Fixed~85,714,286~42,857,143
Actuator (H_ACT, V_ACT, CONTRACTILE)60,000,00030,000,000
Soft50,000,00012,500,000

Main springs connect adjacent grid points (horizontal and vertical edges). Diagonal springs connect corner-to-corner within each cell.

Most square-cell constants are EvoGym-derived. A few values are documented JAX-side corrections or extensions, including ground normal velocity damping and disabled-by-default flat-contact stiction hooks.

ConstantValueNotes
DT0.0001Physics step size.
GRAVITY110.0Gravity acceleration.
VISCOUS_DRAG0.1Linear velocity drag.
PHYSICS_UPDATES_PER_STEP30Substeps per environment step.
CELL_SIZE0.1Cell width/height.
POINT_MASS1.0Point mass.
ACTUATOR_CONVERGENCE0.006Rest-length convergence factor.
COLLISION_CONST_GROUND14,000,000Ground normal stiffness.
COLLISION_CONST_OBJ2,100,000Object-object normal stiffness.
COLLISION_VEL_DAMPING2,030Object-object damping extension.
GROUND_VEL_DAMPING5,238Ground normal damping extension.
COLLISION_BASE_DIST0.005Collision base distance.
STATIC_FRICTION_CONST0.5Static-friction coefficient used by opt-in non-slope terrain stiction paths.
DYNAMIC_FRICTION_CONST0.2Dynamic friction coefficient.
FRICTION_CONST1,200Object/static-object friction scale.
GROUND_FRICTION_CONST10Ground-plane friction scale.

SLOPE_CONTACT_* and SLOPE_GRIP_* constants are compatibility values only in the current stable boundary. They are retained for old configs but do not enable slope friction/support.