使用 Isaac Sim 源代码安装#

以下步骤首先从源代码安装Isaac Sim,然后从源代码安装Isaac Lab。

备注

这是一种更高级的安装方法,不建议大多数用户使用。只有在希望修改Isaac Sim源代码时才能遵循此方法。

安装Isaac Sim#

从源代码构建#

从Isaac Sim 5.0版本开始,可以从源代码构建Isaac Sim。这种方法适用于希望修改Isaac Sim源代码的用户,或希望使用Isaac Lab与Isaac Sim的nightly版本进行测试的用户。

以下说明根据用户的方便从 Isaac Sim文档 调整而来。

注意

从源代码构建Isaac Sim需要Ubuntu 22.04 LTS或更高版本。

注意

有关驱动程序要求的详细信息,请参阅 技术要求 指南!

在Windows上,有必要 启用长路径支持 ,以避免由于操作系统限制导致的安装错误。

  • 将Isaac Sim存储库克隆到您的工作空间中:

    git clone https://github.com/isaac-sim/IsaacSim.git
    
  • 从源代码构建Isaac Sim:

    cd IsaacSim
    ./build.sh
    
    cd IsaacSim
    build.bat
    

验证Isaac Sim安装#

为了避免每次查找和定位Isaac Sim安装目录带来的开销,我们建议将以下环境变量导出到您的终端,以便在接下来的安装说明中使用:

# Isaac Sim root directory
export ISAACSIM_PATH="${pwd}/_build/linux-x86_64/release"
# Isaac Sim python executable
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
:: Isaac Sim root directory
set ISAACSIM_PATH="%cd%\_build\windows-x86_64\release"
:: Isaac Sim python executable
set ISAACSIM_PYTHON_EXE="%ISAACSIM_PATH:"=%\python.bat"

检查模拟器是否按预期运行:

# note: you can pass the argument "--help" to see all arguments possible.
${ISAACSIM_PATH}/isaac-sim.sh
:: note: you can pass the argument "--help" to see all arguments possible.
%ISAACSIM_PATH%\isaac-sim.bat

检查模拟器是否可以从独立的python脚本中运行:

# checks that python path is set correctly
${ISAACSIM_PYTHON_EXE} -c "print('Isaac Sim configuration is now complete.')"
# checks that Isaac Sim can be launched from python
${ISAACSIM_PYTHON_EXE} ${ISAACSIM_PATH}/standalone_examples/api/isaacsim.core.api/add_cubes.py
:: checks that python path is set correctly
%ISAACSIM_PYTHON_EXE% -c "print('Isaac Sim configuration is now complete.')"
:: checks that Isaac Sim can be launched from python
%ISAACSIM_PYTHON_EXE% %ISAACSIM_PATH%\standalone_examples\api\isaacsim.core.api\add_cubes.py

小心

如果您之前使用过Isaac Sim的旧版本,则需要在安装后的*第一次*运行以下命令,以删除所有旧用户数据和缓存变量:

${ISAACSIM_PATH}/isaac-sim.sh --reset-user
%ISAACSIM_PATH%\isaac-sim.bat --reset-user

如果在按照上述说明操作时模拟器无法运行或崩溃,说明某些配置不正确。要进行调试和故障排除,请查看Isaac Sim 文档论坛

安装Isaac Lab#

克隆Isaac Lab#

备注

我们建议创建一个 fork Isaac Lab 仓库来贡献这个项目,但这并不是使用该框架的必要条件。如果您创建一个分支,请在下面的说明中用您的用户名替换 isaac-sim

将Isaac Lab存储库克隆到您项目的工作空间中:

git clone git@github.com:isaac-sim/IsaacLab.git
git clone https://github.com/isaac-sim/IsaacLab.git

我们提供了一个辅助可执行文件 isaaclab.shisaaclab.bat ,分别用于Linux和Windows,提供了管理扩展的实用工具。

./isaaclab.sh --help

usage: isaaclab.sh [-h] [-i] [-f] [-p] [-s] [-t] [-o] [-v] [-d] [-n] [-c] -- Utility to manage Isaac Lab.

