Isaac Gym安装及使用教程

引言:在机器人任务训练过程中,仿真平台是至关重要的工具,它不仅能加速算法验证,还能减少实际硬件的消耗和风险。目前,主流的机器人仿真平台包括 Isaac SimIsaac GymPyBulletMuJoCo,它们各具优势,适用于不同的应用场景。其中,Isaac Gym 以其高效的 GPU 加速能力和大规模并行仿真性能,成为强化学习训练和机器人控制研究的重要选择。 本文将详细介绍 Isaac Gym 的安装过程。

仿真平台对比

平台优点缺点适用场景
Isaac Sim- 提供真实物理引擎和高质量渲染,适合机器人与环境的交互模拟。
- 完全集成 NVIDIA 硬件和软件,支持 GPU 加速和深度学习任务。
- 强大的 API 支持,兼容 ROS。
- 安装和配置复杂,需特定 NVIDIA GPU 和驱动。
- 高硬件要求,尤其在图形渲染方面。
- 机器人开发、测试和模拟。
- 深度学习算法训练,尤其是高质量图形渲染任务。
Isaac Gym- 高效 GPU 加速,支持大规模并行仿真任务。
- 专注于强化学习训练,适用于物理模拟与优化。
- 与 NVIDIA 深度学习工具集成,提供更强的计算性能。
- 界面简单,缺乏高级图形渲染。
- 依赖 CUDA 的硬件,仅支持 NVIDIA GPU。
- 强化学习训练,尤其是大规模并行仿真。
- 机器人控制策略优化,数据驱动方法。
PyBullet- 轻量级,易用,适合快速原型开发。
- 支持多种机器人模型和物理仿真。
- 提供 Python API,易于与机器学习框架集成。
- 图形渲染和仿真精度较低,不适合复杂环境模拟。
- 相对于其他平台,缺乏高级功能和并行支持。
- 机器人控制、运动学和动力学研究。
- 机器学习中的仿真与强化学习应用。
- 学术研究和教育中的快速验证。
MuJoCo- 高效的物理引擎,提供精确的刚体动力学模拟。
- 支持多种控制任务,适用于复杂的机器人控制。
- 提供高效的图形渲染,适合精确的仿真。
- 需要付费许可证,商业版本相对较贵。
- 相比其他平台,开源社区和文档支持较小。
- 机器人控制与运动学研究,尤其在精确动力学模拟中。
- 强化学习任务,涉及复杂控制和仿真。

1. Isaac Gym环境安装

1.1 下载

IsaacGym_Preview_4_Package下载地址

Nvidia官方最低配置要求

  • Ubuntu 18.04, or 20.04.
  • Python 3.6, 3.7, or 3.8
  • NVIDIA driver version: 470.74 (470 or above required)
  • Minimum required hardware: NVIDIA Pascal or later GPU with at least 8gb of VRAM
    在这里插入图片描述
    然后我们对上面所下载的压缩包进行解压缩即可,将会得到 isaacgym 文件夹,目录结构如下图。

解压缩相关命令

# 解压到当前目录
tar -zxvf IsaacGym_Preview_4_Package.tar.gz
# 解压到指定目录下
tar -zxvf IsaacGym_Preview_4_Package.tar.gz -C 目标目录

在这里插入图片描述

1.2 安装

Isaac Gym安装的相关指令

# 进入到指定目录下
 cd isaacgym/python/
# 运行官方安装脚本 创建 名为rlgpu的 conda环境
 sh ../create_conda_env_rlgpu.sh
# 注:若使用上述 sh 运行脚本时出现语法错误 则可以使用 bash 进行替换
 bash ../create_conda_env_rlgpu.sh

注:此过程可能会有些慢,耐心等待一会~

Isaac Gym安装conda环境可能出现的问题及解决办法
执行上述指令之后可能会出现如下问题

~/autodl-tmp/isaacgym/python ~/autodl-tmp/isaacgym/python
Collecting package metadata (repodata.json): - WARNING conda.models.version:get_matcher(537): Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.8.0.*, but conda is ignoring the .* and treating it as 1.8.0
WARNING conda.models.version:get_matcher(537): Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.6.0.*, but conda is ignoring the .* and treating it as 1.6.0
WARNING conda.models.version:get_matcher(537): Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1.7.1.*, but conda is ignoring the .* and treating it as 1.7.1
WARNING conda.models.version:get_matcher(537): Using .* with relational operator is superfluous and deprecated and will be removed in a future version of conda. Your spec was 1-9.0.*, but conda is ignoring the .* and treating it as 1.9./done  
Solving environment : / 一直在解决环境解析依赖 转圈 

如果安装速度很慢,解决办法如下,使用 mamba(一个更快的conda替代品) 来进行加速安装。

# 安装 mamba(如果未安装)
conda install -n base -c conda-forge mamba -y
# 使用 mamba 加速安装(如果已安装 mamba)
mamba env create -f rlgpu_conda_env.yml

2. Isaac Gym测试是否可用

上述指令执行成功之后,会创建一个名为rlgpu的新环境。然后我们将进行测试isaac gym是否可以使用。

