From b24edab6ec3b95fcfecb6ed1a9ab740d309314f7 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Sun, 9 Mar 2025 17:02:43 -0700 Subject: [PATCH 01/19] update anymal, unitree, cartpole, cassie paths --- .../isaaclab_assets/robots/anymal.py | 10 +++++----- .../isaaclab_assets/robots/cartpole.py | 4 ++-- .../isaaclab_assets/robots/cassie.py | 4 ++-- .../isaaclab_assets/robots/unitree.py | 14 +++++++------- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/anymal.py b/source/isaaclab_assets/isaaclab_assets/robots/anymal.py index fd09989db78..3f891f6bcd4 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/anymal.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/anymal.py @@ -25,7 +25,7 @@ from isaaclab.actuators import ActuatorNetLSTMCfg, DCMotorCfg from isaaclab.assets.articulation import ArticulationCfg from isaaclab.sensors import RayCasterCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR, ISAAC_NUCLEUS_DIR ## # Configuration - Actuators. @@ -58,7 +58,7 @@ ANYMAL_B_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-B/anymal_b.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-B/anymal_b.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -92,7 +92,7 @@ ANYMAL_C_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd", # usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_instanceable.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( @@ -127,8 +127,8 @@ ANYMAL_D_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d.usd", - # usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d_minimal.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d.usd", + # usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d_minimal.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, diff --git a/source/isaaclab_assets/isaaclab_assets/robots/cartpole.py b/source/isaaclab_assets/isaaclab_assets/robots/cartpole.py index c95bf156518..21a5fab185a 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/cartpole.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/cartpole.py @@ -9,7 +9,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets import ArticulationCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR ## # Configuration @@ -17,7 +17,7 @@ CARTPOLE_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Classic/Cartpole/cartpole.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Classic/Cartpole/cartpole.usd", rigid_props=sim_utils.RigidBodyPropertiesCfg( rigid_body_enabled=True, max_linear_velocity=1000.0, diff --git a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py index 147af17522f..ed920e03735 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py @@ -15,7 +15,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets.articulation import ArticulationCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR ## # Configuration @@ -23,7 +23,7 @@ CASSIE_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Agility/Cassie/cassie.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Agility/Cassie/cassie.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index 4e670b22756..c4dd4c43046 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -56,7 +56,7 @@ UNITREE_A1_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/A1/a1.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/A1/a1.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -103,7 +103,7 @@ UNITREE_GO1_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/Go1/go1.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/Go1/go1.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -139,7 +139,7 @@ UNITREE_GO2_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/Go2/go2.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/Go2/go2.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -183,7 +183,7 @@ H1_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/H1/h1.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/H1/h1.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -262,7 +262,7 @@ H1_MINIMAL_CFG = H1_CFG.copy() -H1_MINIMAL_CFG.spawn.usd_path = f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/H1/h1_minimal.usd" +H1_MINIMAL_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/H1/h1_minimal.usd" """Configuration for the Unitree H1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. @@ -271,7 +271,7 @@ G1_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -378,7 +378,7 @@ G1_MINIMAL_CFG = G1_CFG.copy() -G1_MINIMAL_CFG.spawn.usd_path = f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/G1/g1_minimal.usd" +G1_MINIMAL_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1_minimal.usd" """Configuration for the Unitree G1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. From 383adfb34a823af92496b0f7f8bc38e336173858 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Mon, 18 Aug 2025 17:37:16 -0700 Subject: [PATCH 02/19] use internal path, update unitree --- source/isaaclab_assets/isaaclab_assets/robots/unitree.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index c4dd4c43046..c03dd5b9591 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -271,7 +271,7 @@ G1_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1_23dof/g1.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -378,7 +378,7 @@ G1_MINIMAL_CFG = G1_CFG.copy() -G1_MINIMAL_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1_minimal.usd" +G1_MINIMAL_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1_23dof/g1_minimal.usd" """Configuration for the Unitree G1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. From dc1c1f3ec276ff2789942a03636d3d4273cc69de Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Mon, 29 Dec 2025 22:14:33 +0000 Subject: [PATCH 03/19] update robot paths --- CONTRIBUTORS.md | 1 + scripts/demos/markers.py | 4 ++-- scripts/demos/multi_asset.py | 6 +++--- source/isaaclab/isaaclab/sim/spawners/__init__.py | 8 ++++---- .../test/deps/isaacsim/check_floating_base_made_fixed.py | 6 +----- .../test/deps/isaacsim/check_legged_robot_clone.py | 8 +------- source/isaaclab/test/deps/isaacsim/check_ref_count.py | 4 +--- .../isaaclab/test/sim/test_simulation_stage_in_memory.py | 9 +++++---- source/isaaclab/test/sim/test_spawn_from_files.py | 7 ++++--- source/isaaclab/test/sim/test_spawn_wrappers.py | 7 ++++--- source/isaaclab/test/sim/test_utils_prims.py | 8 ++++---- source/isaaclab/test/utils/test_assets.py | 4 ++-- source/isaaclab_assets/isaaclab_assets/robots/anymal.py | 9 +++------ .../isaaclab_assets/robots/cart_double_pendulum.py | 4 ++-- source/isaaclab_assets/isaaclab_assets/robots/franka.py | 4 ++-- .../isaaclab_assets/robots/humanoid_28.py | 5 ++--- .../isaaclab_assets/robots/universal_robots.py | 4 ++-- .../direct/franka_cabinet/franka_cabinet_env.py | 4 ++-- 18 files changed, 45 insertions(+), 57 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index 08ae4a6eb6c..e89a3e8ba37 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -83,6 +83,7 @@ Guidelines for modifications: * Jan Kerner * Jean Tampon * Jeonghwan Kim +* Ji Yuan (Steven) Feng * Jia Lin Yuan * Jiakai Zhang * Jinghuan Shang diff --git a/scripts/demos/markers.py b/scripts/demos/markers.py index b7497de64a1..a3ea6818505 100644 --- a/scripts/demos/markers.py +++ b/scripts/demos/markers.py @@ -36,7 +36,7 @@ import isaaclab.sim as sim_utils from isaaclab.markers import VisualizationMarkers, VisualizationMarkersCfg from isaaclab.sim import SimulationContext -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR from isaaclab.utils.math import quat_from_angle_axis @@ -82,7 +82,7 @@ def define_markers() -> VisualizationMarkers: visual_material=sim_utils.PreviewSurfaceCfg(diffuse_color=(1.0, 0.25, 0.0)), ), "robot_mesh": sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd", scale=(2.0, 2.0, 2.0), visual_material=sim_utils.GlassMdlCfg(glass_color=(0.0, 0.1, 0.0)), ), diff --git a/scripts/demos/multi_asset.py b/scripts/demos/multi_asset.py index 46454fea85c..9127ea2d2fd 100644 --- a/scripts/demos/multi_asset.py +++ b/scripts/demos/multi_asset.py @@ -53,7 +53,7 @@ from isaaclab.sim import SimulationContext from isaaclab.sim.utils.stage import get_current_stage from isaaclab.utils import Timer, configclass -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR ## # Pre-defined Configuration @@ -183,8 +183,8 @@ class MultiObjectSceneCfg(InteractiveSceneCfg): prim_path="/World/envs/env_.*/Robot", spawn=sim_utils.MultiUsdFileCfg( usd_path=[ - f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd", - f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d.usd", + f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd", + f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_d/anymal_d.usd", ], random_choice=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( diff --git a/source/isaaclab/isaaclab/sim/spawners/__init__.py b/source/isaaclab/isaaclab/sim/spawners/__init__.py index 75484f6a7f2..16bd3963e59 100644 --- a/source/isaaclab/isaaclab/sim/spawners/__init__.py +++ b/source/isaaclab/isaaclab/sim/spawners/__init__.py @@ -16,10 +16,10 @@ .. code-block:: python import isaaclab.sim as sim_utils - from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR + from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR # spawn from USD file - cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd") + cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd") prim_path = "/World/myAsset" # spawn using the function from the module @@ -30,10 +30,10 @@ .. code-block:: python import isaaclab.sim as sim_utils - from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR + from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR # spawn from USD file - cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd") + cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd") prim_path = "/World/myAsset" # use the `func` reference in the config class diff --git a/source/isaaclab/test/deps/isaacsim/check_floating_base_made_fixed.py b/source/isaaclab/test/deps/isaacsim/check_floating_base_made_fixed.py index 0dd24a297d8..f0a9454c960 100644 --- a/source/isaaclab/test/deps/isaacsim/check_floating_base_made_fixed.py +++ b/source/isaaclab/test/deps/isaacsim/check_floating_base_made_fixed.py @@ -60,10 +60,6 @@ ISAAC_NUCLEUS_DIR = f"{nucleus_utils.get_assets_root_path()}/Isaac" """Path to the `Isaac` directory on the NVIDIA Nucleus Server.""" -ISAACLAB_NUCLEUS_DIR = f"{ISAAC_NUCLEUS_DIR}/IsaacLab" -"""Path to the `Isaac/IsaacLab` directory on the NVIDIA Nucleus Server.""" - - """ Main """ @@ -89,7 +85,7 @@ def main(): prim_utils.create_prim("/World/Light/WhiteSphere", "SphereLight", translation=(-4.5, 3.5, 10.0)) # -- Robot # resolve asset - usd_path = f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd" + usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd" root_prim_path = "/World/Robot/base" # add asset print("Loading robot from: ", usd_path) diff --git a/source/isaaclab/test/deps/isaacsim/check_legged_robot_clone.py b/source/isaaclab/test/deps/isaacsim/check_legged_robot_clone.py index e6eeda662e3..9946155f44e 100644 --- a/source/isaaclab/test/deps/isaacsim/check_legged_robot_clone.py +++ b/source/isaaclab/test/deps/isaacsim/check_legged_robot_clone.py @@ -67,9 +67,6 @@ ISAAC_NUCLEUS_DIR = f"{nucleus_utils.get_assets_root_path()}/Isaac" """Path to the `Isaac` directory on the NVIDIA Nucleus Server.""" -ISAACLAB_NUCLEUS_DIR = f"{ISAAC_NUCLEUS_DIR}/IsaacLab" -"""Path to the `Isaac/IsaacLab` directory on the NVIDIA Nucleus Server.""" - """ Main @@ -103,10 +100,7 @@ def main(): prim_utils.create_prim("/World/Light/WhiteSphere", "SphereLight", translation=(-4.5, 3.5, 10.0)) # -- Robot # resolve asset - if args_cli.asset == "isaaclab": - usd_path = f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd" - root_prim_path = "/World/envs/env_.*/Robot/base" - elif args_cli.asset == "oige": + if args_cli.asset == "isaaclab" or args_cli.asset == "oige": usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd" root_prim_path = "/World/envs/env_.*/Robot" elif os.path.exists(args_cli.asset): diff --git a/source/isaaclab/test/deps/isaacsim/check_ref_count.py b/source/isaaclab/test/deps/isaacsim/check_ref_count.py index c08a2ab5848..c8a46a7d567 100644 --- a/source/isaaclab/test/deps/isaacsim/check_ref_count.py +++ b/source/isaaclab/test/deps/isaacsim/check_ref_count.py @@ -60,8 +60,6 @@ ISAAC_NUCLEUS_DIR = f"{nucleus_utils.get_assets_root_path()}/Isaac" """Path to the `Isaac` directory on the NVIDIA Nucleus Server.""" -ISAACLAB_NUCLEUS_DIR = f"{ISAAC_NUCLEUS_DIR}/IsaacLab" -"""Path to the `Isaac/IsaacLab` directory on the NVIDIA Nucleus Server.""" """ @@ -75,7 +73,7 @@ class AnymalArticulation: def __init__(self): """Initialize the Anymal articulation class.""" # resolve asset - usd_path = f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd" + usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd" # add asset print("Loading robot from: ", usd_path) prim_utils.create_prim("/World/Robot", usd_path=usd_path, translation=(0.0, 0.0, 0.6)) diff --git a/source/isaaclab/test/sim/test_simulation_stage_in_memory.py b/source/isaaclab/test/sim/test_simulation_stage_in_memory.py index 4b7674f3ed6..fdc2e02e734 100644 --- a/source/isaaclab/test/sim/test_simulation_stage_in_memory.py +++ b/source/isaaclab/test/sim/test_simulation_stage_in_memory.py @@ -26,7 +26,8 @@ import isaaclab.sim as sim_utils from isaaclab.sim.simulation_context import SimulationCfg, SimulationContext -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.sim.utils import stage as stage_utils +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture @@ -124,8 +125,8 @@ def test_stage_in_memory_with_usds(sim): # define parameters num_clones = 10 usd_paths = [ - f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd", - f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d.usd", + f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd", + f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_d/anymal_d.usd", ] # grab stage in memory and set as current stage via the with statement @@ -188,7 +189,7 @@ def test_stage_in_memory_with_clone_in_fabric(sim): pytest.skip("Stage in memory is not supported in this version of Isaac Sim") # define parameters - usd_path = f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd" + usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd" num_clones = 100 # grab stage in memory and set as current stage via the with statement diff --git a/source/isaaclab/test/sim/test_spawn_from_files.py b/source/isaaclab/test/sim/test_spawn_from_files.py index 0e5a093accb..248c8dddfa4 100644 --- a/source/isaaclab/test/sim/test_spawn_from_files.py +++ b/source/isaaclab/test/sim/test_spawn_from_files.py @@ -17,7 +17,8 @@ from isaacsim.core.utils.extensions import enable_extension, get_extension_path_from_name import isaaclab.sim as sim_utils -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.sim.utils import stage as stage_utils +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture @@ -45,7 +46,7 @@ def sim(): def test_spawn_usd(sim): """Test loading prim from Usd file.""" # Spawn cone - cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd") + cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd") prim = cfg.func("/World/Franka", cfg) # Check validity assert prim.IsValid() @@ -57,7 +58,7 @@ def test_spawn_usd(sim): def test_spawn_usd_fails(sim): """Test loading prim from Usd file fails when asset usd path is invalid.""" # Spawn cone - cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda2_instanceable.usd") + cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda2_instanceable.usd") with pytest.raises(FileNotFoundError): cfg.func("/World/Franka", cfg) diff --git a/source/isaaclab/test/sim/test_spawn_wrappers.py b/source/isaaclab/test/sim/test_spawn_wrappers.py index 33f14ea5908..aa1b8af3f7e 100644 --- a/source/isaaclab/test/sim/test_spawn_wrappers.py +++ b/source/isaaclab/test/sim/test_spawn_wrappers.py @@ -17,7 +17,8 @@ from isaacsim.core.api.simulation_context import SimulationContext import isaaclab.sim as sim_utils -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.sim.utils import stage as stage_utils +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture @@ -135,8 +136,8 @@ def test_spawn_multiple_files_with_global_settings(sim): cfg = sim_utils.MultiUsdFileCfg( usd_path=[ - f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd", - f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d.usd", + f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd", + f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_d/anymal_d.usd", ], random_choice=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( diff --git a/source/isaaclab/test/sim/test_utils_prims.py b/source/isaaclab/test/sim/test_utils_prims.py index 6a79645b595..baa29b5b1a2 100644 --- a/source/isaaclab/test/sim/test_utils_prims.py +++ b/source/isaaclab/test/sim/test_utils_prims.py @@ -22,7 +22,7 @@ import isaaclab.sim as sim_utils import isaaclab.utils.math as math_utils -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture(autouse=True) @@ -75,7 +75,7 @@ def test_create_prim(): assert prim.GetAttribute("size").Get() == 100 # check adding USD reference - franka_usd = f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + franka_usd = f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" prim = sim_utils.create_prim("/World/Test/USDReference", usd_path=franka_usd, stage=stage) # check USD reference set assert prim.IsValid() @@ -132,7 +132,7 @@ def test_delete_prim(): # check for usd reference prim = sim_utils.create_prim( "/World/Test/USDReference", - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd", stage=stage, ) # delete prim @@ -158,7 +158,7 @@ def test_move_prim(): prim = sim_utils.create_prim( "/World/Test/Xform", "Xform", - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd", translation=(1.0, 2.0, 3.0), orientation=(0.0, 0.0, 0.0, 1.0), stage=stage, diff --git a/source/isaaclab/test/utils/test_assets.py b/source/isaaclab/test/utils/test_assets.py index fefb44f46c9..981491770b7 100644 --- a/source/isaaclab/test/utils/test_assets.py +++ b/source/isaaclab/test/utils/test_assets.py @@ -26,7 +26,7 @@ def test_nucleus_connection(): def test_check_file_path_nucleus(): """Test checking a file path on the Nucleus server.""" # robot file path - usd_path = f"{assets_utils.ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + usd_path = f"{assets_utils.ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" # check file path assert assets_utils.check_file_path(usd_path) == 2 @@ -34,7 +34,7 @@ def test_check_file_path_nucleus(): def test_check_file_path_invalid(): """Test checking an invalid file path.""" # robot file path - usd_path = f"{assets_utils.ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_xyz.usd" + usd_path = f"{assets_utils.ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_xyz.usd" # check file path assert assets_utils.check_file_path(usd_path) == 0 diff --git a/source/isaaclab_assets/isaaclab_assets/robots/anymal.py b/source/isaaclab_assets/isaaclab_assets/robots/anymal.py index 3f891f6bcd4..6476b06f5bf 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/anymal.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/anymal.py @@ -55,10 +55,9 @@ ## # Configuration - Articulation. ## - ANYMAL_B_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-B/anymal_b.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_b/anymal_b.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -92,8 +91,7 @@ ANYMAL_C_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd", - # usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_instanceable.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -127,8 +125,7 @@ ANYMAL_D_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d.usd", - # usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d_minimal.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_d/anymal_d.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, diff --git a/source/isaaclab_assets/isaaclab_assets/robots/cart_double_pendulum.py b/source/isaaclab_assets/isaaclab_assets/robots/cart_double_pendulum.py index 06d6890f1a3..18310f9bf85 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/cart_double_pendulum.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/cart_double_pendulum.py @@ -9,7 +9,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets import ArticulationCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR ## # Configuration @@ -17,7 +17,7 @@ CART_DOUBLE_PENDULUM_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Classic/CartDoublePendulum/cart_double_pendulum.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/IsaacSim/CartDoublePendulum/cart_double_pendulum.usd", rigid_props=sim_utils.RigidBodyPropertiesCfg( rigid_body_enabled=True, max_linear_velocity=1000.0, diff --git a/source/isaaclab_assets/isaaclab_assets/robots/franka.py b/source/isaaclab_assets/isaaclab_assets/robots/franka.py index 36d07253425..028509b2b90 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/franka.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/franka.py @@ -18,7 +18,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets.articulation import ArticulationCfg -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR ## # Configuration @@ -26,7 +26,7 @@ FRANKA_PANDA_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd", activate_contact_sensors=False, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, diff --git a/source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py b/source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py index b9569b57879..d3eddef8edb 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py @@ -10,8 +10,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets import ArticulationCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR - +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR ## # Configuration ## @@ -19,7 +18,7 @@ HUMANOID_28_CFG = ArticulationCfg( prim_path="{ENV_REGEX_NS}/Robot", spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Classic/Humanoid28/humanoid_28.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/IsaacSim/Humanoid28/humanoid_28.usd", rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=None, max_depenetration_velocity=10.0, diff --git a/source/isaaclab_assets/isaaclab_assets/robots/universal_robots.py b/source/isaaclab_assets/isaaclab_assets/robots/universal_robots.py index 4433b824235..5f82dfb74c3 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/universal_robots.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/universal_robots.py @@ -17,7 +17,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets.articulation import ArticulationCfg -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR ## # Configuration @@ -25,7 +25,7 @@ UR10_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/UniversalRobots/UR10/ur10_instanceable.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/UniversalRobots/ur10/ur10.usd", rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, max_depenetration_velocity=5.0, diff --git a/source/isaaclab_tasks/isaaclab_tasks/direct/franka_cabinet/franka_cabinet_env.py b/source/isaaclab_tasks/isaaclab_tasks/direct/franka_cabinet/franka_cabinet_env.py index 5b719b5efd1..65511195d29 100644 --- a/source/isaaclab_tasks/isaaclab_tasks/direct/franka_cabinet/franka_cabinet_env.py +++ b/source/isaaclab_tasks/isaaclab_tasks/direct/franka_cabinet/franka_cabinet_env.py @@ -19,7 +19,7 @@ from isaaclab.sim.utils.stage import get_current_stage from isaaclab.terrains import TerrainImporterCfg from isaaclab.utils import configclass -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR from isaaclab.utils.math import sample_uniform @@ -54,7 +54,7 @@ class FrankaCabinetEnvCfg(DirectRLEnvCfg): robot = ArticulationCfg( prim_path="/World/envs/env_.*/Robot", spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd", activate_contact_sensors=False, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, From 84f6b146de24f5148d7181ad836f0b1c0c4abfe5 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Wed, 20 Aug 2025 11:10:37 -0700 Subject: [PATCH 04/19] format code --- source/isaaclab/isaaclab/utils/assets.py | 3 ++- source/isaaclab/test/deps/isaacsim/check_ref_count.py | 1 - source/isaaclab/test/sim/test_spawn_from_files.py | 4 +++- source/isaaclab_assets/isaaclab_assets/robots/anymal.py | 2 +- source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py | 1 + 5 files changed, 7 insertions(+), 4 deletions(-) diff --git a/source/isaaclab/isaaclab/utils/assets.py b/source/isaaclab/isaaclab/utils/assets.py index 353767c0310..2719440a878 100644 --- a/source/isaaclab/isaaclab/utils/assets.py +++ b/source/isaaclab/isaaclab/utils/assets.py @@ -21,13 +21,14 @@ import time from typing import Literal -import carb +# import carb import omni.client # import logger logger = logging.getLogger(__name__) NUCLEUS_ASSET_ROOT_DIR = carb.settings.get_settings().get("/persistent/isaac/asset_root/cloud") + """Path to the root directory on the Nucleus Server.""" NVIDIA_NUCLEUS_DIR = f"{NUCLEUS_ASSET_ROOT_DIR}/NVIDIA" diff --git a/source/isaaclab/test/deps/isaacsim/check_ref_count.py b/source/isaaclab/test/deps/isaacsim/check_ref_count.py index c8a46a7d567..3731afe79f1 100644 --- a/source/isaaclab/test/deps/isaacsim/check_ref_count.py +++ b/source/isaaclab/test/deps/isaacsim/check_ref_count.py @@ -61,7 +61,6 @@ """Path to the `Isaac` directory on the NVIDIA Nucleus Server.""" - """ Classes """ diff --git a/source/isaaclab/test/sim/test_spawn_from_files.py b/source/isaaclab/test/sim/test_spawn_from_files.py index 248c8dddfa4..124fe87d6ad 100644 --- a/source/isaaclab/test/sim/test_spawn_from_files.py +++ b/source/isaaclab/test/sim/test_spawn_from_files.py @@ -58,7 +58,9 @@ def test_spawn_usd(sim): def test_spawn_usd_fails(sim): """Test loading prim from Usd file fails when asset usd path is invalid.""" # Spawn cone - cfg = sim_utils.UsdFileCfg(usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda2_instanceable.usd") + cfg = sim_utils.UsdFileCfg( + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda2_instanceable.usd" + ) with pytest.raises(FileNotFoundError): cfg.func("/World/Franka", cfg) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/anymal.py b/source/isaaclab_assets/isaaclab_assets/robots/anymal.py index 6476b06f5bf..d26d6a83929 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/anymal.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/anymal.py @@ -25,7 +25,7 @@ from isaaclab.actuators import ActuatorNetLSTMCfg, DCMotorCfg from isaaclab.assets.articulation import ArticulationCfg from isaaclab.sensors import RayCasterCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR, ISAAC_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR ## # Configuration - Actuators. diff --git a/source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py b/source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py index d3eddef8edb..1e747fca938 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/humanoid_28.py @@ -11,6 +11,7 @@ from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets import ArticulationCfg from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR + ## # Configuration ## From cadb8287e0693bd67892ed810cc5cc2c0d9e7071 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Fri, 19 Sep 2025 16:22:40 -0700 Subject: [PATCH 05/19] update cassie to use temp asset for testing before we merge it in --- source/isaaclab_assets/isaaclab_assets/robots/cassie.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py index ed920e03735..00a4e6add1d 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py @@ -23,7 +23,8 @@ CASSIE_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Agility/Cassie/cassie.usd", + # usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Agility/Cassie/cassie.usd", + usd_path="omniverse://isaac-dev.ov.nvidia.com/Projects/Robots/Agility/Cassie/cassie.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, From a6f303db5257051ac2d0c41b719df2b066def0a9 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Tue, 30 Sep 2025 16:41:20 -0700 Subject: [PATCH 06/19] revert cassie path --- source/isaaclab_assets/isaaclab_assets/robots/cassie.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py index 00a4e6add1d..ed920e03735 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py @@ -23,8 +23,7 @@ CASSIE_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - # usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Agility/Cassie/cassie.usd", - usd_path="omniverse://isaac-dev.ov.nvidia.com/Projects/Robots/Agility/Cassie/cassie.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Agility/Cassie/cassie.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, From 0b22645f5c31518c01932a235a69677c30a6c5c6 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Thu, 2 Oct 2025 10:32:16 -0700 Subject: [PATCH 07/19] update asset path to staging server --- source/isaaclab/isaaclab/utils/assets.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/isaaclab/isaaclab/utils/assets.py b/source/isaaclab/isaaclab/utils/assets.py index 2719440a878..cc1327285c8 100644 --- a/source/isaaclab/isaaclab/utils/assets.py +++ b/source/isaaclab/isaaclab/utils/assets.py @@ -21,7 +21,7 @@ import time from typing import Literal -# import carb +import carb import omni.client # import logger From adb82861b1034ec1d74cd263b37583480f3acfd1 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Thu, 13 Nov 2025 14:43:19 -0800 Subject: [PATCH 08/19] update path for the usd test --- source/isaaclab/test/utils/test_assets.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/isaaclab/test/utils/test_assets.py b/source/isaaclab/test/utils/test_assets.py index 981491770b7..1f4284acc65 100644 --- a/source/isaaclab/test/utils/test_assets.py +++ b/source/isaaclab/test/utils/test_assets.py @@ -42,11 +42,11 @@ def test_check_file_path_invalid(): def test_check_usd_path_with_timeout(): """Test checking a USD path with timeout.""" # robot file path - usd_path = f"{assets_utils.ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + usd_path = f"{assets_utils.ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" # check file path assert assets_utils.check_usd_path_with_timeout(usd_path) is True # invalid file path - usd_path = f"{assets_utils.ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_xyz.usd" + usd_path = f"{assets_utils.ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_xyz.usd" # check file path assert assets_utils.check_usd_path_with_timeout(usd_path) is False From 3f0decf545a5aa45714e19eb12b50a79e24de0f0 Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Mon, 29 Dec 2025 22:33:26 +0000 Subject: [PATCH 09/19] Fix remaining path inconsistencies and remove unused imports - Update test_utils_queries.py to use ISAAC_NUCLEUS_DIR with correct paths - Fix G1 Inspire Hand path to use ISAAC_NUCLEUS_DIR/Robots/Unitree/G1_29dof/ - Remove unused stage_utils imports from test files - Ensure consistent path naming (ANYmal-C -> anymal_c, etc.) --- .../test/sim/test_simulation_stage_in_memory.py | 1 - source/isaaclab/test/sim/test_spawn_from_files.py | 1 - source/isaaclab/test/sim/test_spawn_wrappers.py | 1 - source/isaaclab/test/sim/test_utils_queries.py | 12 ++++++------ .../isaaclab_assets/robots/unitree.py | 2 +- 5 files changed, 7 insertions(+), 10 deletions(-) diff --git a/source/isaaclab/test/sim/test_simulation_stage_in_memory.py b/source/isaaclab/test/sim/test_simulation_stage_in_memory.py index fdc2e02e734..d2cbfa338be 100644 --- a/source/isaaclab/test/sim/test_simulation_stage_in_memory.py +++ b/source/isaaclab/test/sim/test_simulation_stage_in_memory.py @@ -26,7 +26,6 @@ import isaaclab.sim as sim_utils from isaaclab.sim.simulation_context import SimulationCfg, SimulationContext -from isaaclab.sim.utils import stage as stage_utils from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR diff --git a/source/isaaclab/test/sim/test_spawn_from_files.py b/source/isaaclab/test/sim/test_spawn_from_files.py index 124fe87d6ad..e2ea0da96fb 100644 --- a/source/isaaclab/test/sim/test_spawn_from_files.py +++ b/source/isaaclab/test/sim/test_spawn_from_files.py @@ -17,7 +17,6 @@ from isaacsim.core.utils.extensions import enable_extension, get_extension_path_from_name import isaaclab.sim as sim_utils -from isaaclab.sim.utils import stage as stage_utils from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR diff --git a/source/isaaclab/test/sim/test_spawn_wrappers.py b/source/isaaclab/test/sim/test_spawn_wrappers.py index aa1b8af3f7e..3912003c867 100644 --- a/source/isaaclab/test/sim/test_spawn_wrappers.py +++ b/source/isaaclab/test/sim/test_spawn_wrappers.py @@ -17,7 +17,6 @@ from isaacsim.core.api.simulation_context import SimulationContext import isaaclab.sim as sim_utils -from isaaclab.sim.utils import stage as stage_utils from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR diff --git a/source/isaaclab/test/sim/test_utils_queries.py b/source/isaaclab/test/sim/test_utils_queries.py index 719375fb9d1..a64dd99b2bf 100644 --- a/source/isaaclab/test/sim/test_utils_queries.py +++ b/source/isaaclab/test/sim/test_utils_queries.py @@ -97,7 +97,7 @@ def test_get_all_matching_child_prims(): # note: isaac sim function does not support instanced prims so we add it here # after the above test for the above test to still pass. sim_utils.create_prim( - "/World/Franka", "Xform", usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + "/World/Franka", "Xform", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" ) # test with predicate @@ -122,13 +122,13 @@ def test_get_first_matching_child_prim(): # create scene sim_utils.create_prim("/World/Floor") sim_utils.create_prim( - "/World/env_1/Franka", "Xform", usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + "/World/env_1/Franka", "Xform", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" ) sim_utils.create_prim( - "/World/env_2/Franka", "Xform", usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + "/World/env_2/Franka", "Xform", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" ) sim_utils.create_prim( - "/World/env_0/Franka", "Xform", usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + "/World/env_0/Franka", "Xform", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" ) # test @@ -150,8 +150,8 @@ def test_find_global_fixed_joint_prim(): """Test find_global_fixed_joint_prim() function.""" # create scene sim_utils.create_prim("/World") - sim_utils.create_prim("/World/ANYmal", usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd") - sim_utils.create_prim("/World/Franka", usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd") + sim_utils.create_prim("/World/ANYmal", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd") + sim_utils.create_prim("/World/Franka", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd") if "4.5" in ISAAC_NUCLEUS_DIR: franka_usd = f"{ISAAC_NUCLEUS_DIR}/Robots/Franka/franka.usd" else: diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index c03dd5b9591..91e57cffc50 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -564,7 +564,7 @@ """ # Inherit PD settings from G1_29DOF_CFG, with minor adjustments for grasping task G1_INSPIRE_FTP_CFG = G1_29DOF_CFG.copy() -G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/G1/g1_29dof_inspire_hand.usd" +G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1_29dof/g1_29dof_inspire_hand.usd" G1_INSPIRE_FTP_CFG.spawn.activate_contact_sensors = True G1_INSPIRE_FTP_CFG.spawn.rigid_props.disable_gravity = True G1_INSPIRE_FTP_CFG.spawn.articulation_props.fix_root_link = True From b0cd1539b0f728c30b0eda1d6d4b72061ae72e32 Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Mon, 5 Jan 2026 19:04:33 +0000 Subject: [PATCH 10/19] update cartpole path --- source/isaaclab_assets/isaaclab_assets/robots/cartpole.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/cartpole.py b/source/isaaclab_assets/isaaclab_assets/robots/cartpole.py index 21a5fab185a..f612de9ebd4 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/cartpole.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/cartpole.py @@ -17,7 +17,7 @@ CARTPOLE_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Classic/Cartpole/cartpole.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/IsaacSim/Cartpole/cartpole.usd", rigid_props=sim_utils.RigidBodyPropertiesCfg( rigid_body_enabled=True, max_linear_velocity=1000.0, From 06f641f49730880f4d007c5b452e5b00cf9ed12e Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Thu, 8 Jan 2026 22:01:23 +0000 Subject: [PATCH 11/19] change gl_29dof --- source/Untitled | 1 + source/isaaclab_assets/isaaclab_assets/robots/unitree.py | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 source/Untitled diff --git a/source/Untitled b/source/Untitled new file mode 100644 index 00000000000..e8a10f8a182 --- /dev/null +++ b/source/Untitled @@ -0,0 +1 @@ +G1_CFG \ No newline at end of file diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index 91e57cffc50..215704ee653 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -564,7 +564,8 @@ """ # Inherit PD settings from G1_29DOF_CFG, with minor adjustments for grasping task G1_INSPIRE_FTP_CFG = G1_29DOF_CFG.copy() -G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1_29dof/g1_29dof_inspire_hand.usd" +# G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1_29dof/g1_29dof_inspire_hand.usd" +G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd" G1_INSPIRE_FTP_CFG.spawn.activate_contact_sensors = True G1_INSPIRE_FTP_CFG.spawn.rigid_props.disable_gravity = True G1_INSPIRE_FTP_CFG.spawn.articulation_props.fix_root_link = True From 9c8d980ebd5e42015914244ad15a5aa3dd47e893 Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Fri, 9 Jan 2026 03:16:53 +0000 Subject: [PATCH 12/19] include recent update to assets --- .../sim/test_simulation_stage_in_memory.py | 2 +- source/isaaclab/test/sim/test_utils_prims.py | 5 ++--- .../isaaclab/test/sim/test_utils_queries.py | 22 ++++++++++++++----- .../isaaclab_assets/robots/cassie.py | 10 ++++----- .../isaaclab_assets/robots/unitree.py | 9 +++++--- .../isaaclab_tasks/test/test_environments.py | 3 ++- 6 files changed, 32 insertions(+), 19 deletions(-) diff --git a/source/isaaclab/test/sim/test_simulation_stage_in_memory.py b/source/isaaclab/test/sim/test_simulation_stage_in_memory.py index 2731c4d5c14..0b3afe422ee 100644 --- a/source/isaaclab/test/sim/test_simulation_stage_in_memory.py +++ b/source/isaaclab/test/sim/test_simulation_stage_in_memory.py @@ -26,7 +26,7 @@ import isaaclab.sim as sim_utils from isaaclab.sim.simulation_context import SimulationCfg, SimulationContext -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR from isaaclab.utils.version import get_isaac_sim_version diff --git a/source/isaaclab/test/sim/test_utils_prims.py b/source/isaaclab/test/sim/test_utils_prims.py index 398b74250b7..bbbf8f6c107 100644 --- a/source/isaaclab/test/sim/test_utils_prims.py +++ b/source/isaaclab/test/sim/test_utils_prims.py @@ -21,9 +21,8 @@ from pxr import Gf, Sdf, Usd, UsdGeom import isaaclab.sim as sim_utils -import isaaclab.utils.math as math_utils from isaaclab.sim.utils.prims import _to_tuple # type: ignore[reportPrivateUsage] -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture(autouse=True) @@ -337,7 +336,7 @@ def test_get_usd_references(): assert len(refs) == 0 # Create a prim with a USD reference - franka_usd = f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + franka_usd = f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" sim_utils.create_prim("/World/WithReference", usd_path=franka_usd, stage=stage) # Check that it has the expected reference refs = sim_utils.get_usd_references("/World/WithReference", stage=stage) diff --git a/source/isaaclab/test/sim/test_utils_queries.py b/source/isaaclab/test/sim/test_utils_queries.py index af45600e30b..542f98870c5 100644 --- a/source/isaaclab/test/sim/test_utils_queries.py +++ b/source/isaaclab/test/sim/test_utils_queries.py @@ -18,7 +18,7 @@ from pxr import UsdPhysics import isaaclab.sim as sim_utils -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture(autouse=True) @@ -98,7 +98,9 @@ def test_get_all_matching_child_prims(): # note: isaac sim function does not support instanced prims so we add it here # after the above test for the above test to still pass. sim_utils.create_prim( - "/World/Franka", "Xform", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" + "/World/Franka", + "Xform", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd", ) # test with predicate @@ -123,13 +125,19 @@ def test_get_first_matching_child_prim(): # create scene sim_utils.create_prim("/World/Floor") sim_utils.create_prim( - "/World/env_1/Franka", "Xform", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" + "/World/env_1/Franka", + "Xform", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd", ) sim_utils.create_prim( - "/World/env_2/Franka", "Xform", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" + "/World/env_2/Franka", + "Xform", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd", ) sim_utils.create_prim( - "/World/env_0/Franka", "Xform", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" + "/World/env_0/Franka", + "Xform", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd", ) # test @@ -152,7 +160,9 @@ def test_find_global_fixed_joint_prim(): # create scene sim_utils.create_prim("/World") sim_utils.create_prim("/World/ANYmal", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd") - sim_utils.create_prim("/World/Franka", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd") + sim_utils.create_prim( + "/World/Franka", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/FrankaRobotics/FrankaEmika/panda_instanceable.usd" + ) if "4.5" in ISAAC_NUCLEUS_DIR: franka_usd = f"{ISAAC_NUCLEUS_DIR}/Robots/Franka/franka.usd" else: diff --git a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py index e69807e2dcb..e78171ee99f 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py @@ -44,13 +44,13 @@ "hip_abduction_left": 0.1, "hip_rotation_left": 0.0, "hip_flexion_left": 1.0, - "thigh_joint_left": -1.8, + "knee_joint_left": -1.8, "ankle_joint_left": 1.57, "toe_joint_left": -1.57, "hip_abduction_right": -0.1, "hip_rotation_right": 0.0, "hip_flexion_right": 1.0, - "thigh_joint_right": -1.8, + "knee_joint_right": -1.8, "ankle_joint_right": 1.57, "toe_joint_right": -1.57, }, @@ -59,20 +59,20 @@ soft_joint_pos_limit_factor=0.9, actuators={ "legs": ImplicitActuatorCfg( - joint_names_expr=["hip_.*", "thigh_.*", "ankle_.*"], + joint_names_expr=["hip_.*", "knee_.*", "ankle_.*"], effort_limit_sim=200.0, stiffness={ "hip_abduction.*": 100.0, "hip_rotation.*": 100.0, "hip_flexion.*": 200.0, - "thigh_joint.*": 200.0, + "knee_joint.*": 200.0, "ankle_joint.*": 200.0, }, damping={ "hip_abduction.*": 3.0, "hip_rotation.*": 3.0, "hip_flexion.*": 6.0, - "thigh_joint.*": 6.0, + "knee_joint.*": 6.0, "ankle_joint.*": 6.0, }, ), diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index 8f9e79245ed..00c71dcb16a 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -262,10 +262,11 @@ H1_MINIMAL_CFG = H1_CFG.copy() -H1_MINIMAL_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/H1/h1_minimal.usd" +H1_MINIMAL_CFG.spawn.variants = {"Physx": "Physx_minimal"} """Configuration for the Unitree H1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. +Uses the Physx_minimal variant from the h1.usd file. """ @@ -378,10 +379,11 @@ G1_MINIMAL_CFG = G1_CFG.copy() -G1_MINIMAL_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1_23dof/g1_minimal.usd" +G1_MINIMAL_CFG.spawn.variants = {"Physx": "Physx_minimal"} """Configuration for the Unitree G1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. +Uses the Physx_minimal variant from the g1.usd file. """ @@ -564,7 +566,6 @@ """ # Inherit PD settings from G1_29DOF_CFG, with minor adjustments for grasping task G1_INSPIRE_FTP_CFG = G1_29DOF_CFG.copy() -# G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1_29dof/g1_29dof_inspire_hand.usd" G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd" G1_INSPIRE_FTP_CFG.spawn.activate_contact_sensors = True G1_INSPIRE_FTP_CFG.spawn.rigid_props.disable_gravity = True @@ -574,6 +575,8 @@ joint_pos={".*": 0.0}, joint_vel={".*": 0.0}, ) +# Create a new actuators dict to avoid shallow copy issues +G1_INSPIRE_FTP_CFG.actuators = G1_INSPIRE_FTP_CFG.actuators.copy() # Actuator configuration for arms (stability focused for manipulation) # Increased damping improves stability of arm movements G1_INSPIRE_FTP_CFG.actuators["arms"] = ImplicitActuatorCfg( diff --git a/source/isaaclab_tasks/test/test_environments.py b/source/isaaclab_tasks/test/test_environments.py index 3f0b9536825..05684a5b64b 100644 --- a/source/isaaclab_tasks/test/test_environments.py +++ b/source/isaaclab_tasks/test/test_environments.py @@ -28,7 +28,8 @@ import isaaclab_tasks # noqa: F401 -@pytest.mark.parametrize("num_envs, device", [(32, "cuda"), (1, "cuda")]) +# @pytest.mark.parametrize("num_envs, device", [(32, "cuda"), (1, "cuda")]) +@pytest.mark.parametrize("num_envs, device", [(1, "cuda")]) @pytest.mark.parametrize("task_name", setup_environment(include_play=False, factory_envs=False, multi_agent=False)) @pytest.mark.isaacsim_ci def test_environments(task_name, num_envs, device): From f47918bbedd239f74690294ddbee64c7e6ba7766 Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Mon, 12 Jan 2026 18:04:38 +0000 Subject: [PATCH 13/19] update usd variants for G1 (for feedback) --- source/isaaclab_assets/isaaclab_assets/robots/unitree.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index 00c71dcb16a..969242dfa4c 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -379,11 +379,11 @@ G1_MINIMAL_CFG = G1_CFG.copy() -G1_MINIMAL_CFG.spawn.variants = {"Physx": "Physx_minimal"} +G1_MINIMAL_CFG.spawn.variants = {"Physics": "SimplifiedPhysX"} """Configuration for the Unitree G1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. -Uses the Physx_minimal variant from the g1.usd file. +Uses the SimplifiedPhysX variant from the g1.usd file. """ @@ -391,6 +391,7 @@ spawn=sim_utils.UsdFileCfg( usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd", activate_contact_sensors=False, + variants={"Physics": "PhysX"}, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, retain_accelerations=False, @@ -567,6 +568,9 @@ # Inherit PD settings from G1_29DOF_CFG, with minor adjustments for grasping task G1_INSPIRE_FTP_CFG = G1_29DOF_CFG.copy() G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd" +G1_INSPIRE_FTP_CFG.spawn.variants = {"Physics": "PhysX"} +G1_INSPIRE_FTP_CFG.spawn.variants = {"right_hand": "Inspire"} +G1_INSPIRE_FTP_CFG.spawn.variants = {"left_hand": "Inspire"} G1_INSPIRE_FTP_CFG.spawn.activate_contact_sensors = True G1_INSPIRE_FTP_CFG.spawn.rigid_props.disable_gravity = True G1_INSPIRE_FTP_CFG.spawn.articulation_props.fix_root_link = True From c79a8290afbb464956ea9071ab23ca4e02102648 Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Mon, 12 Jan 2026 23:20:35 +0000 Subject: [PATCH 14/19] updating g1 asset paths --- source/isaaclab_assets/isaaclab_assets/robots/unitree.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index 969242dfa4c..ed6046fb909 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -184,6 +184,7 @@ H1_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/H1/h1.usd", + variants={"Physics": "Physx"}, activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -262,7 +263,7 @@ H1_MINIMAL_CFG = H1_CFG.copy() -H1_MINIMAL_CFG.spawn.variants = {"Physx": "Physx_minimal"} +H1_MINIMAL_CFG.spawn.variants = {"Physics": "Physx_minimal"} """Configuration for the Unitree H1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. @@ -568,9 +569,7 @@ # Inherit PD settings from G1_29DOF_CFG, with minor adjustments for grasping task G1_INSPIRE_FTP_CFG = G1_29DOF_CFG.copy() G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd" -G1_INSPIRE_FTP_CFG.spawn.variants = {"Physics": "PhysX"} -G1_INSPIRE_FTP_CFG.spawn.variants = {"right_hand": "Inspire"} -G1_INSPIRE_FTP_CFG.spawn.variants = {"left_hand": "Inspire"} +G1_INSPIRE_FTP_CFG.spawn.variants = {"Physics": "PhysX", "right_hand": "Inspire", "left_hand": "Inspire"} G1_INSPIRE_FTP_CFG.spawn.activate_contact_sensors = True G1_INSPIRE_FTP_CFG.spawn.rigid_props.disable_gravity = True G1_INSPIRE_FTP_CFG.spawn.articulation_props.fix_root_link = True From 672a1b3aa48feab5887a2c35b61a77501b098121 Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Wed, 14 Jan 2026 22:34:41 +0000 Subject: [PATCH 15/19] clean up, revert g1/h1 assets --- source/Untitled | 1 - .../isaaclab_assets/robots/unitree.py | 19 +++++++++---------- .../isaaclab_tasks/test/test_environments.py | 3 +-- 3 files changed, 10 insertions(+), 13 deletions(-) delete mode 100644 source/Untitled diff --git a/source/Untitled b/source/Untitled deleted file mode 100644 index e8a10f8a182..00000000000 --- a/source/Untitled +++ /dev/null @@ -1 +0,0 @@ -G1_CFG \ No newline at end of file diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index ed6046fb909..10d0903451c 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -380,11 +380,10 @@ G1_MINIMAL_CFG = G1_CFG.copy() -G1_MINIMAL_CFG.spawn.variants = {"Physics": "SimplifiedPhysX"} +G1_MINIMAL_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1_23dof/g1_minimal.usd" """Configuration for the Unitree G1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. -Uses the SimplifiedPhysX variant from the g1.usd file. """ @@ -559,16 +558,9 @@ mobile_cfg.spawn.articulation_props.fix_root_link = False """ -""" -Configuration for the Unitree G1 Humanoid robot with Inspire 5fingers hand. -The Unitree G1 URDF can be found here: https://github.com/unitreerobotics/unitree_ros/tree/master/robots/g1_description/g1_29dof_with_hand_rev_1_0.urdf -The Inspire hand URDF is available at: https://github.com/unitreerobotics/xr_teleoperate/tree/main/assets/inspire_hand -The merging code for the hand and robot can be found here: https://github.com/unitreerobotics/unitree_ros/blob/master/robots/g1_description/merge_g1_29dof_and_inspire_hand.ipynb, -Necessary modifications should be made to ensure the correct parent–child relationship. -""" + # Inherit PD settings from G1_29DOF_CFG, with minor adjustments for grasping task G1_INSPIRE_FTP_CFG = G1_29DOF_CFG.copy() -G1_INSPIRE_FTP_CFG.spawn.usd_path = f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/G1/g1.usd" G1_INSPIRE_FTP_CFG.spawn.variants = {"Physics": "PhysX", "right_hand": "Inspire", "left_hand": "Inspire"} G1_INSPIRE_FTP_CFG.spawn.activate_contact_sensors = True G1_INSPIRE_FTP_CFG.spawn.rigid_props.disable_gravity = True @@ -616,3 +608,10 @@ damping=0.2, armature=0.001, ) +"""Configuration for the Unitree G1 Humanoid robot with Inspire 5fingers hand. + +The Unitree G1 URDF can be found here: https://github.com/unitreerobotics/unitree_ros/tree/master/robots/g1_description/g1_29dof_with_hand_rev_1_0.urdf +The Inspire hand URDF is available at: https://github.com/unitreerobotics/xr_teleoperate/tree/main/assets/inspire_hand +The merging code for the hand and robot can be found here: https://github.com/unitreerobotics/unitree_ros/blob/master/robots/g1_description/merge_g1_29dof_and_inspire_hand.ipynb, +Necessary modifications should be made to ensure the correct parent–child relationship. +""" diff --git a/source/isaaclab_tasks/test/test_environments.py b/source/isaaclab_tasks/test/test_environments.py index 05684a5b64b..3f0b9536825 100644 --- a/source/isaaclab_tasks/test/test_environments.py +++ b/source/isaaclab_tasks/test/test_environments.py @@ -28,8 +28,7 @@ import isaaclab_tasks # noqa: F401 -# @pytest.mark.parametrize("num_envs, device", [(32, "cuda"), (1, "cuda")]) -@pytest.mark.parametrize("num_envs, device", [(1, "cuda")]) +@pytest.mark.parametrize("num_envs, device", [(32, "cuda"), (1, "cuda")]) @pytest.mark.parametrize("task_name", setup_environment(include_play=False, factory_envs=False, multi_agent=False)) @pytest.mark.isaacsim_ci def test_environments(task_name, num_envs, device): From 543de41b69771e597004159cc5220324686afefa Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Thu, 15 Jan 2026 21:49:31 +0000 Subject: [PATCH 16/19] formatting --- source/isaaclab/test/sim/test_spawn_from_files.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/isaaclab/test/sim/test_spawn_from_files.py b/source/isaaclab/test/sim/test_spawn_from_files.py index bb65c970cae..fe1eea4bbe5 100644 --- a/source/isaaclab/test/sim/test_spawn_from_files.py +++ b/source/isaaclab/test/sim/test_spawn_from_files.py @@ -19,8 +19,7 @@ from isaacsim.core.api.simulation_context import SimulationContext import isaaclab.sim as sim_utils -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR from isaaclab.utils.version import get_isaac_sim_version From e1c432096e993298451fe51c5d8c393459e68330 Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Tue, 20 Jan 2026 20:36:33 +0000 Subject: [PATCH 17/19] cfg for final train benchmark --- .../test/sim/test_simulation_stage_in_memory.py | 2 +- .../isaaclab_assets/robots/anymal.py | 2 +- .../isaaclab_assets/robots/cassie.py | 14 +++++++------- .../isaaclab_assets/robots/unitree.py | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/source/isaaclab/test/sim/test_simulation_stage_in_memory.py b/source/isaaclab/test/sim/test_simulation_stage_in_memory.py index 3793dacbe06..27fca2bc80b 100644 --- a/source/isaaclab/test/sim/test_simulation_stage_in_memory.py +++ b/source/isaaclab/test/sim/test_simulation_stage_in_memory.py @@ -26,7 +26,7 @@ import isaaclab.sim as sim_utils from isaaclab.sim.simulation_context import SimulationCfg, SimulationContext -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR from isaaclab.utils.version import get_isaac_sim_version diff --git a/source/isaaclab_assets/isaaclab_assets/robots/anymal.py b/source/isaaclab_assets/isaaclab_assets/robots/anymal.py index c3224a3503c..2f62e97b382 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/anymal.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/anymal.py @@ -125,7 +125,7 @@ ANYMAL_D_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_d/anymal_d.usd", + usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-D/anymal_d.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, diff --git a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py index e78171ee99f..09e75e241fe 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/cassie.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/cassie.py @@ -15,7 +15,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets.articulation import ArticulationCfg -from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR +from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR ## # Configuration @@ -23,7 +23,7 @@ CASSIE_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Agility/Cassie/cassie.usd", + usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Agility/Cassie/cassie.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -44,13 +44,13 @@ "hip_abduction_left": 0.1, "hip_rotation_left": 0.0, "hip_flexion_left": 1.0, - "knee_joint_left": -1.8, + "thigh_joint_left": -1.8, "ankle_joint_left": 1.57, "toe_joint_left": -1.57, "hip_abduction_right": -0.1, "hip_rotation_right": 0.0, "hip_flexion_right": 1.0, - "knee_joint_right": -1.8, + "thigh_joint_right": -1.8, "ankle_joint_right": 1.57, "toe_joint_right": -1.57, }, @@ -59,20 +59,20 @@ soft_joint_pos_limit_factor=0.9, actuators={ "legs": ImplicitActuatorCfg( - joint_names_expr=["hip_.*", "knee_.*", "ankle_.*"], + joint_names_expr=["hip_.*", "thigh_.*", "ankle_.*"], effort_limit_sim=200.0, stiffness={ "hip_abduction.*": 100.0, "hip_rotation.*": 100.0, "hip_flexion.*": 200.0, - "knee_joint.*": 200.0, + "thigh_joint.*": 200.0, "ankle_joint.*": 200.0, }, damping={ "hip_abduction.*": 3.0, "hip_rotation.*": 3.0, "hip_flexion.*": 6.0, - "knee_joint.*": 6.0, + "thigh_joint.*": 6.0, "ankle_joint.*": 6.0, }, ), diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index 10d0903451c..a3dcb1fc8b5 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -139,7 +139,8 @@ UNITREE_GO2_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/Go2/go2.usd", + # usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/Go2/go2.usd", + usd_path="omniverse://isaac-dev.ov.nvidia.com/Projects/isaacsim/Assets/unitree/go2_description/go2_description.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -183,8 +184,7 @@ H1_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/H1/h1.usd", - variants={"Physics": "Physx"}, + usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/H1/h1.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, @@ -263,7 +263,7 @@ H1_MINIMAL_CFG = H1_CFG.copy() -H1_MINIMAL_CFG.spawn.variants = {"Physics": "Physx_minimal"} +H1_MINIMAL_CFG.spawn.usd_path = f"{ISAACLAB_NUCLEUS_DIR}/Robots/Unitree/H1/h1_minimal.usd" """Configuration for the Unitree H1 Humanoid robot with fewer collision meshes. This configuration removes most collision meshes to speed up simulation. From b5c32fb7e3eec52e77bbbc74476d31871b95c9cb Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Tue, 20 Jan 2026 23:35:41 +0000 Subject: [PATCH 18/19] revert go2 asset to public one --- source/isaaclab_assets/isaaclab_assets/robots/unitree.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index a3dcb1fc8b5..796c085db73 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -139,8 +139,7 @@ UNITREE_GO2_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - # usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/Go2/go2.usd", - usd_path="omniverse://isaac-dev.ov.nvidia.com/Projects/isaacsim/Assets/unitree/go2_description/go2_description.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Unitree/Go2/go2.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False, From 3907b6fb74cee08267583e8997f914de2511d9b3 Mon Sep 17 00:00:00 2001 From: Matthew Trepte Date: Wed, 21 Jan 2026 06:35:42 +0000 Subject: [PATCH 19/19] update agibot path --- source/isaaclab_assets/isaaclab_assets/robots/agibot.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/isaaclab_assets/isaaclab_assets/robots/agibot.py b/source/isaaclab_assets/isaaclab_assets/robots/agibot.py index c5483721d2e..41b5729d478 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/agibot.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/agibot.py @@ -15,7 +15,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ImplicitActuatorCfg from isaaclab.assets.articulation import ArticulationCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR ## # Configuration @@ -23,7 +23,7 @@ AGIBOT_A2D_CFG = ArticulationCfg( spawn=sim_utils.UsdFileCfg( - usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/Agibot/A2D/A2D_physics.usd", + usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/Agibot/A2D/A2D.usd", activate_contact_sensors=True, rigid_props=sim_utils.RigidBodyPropertiesCfg( disable_gravity=False,