Skip to content

pseudo_inertia Domain Randomization Causes Significant collection_time Increase #757

@NaCl-1374

Description

@NaCl-1374

Issue: pseudo_inertia Domain Randomization Causes Significant collection_time Increase

Description

When using pseudo_inertia for center-of-mass and inertia randomization, collection_time increases from approximately 1.3s to 2s (~50% performance degradation). The equivalent combination of body_mass + body_com_offset performs normally.

Environment

Item Version
OS Ubuntu 20.04
Python 3.11.14
Library mjlab (latest commit on main branch, v1.2.0+)

Reproduction Configuration

Slow configuration (~2s):

"body_inertia_aniso_dr": EventTermCfg(
    mode="reset",
    func=dr.pseudo_inertia,
    params={
        "asset_cfg": SceneEntityCfg("robot", body_names=(r"^(FL|FR|RL|RR)_.*",)),
        "alpha_range": (-0.01, 0.01),  # up to 2x mass/inertia scaling
        "t_range": (-0.01, 0.01),      # -1 cm~1 cm COM X shift
    },
)

Fast configuration (~1.3s):

"body_mass": EventTermCfg(
    mode="reset",
    func=dr.body_mass,
    params={
        "asset_cfg": SceneEntityCfg("robot", body_names=("base_link",)),
        "ranges": {0: (-0.3, 0.3)},
    },
),
"body_com": EventTermCfg(
    mode="reset",
    func=dr.body_com_offset,
    params={
        "asset_cfg": SceneEntityCfg("robot", body_names=("base_link",)),
        "ranges": {
            0: (-0.025, 0.025),
            1: (-0.025, 0.025),
            2: (-0.03, 0.03),
        },
    },
)

Expected Behavior

pseudo_inertia performance should be comparable to the equivalent body_mass + body_com_offset combination, or provide clear performance warnings/optimization suggestions.

Actual Behavior

pseudo_inertia causes ~54% increase in collection_time ((2.0-1.3)/1.3).

Additional Context

  • Training environment: Flat terrain
  • This performance difference is consistently reproducible across multiple training runs

Suggested labels: performance, domain-randomization, bug or enhancement

Metadata

Metadata

Assignees

No one assigned

    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