# 激活 rlgpu 环境
conda activate rlgpu
# 进入 examples 目录下
cd examples 
# 执行某个 py 文件
python joint_monkey.py

此时,可能出现的问题如下

问题1 —> 报错 isaacgym 模块 找不到
问题2,见下图 —> 在这里插入图片描述
解决问题1

cd isaacgym/python/
pip install -e .

解决问题2

# 1. 检查 Isaac Gym 依赖库 会发现libcarb.gym.plugin.so 依赖的 
# libmem_filesys.so、libboost_thread.so.1.68.0 和 
# libboost_system.so.1.68.0 没有找到,导致 gymapi.acquire_gym() 失败。
ldd ~/lty/isaacgym/python/isaacgym/_bindings/linux-x86_64/libcarb.gym.plugin.so

在这里插入图片描述在这里插入图片描述

# 2. 手动添加 libmem_filesys.so 到 LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/a3090/lty/isaacgym/python/isaacgym/_bindings/linux-x86_64
# 3. 然后再检查
ldd ~/lty/isaacgym/python/isaacgym/_bindings/linux-x86_64/libcarb.gym.plugin.so
# 4. 持久化 LD_LIBRARY_PATH 避免重启后需要重新配置 可以把 LD_LIBRARY_PATH 写入 ~/.bashrc
echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/a3090/lty/isaacgym/python/isaacgym/_bindings/linux-x86_64' >> ~/.bashrc
source ~/.bashrc

在这里插入图片描述
在这里插入图片描述

# 5. 重新运行 joint_monkey.py 看看是否解决 如果成功 会出现如下图形界面
python joint_monkey.py

在这里插入图片描述

3. 相关知识点

3.1 Mamba vs Conda

mambaconda 的一个高性能替代方案,由 conda-forge 社区开发,目标是解决 conda 在包解析和安装速度方面的不足。

1. Conda vs Mamba 简介

🔹 Conda

  • conda 是一个开源的包管理和环境管理工具,主要用于 Python 和其他语言的依赖管理。
  • 通过解析 AnacondaMiniconda 的软件包,并自动解决依赖关系。

🔹 Mamba

  • mambacondaC++ 重写版本,大幅提高了解析和安装速度。
  • 兼容 conda,但性能更优,特别适用于大规模环境管理。

2. Mamba 主要优势

速度更快

  • mamba 采用 libsolv(一个高效的依赖解析库),能更快地解析包依赖。
  • mamba 采用并行下载,提高安装效率。

更稳定

  • 避免 conda 解析冲突导致的 “Solving environment: failed” 错误。
  • 适用于复杂环境和大规模软件安装。

更少的资源占用

  • mamba 使用 C++ 开发,而 conda 主要基于 Python,运行时占用更少资源。

兼容性强

  • mamba 100% 兼容 conda 命令,只需用 mamba 替换 conda 即可。
  • 适用于 conda 生态,如 conda-forgebiocondanvidia 频道等。

支持 micromamba(轻量级版本)

  • micromambamamba 的精简版,不依赖 conda,适用于容器和自动化任务。

3. Mamba 和 Conda 命令对比

使用 mamba 的方式与 conda 一样,只需把 conda 替换成 mamba

操作Conda 命令Mamba 命令
创建环境conda create -n myenv python=3.9 -ymamba create -n myenv python=3.9 -y
激活环境conda activate myenvmamba activate myenv
安装包conda install numpy pandas -ymamba install numpy pandas -y
更新包conda update numpy -ymamba update numpy -y
移除包conda remove numpy -ymamba remove numpy -y
删除环境conda remove -n myenv --all -ymamba remove -n myenv --all -y
列出已安装包conda listmamba list
搜索包conda search numpymamba search numpy

4. Mamba vs Conda 总结(表格对比)

特性CondaMamba
速度慢,解析依赖时间长快,使用 libsolv 解析
稳定性复杂环境下可能解析失败依赖解析更可靠
并行下载是,速度更快
资源占用较高较低
兼容性适用于 conda 生态100% 兼容 conda
支持微型版本micromamba(适用于容器)
推荐场景一般用户需要高效环境管理的用户

5. 什么时候应该使用 Mamba?

  • 环境安装速度慢conda env create 时间过长)。
  • 安装大规模依赖(如 pytorchtensorflowcuda 等)。
  • 解决 Conda 解析失败问题(避免 Solving environment: failed)。
  • 在 Docker 容器或自动化任务中使用micromamba 适用于轻量级环境)。

3.2 GPU使用情况查看

观察nvidia-smi实时变化

# 这会每秒刷新 nvidia-smi ,如果你运行深度学习或 GPU 仿真任务,可以实时看到
# GPU-Util 和 Memory-Usage 变化。如果 GPU-Util 上升到 50%甚至100%,
# 说明GPU正在高负载运行。按Ctrl+C退出。
watch -n 1 nvidia-smi

在这里插入图片描述

3.3 CUDA版本查看

# 检查所安装的 CUDA 版本
nvcc -V

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值