From 7bf207497a9715198bd5731a99b1a3f980058f41 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Sun, 9 Mar 2025 17:02:43 -0700 Subject: [PATCH 1/9] 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 | 16 ++++++++-------- 4 files changed, 17 insertions(+), 17 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 ab963aafff5..4edb490b7ba 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -21,7 +21,7 @@ import isaaclab.sim as sim_utils from isaaclab.actuators import ActuatorNetMLPCfg, DCMotorCfg, ImplicitActuatorCfg from isaaclab.assets.articulation import ArticulationCfg -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR, ISAACLAB_NUCLEUS_DIR ## # Configuration - Actuators. @@ -54,7 +54,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, @@ -101,7 +101,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, @@ -137,7 +137,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, @@ -181,7 +181,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, @@ -260,7 +260,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. @@ -269,7 +269,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, @@ -376,7 +376,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 713f93876c13f4226361d90e2bb9aba94e1a905e Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Mon, 18 Aug 2025 17:37:16 -0700 Subject: [PATCH 2/9] use internal path, update unitree --- source/isaaclab/isaaclab/utils/assets.py | 2 +- source/isaaclab_assets/isaaclab_assets/robots/unitree.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/isaaclab/isaaclab/utils/assets.py b/source/isaaclab/isaaclab/utils/assets.py index ef61e9f89af..2cb23dd27d5 100644 --- a/source/isaaclab/isaaclab/utils/assets.py +++ b/source/isaaclab/isaaclab/utils/assets.py @@ -23,7 +23,7 @@ import carb import omni.client -NUCLEUS_ASSET_ROOT_DIR = carb.settings.get_settings().get("/persistent/isaac/asset_root/cloud") +NUCLEUS_ASSET_ROOT_DIR = "omniverse://isaac-dev.ov.nvidia.com" #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_assets/isaaclab_assets/robots/unitree.py b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py index 4edb490b7ba..425a1c50263 100644 --- a/source/isaaclab_assets/isaaclab_assets/robots/unitree.py +++ b/source/isaaclab_assets/isaaclab_assets/robots/unitree.py @@ -269,7 +269,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, @@ -376,7 +376,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 c5f2de3f721e8106c2aaf3f6442b75af170acda0 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Wed, 20 Aug 2025 11:00:57 -0700 Subject: [PATCH 3/9] 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 +--- source/isaaclab/test/sim/test_spawn_from_files.py | 6 +++--- source/isaaclab/test/sim/test_spawn_wrappers.py | 6 +++--- source/isaaclab/test/sim/test_stage_in_memory.py | 8 ++++---- source/isaaclab/test/sim/test_utils.py | 4 ++-- 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, 40 insertions(+), 55 deletions(-) diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index ed704177acd..8c46beb5715 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -78,6 +78,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 9ebbbb66370..b4c898ce2e9 100644 --- a/scripts/demos/multi_asset.py +++ b/scripts/demos/multi_asset.py @@ -53,7 +53,7 @@ from isaaclab.scene import InteractiveScene, InteractiveSceneCfg from isaaclab.sim import SimulationContext 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 dbe12e8265f..2e7c86e2add 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 @@ -57,10 +57,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 """ @@ -86,7 +82,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 c26f627a220..159b455ec74 100644 --- a/source/isaaclab/test/deps/isaacsim/check_legged_robot_clone.py +++ b/source/isaaclab/test/deps/isaacsim/check_legged_robot_clone.py @@ -70,9 +70,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 @@ -106,10 +103,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 2683bd3e989..95fe55a58ce 100644 --- a/source/isaaclab/test/deps/isaacsim/check_ref_count.py +++ b/source/isaaclab/test/deps/isaacsim/check_ref_count.py @@ -62,8 +62,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.""" """ @@ -77,7 +75,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_spawn_from_files.py b/source/isaaclab/test/sim/test_spawn_from_files.py index 59b2741e4ee..086d7942713 100644 --- a/source/isaaclab/test/sim/test_spawn_from_files.py +++ b/source/isaaclab/test/sim/test_spawn_from_files.py @@ -19,7 +19,7 @@ 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.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture @@ -47,7 +47,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() @@ -59,7 +59,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 5edae7a79d6..40413ae90ae 100644 --- a/source/isaaclab/test/sim/test_spawn_wrappers.py +++ b/source/isaaclab/test/sim/test_spawn_wrappers.py @@ -18,7 +18,7 @@ from isaacsim.core.api.simulation_context import SimulationContext import isaaclab.sim as sim_utils -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture @@ -136,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_stage_in_memory.py b/source/isaaclab/test/sim/test_stage_in_memory.py index d114185862a..8464a055799 100644 --- a/source/isaaclab/test/sim/test_stage_in_memory.py +++ b/source/isaaclab/test/sim/test_stage_in_memory.py @@ -24,7 +24,7 @@ import isaaclab.sim as sim_utils from isaaclab.sim.simulation_context import SimulationCfg, SimulationContext -from isaaclab.utils.assets import ISAACLAB_NUCLEUS_DIR +from isaaclab.utils.assets import ISAAC_NUCLEUS_DIR @pytest.fixture @@ -122,8 +122,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 @@ -186,7 +186,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_utils.py b/source/isaaclab/test/sim/test_utils.py index 62188d8a73a..b6e0994ab87 100644 --- a/source/isaaclab/test/sim/test_utils.py +++ b/source/isaaclab/test/sim/test_utils.py @@ -136,9 +136,9 @@ def test_find_global_fixed_joint_prim(): """Test find_global_fixed_joint_prim() function.""" # create scene prim_utils.create_prim("/World") - prim_utils.create_prim("/World/ANYmal", usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/ANYbotics/ANYmal-C/anymal_c.usd") + prim_utils.create_prim("/World/ANYmal", usd_path=f"{ISAAC_NUCLEUS_DIR}/Robots/ANYbotics/anymal_c/anymal_c.usd") prim_utils.create_prim( - "/World/Franka", usd_path=f"{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd" + "/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" 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 8e0aab5b0c7..36c94d31a8a 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 import SimulationCfg 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 0c6d343cb47b52671758833e803b3f15c4238cdb Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Wed, 20 Aug 2025 11:05:53 -0700 Subject: [PATCH 4/9] drop this commit later, use internal dev server path --- apps/isaaclab.python.headless.kit | 6 +++--- apps/isaaclab.python.headless.rendering.kit | 6 +++--- apps/isaaclab.python.kit | 6 +++--- apps/isaaclab.python.rendering.kit | 6 +++--- apps/isaaclab.python.xr.openxr.headless.kit | 6 +++--- apps/isaaclab.python.xr.openxr.kit | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/apps/isaaclab.python.headless.kit b/apps/isaaclab.python.headless.kit index 9d3bd66f722..294c0dd977b 100644 --- a/apps/isaaclab.python.headless.kit +++ b/apps/isaaclab.python.headless.kit @@ -215,6 +215,6 @@ enabled=true # Enable this for DLSS # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.cloud = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.nvidia = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" +persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" diff --git a/apps/isaaclab.python.headless.rendering.kit b/apps/isaaclab.python.headless.rendering.kit index dad5e35b40e..d150cad9de9 100644 --- a/apps/isaaclab.python.headless.rendering.kit +++ b/apps/isaaclab.python.headless.rendering.kit @@ -156,6 +156,6 @@ folders = [ # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.cloud = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.nvidia = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" +persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" diff --git a/apps/isaaclab.python.kit b/apps/isaaclab.python.kit index 9d1687204a3..3fb4f5237a4 100644 --- a/apps/isaaclab.python.kit +++ b/apps/isaaclab.python.kit @@ -302,6 +302,6 @@ fabricUseGPUInterop = true # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.cloud = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.nvidia = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" +persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" diff --git a/apps/isaaclab.python.rendering.kit b/apps/isaaclab.python.rendering.kit index ab88e1cf905..0a9e8f60b24 100644 --- a/apps/isaaclab.python.rendering.kit +++ b/apps/isaaclab.python.rendering.kit @@ -145,6 +145,6 @@ folders = [ # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.cloud = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.nvidia = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" +persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" diff --git a/apps/isaaclab.python.xr.openxr.headless.kit b/apps/isaaclab.python.xr.openxr.headless.kit index f9b89dc1b29..bd3f56a13bd 100644 --- a/apps/isaaclab.python.xr.openxr.headless.kit +++ b/apps/isaaclab.python.xr.openxr.headless.kit @@ -59,6 +59,6 @@ folders = [ ] [settings] -persistent.isaac.asset_root.default = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.cloud = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.nvidia = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" +persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" diff --git a/apps/isaaclab.python.xr.openxr.kit b/apps/isaaclab.python.xr.openxr.kit index c88fbe8ddc8..b16e8db2395 100644 --- a/apps/isaaclab.python.xr.openxr.kit +++ b/apps/isaaclab.python.xr.openxr.kit @@ -88,6 +88,6 @@ folders = [ # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.cloud = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" -persistent.isaac.asset_root.nvidia = "https://omniverse-content-production.s3-us-west-2.amazonaws.com/Assets/Isaac/5.0" +persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" From 2d2b4a75abad14a5b1635ba1ac9ac3e6dfc02f36 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Wed, 20 Aug 2025 11:10:37 -0700 Subject: [PATCH 5/9] format code --- source/isaaclab/isaaclab/utils/assets.py | 6 ++++-- source/isaaclab/test/deps/isaacsim/check_ref_count.py | 1 - source/isaaclab/test/sim/test_spawn_from_files.py | 4 +++- source/isaaclab/test/sim/test_utils.py | 2 +- source/isaaclab_assets/isaaclab_assets/robots/anymal.py | 2 +- .../isaaclab_assets/isaaclab_assets/robots/humanoid_28.py | 1 + 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/source/isaaclab/isaaclab/utils/assets.py b/source/isaaclab/isaaclab/utils/assets.py index 2cb23dd27d5..6825345e660 100644 --- a/source/isaaclab/isaaclab/utils/assets.py +++ b/source/isaaclab/isaaclab/utils/assets.py @@ -20,10 +20,12 @@ import time from typing import Literal -import carb +# import carb import omni.client -NUCLEUS_ASSET_ROOT_DIR = "omniverse://isaac-dev.ov.nvidia.com" #carb.settings.get_settings().get("/persistent/isaac/asset_root/cloud") +NUCLEUS_ASSET_ROOT_DIR = ( # carb.settings.get_settings().get("/persistent/isaac/asset_root/cloud") + "omniverse://isaac-dev.ov.nvidia.com" +) """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 95fe55a58ce..3534eec231d 100644 --- a/source/isaaclab/test/deps/isaacsim/check_ref_count.py +++ b/source/isaaclab/test/deps/isaacsim/check_ref_count.py @@ -63,7 +63,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 086d7942713..2cc3a00db7c 100644 --- a/source/isaaclab/test/sim/test_spawn_from_files.py +++ b/source/isaaclab/test/sim/test_spawn_from_files.py @@ -59,7 +59,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/test/sim/test_utils.py b/source/isaaclab/test/sim/test_utils.py index b6e0994ab87..32e66ae3a73 100644 --- a/source/isaaclab/test/sim/test_utils.py +++ b/source/isaaclab/test/sim/test_utils.py @@ -20,7 +20,7 @@ from pxr import Sdf, Usd, UsdGeom, 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) 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 c6234773611d90f01d95ecdd38bc0c595ca1e9dc Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Wed, 17 Sep 2025 13:06:28 -0700 Subject: [PATCH 6/9] format code --- source/isaaclab/test/sim/test_utils.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/source/isaaclab/test/sim/test_utils.py b/source/isaaclab/test/sim/test_utils.py index 32e66ae3a73..6fd6b6de0a5 100644 --- a/source/isaaclab/test/sim/test_utils.py +++ b/source/isaaclab/test/sim/test_utils.py @@ -53,7 +53,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. prim_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 @@ -78,13 +80,19 @@ def test_get_first_matching_child_prim(): # create scene prim_utils.create_prim("/World/Floor") prim_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", ) prim_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", ) prim_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 From 3cdcad4d3ff6c64284763e6ccdbbaaa262c1fa2d Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Fri, 19 Sep 2025 16:22:40 -0700 Subject: [PATCH 7/9] 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 e7226e6b392a20624b821b47de4980d786b71dfb Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Tue, 30 Sep 2025 16:41:20 -0700 Subject: [PATCH 8/9] 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 eed1139e8bf4587aa6c1b2dfc34c329df21c6b67 Mon Sep 17 00:00:00 2001 From: Steven Feng Date: Thu, 2 Oct 2025 10:32:16 -0700 Subject: [PATCH 9/9] update asset path to staging server --- apps/isaaclab.python.headless.kit | 6 +++--- apps/isaaclab.python.headless.rendering.kit | 6 +++--- apps/isaaclab.python.kit | 6 +++--- apps/isaaclab.python.rendering.kit | 6 +++--- apps/isaaclab.python.xr.openxr.headless.kit | 6 +++--- apps/isaaclab.python.xr.openxr.kit | 6 +++--- source/isaaclab/isaaclab/utils/assets.py | 5 ++--- 7 files changed, 20 insertions(+), 21 deletions(-) diff --git a/apps/isaaclab.python.headless.kit b/apps/isaaclab.python.headless.kit index 294c0dd977b..1cef18def7d 100644 --- a/apps/isaaclab.python.headless.kit +++ b/apps/isaaclab.python.headless.kit @@ -215,6 +215,6 @@ enabled=true # Enable this for DLSS # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.default = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.cloud = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.nvidia = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" diff --git a/apps/isaaclab.python.headless.rendering.kit b/apps/isaaclab.python.headless.rendering.kit index d150cad9de9..913de2839c2 100644 --- a/apps/isaaclab.python.headless.rendering.kit +++ b/apps/isaaclab.python.headless.rendering.kit @@ -156,6 +156,6 @@ folders = [ # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.default = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.cloud = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.nvidia = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" diff --git a/apps/isaaclab.python.kit b/apps/isaaclab.python.kit index 3fb4f5237a4..9f6e9ba524c 100644 --- a/apps/isaaclab.python.kit +++ b/apps/isaaclab.python.kit @@ -302,6 +302,6 @@ fabricUseGPUInterop = true # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.default = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.cloud = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.nvidia = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" diff --git a/apps/isaaclab.python.rendering.kit b/apps/isaaclab.python.rendering.kit index 0a9e8f60b24..ccc025ea087 100644 --- a/apps/isaaclab.python.rendering.kit +++ b/apps/isaaclab.python.rendering.kit @@ -145,6 +145,6 @@ folders = [ # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.default = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.cloud = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.nvidia = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" diff --git a/apps/isaaclab.python.xr.openxr.headless.kit b/apps/isaaclab.python.xr.openxr.headless.kit index bd3f56a13bd..ee7da5c1887 100644 --- a/apps/isaaclab.python.xr.openxr.headless.kit +++ b/apps/isaaclab.python.xr.openxr.headless.kit @@ -59,6 +59,6 @@ folders = [ ] [settings] -persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.default = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.cloud = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.nvidia = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" diff --git a/apps/isaaclab.python.xr.openxr.kit b/apps/isaaclab.python.xr.openxr.kit index b16e8db2395..ff219097f1d 100644 --- a/apps/isaaclab.python.xr.openxr.kit +++ b/apps/isaaclab.python.xr.openxr.kit @@ -88,6 +88,6 @@ folders = [ # set the S3 directory manually to the latest published S3 # note: this is done to ensure prior versions of Isaac Sim still use the latest assets [settings] -persistent.isaac.asset_root.default = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.cloud = "omniverse://isaac-dev.ov.nvidia.com" -persistent.isaac.asset_root.nvidia = "omniverse://isaac-dev.ov.nvidia.com" +persistent.isaac.asset_root.default = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.cloud = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" +persistent.isaac.asset_root.nvidia = "https://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/5.1" diff --git a/source/isaaclab/isaaclab/utils/assets.py b/source/isaaclab/isaaclab/utils/assets.py index 6825345e660..db68af412db 100644 --- a/source/isaaclab/isaaclab/utils/assets.py +++ b/source/isaaclab/isaaclab/utils/assets.py @@ -20,11 +20,10 @@ import time from typing import Literal -# import carb +import carb import omni.client -NUCLEUS_ASSET_ROOT_DIR = ( # carb.settings.get_settings().get("/persistent/isaac/asset_root/cloud") - "omniverse://isaac-dev.ov.nvidia.com" +NUCLEUS_ASSET_ROOT_DIR = (carb.settings.get_settings().get("/persistent/isaac/asset_root/cloud") ) """Path to the root directory on the Nucleus Server."""