迁移指南(Isaac Sim)#
从 Isaac Sim 4.2 版本迁移到 4.5 及更高版本会带来一系列 API 以及 Isaac Sim 扩展和类的变化。本文档概述了这些变化,并说明了如何将您的代码迁移到新 API。
重命名 Isaac Sim 扩展#
之前,Isaac Sim 扩展遵循 omni.isaac.*
的约定,例如 omni.isaac.core
。在 Isaac Sim 4.5 中,Isaac Sim 扩展已被重命名为使用前缀 isaacsim
,替代 omni.isaac
。此外,许多扩展已被重命名并拆分成多个扩展,以便为更具模块化的框架做准备,用户可以通过使用应用模板进行定制。
值得注意的是,以下在 Isaac Lab 中常用的 Isaac Sim 扩展被重新命名为:
omni.isaac.cloner
–>isaacsim.core.cloner
omni.isaac.core.prims
–>isaacsim.core.prims
omni.isaac.core.simulation_context
–>isaacsim.core.api.simulation_context
omni.isaac.core.utils
–>isaacsim.core.utils
omni.isaac.core.world
–>isaacsim.core.api.world
omni.isaac.kit.SimulationApp
–>isaacsim.SimulationApp
omni.isaac.ui
–>isaacsim.gui.components
URDF和MJCF导入器的重命名#
从 Isaac Sim 4.5 开始,URDF 和 MJCF 导入器已被重命名,以便与 Isaac Sim 中的其他扩展保持一致。导入器作为开源项目可以在 isaac-sim GitHub 上找到。
由于扩展名更改,Python模块名称也已更改:
URDF导入器:
isaacsim.asset.importer.urdf
(之前是omni.importer.urdf
)MJCF导入器:
isaacsim.asset.importer.mjcf
(之前是:omni.importer.mjcf
)
从 Isaac Sim UI 中,URDF 和 MJCF 导入器现在可以通过文件 > 导入菜单直接访问,当在文件浏览器中选择相应的 .urdf 或 .xml 文件时。
URDF 导入器的变化#
Isaac Sim 4.5 带来了一些对 URDF 导入器的更新,新的 UI 允许在从 URDF 导入机器人时进行更好的配置。因此,Isaac Lab URDF 转换器也已更新,以反映这些变化。 UrdfConverterCfg
包括一些新的设置,例如 PDGainsCfg
和 NaturalFrequencyGainsCfg
类,用于配置驱动的增益。
需要注意的一项破坏性变化是,UrdfConverterCfg.JointDriveCfg.gains
属性必须是类类型 PDGainsCfg
或 NaturalFrequencyGainsCfg
。
刚度必须指定 PDGainsCfg
,格式如下:
natural_frequency
必须为 NaturalFrequencyGainsCfg
指定。
重命名 omni.isaac.core 类#
Isaac Sim 4.5 引入了一些命名更改,这些更改影响了 Isaac Lab 中常用的核心 prim 类。这些更改影响了 prim 类的单个和 View
变体,包括 Articulation、RigidPrim、XFormPrim 等。单对象类现在以 Single
为前缀,例如 SingleArticulation
,而张量化的 View 类现在移除了 View
后缀。
类的具体重命名如下:
Articulation
–>SingleArticulation
ArticulationView
–>Articulation
ClothPrim
–>SingleClothPrim
ClothPrimView
–>ClothPrim
DeformablePrim
–>SingleDeformablePrim
DeformablePrimView
–>DeformablePrim
GeometryPrim
–>SingleGeometryPrim
GeometryPrimView
–>GeometryPrim
ParticleSystem
–>SingleParticleSystem
ParticleSystemView
–>ParticleSystem
RigidPrim
–>SingleRigidPrim
RigidPrimView
–>RigidPrim
XFormPrim
–>SingleXFormPrim
XFormPrimView
–>XFormPrim
重命名 Isaac Lab 扩展和文件夹#
对应于 Isaac Sim 4.5 的更改,我们也对 Isaac Lab 目录和扩展做了一些更新。所有之前位于 source/extensions
下的扩展现在直接位于 source/
目录下。source/apps
和 source/standalone
文件夹已被移动到根目录,并且现在分别称为 apps/
和 scripts/
。
Isaac Lab 扩展已重命名为:
omni.isaac.lab
–>isaaclab
omni.isaac.lab_assets
–>isaaclab_assets
omni.isaac.lab_tasks
–>isaaclab_tasks
此外,我们已将之前的 source/standalone/workflows
目录拆分为 scripts/imitation_learning
和 scripts/reinforcement_learning
目录。RSL RL、Stable-Baselines、RL_Games、SKRL 和 Ray 目录位于 scripts/reinforcement_learning
下,而 Robomimic 和新的 Isaac Lab Mimic 目录则位于 scripts/imitation_learning
下。
为了帮助您重命名项目中的 Isaac Lab 扩展,我们提供了一个 简单脚本 ,该脚本将遍历您本地 Isaac Lab 项目的 source
和 docs
目录,并替换任何被重命名的目录和导入实例。 **请自行承担使用该脚本的风险,因为它将直接覆盖源文件。 **
Isaac Lab 扩展的重构#
随着 isaaclab_mimic
的引入,该模块旨在支持模仿学习的数据生成工作流,我们还将之前位于 isaaclab_tasks
中的 wrappers
文件夹拆分成一个独立的模块,命名为 isaaclab_rl
。这个新扩展将包含针对Isaac Lab支持的各种强化学习库的强化学习专用包装器。
新的 isaaclab_mimic
扩展将替代 robomimic
文件夹下的旧有模仿学习脚本。我们已删除用于数据收集和数据集准备的旧脚本,转而使用新的 mimic 工作流。对于偏好使用之前脚本的用户,这些脚本将会在之前的发布分支中提供。
此外,我们还重新构建了 isaaclab_assets
扩展,将其拆分为 robots
和 sensors
子目录。这可以更清晰地区分扩展中提供的预定义配置。对于任何现有的导入,例如 from omni.isaac.lab_assets.anymal import ANYMAL_C_CFG
,请将其替换为 from isaaclab.robots.anymal import ANYMAL_C_CFG
。