从Orbit迁移#

由于 Orbit 被用作 Isaac Lab 的基础,从Orbit迁移到Isaac Lab是直接的。以下部分描述了从Orbit迁移到Isaac Lab需要进行的更改。

备注

以下更改是针对Isaac Lab 1.0版本发布的。请参考 release notes 查看将来版本中的任何更改。

重命名启动脚本#

脚本 orbit.sh 已更名为 isaaclab.sh

扩展更新#

扩展 omni.isaac.orbitomni.isaac.orbit_tasksomni.isaac.orbit_assets 已更名为 omni.isaac.labomni.isaac.lab_tasksomni.isaac.lab_assets ,因此,新的文件夹结构如下:

  • source/extensions/omni.isaac.lab/omni/isaac/lab

  • source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks

  • source/extensions/omni.isaac.lab_assets/omni/isaac/lab_assets

高级别导入也必须更新:

Orbit

Isaac Lab

from omni.isaac.orbit...

from omni.isaac.lab...

from omni.isaac.orbit_tasks...

from omni.isaac.lab_tasks...

from omni.isaac.orbit_assets...

from omni.isaac.lab_assets...

类名更新#

在Isaac Lab中,我们引入了任务设计工作流的概念(参见 任务设计工作流程) 。Orbit代码使用基于管理器的工作流,环境特定的类名已更新以反映这一变化:

任务文件夹结构更新#

为了支持基于管理器和直接工作流,我们在任务扩展中添加了两个文件夹:

  • source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/manager_based

  • source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks/direct

Orbit中的任务现在可以在 manager_based 文件夹下找到。这一更改也必须在任务的导入中予以反映。例如,

from omni.isaac.orbit_tasks.locomotion.velocity.velocity_env_cfg ...

现在应该是:

from omni.isaac.lab_tasks.manager_based.locomotion.velocity.velocity_env_cfg ...

其他重大更改#

设置设备#

--cpu 参数已被 --device device_name 取代。device_name 的有效选项为:

  • CPU: 使用 CPU。

  • cuda: 使用设备ID为``0``的GPU。

  • cuda:N: 使用GPU,其中N是设备ID。例如,cuda:0

默认值是 cuda:0

离屏渲染#

给予 omni.isaac.lab.app.AppLauncher 的输入参数 --offscreen_render 和环境变量 OFFSCREEN_RENDER 已更名为 --enable_camerasENABLE_CAMERAS

事件术语分布配置#

events.py 中的一些事件函数接受 distribution 参数和一个 range 以进行抽样。为了支持任意分布,我们已将输入参数 AAA_range 对这些函数重命名为 AAA_distribution_params 。因此,带有 distribution 参数的事件术语配置应予以更新。例如,

add_base_mass = EventTerm(
    func=mdp.randomize_rigid_body_mass,
    mode="startup",
    params={
        "asset_cfg": SceneEntityCfg("robot", body_names="base"),
        "mass_range": (-5.0, 5.0),
        "operation": "add",
    },
)

现在应该是:

add_base_mass = EventTerm(
    func=mdp.randomize_rigid_body_mass,
    mode="startup",
    params={
        "asset_cfg": SceneEntityCfg("robot", body_names="base"),
        "mass_distribution_params": (-5.0, 5.0),
        "operation": "add",
    },
)