迁移指南(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.cloneromni.isaac.core.prims–>isaacsim.core.primsomni.isaac.core.simulation_context–>isaacsim.core.api.simulation_contextomni.isaac.core.utils–>isaacsim.core.utilsomni.isaac.core.world–>isaacsim.core.api.worldomni.isaac.kit.SimulationApp–>isaacsim.SimulationAppomni.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–>SingleArticulationArticulationView–>ArticulationClothPrim–>SingleClothPrimClothPrimView–>ClothPrimDeformablePrim–>SingleDeformablePrimDeformablePrimView–>DeformablePrimGeometryPrim–>SingleGeometryPrimGeometryPrimView–>GeometryPrimParticleSystem–>SingleParticleSystemParticleSystemView–>ParticleSystemRigidPrim–>SingleRigidPrimRigidPrimView–>RigidPrimXFormPrim–>SingleXFormPrimXFormPrimView–>XFormPrim
重命名 Isaac Lab 扩展和文件夹#
对应于 Isaac Sim 4.5 的更改,我们也对 Isaac Lab 目录和扩展做了一些更新。所有之前位于 source/extensions 下的扩展现在直接位于 source/ 目录下。 source/apps 和 source/standalone 文件夹已被移动到根目录,并且现在分别称为 apps/ 和 scripts/ 。
Isaac Lab 扩展已重命名为:
omni.isaac.lab–>isaaclabomni.isaac.lab_assets–>isaaclab_assetsomni.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 。