Bootstrap

legged gym(包含isaac gym)丝滑安装教程

Legged Gym(包含Isaac Gym)安装教程——Ubuntu22.04

参考了官方包括网上一堆教程,结合自己遇到的坑,整理了一个比较顺畅的流程,基础环境(例如miniconda或者CUDA)配好的情况下按照本教程安装异常顺畅。有任何问题欢迎反馈。(本教程基于Ubuntu22.04,Ubuntu其他版本也可参考)

Tip1: 【默认已经安装了conda,并且创建并进入了虚拟环境(推荐python版本:3.8),以下所有步骤均在虚拟环境中进行操作。】

Tip2: 【本教程不会展开其他相关安装,例如:如何安装miniconda,如何换源,如何安装CUDA,这种建议大家专门去找专门的安装教程,更细致也更全面,把这些东西放到本教程就有点喧宾夺主的感觉了(文化沙漠不太会用词)】

1. 安装Isaac Gym

1.1. 官网下载Isaac Gym文件包

Isaac Gym官网

下载后得到一个压缩包:IsaacGym_Preview_4_Package.tar.gz (建议下载最新版本)
解压后包括如下文件:

/assets
/docker
/docs
/licences
/python
/create_conda_env_rlgpu.sh
/READEME.md

1.2. 安装依赖:

→进入python文件夹(cd):

pip install -e .

注意:这里要进入你要用的conda的虚拟环境里安装,后面所有步骤同理。

1.3. 运行演示:

→进入python/examples文件夹(cd):

python 1080_balls_of_solitude.py

出现仿真画面说明安装完成。

1.4. 可能的报错:

ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or dire
解决方案
(参考文章:解决安装IsaacGym报错ImportError: libpython3.8.so.1.0: cannot open shared object file: No such file or dire

1.4.1. 确定 libpython3.8.so.1.0位置,判断是否真的缺失
sudo updatedb
locate libpython3.8.so.1.0

→ 如果并没有缺失(大概率应该是没缺失),并且是在conda虚拟环境中安装的话应该位于这个目录:
$CONDA_PREFIX/lib
其中$CONDA_PREFIX是当前虚拟环境位置,在激活你的虚拟环境后可以通过echo $CONDA_PREFIX查看

→ 如果系统中真的缺失这个lib文件:去其他地方下载或者通过安装python38-dev等方式找回。

1.4.2. 没有缺失仍报错时在conda环境下解决方法(进入虚拟环境)

先创建文件:

cd $CONDA_PREFIX
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh

编辑文件内容:

  • sudo nano ./etc/conda/activate.d/env_vars.sh
    添加:
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CONDA_PREFIX/lib
    
  • sudo nano ./etc/conda/deactivate.d/env_vars.sh
    添加:
    # 保存原始的 LD_LIBRARY_PATH
    ORIGINAL_LD_LIBRARY_PATH=$LD_LIBRARY_PATH
    
    # 要删除的目录
    DIRECTORY_TO_REMOVE="$CONDA_PREFIX/lib"
    
    # 使用 grep 过滤掉要删除的目录项
    NEW_LD_LIBRARY_PATH=$(echo $LD_LIBRARY_PATH | tr ':' '\n' | grep -v "$DIRECTORY>
    
    # 设置新的 LD_LIBRARY_PATH
    export LD_LIBRARY_PATH=$NEW_LD_LIBRARY_PATH
    
    # 如果需要输出变化,可以打印出来
    #echo "Original LD_LIBRARY_PATH: $ORIGINAL_LD_LIBRARY_PATH"
    #echo "New LD_LIBRARY_PATH:      $LD_LIBRARY_PATH"
    

2. 安装legged gym

2.1. 安装pytorch和cuda:

★★【强烈建议自行安装自己的显卡对应的版本】★★

①先安装cuda,自行寻找详细的相关教程

②安装cuda对应版本的torch:
(参考:报错:RuntimeError: CUDA error: no kernel image is available for execution on the device

去pytorch官网下载与安装cuda版本最接近的pytorch:pytorch官网

官网内容如下:

# CUDA 11.8
conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 pytorch-cuda=11.8 -c pytorch -c nvidia
# CUDA 12.1
conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 pytorch-cuda=12.1 -c pytorch -c nvidia
# CPU Only
conda install pytorch==2.3.0 torchvision==0.18.0 torchaudio==2.3.0 cpuonly -c pytorch

【Tips】: 安装匹配的torch版本和cuda版本,否则运行时会报如下错误:
RuntimeError: CUDA error: no kernel image is available for execution on the device

  • 官方教程安装版本:Install pytorch 1.10 with cuda-11.3(不推荐),安装指令如下:(再说一遍不推荐)
  •  pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
    

2.2. 安装rsl_r

2.2.1. clone项目

→进入issacgym文件夹(cd):

Clone https://github.com/leggedrobotics/rsl_rl
2.2.2. 安装依赖

→进入rsl_r文件夹(cd):

pip install -e .

2.3. 安装legged_gym

2.3.1. clone项目

→进入issacgym文件夹(cd):

Clone https://github.com/leggedrobotics/legged_gym
2.3.2. 安装依赖

→进入legged_gym文件夹(cd):

pip install -e .

2.4. 运行leggedgym示例

python legged_gym/scripts/train.py --task=anymal_c_flat

2.5. 可能的报错:

AttributeError: module 'numpy' has no attribute 'float'.`np.float` was a deprecated alias for the builtin `float`.
解释:这个问题是由于使用了已弃用的NumPy别名np.float. 在NumPy 1.20.0及以后的版本中,使用内置Python类型(如float)的别名已经不再被支持。

2.5.1. 解决方案1: 降级Numpy版本:

降级Numpy版本(推荐)

pip uninstall numpy
pip install numpy==1.19.5

【Tips】 matplotlib 3.7.5 需要 numpy 的版本在 1.20 以上,而安装的 numpy 版本是 1.19.5,这导致了版本不兼容的问题。所以需要同时降级 matplotlib 到一个早期版本,与 NumPy 1.19.5 兼容。

pip install matplotlib==3.6.3  
2.5.2. 解决方案2: 将rsl_rl切换到v1.0.2版本(目前最新是v2.0.0)
(该方法暂时没有试过,不保证能解决,或者有试过的可以给我反馈一下)

进入release界面:rsl_rl-releases 下载v1.0.2版本

\
\-----------------------------------------------分割线-------------------------------------------------------
\

·Tips:其他可能的报错,例如没按xxx包:ModuleNotFoundError: No module named 'tensorboard'
解决:缺什么安什么

pip install tensorboard

·Tips:如果在在安装过程中还遇到了其他问题,或者是其他版本的Ubuntu,可以去其他帖子找找看看:

ubuntu 18.04 搭建isaacgym学习环境,并运行legged_gym
issacgym+leggedgym安装

;