optional arguments:
   -h, --help           Display the help content.
   -i, --install [LIB]  Install the extensions inside Isaac Lab and learning frameworks (rl_games, rsl_rl, sb3, skrl) as extra dependencies. Default is 'all'.
   -f, --format         Run pre-commit to format the code and check lints.
   -p, --python         Run the python executable provided by Isaac Sim or virtual environment (if active).
   -s, --sim            Run the simulator executable (isaac-sim.sh) provided by Isaac Sim.
   -t, --test           Run all python pytest tests.
   -o, --docker         Run the docker container helper script (docker/container.sh).
   -v, --vscode         Generate the VSCode settings file from template.
   -d, --docs           Build the documentation from source using sphinx.
   -n, --new            Create a new external project or internal task from template.
   -c, --conda [NAME]   Create the conda environment for Isaac Lab. Default name is 'env_isaaclab'.
   -u, --uv [NAME]      Create the uv environment for Isaac Lab. Default name is 'env_isaaclab'.
isaaclab.bat --help

usage: isaaclab.bat [-h] [-i] [-f] [-p] [-s] [-v] [-d] [-n] [-c] -- Utility to manage Isaac Lab.

optional arguments:
   -h, --help           Display the help content.
   -i, --install [LIB]  Install the extensions inside Isaac Lab and learning frameworks (rl_games, rsl_rl, sb3, skrl) as extra dependencies. Default is 'all'.
   -f, --format         Run pre-commit to format the code and check lints.
   -p, --python         Run the python executable provided by Isaac Sim or virtual environment (if active).
   -s, --sim            Run the simulator executable (isaac-sim.bat) provided by Isaac Sim.
   -t, --test           Run all python pytest tests.
   -v, --vscode         Generate the VSCode settings file from template.
   -d, --docs           Build the documentation from source using sphinx.
   -n, --new            Create a new external project or internal task from template.
   -c, --conda [NAME]   Create the conda environment for Isaac Lab. Default name is 'env_isaaclab'.
   -u, --uv [NAME]      Create the uv environment for Isaac Lab. Default name is 'env_isaaclab'.

设置Python环境(可选)#

注意

这一步骤是可选的。如果您使用的是与Isaac Sim捆绑的Python,可以跳过此步骤。

强烈建议 为Isaac Lab创建一个专用的Python环境,尽管这是可选的。使用虚拟环境有助于:

  • 避免与系统Python 或机器上安装的其他项目发生冲突。

  • 保持依赖项隔离 ,以防止包升级或在其他项目中进行实验损坏Isaac Sim。

  • 轻松管理多个环境 ,用于具有不同依赖项版本的设置。

  • 简化可重复性 — 环境仅包含当前项目所需的软件包,这样更容易与同事分享设置或在不同机器上运行。

您可以选择不同的包管理器来创建虚拟环境。

  • UV:一种现代、快速、安全的Python包管理器。

  • Conda:一种跨平台、语言无关的Python包管理器。

创建后,可以在虚拟环境中使用默认Python(python*或*python3),而不是*./isaaclab.sh -p*或*isaaclab.bat -p*。

小心

虚拟环境的Python版本必须与Isaac Sim的Python版本匹配。

  • 对于Isaac Sim 5.X,所需的Python版本是3.11。

  • 对于Isaac Sim 4.X,所需的Python版本是3.10。

使用不同的Python版本会导致运行Isaac Lab时出现错误。

要安装 uv ,请按照 此处 中的说明操作。您可以使用以下命令创建 Isaac Lab 环境:

# Option 1: Default environment name 'env_isaaclab'
./isaaclab.sh --uv  # or "./isaaclab.sh -u"
# Option 2: Custom name
./isaaclab.sh --uv my_env  # or "./isaaclab.sh -u my_env"
# Activate environment
source ./env_isaaclab/bin/activate  # or "source ./my_env/bin/activate"

警告

目前尚不支持在Windows上使用UV。请查看 `issue #3483<https://github.com/isaac-sim/IsaacLab/issues/3438>`_ 跟踪进展。

要安装 conda,请按照 此处 <https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html>__ 中的说明操作。您可以使用以下命令创建 Isaac Lab 环境。

