Legged Gym(包括Isaac Gym)安装指南:流畅操作教程

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

    1. 安装Isaac Gym
    1. 安装legged gym
  • 2.1. 安装pytorch和cuda:
  • 2.2. 安装rsl_r
  • 2.3. 安装legged_gym
  • 参考了官方包括网上一堆教程,结合自己遇到的坑,整理了一个比较顺畅的流程,基础环境(例如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安装

    作者:littlewells

    物联沃分享整理
    物联沃-IOTWORD物联网 » Legged Gym(包括Isaac Gym)安装指南:流畅操作教程

    发表回复