Adds heterogeneous dexsuite to Newton backend#5024
Adds heterogeneous dexsuite to Newton backend#5024ooctipus wants to merge 8 commits intoisaac-sim:developfrom
Conversation
Greptile SummaryThis PR enables heterogeneous dexsuite (multi-asset object spawning) with the Newton physics backend. It switches shape primitives from
Confidence Score: 3/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[DexsuiteReorientEnvCfg] -->|scene config| B[SceneCfg]
B -->|object spawn| C[ObjectCfg / MultiAssetSpawnerCfg]
C -->|"was: CuboidCfg, SphereCfg..."| D[ShapeCfg variants - Rigid only]
C -->|"now: MeshCuboidCfg, MeshSphereCfg..."| E[MeshCfg variants - Newton compatible]
E -->|collision_props + contact_offset| F[OBJECT_PHYSICS dict]
A -->|physics config| G{Physics Backend?}
G -->|PhysX| H[PhysxCfg]
G -->|Newton| I[NewtonCfg]
I -->|cloner| J[newton_replicate.py]
J -->|ModelBuilder| K[default_body_armature = 0.001]
J -->|per-prototype builder| K
I -->|solver tuning| L[MJWarpSolverCfg]
L -->|nconmax: 200| M[Increased contact capacity]
L -->|use_mujoco_contacts: False| N[Disabled MuJoCo contacts]
A -->|validate_config| O{Newton + MultiAsset?}
O -->|"was: raise ValueError"| P[Blocked]
O -->|"now: allowed"| Q[Heterogeneous spawn enabled]
Last reviewed commit: b99c260 |
| ) | ||
|
|
||
| object_physics_material = EventTerm( | ||
| OBJECT_PHYSICS_material = EventTerm( |
There was a problem hiding this comment.
Field name breaks naming convention
The rename from object_physics_material to OBJECT_PHYSICS_material deviates from the project's consistent snake_case convention for EventTerm field names. Every other similar field across the codebase (robot_physics_material, object_physics_material in inhand_env_cfg.py, shadow_hand_env_cfg.py, etc.) uses lowercase snake_case. The MIXED_CASE name also appears to be an unintentional collision with the new OBJECT_PHYSICS dict constant defined on line 40.
Additionally, the curriculum system references this field by name (e.g., "events.object_physics_material.func.material_buckets" in curriculums.py), so this rename could break downstream curriculum configurations that depend on the original name.
| OBJECT_PHYSICS_material = EventTerm( | |
| object_physics_material = EventTerm( |
AntoineRichard
left a comment
There was a problem hiding this comment.
LGTM. @ooctipus did you end-up trying Tobi's PR so that we don't have to offset the base?
There was a problem hiding this comment.
@ooctipus could you create an issue to Newton about these defaults?
There was a problem hiding this comment.
| plane = AssetBaseCfg( | ||
| prim_path="/World/GroundPlane", | ||
| init_state=AssetBaseCfg.InitialStateCfg(), | ||
| init_state=AssetBaseCfg.InitialStateCfg(pos=(0.0, 0.0, -0.01)), |
There was a problem hiding this comment.
The famous trick! Did you end-up trying Tobi's PR?
1827d85 to
de9c7cb
Compare
Description
This PR enables heterogeneous dexsuite with newton backend
Fixes # (issue)
Type of change
Screenshots
Please attach before and after screenshots of the change if applicable.
Checklist
pre-commitchecks with./isaaclab.sh --formatconfig/extension.tomlfileCONTRIBUTORS.mdor my name already exists there