存储库组织#
Isaac Lab 仓库的结构如下:
IsaacLab
├── .vscode
├── .flake8
├── CONTRIBUTING.md
├── CONTRIBUTORS.md
├── LICENSE
├── isaaclab.bat
├── isaaclab.sh
├── pyproject.toml
├── README.md
├── docs
├── docker
├── source
│ ├── extensions
│ │ ├── omni.isaac.lab
│ │ ├── omni.isaac.lab_assets
│ │ └── omni.isaac.lab_tasks
│ ├── standalone
│ │ ├── demos
│ │ ├── environments
│ │ ├── tools
│ │ ├── tutorials
│ │ └── workflows
├── tools
└── VERSION
source
目录包含所有 Isaac Lab 扩展 和 独立应用 的源代码。这两者是 Isaac Sim 中支持的不同开发工作流程。它们将在以下部分中描述。
扩展#
扩展是构成 Omniverse 生态系统的模块化包。在 Isaac Lab 中,这些写入 source/extensions
目录中。为了简化构建过程,Isaac Lab 直接使用 setuptools python包来构建扩展提供的python模块。这是通过扩展目录中的 setup.py
文件完成的。
扩展组织如下:
omni.isaac.lab: 包含了 Isaac Lab 的核心接口扩展。这为执行器、对象、机器人和传感器提供了主要模块。
omni.isaac.lab_assets: 包含了为 Isaac Lab 预配置资源的扩展。
omni.isaac.lab_tasks: 包含了为 Isaac Lab 预配置环境的扩展。它还包括了使用这些环境与不同智能体一起使用的包装器。
独立#
source/standalone
目录包含了用python编写的各种独立应用程序。它们组织如下:
基准测试: 包含了对不同框架组件进行基准测试的脚本。
演示: 包含了展示核心框架
omni.isaac.lab
的各种演示应用程序。环境: 包含了使用
omni.isaac.lab_tasks
中定义的环境与不同智能体一起运行的应用程序。这包括随机策略、零动作策略、远程操作或脚本化状态机。工具: 包含了使用框架提供的工具的应用程序。这包括转换资产、生成数据集等。
教程: 包含了使用框架提供的API的逐步教程。
工作流: 包含了使用各种基于学习的框架的环境的应用程序。这包括不同的强化学习或模仿学习库。