Ubuntu 本地及服务器安装 Isaac Sim

Isaac Sim 本地安装

Isaac Sim 环境是曾经 Isaac Gym 的上位版本,他们都是用来做机器人仿真环境训练的,适合用于虚实迁移任务,特点为及其高效,因为仿真环境与训练的模型都是在 GPU 上完成。IsaacLab 则是通过 Python 语言将 Isaac Sim 中的环境创建为 Gym 接口,从而直接应用于强化学习算法中。

而 Isaac Sim 现在作为 Omniverse Platform 中的一部分,我们需要先安装 Omniverse 因此我们的安装顺序

  1. Omniverse Launcher (Omniverse 可视化界面)
  2. Isaac Sim Compatibility Checker (检查电脑是否支持 Isaac Sim)
  3. 使用 Omniverse Launcher 安装一些基础包
  4. 使用 Omnvierse Launcher 安装 Isaac Sim
  5. IssaLab (配置使 Isaac Sim 成为 Python 中仿真环境接口)

在官方给出的安装教程中,只需完成 Isaac Sim RequirementsWorkstation Installation 两步,对于 Python 的 Python Environment Installation,由于其对 Conda 环境中 Python 配置介绍不详细,因此我们按照 IssacLab 中方法进行配置更为方便!

安装 Omniverse Launcher

Omniverse Launcher 下载链接填写好你的信息就能下载了,最好注册一个 Nvidia 账号,这样可以保存你的填写的信息,选择 Linux 下载(我这里是第三行):
Omniverse Launcher下载位置

下载后我们可以得到一个 omniverse-launcher-linux.AppImage 软件,把这个软件放到一个固定的位置,因为第一次运行时会在菜单中创建当前位置的快捷方式。安装方法:进入到该文件夹下,执行下述代码开始安装

sudo chmod +x omniverse-launcher-linux.AppImage
# 如果你有 Clash 代理的话可以加上 --proxy-server={IP}:{PORT}
./omniverse-launcher-linux.AppImage --no-sandbox --proxy-server=127.0.0.1:7890

安装 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 安装的保持一致)如下中,右两图所示:

IsaacLab 安装

这里推荐使用 IsaacLab,这个是对 OmniIsaacGymEnvs 的改进版本,有详细的参考文档以及教学,可以直接参考 Installation using Isaac Sim Binaries 进行安装。

环境测试,我们直接执行训练样例代码,来自 IsaacSim - sample - Reinforcement Learning,我们使用第三个(因为它是可以使用GPU加速的),训练 cartpole 用时 45s,其他还有两个环境可以测试自带的环境请见 - Environments,训练 Ant 用时 2:42,下面以训练 Cartpole 为例:

# install python module (for rl-games),安装 rl-games
./isaaclab.sh -i rl_games
# run script for training(如果使用的是 conda 进行的安装,使用 python 和 ./isaaclab.sh -p 是一样的)
python source/standalone/workflows/rl_games/train.py --task Isaac-Cartpole-v0 --headless
./isaaclab.sh -p source/standalone/workflows/rl_games/train.py --task Isaac-Cartpole-v0 --headless
# run script for playing with 32 environments,模型权重保存在 /IsaacLab/logs/rl_games 下,例如我的就是如下位置
./isaaclab.sh -p source/standalone/workflows/rl_games/play.py --task Isaac-Cartpole-v0 --num_envs 32 --checkpoint /home/yy/Coding/GitHub/IsaacLab/logs/rl_games/cartpole/2024-06-18_22-12-56/nn/last_cartpole_ep_150_rew__4.6873245_.pth

Isaac Sim Docker 安装

我按照 Isaac Sim Container Installation 中的安装流程,基于 nvcr.io/nvidia/isaac-sim:4.0.0 安装了基础的 isaac-sim,我在其基础上配置了 conda, zsh, vim, tmux,...,可以直接使用 IsaacLabIsaacGymEnvs。使用方法 docker pull wtyyy/isaacsim:latest,执行

docker run --name isaac-sim --entrypoint zsh -it --runtime=nvidia --gpus all -e "ACCEPT_EULA=Y" --rm --network=host \
    -v ~/docker/isaac-sim/cache/kit:/isaac-sim/kit/cache:rw \
    -v ~/docker/isaac-sim/cache/ov:/root/.cache/ov:rw \
    -v ~/docker/isaac-sim/cache/pip:/root/.cache/pip:rw \
    -v ~/docker/isaac-sim/cache/glcache:/root/.cache/nvidia/GLCache:rw \
    -v ~/docker/isaac-sim/cache/computecache:/root/.nv/ComputeCache:rw \
    -v ~/docker/isaac-sim/logs:/root/.nvidia-omniverse/logs:rw \
    -v ~/docker/isaac-sim/data:/root/.local/share/ov/data:rw \
    -v ~/docker/isaac-sim/documents:/root/Documents:rw \
    wtyyy/isaacsim:latest

即可启动容器。


Ubuntu 本地及服务器安装 Isaac Sim
https://wty-yy.github.io/posts/7379/
作者
wty
发布于
2024年6月18日
许可协议