Commit 40c8d6cf authored by Kelly Guo's avatar Kelly Guo Committed by Kelly Guo

Moves asset path from AppLauncher to app files (#228)

In a recent commit, Isaac Lab extensions were added to the app files as
dependencies in order to support installing Isaac Lab modules from pip.
However, this introduced a new issue where the assets module may be
loaded prior to the asset base path setting was set in AppLauncher,
causing assets to not be found. This causes the first runs of Isaac Lab
scripts to fail as the carbonite setting we look for in the assets
script has not been populated yet.

To fix this, this PR moves the definition of the asset path from
AppLauncher to the app files. This ensures that the carbonite setting is
set prior to any code being executed.

<!-- As you go through the list, delete the ones that are not
applicable. -->

- Bug fix (non-breaking change which fixes an issue)

- [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with
`./isaaclab.sh --format`
- [ ] I have made corresponding changes to the documentation
- [x] My changes generate no new warnings
- [ ] I have added tests that prove my fix is effective or that my
feature works
- [x] I have updated the changelog and the corresponding version in the
extension's `config/extension.toml` file
- [ ] I have added my name to the `CONTRIBUTORS.md` or my name already
exists there

<!--
As you go through the checklist above, you can mark something as done by
putting an x character in it

For example,
- [x] I have done this task
- [ ] I have not done this task
-->
parent 8a58a23c
......@@ -188,3 +188,11 @@ enabled=true # Enable this for DLSS
"isaaclab_tasks" = {}
"isaaclab_mimic" = {}
"isaaclab_rl" = {}
# Asset path
# 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 = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
......@@ -140,3 +140,11 @@ folders = [
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
# Asset path
# 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 = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
......@@ -293,3 +293,11 @@ fabricUpdateTransformations = false
fabricUpdateVelocities = false
fabricUpdateForceSensors = false
fabricUpdateJointStates = false
# Asset path
# 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 = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
......@@ -138,3 +138,11 @@ folders = [
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
# Asset path
# 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 = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
......@@ -56,3 +56,11 @@ folders = [
"${app}", # needed to find other app files
"${app}/../source", # needed to find extensions in Isaac Lab
]
# Asset path
# 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 = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.cloud = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
persistent.isaac.asset_root.nvidia = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
[package]
# Note: Semantic Versioning is used: https://semver.org/
version = "0.33.7"
version = "0.33.8"
# Description
title = "Isaac Lab framework for Robot Learning"
......
Changelog
---------
0.33.7 (2025-01-30)
0.33.8 (2025-01-30)
~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -12,7 +12,7 @@ Fixed
to the event being triggered at the wrong time after the reset.
0.33.6 (2025-01-17)
0.33.7 (2025-01-17)
~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -42,7 +42,7 @@ Fixed
the :class:`omni.isaac.lab.assets.RigidObjectCollection` class.
0.33.5 (2025-01-14)
0.33.6 (2025-01-14)
~~~~~~~~~~~~~~~~~~~
Fixed
......@@ -51,6 +51,16 @@ Fixed
* Fixed the respawn of only wrong object samples in :func:`repeated_objects_terrain` of :mod:`omni.isaac.lab.terrains.trimesh` module. Previously, the function was respawning all objects in the scene instead of only the wrong object samples, which in worst case could lead to infinite respawn loop.
0.33.5 (2025-01-13)
~~~~~~~~~~~~~~~~~~~
Changed
^^^^^^^
* Moved the definition of ``/persistent/isaac/asset_root/*`` settings from :class:`AppLauncher` to the app files.
This is needed to prevent errors where ``isaaclab_assets`` was loaded prior to the carbonite setting being set.
0.33.4 (2025-01-10)
~~~~~~~~~~~~~~~~~~~
......
......@@ -684,13 +684,6 @@ class AppLauncher:
# set fabric update flag to disable updating transforms when rendering is disabled
carb_settings_iface.set_bool("/physics/fabricUpdateTransformations", self._rendering_enabled())
# set the nucleus directory manually to the latest published Nucleus
# note: this is done to ensure prior versions of Isaac Sim still use the latest assets
assets_path = "http://omniverse-content-staging.s3-us-west-2.amazonaws.com/Assets/Isaac/4.5"
carb_settings_iface.set_string("/persistent/isaac/asset_root/default", assets_path)
carb_settings_iface.set_string("/persistent/isaac/asset_root/cloud", assets_path)
carb_settings_iface.set_string("/persistent/isaac/asset_root/nvidia", assets_path)
# disable physics backwards compatibility check
carb_settings_iface.set_int(physx_impl.SETTING_BACKWARD_COMPATIBILITY, 0)
......
......@@ -25,7 +25,7 @@ class TestKitStartUpPerformance(unittest.TestCase):
self.app_launcher = AppLauncher(headless=True).app
end_time = time.time()
elapsed_time = end_time - start_time
self.assertLessEqual(elapsed_time, 8.0)
self.assertLessEqual(elapsed_time, 10.0)
if __name__ == "__main__":
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment