管理资产下载

管理资产下载#

Isaac Lab 资产托管于 AWS S3,并在工作流需要时下载。本指南介绍如何缓存常用资产、迁移现有 Nucleus 配置,以及选择面向中国大陆的区域资产服务。

缓存远程资产#

如果重复下载较慢,或工作站的网络连接时断时续,可启用 Hub Workstation Cache。

启动 Isaac Sim:

./isaaclab.sh -s
isaaclab.bat -s

点击右上角的 CACHE: 提示,并启用 Hub Workstation Cache 。首次加载仍需下载各资产,后续运行则使用本地缓存。

Isaac Sim 缓存状态提示。
资产缓存与 Nucleus 迁移的详细说明

资产缓存

在 Isaac Lab 中使用的资产托管在云上的 AWS S3 存储桶中。资产加载时间可能会依赖于您的网络连接和地理位置。在某些情况下,从 AWS 服务器拉取资产时,资产加载时间可能会很长。

如果在每次运行时遇到资源加载需要几分钟的情况,我们建议按照以下步骤启用资源缓存。

首先,启动 Isaac Sim 应用程序:

./isaaclab.sh -s
isaaclab.bat -s

在 Isaac Lab 或 Isaac Sim 应用程序的右上角,查找标有 CACHE: 图标。您可能会看到消息,例如 HUB NOT DETECTED 或 NEW VERSION DETECTED 。

点击消息以启用 Hub 。Hub 会自动管理 Isaac 实验室资产的本地缓存,因此后续运行将使用缓存文件而不是每次从 AWS 下载。

带有缓存消息的仿真器

Hub 提供更好的控制和管理缓存资产,使工作流程更快和更可靠,特别是在网络访问受限或不稳定的环境中。

备注

第一次运行 Isaac Lab 时,仍然需要从云端拉取资产,这可能会导致更长的加载时间。一旦缓存,后续运行时加载时间将显著减少。

使用本地资产根目录

对于隔离网络或无法访问 AWS S3 存储桶的机器,可让 Isaac Lab 使用本地或自行托管的资产副本。启动前设置 ISAACSIM_ASSET_ROOT 环境变量:

export ISAACSIM_ASSET_ROOT=/path/to/Assets/Isaac/X.Y
set ISAACSIM_ASSET_ROOT=C:\path\to\Assets\Isaac\X.Y

该变量必须指向带版本号的资产根目录,即包含 Isaac 和 NVIDIA 的目录。它优先于 experience 文件中的值,且始终适用于 ISAAC_NUCLEUS_DIR 等 Isaac Lab 资产路径。使用 Isaac Lab 提供的 experience 时,由于它们加载 isaacsim.storage.native ,Isaac Sim 资产根目录也会解析为同一值。未基于这些 experience 的自定义 experience,可能仍使 Isaac Sim 资产根目录指向云端。

Isaac Lab 支持通过 ISAACSIM_ASSET_ROOT 和 ISAACSIM_ASSET_REGION_PROFILE 环境变量选择运行时资产。资产路径只在导入 isaaclab.utils.assets 时解析一次,因此在命令行设置 persistent.isaac.asset_root.default ,或在运行中修改它,都不会改变这些路径,尽管 Isaac Sim 本身支持这两种方式。在 experience 文件中修改 persistent.isaac.asset_root.default 则有效,因为环境变量未设置时,Isaac Lab 会读取该值。

备注

如果此前通过修改 experience 文件中的 persistent.isaac.asset_root.cloud 重定向 Isaac Lab 资产,现在该修改已不再生效。Isaac Lab 现在首先读取 persistent.isaac.asset_root.default ,而随附的 experience 将其指向云端。请改为设置 ISAACSIM_ASSET_ROOT ,或修改 persistent.isaac.asset_root.default 。

资产包下载说明见 Isaac Sim 资产文档 。

Nucleus

在 Isaac Sim 4.5 之前,资产通过 Omniverse Nucleus 服务器访问,包括本地 Nucleus 实例的设置。

警告

从 Isaac Sim 4.5 开始, Omniverse Nucleus 服务器和 Omniverse Launcher 被弃用。现有的 Nucleus 设置将继续工作,因此如果您已经配置了本地 Nucleus 服务器,可以继续使用它。

从 Isaac Sim 4.5 开始,Omniverse Nucleus 和 Omniverse Launcher 已弃用。现有的本地 Nucleus 安装仍可使用。

选择资产区域#

资产区域配置(Asset Region Profile)会选择兼容的资产根目录,并配置该服务所需的存储设置。Isaac Lab 提供以下配置:

区域配置

用途

us

主要公共资产服务,也用于显式切回该服务。

china

面向中国大陆用户的区域资产服务。

启动 Isaac Lab 前设置区域配置。先清除 ISAACSIM_ASSET_ROOT ,因为显式覆盖的资产根目录优先于所选区域配置。

unset ISAACSIM_ASSET_ROOT
export ISAACSIM_ASSET_REGION_PROFILE=china
set ISAACSIM_ASSET_ROOT=
set ISAACSIM_ASSET_REGION_PROFILE=china

Isaac Lab 启动器和资产工具会自动应用区域配置。Isaac Lab 启动 Isaac Sim 时,同一变量也会选择相应配置。在不依赖 Kit 的模式下,Isaac Lab 无需 Isaac Sim 即可配置所需的 omni.client 路由。

如果独立的不依赖 Kit 的脚本在启动 Isaac Lab 运行时之前就调用 omni.client ,则必须先初始化区域配置:

from isaaclab.utils.assets import configure_asset_region_profile

configure_asset_region_profile()

要恢复主要服务,清除 ISAACSIM_ASSET_ROOT ,并选择 us 区域配置。

china 配置提供 资产可用性清单 。 isaac_version 字段标识资产发布版本。每个 asset_path 是相对于带版本号的资产根目录中 Isaac 目录的完整文件路径。 status 为 available 表示文件已镜像;若提供 reason_code ,它会解释其他状态; checked_at 记录状态最后变化的时间。没有对应行的路径未被镜像。该清单不确认根目录中 Isaac 目录之外的路径是否可用。

应通过区域配置解析后的常量构建路径,例如 ISAAC_NUCLEUS_DIR 和 ISAACLAB_NUCLEUS_DIR 。不要硬编码区域配置的存储端点,也不要根据清单推导对象的直接 URL。在浏览器或 curl 中直接打开对象存储 URL,会绕过区域配置的 CDN 路由,可能返回 HTTP 403。