如是我闻: 如果各位朋友之前用的是Orbit,那转移到Isaac Lab 真是还没开始就结束了,因为Isaac Lab就是把Github上Orbit仓库名改成了Isaac Lab。所以也就是文件名,文件结构上有一些变化。接下来让我们细致的盘点一下
1.脚本命名更新
脚本 orbit.sh
已重命名为 isaaclab.sh
在orbit时代,如果想启动模拟器做训练,我们需要在终端执行形如
/orbit.sh -p source/standalone/workflows/rsl_rl/train.py ..
这样的命令。现在到了isaaclab版本,我们想启动模拟器,这个脚本的名字就改啦!(换汤不换药)
./isaaclab.sh -p source/standalone/workflows/rsl_rl/train.py ..
2. 拓展命名更新
因为他整个就是一个大改名,所以相应的拓展导入的名字也从orbit改成isaaclab,具体来说
扩展名 omni.isaac.orbit
, omni.isaac.orbit_tasks
和 omni.isaac.orbit_assets
分别重命名为 omni.isaac.lab
, omni.isaac.lab_tasks
和 omni.isaac.lab_assets
。新的文件夹结构如下所示:
原文件夹名 | 新文件夹名 |
---|---|
source/extensions/omni.isaac.orbit/omni/isaac/orbit | source/extensions/omni.isaac.lab/omni/isaac/lab |
source/extensions/omni.isaac.orbit_tasks/omni/isaac/orbit_tasks | source/extensions/omni.isaac.lab_tasks/omni/isaac/lab_tasks |
source/extensions/omni.isaac.orbit_assets/omni/isaac/orbit_assets | source/extensions/omni.isaac.lab_assets/omni/isaac/lab_assets |
高层级导入的命名也有更新:
原导入名 | 新导入名 |
---|---|
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… |
3. 类名更新
这场匪夷所思的改名仪式还没有结束。
在 Isaac Lab 中,过去Orbit的代码被认为是,基于管理器的工作环境(Manager-Based Environments),为了体现这一点, 这些类的名称做了更新.
Orbit 类名 | Isaac Lab 类名 |
---|---|
BaseEnv | omni.isaac.lab.envs.ManagerBasedEnv |
BaseEnvCfg | omni.isaac.lab.envs.ManagerBasedEnvCfg |
RLTaskEnv | omni.isaac.lab.envs.ManagerBasedRLEnv |
RLTaskEnvCfg | omni.isaac.lab.envs.ManagerBasedRLEnvCfg |
RLTaskEnvWindow | omni.isaac.lab.envs.ui.ManagerBasedRLEnvWindow |
4. 任务文件夹结构更新
为了支持基于管理器的工作流和直接工作流,任务扩展( tasks extension)中增加了两个文件夹:
-
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 ...
5. 其他改变
离屏渲染
传递给 omni.isaac.lab.app.AppLauncher
的输入参数 --offscreen_render
和环境变量 OFFSCREEN_RENDER
分别被重命名为--enable_cameras
和 ENABLE_CAMERAS
。
事件项(Event term )分布配置
(感觉没用上过)
在 events.py
中的一些事件函数(event functions) 通常的输入是一个分布参数和一个范围,以此来进行采样。为了支持任意分布,这些函数中的输入参数 AAA_range
重命名为了 AAA_distribution_params
。所以呢,事件项配置中那些带有分布参数的函数进行了更新。例如,
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",
},
)
非常的有品
以上