Proposal
Add Newton-MJWarp support for heterogeneous spawns in cloned scenes. A scene should be able to use MultiAssetSpawnerCfg and MultiUsdFileCfg with several asset choices across environments without forcing all envs to use the same asset.
This should let demos and tasks keep their mixed object and mixed robot setup when --physics newton_mjwarp is selected.
Motivation
scripts/demos/multi_asset.py currently disables heterogeneous spawns for Newton-MJWarp:
if args_cli.physics == "newton_mjwarp":
# Newton-MJWarp requires a uniform layout, not supporting different setups across environments.
scene_cfg.object.spawn.assets_cfg = scene_cfg.object.spawn.assets_cfg[1:2]
scene_cfg.robot.spawn.usd_path = scene_cfg.robot.spawn.usd_path[0]
This removes the main point of the demo for Newton-MJWarp:
object is reduced from cylinder/cube/sphere choices to one object type.
robot is reduced from ANYmal-C/ANYmal-D choices to one USD.
Users should be able to run the same high-level scene with Newton-MJWarp that they can run with other backends, including mixed object and robot variants.
Reproduction:
./isaaclab.sh -p scripts/demos/multi_asset.py --visualizer newton --physics newton_mjwarp --num_envs 1024
Expected behavior after support is added:
- The demo does not need to force one object asset.
- The demo does not need to force one robot USD.
- Newton-MJWarp builds the right per-env physics model for each chosen variant.
Build Info
Checklist
Acceptance Criteria
Proposal
Add Newton-MJWarp support for heterogeneous spawns in cloned scenes. A scene should be able to use
MultiAssetSpawnerCfgandMultiUsdFileCfgwith several asset choices across environments without forcing all envs to use the same asset.This should let demos and tasks keep their mixed object and mixed robot setup when
--physics newton_mjwarpis selected.Motivation
scripts/demos/multi_asset.pycurrently disables heterogeneous spawns for Newton-MJWarp:This removes the main point of the demo for Newton-MJWarp:
objectis reduced from cylinder/cube/sphere choices to one object type.robotis reduced from ANYmal-C/ANYmal-D choices to one USD.Users should be able to run the same high-level scene with Newton-MJWarp that they can run with other backends, including mixed object and robot variants.
Reproduction:
Expected behavior after support is added:
Build Info
Checklist
Acceptance Criteria
MultiAssetSpawnerCfgchoices across envs.MultiUsdFileCfgchoices across envs.