添加您自己的学习库#
Isaac Lab预先集成了许多库(如RSL-RL,RL-Games,SKRL,Stable Baselines等)。然而,您可能希望将您自己的库与Isaac Lab集成,或者使用与Isaac Lab安装的库不同版本的库。只要该库是Python软件包,并且支持底层模拟器使用的Python版本,就可以实现这一点。例如,如果您正在使用Isaac Sim 4.0.0及以上版本,则需要确保该库适用于Python 3.10。
使用库的不同版本#
如果要使用与Isaac Lab安装的库不同的版本,可以通过从源代码构建或使用PyPI上可用的库的不同版本来安装该库。
例如,如果要使用您自己修改过的 rsl-rl 库的版本,可以按照以下步骤操作:
按照安装Isaac Lab的说明。这将安装默认版本的
rsl-rl
库。从GitHub存储库中克隆
rsl-rl
库:git clone git@github.com:leggedrobotics/rsl_rl.git
在您的Python环境中安装该库:
# Assuming you are in the root directory of the Isaac Lab repository cd IsaacLab # Note: If you are using a virtual environment, make sure to activate it before running the following command ./isaaclab.sh -p -m pip install -e /path/to/rsl_rl
在这种情况下, rsl-rl
库将安装在Isaac Lab使用的Python环境中。您现在可以在您的实验中使用 rsl-rl
库。要检查库的版本和其他详细信息,可以使用以下命令:
./isaaclab.sh -p -m pip show rsl-rl
现在应该显示 rsl-rl
库的位置作为您克隆库的目录。例如,如果您将库克隆到 /home/user/git/rsl_rl
,上述命令的输出应为:
Name: rsl_rl
Version: 2.0.2
Summary: Fast and simple RL algorithms implemented in pytorch
Home-page: https://github.com/leggedrobotics/rsl_rl
Author: ETH Zurich, NVIDIA CORPORATION
Author-email:
License: BSD-3
Location: /home/user/git/rsl_rl
Requires: torch, torchvision, numpy, GitPython, onnx
Required-by:
集成新库#
将新库添加到Isaac Lab类似于使用不同版本库。您可以在您的Python环境中安装该库并在您的实验中使用它。但是,如果要将库集成到Isaac Lab中,您首先需要为该库制作一个包装器,如在 包装环境 中所解释的那样。
可以按以下步骤将新库与Isaac Lab集成:
在扩展
omni.isaac.lab_tasks
的setup.py
中将您的库作为额外依赖项添加。这将确保在安装Isaac Lab时安装该库,或者如果未安装或不可用,将会报错。在Isaac Lab使用的Python环境中安装您的库。您可以按照前一节中提到的步骤操作。
为该库创建包装器。您可以查看
omni.isaac.lab_tasks.utils.wrappers
模块,查看不同库的包装器示例。您可以为您的库创建一个新的包装器,并将其添加到该模块。如果愿意,还可以为包装器创建一个新的模块。为您的库创建工作流脚本以训练和评估智能体程序。您可以在
source/standalone/workflows
目录中查看现有的工作流脚本示例。您可以为您的库创建新的工作流脚本,并将其添加到该目录。
可选地,您还可以为包装器添加一些测试和文档。这将有助于确保包装器按预期工作,并可指导用户如何使用包装器。
添加一些测试以确保包装器按预期工作,并且与库保持兼容。这些测试可以添加到
source/extensions/omni.isaac.lab_tasks/test/wrappers
目录中。为包装器添加一些文档。您可以将API文档添加到
docs/source/api/lab_tasks/omni.isaac.lab_tasks.utils.wrappers.rst
文件中。