isaac gym 和 legged gym 环境搭建记录

今天使用fanziqi大佬的rl_docker搭建了一个 isaac gym下的四足机器人训练环境,成功运行legged gym项目下的例子,记录一下搭建流程

基础配置

  • Operating System: Ubuntu 22.04.5 LTS
  • Kernel: Linux 6.8.0-49-generic
  • Architecture: x86-64
  • Hardware Vendor: MECHREVO
  • Hardware Model: Yaoshi15Pro Series GM5IX0A

ubuntu下可使用 hostnamectl 查看配置。

1. 切换为国内系统源

使用 fishros大佬的一键安装脚本,里面有对于的自动识别并更换最快的国内系统源
使用命令:

wget http://fishros.com/install -O fishros && . fishros

然后安装出现的选项选择更换系统源即可。

2. 检查nvidia驱动和cuda版本

nvidia-smi

!![[Pasted image 20241206232824.png|800]]

我这里使用 Driver Version: 550.120 CUDA Version: 12.4 可以成功运行 isaac gym的例程。

注意,我一开始是参考csdn一篇文章手动安装的nvidia驱动,后面运行的时候会出现问题。解决方法看后面 尝试了降低版本依然不可以,出现了以下错误:

输入命令:nvidia-smi 出现:

Failed to initialize NVML: Driver/library version mismatch NVML library version: 550.120

在网上查找了很多方法,总结如下:(虽然没解决问题, 但是学习了其他情况下的解决办法和一些linux下的指令)

  1. 查看驱动和内核版本是否对应,有时内核版本自动更新会导致 nvidia-smi 打不开的情况
 cat /proc/driver/nvidia/version 

![[Pasted image 20241206234151.png|800]]

dpkg -l | grep nvidia-driver

![[Pasted image 20241206234449.png|800]]

如果驱动和内核版本不对应,只需要将驱动升级到和内核一样的版本即可。
参考# 如何在Ubuntu系统中彻底卸载和删除NVIDIA显卡驱动程序# nvidia-smi is returning “NVML: Driver/library version mismatch”.

  1. 彻底删除和卸载所有nvidia显卡驱动程序
sudo apt-get --purge remove "*nvidia*" 
sudo apt-get --purge remove "*libnvidia*"
sudo apt-get --purge remove cuda
sudo apt autoremove

如果使用了手动安装驱动,即./NVIDIA-xxx-.run 则使用:

sudo NVIDIA-Linux-x86_64-<version>.run --uninstall

<version>替换为你的驱动版本号。

参考链接:# 如何在Ubuntu系统中彻底卸载和删除NVIDIA显卡驱动程序

  1. 关闭驱动内核
sudo systemctl stop gdm 
sudo rmmod nvidia_uvm  
sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia

3. 安装 rl_docker rsl-rl legged_gym isaacgym

  1. 安装 rl_docker
    https://github.com/fan-ziqi/rl_docker/blob/main/README_CN.md
  • 修改docker/Dockerfile文件中的第一句为:

    nvcr.io/nvidia/pytorch:22.12-py3
    
  • run.sh中加入 chmod +x ${SCRIPTROOT}/…/rl_docker/setup.sh

  • Dockerfile中如果:

RUN apt-get install -q -y --no-install-recommends wget \
&& wget http://archive.ubuntu.com/ubuntu/pool/main/c/ca-certificates/ca-certificates_20240203~20.04.1_all.deb \
&& dpkg -i ./ca-certificates_20240203~20.04.1_all.deb

出现错误,在官网查找最新的连接即可。

  1. 在使用 rl_docker中的bash build.sh之前,先安装 rsl-rl legged_gym isaacgym.
    1. rsl_rl 要安装旧版本 Pre-Release v1.0.2
      ![[Pasted image 20241207002449.png|800]]
    2. legged_gym安装
      https://github.com/leggedrobotics/legged_gym
    3. isaacgym安装
      https://developer.nvidia.com/isaac-gym/download
      最终文件结构如下:
      ![[Pasted image 20241207003019.png]]
      继续按照rl_docker中步骤进行即可

4. 例程运行

  1. 运行 isaacgym程序:
    rl_ws下执行 cd ./isaacgym/python/examples/ && python ./joint_monkey.py
    结果如下:
    ![[Pasted image 20241207003827.png|1000]]则成功安装isaacgym.
  2. 运行legged_gym程序
    rl_ws下执行 cd ./legged_gym/ && python legged_gym/scripts/train.py --task=anymal_c_flat --num_envs=1024
    结果如下:
    ![[Pasted image 20241207004722.png|1000]]

参考连接:# 强化学习仿真器Isaac Gym的安装与配置

### 安装 Isaac Gym Environments for Legged Robots #### 环境需求 为了成功安装 Isaac Gym Environments for Legged Robots,需满足以下硬件软件要求: - **操作系统**: Ubuntu 18.04 或更高版本[^3]。 - **GPU 支持**: 需要具备 CUDA 计算能力 >=7.5 的 NVIDIA 显卡[^2]。 - **CUDA cuDNN 版本**: 推荐使用与 PyTorch 兼容的 CUDA 版本 (通常为 CUDA 11.x)。 #### 软件依赖项 以下是必要的依赖库及其安装方法: - **NVIDIA Isaac Gym**: 参考官方 GitHub 页面下载预览版并完成安装。 - **PyTorch**: 使用 `conda` 创建虚拟环境,并通过以下命令安装兼容版本的 PyTorch: ```bash conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch -c nvidia ``` - **其他 Python 库**: 包括 NumPy, Matplotlib, SciPy 等常用科学计算工具。可以通过 pip 安装这些包: ```bash pip install numpy matplotlib scipy ``` #### 安装步骤概述 按照以下流程逐步设置开发环境: 1. 下载并解压 Isaac Gym 发布文件至目标目录: ```bash wget https://developer.nvidia.com/isaac-gym-preview-release tar -xvzf isaacgym.tar.gz ``` 2. 设置环境变量以便加载共享库: 将路径加入 `.bashrc` 文件中: ```bash export ISAAC_GYM_PATH=/path/to/isaac_gym export PYTHONPATH=$ISAAC_GYM_PATH/python:$PYTHONPATH source ~/.bashrc ``` 3. 克隆 Legged Gym 存储库作为高级接口层: ```bash git clone https://github.com/NVlabs/LeggedGym.git cd LeggedGym python setup.py develop ``` 4. 测试安装是否正常工作: 启动一个简单的模拟场景验证配置无误: ```python from legged_gym.envs import Anymal_C_Slope_Terrain_Env env = Anymal_C_Slope_Terrain_Env() obs = env.reset() done = False while not done: action = env.action_space.sample() obs, reward, done, info = env.step(action) ``` 以上过程涵盖了从基本物理引擎到特定机器人学习框架的整体搭建指南[^1][^3]。 #### 注意事项 确保所有组件版本匹配良好;任何不一致都可能导致运行时错误或性能下降。此外,在实际部署前还需充分测试不同条件下的稳定性表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值