Ubuntu20.04本地配置IsaacLab 4.2.0的G1训练环境(一)

Ubuntu20.04本地配置IsaacLab的G1训练环境(一)

写在前面,如果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文件夹,则创建一个,并将文件解压进去。

然后,新开一个终端,执行:

bash 复制代码
sudo gedit ~/.bashrc

并在最下面写入:

bash 复制代码
export ISAACSIM_PATH="${HOME}/.local/share/ov/pkg/isaac-sim-4.2.0"
export ISAACSIM_PYTHON_EXE="${ISAACSIM_PATH}/python.sh"

关闭bashrc文件,回到终端,执行:

bash 复制代码
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_SOURCE0}" )" &> /dev/null && pwd )""之前添加代码:

bash 复制代码
source ~/.local/share/ov/pkg/isaac-sim-4.2.0/setup_conda_env.sh

而后,关闭文件,在终端中执行:

bash 复制代码
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

验证是否安装成功,终端执行:

bash 复制代码
python ${ISAACSIM_PATH}/standalone_examples/api/omni.isaac.core/add_cubes.py

若出现如下图所示界面以及终端输出,说明isaacsim安装成功。

配置IsaacLab

进入~/.local/share/ov/pkg/IsaacLab目录,在该目录下打开终端,执行:

bash 复制代码
./isaaclab.sh --install

这一步会安装需要的环境,其中有三个git网站会进行访问,若出现某git网站无法访问之类的报错,纯属网络问题。建议使用vscode打开~/.local/share/ov/pkg文件夹,然后搜索github,并替换成kkgithub(github镜像) 。再次执行上述命令,待安装完成后再替换回github

不出意外的话就要出意外了,出现rsl-rl找不到匹配版本的问题。

执行:

bash 复制代码
pip install "git+https://github.com/leggedrobotics/rsl_rl.git"

然后,启动isaaclab:

bash 复制代码
./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 复制代码
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行的路径改为:

bash 复制代码
"omniverse://localhost/Library/NVIDIA/Assets/Isaac/4.2"

然后测试,在IsaacLab目录下,conda虚拟环境中执行:

bash 复制代码
./isaaclab.sh -p source/standalone/demos/quadrupeds.py
# 或者执行
# python source/standalone/demos/quadrupeds.py

出现四足机器人,说明成功:

相关推荐
Eloudy9 小时前
Ubuntu 22.04 从源码编译安装 ROS 2 Jazzy 笔记
linux·笔记·ubuntu
云空1 天前
《XUbuntu 终端完整命令大全》
linux·前端·chrome·ubuntu·xubuntu
北城笑笑1 天前
Server 18 ,Nginx + Vite 前端部署排错实战:从 `/api/gpt/chat` 404 到 9012 后端服务的完整定位过程
linux·运维·前端·nginx·ubuntu·vue
小小的木头人1 天前
Ubuntu 20.04 离线安装最新版 Firefox 浏览器
ubuntu·firefox
时空无限2 天前
ubuntu dpkg -l 输出第一列解释
linux·运维·ubuntu
叮咚侠2 天前
Ubuntu 24.04 安装zabbix-agent 5.0 服务
linux·ubuntu·zabbix·zabbix-agent
bosins2 天前
将 Hyper-V 上的 Ubuntu 虚拟机内容迁移到 WSL (Windows Subsystem for Linux) 中
linux·windows·ubuntu
Matt今年18岁2 天前
自动检测校园网状态,自动联网并恢复 Ubuntu 下的 ToDesk 连接
运维·服务器·开发语言·pytorch·python·ubuntu
王坊兴2 天前
Ubuntu 部署产品原型静态服务器:SFTP + Nginx
服务器·nginx·ubuntu
breeze jiang2 天前
TypeScript 工具类型怎么记:从 Pick、Omit 到 keyof 与 Exclude 推导
linux·ubuntu·typescript