我们建议使用 Miniconda ,因为它是一种轻量级和资源高效的环境管理系统。

# Option 1: Default environment name 'env_isaaclab'
./isaaclab.sh --conda  # or "./isaaclab.sh -c"
# Option 2: Custom name
./isaaclab.sh --conda my_env  # or "./isaaclab.sh -c my_env"
# Activate environment
conda activate env_isaaclab  # or "conda activate my_env"
:: Option 1: Default environment name 'env_isaaclab'
isaaclab.bat --conda  :: or "isaaclab.bat -c"
:: Option 2: Custom name
isaaclab.bat --conda my_env  :: or "isaaclab.bat -c my_env"
:: Activate environment
conda activate env_isaaclab  # or "conda activate my_env"

一旦您进入虚拟环境,您无需使用 ./isaaclab.sh -pisaaclab.bat -p 来运行Python脚本。您可以通过运行 pythonpython3 来使用环境中的默认Python可执行文件。但是,在接下来的文档中,我们将假设您正在使用 ./isaaclab.sh -pisaaclab.bat -p 来运行Python脚本。

安装#

  • 使用 apt 安装依赖关系 (仅限Linux):

    # these dependency are needed by robomimic which is not available on Windows
    sudo apt install cmake build-essential
    
  • 运行安装命令,遍历 source 目录中的所有扩展,并使用带有 --editable 标志的pip进行安装:

    ./isaaclab.sh --install # or "./isaaclab.sh -i"
    
    isaaclab.bat --install :: or "isaaclab.bat -i"
    

    默认情况下,上述操作将安装**所有**学习框架。包括 rl_gamesrsl_rlsb3skrlrobomimic

    如果您只想安装特定框架,可以将框架名称作为参数传递。例如,要仅安装 rl_games 框架,可以运行:

    ./isaaclab.sh --install rl_games  # or "./isaaclab.sh -i rl_games"
    
    isaaclab.bat --install rl_games :: or "isaaclab.bat -i rl_games"
    

    有效选项包括 allrl_gamesrsl_rlsb3skrlrobomimicnone 。如果传递 none ,则不会安装任何学习框架。

验证Isaac Lab安装#

要验证安装是否成功,请从存储库顶部运行以下命令:

# Option 1: Using the isaaclab.sh executable
# note: this works for both the bundled python and the virtual environment
./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py

# Option 2: Using python in your virtual environment
python scripts/tutorials/00_sim/create_empty.py
:: Option 1: Using the isaaclab.bat executable
:: note: this works for both the bundled python and the virtual environment
isaaclab.bat -p scripts\tutorials\00_sim\create_empty.py

:: Option 2: Using python in your virtual environment
python scripts\tutorials\00_sim\create_empty.py

上述命令应启动模拟器并显示一个带黑色视口的窗口。您可以通过在终端上按 Ctrl+C 来退出脚本。在Windows机器上,请使用 Ctrl+BreakCtrl+fn+B 从命令提示符中终止进程。

带黑色窗口的模拟器。

如果您看到这个,那么安装就成功了! 🎉

备注

如果您看到错误 ModuleNotFoundError: No module named 'isaacsim' ,请确保虚拟环境已激活,且 source _isaac_sim/setup_conda_env.sh 已执行(对uv也是如此)。

训练机器人!#

您现在可以使用 Isaac Lab 通过强化学习来训练机器人!使用 Isaac Lab 的最快方式是通过预定义的工作流程之一,使用我们 功能齐全 的机器人任务。执行以下命令,快速训练一只蚂蚁行走!我们建议添加 --headless 以加快训练速度。

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless
isaaclab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Ant-v0 --headless

…或者一只机器狗!

./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless
isaaclab.bat -p scripts/reinforcement_learning/rsl_rl/train.py --task=Isaac-Velocity-Rough-Anymal-C-v0 --headless

Isaac Lab 提供所需的工具,让您可以为项目需求创建自己的 TasksWorkflows。查看我们的 操作指南 指南,例如 添加你自己的学习库包装环境 以获取详细信息。

Idle hands...