Ubuntu 本地及服务器安装 Isaac Sim
Isaac Sim 本地安装
Isaac Sim 环境是曾经 Isaac Gym 的上位版本,他们都是用来做机器人仿真环境训练的,适合用于虚实迁移任务,特点为及其高效,因为仿真环境与训练的模型都是在 GPU 上完成。IsaacLab 则是通过 Python 语言将 Isaac Sim 中的环境创建为 Gym 接口,从而直接应用于强化学习算法中。
而 Isaac Sim 现在作为 Omniverse Platform 中的一部分,我们需要先安装 Omniverse 因此我们的安装顺序为
- Omniverse Launcher (Omniverse 可视化界面)
- Isaac Sim Compatibility Checker (检查电脑是否支持 Isaac Sim)
- 使用 Omniverse Launcher 安装一些基础包
- 使用 Omnvierse Launcher 安装 Isaac Sim
- IssaLab (配置使 Isaac Sim 成为 Python 中仿真环境接口)
在官方给出的安装教程中,只需完成 Isaac Sim Requirements 和 Workstation Installation 两步,对于 Python 的 Python Environment Installation,由于其对 Conda 环境中 Python 配置介绍不详细,因此我们按照 IssacLab 中方法进行配置更为方便!
安装 Omniverse Launcher
Omniverse Launcher 下载链接
填写好你的信息就能下载了,最好注册一个 Nvidia 账号,这样可以保存你的填写的信息,选择 Linux
下载(我这里是第三行):
下载后我们可以得到一个 omniverse-launcher-linux.AppImage
软件,把这个软件放到一个固定的位置,因为第一次运行时会在菜单中创建当前位置的快捷方式。安装方法:进入到该文件夹下,执行下述代码开始安装
安装完成omniverse后,第一次打开会让你选择Pkg和Cache的安装位置,默认位置即可,后续IsaacSim中会用到pkg位置。
安装 Isaac Sim
首先按照 Isaac Sim Compatibility Checker 给出的步骤安装 Compatibility Checker 对电脑的兼容性进行检查,只要显卡那一栏不是红的应该就没有问题(我的电脑检查结果如下左图所示)。
按照 Workstation Installation 在 Omniverse Launcher 中顺次安装 Cache, Nucleus
中的内容。
注意:在安装 Isaac Sim 时候,一定要手动选择安装的版本为 4.0.0
(2024.6.6.的最新版本为 4.0.0
,这样才能和后续 Python 安装的保持一致)如下中,右两图所示:
需要注意的是如果你使用的是 zsh
代替了原始的 bash
终端,则需要按照 No module named ‘omni.isaac’ when using zshell instead of bash 中的方法,对 ${HOME}/.local/share/ov/pkg/isaac_sim-*
下的两个文件分别进行修改,setup_conda_env.sh
中的修改为:
setup_python_env.sh
中的修改为:
IsaacLab 安装
这里推荐使用 IsaacLab,这个是对 OmniIsaacGymEnvs 的改进版本,有详细的参考文档以及教学,可以直接参考 Installation using Isaac Sim Binaries 进行安装,不要使用Pip installation,因为这会重新下载Isaac Sim而且不完整,安装IsaacLab流程如下:
- 设置虚拟链接
ln -s ${HOME}/.local/share/ov/pkg/isaac-sim-4.2.0 _isaac_sim
(确定左侧路径就是你的isaac-sim安装位置,注意版本号) - 创建conda中的新环境
./isaaclab.sh --conda
(如果是zsh终端,需要先修改isaaclab.sh文件中19行附近的export ISAACLAB_PATH="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
为export ISAACLAB_PATH="$( cd "$( dirname "$0" )" && pwd )"
因为前面那个指令是bash中的,可能无法找到正确的路径)创建完成后,我们进入isaaclab环境后,使用isaaclab指令就相当于执行了./isaaclab.sh脚本了
conda activate isaaclab
安装训练框架isaaclab -i rl_games
,安装后可能还需要再装一次pip install rl_games
,可能是bug- 环境测试,我们直接执行训练样例代码,来自 IsaacSim - sample - Reinforcement Learning,我们使用第三个(因为它是可以使用GPU加速的),训练 cartpole 用时 45s,其他还有两个环境可以测试自带的环境请见 - Environments,训练 Ant 用时 2:42,下面以训练 Cartpole 为例:
Isaac Sim Docker 安装
我按照 Isaac Sim Container Installation 中的安装流程,基于 nvcr.io/nvidia/isaac-sim:4.0.0 安装了基础的 isaac-sim,我在其基础上配置了 conda, zsh, vim, tmux,...
,可以直接使用 IsaacLab
和 IsaacGymEnvs
。使用方法 docker pull wtyyy/isaacsim:latest
,执行
即可启动容器。
如果报错docker: Error response from daemon: unknown or invalid runtime name: nvidia.
,则需要安装nvidia-container-toolkit
,参考Install with apt,如果安装完成后还是报错,参考GitHub issus - Docker Error - Unknown or Invalid Runtime Name: Nvidia,修改/etc/docker/daemon.json
文件包含如下内容:
重启docker: