构建您自己的项目或任务#
传统上,构建利用 Isaac Lab 功能的新项目需要在 Isaac Lab 仓库内创建自己的扩展。然而,这种方法可能会降低项目的可见性,并使从一个版本的 Isaac Lab 更新到另一个版本变得复杂。为了解决这些问题,我们现在提供了一个命令行工具 (模板生成器) ,用于创建基于 Isaac Lab 的项目和任务。
模板生成器使您能够创建:
外部项目 (推荐):一个独立的项目,不属于 Isaac Lab 仓库的一部分。这种方法在核心 Isaac Lab 仓库之外运行,确保您的开发工作保持独立。此外,它允许您的代码作为 Omniverse 的扩展运行。
提示
对于外部项目,模板生成器将在指定目录中初始化一个新的 Git 仓库。您可以将生成的内容推送到自己的远程仓库(例如 GitHub),并与他人共享。
内部任务:Isaac Lab 仓库的一部分任务。此方法仅用于在 Isaac Lab 仓库内创建新任务,以便为其做出贡献。
运行模板生成器#
请按照 安装指南 安装 Isaac Lab。我们推荐使用 conda 安装,因为它可以简化从终端调用 Python 脚本的过程。
然后,运行以下命令以生成新的外部项目或内部任务:
./isaaclab.sh --new # or "./isaaclab.sh -n"
isaaclab.bat --new :: or "isaaclab.bat -n"
生成器会通过以下问题引导您设置项目或任务,以满足您的需求:
外部项目的使用(生成后)#
一旦生成外部项目,将在指定目录中创建一个 README.md
文件。该文件包含有关如何安装项目和运行任务的说明。
以下是一些用于开始使用的常见命令:
备注
如果 Isaac Lab 没有安装在 conda 环境或(虚拟)Python 环境中,请使用 FULL_PATH_TO_ISAACLAB/isaaclab.sh -p
(或在 Windows 上使用 FULL_PATH_TO_ISAACLAB\isaaclab.bat -p
)来替代 python
运行以下命令。
安装项目(以可编辑模式)。
python -m pip install -e source/<given-project-name>
python -m pip install -e source\<given-project-name>
列出项目中可用的任务。
警告
如果任务名称发生更改,可能需要更新
scripts/list_envs.py
文件中的搜索模式"Template-"
,以便正确列出任务。python scripts/list_envs.py
python scripts\list_envs.py
运行一个任务。
python scripts/<specific-rl-library>/train.py --task=<Task-Name>
python scripts\<specific-rl-library>\train.py --task=<Task-Name>
有关更多详细信息,请按照生成项目的 README.md
文件中的说明进行操作。
内部项目使用(生成后)#
一旦内部任务生成,它将与其余的 Isaac Lab 任务一起可用。
以下是一些用于开始使用的常见命令:
备注
如果 Isaac Lab 没有安装在 conda 环境或(虚拟)Python 环境中,请使用 ./isaaclab.sh -p
(或在 Windows 上使用 isaaclab.bat -p
)来替代 python
运行以下命令。
列出 Isaac Lab 中可用的任务。
python scripts/environments/list_envs.py
python scripts\environments\list_envs.py
运行一个任务。
python scripts/reinforcement_learning/<specific-rl-library>/train.py --task=<Task-Name>
python scripts\reinforcement_learning\<specific-rl-library>\train.py --task=<Task-Name>