Ubuntu20.04本地配置IsaacLab的G1训练环境(一)
- 配置Omniverse环境
- 配置IsaacSim
- 配置IsaacLab
写在前面,如果Ubuntu剩余空间低于60G,则空间不足,除非你不需要资产包。但资产包中却包含了G1模型、Go2模型等机器人模型和代码,是必不可少的。
另外,IsaacLab是基于IsaacSim的进一步开发,因此在安装IsaacLab前要先安装IsaacSim。
配置Omniverse环境
从官网下载omniverse launcher运行文件(Direct Link: Linux)
运行omniverse-launcher文件,登录Nvidia账号,按照引导选择,进入Omniverse主界面。
同意相关协议
按照默认设置路径:
下载omniverse nucleus navigator:
选择导航栏的交易所(exchange)目录下搜索nucleus navigator进行安装:
安装完成后,点击图书馆(Library)->nucleus navigator->启动(launch),启动导航工具:
点击创建本地服务器(create local server)->next->填入个人信息,完成本地服务器的初始设置。
这里,账户的创建建议用admin,密码admin(其他也可以),其他自行填写。
创建完成且安装完成后结果如下:
配置IsaacSim
进入omniverse的交互所(exchange)界面,选择IsaacSim,点击外部链接:
随后会跳转到浏览器链接中,然后选择4.2.0,Linux版本,下载。(对于这一步,跟之前的版本有所不同,之前不存在外部链接,而是直接安装。现在只能选择外部链接。)
下载完成后将压缩包解压至/home/xx(你自己的用户名)/.local/share/ov/pkg/isaac-sim-4.2.0。这一步中,若不存在isaac-sim-4.2.0文件夹,则创建一个,并将文件解压进去。
然后,新开一个终端,执行:
sudo gedit ~/.bashrc
并在最下面写入:
export ISAACSIM_PATH="${HOME}/.local/share/ov/pkg/isaac-sim-4.2.0"
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"
关闭bashrc文件,回到终端,执行:
source ~/.bashrc
cd ~/.local/share/ov/pkg
python3 -m pip install --upgrade pip
sudo apt-get update && sudo apt-get install -y git
git clone https://github.com/isaac-sim/IsaacLab.git # 若下载失败,可采用git镜像git clone https://kkgithub.com/isaac-sim/IsaacLab.git
cd IsaacLab
gedit isaaclab.sh
在sh文件上方,命令“export ISAACLAB_PATH=“ ( c d " ( cd " (cd"( dirname “${BASH_SOURCE[0]}” )” &> /dev/null && pwd )"”之前添加代码:
source ~/.local/share/ov/pkg/isaac-sim-4.2.0/setup_conda_env.sh
而后,关闭文件,在终端中执行:
source ~/.bashrc
# 创建符号链接
ln -s ~/.local/share/ov/pkg/isaac-sim-4.2.0 _isaac_sim
# 配置conda环境
./isaaclab.sh --conda
# 激活虚拟环境,环境名称默认为isaaclab,若指定名称,则执行 ./isaaclab.sh --conda my_env
conda activate isaaclab
# 安装
conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.7 -c pytorch -c nvidia
pip install stable-baselines3==2.0.0 tensorboard==2.11.0 tensorboard-plugin-wit==1.8.1 protobuf==3.20.3
sudo apt install cmake build-essential
验证是否安装成功,终端执行:
python ${ISAACSIM_PATH}/standalone_examples/api/omni.isaac.core/add_cubes.py
若出现如下图所示界面以及终端输出,说明isaacsim安装成功。
配置IsaacLab
进入~/.local/share/ov/pkg/IsaacLab目录,在该目录下打开终端,执行:
./isaaclab.sh --install
这一步会安装需要的环境,其中有三个git网站会进行访问,若出现某git网站无法访问之类的报错,纯属网络问题。建议使用vscode打开~/.local/share/ov/pkg文件夹,然后搜索github,并替换成kkgithub(github镜像)。再次执行上述命令,待安装完成后再替换回github。
不出意外的话就要出意外了,出现rsl-rl找不到匹配版本的问题。
执行:
pip install "git+https://github.com/leggedrobotics/rsl_rl.git"
然后,启动isaaclab:
./isaaclab.sh -s
这里的启动会比较费时,只有在最后出现了Isaac Sim App is loaded.才说明启动成功。
随后,下载本地资产包Assets,资产包是在之前外部链接的页面下载的:
配置资产包,在IsaacLab的启动界面中,在下方导航栏的Content中找到Omniverse/localhost/Library,在Library目录下创建NVIDIA文件夹(若不存在NVIDIA),并在NVIDIA文件夹内添加下载的Assets资产包到该位置(右键Upload Files or Folder)。
右下角Import导入。等待导入完成,关闭界面,回到终端,执行:
bash isaac-sim.sh --/persistent/isaac/asset_root/default="omniverse://localhost/Library/NVIDIA/Assets"
该命令的目的是用于指定默认的资产路径。为验证是否设置成功,在打开的IsaacSim界面中,导航栏进行如图所示选择:
显示:
这里显示虽然不是刚刚导入的路径,但实际上是没有问题的。
随后,找到~/.local/share/ov/pkg/IsaacLab/source/extensions/omni.isaac.lab/omni/isaac/lab/app/app_launcher.py文件,并将其中第683行的路径改为:
"omniverse://localhost/Library/NVIDIA/Assets/Isaac/4.2"
然后测试,在IsaacLab目录下,conda虚拟环境中执行:
./isaaclab.sh -p source/standalone/demos/quadrupeds.py
# 或者执行
# python source/standalone/demos/quadrupeds.py
出现四足机器人,说明成功: