Skip to content

[FEATURE] Support MJCF slider-crank actuator transmission #3745

Description

@han-xudong

Description

ModelBuilder.add_mjcf() does not import actuators using cranksite, slidersite, and cranklength. Such actuators are omitted even though Newton already stores a two-element actuator transmission target, exposes actuator_cranklength, and defines TrnType.SLIDERCRANK.

Expected behavior

Resolve both sites, store them in actuator_trnid, preserve the positive crank length and all ordinary actuator parameters, then export the actuator through MjSpec as mjTRN_SLIDERCRANK.

Validation

Use a minimal slider-crank mechanism and compare the compiled transmission type, crank length, actuator length, and actuator moment against native MuJoCo at a nonzero joint pose. Missing sites and nonpositive crank lengths should produce clear errors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status
    In Progress

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions