Isaac Gym学习笔记——概述

介绍

  • Isaac Gym 允许开发人员为基于物理的系统试验端到端 GPU 加速 RL。在 Isaac Gym 中,仿真可以在 GPU 上运行,并将结果存储在 GPU 张量中,而不是将它们复制回 CPU 内存。其提供了一个基于张量的 API 来访问这些结果,允许在 GPU 上进行 RL 观察和奖励计算。

  • 这种组合可以在单个GPU上同时模拟数千个环境,从而可以在单个工作站上运行以前可能需要整个数据中心运行的实验。

  • Isaac Gym包括一个基本的PPO实现和一个可以直接与之一起使用的RL任务系统,但用户可以根据需要替换替代任务系统和RL算法。

Issac Gym的核心功能:

  • 支持导入 URDF 和 MJCF 文件

  • GPU 加速张量 API,用于评估环境状态和应用操作

  • 支持各种环境传感器 ------位置、速度、力、扭矩等

  • 物理场参数的运行时域随机化

  • 雅可比/反向运动学支持

相关资源:

快捷键:

复制代码
TAB:显示/隐藏侧边栏
R:重置仿真器
F11:全屏
Mouse:控制相机视角

安装

环境配置:

  • Ubuntu 18.04 或 20.04
  • Python 3.6、3.7 或 3.8(recommended)
  • 最低 NVIDIA 驱动程序版本:linux 470以上

安装步骤

  1. 准备工作

下载并安装Isaac Gym的依赖项:

  • 首先,安装Isaac SDK。请参考官方文档
  • 安装OpenGL和其他必要的系统依赖项。可以使用以下命令在Ubuntu上安装:
bash 复制代码
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
  1. 创建虚拟环境(conda),在根目录运行
bash 复制代码
./create_conda_env_rlgpu.sh

如果要更改env名称,可以编辑python/rlgpu_conda_env.yml中的ENV_NAME后再运行上述命令

如果已经创建好了python环境,可以直接运行如下命令,多个环境使用需要在每个环境中重新运行该命令

bash 复制代码
pip install -e .
pip uninstall isaacgym #卸载
pip show isaacgym #验证已安装软件包的详细信息
  1. 激活环境
bash 复制代码
conda activate rlgpu
conda remove --name rlgpu --all  #移除环境
  1. 测试安装

进入python/examples后运行如下命令:

bash 复制代码
python joint_monkey.py #或者运行此文件夹下的其他样例也可
  1. Issues
  • 错误1
bash 复制代码
ImportError: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory

安装相应的 Python 库应该可以解决这个问题:

bash 复制代码
sudo apt install libpython3.7

如果运行的是Ubuntu20.04,没有libpython3.7,则需要相应地设置LD_LIBRARY_PATH变量:

bash 复制代码
export LD_LIBRARY_PATH=/home/xyz/anaconda3/envs/rlgpu/lib
  • 错误2
bash 复制代码
ImportError: /home/xyz/anaconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.20` not found(required by /home/xyz/carbgym/python/isaacgym/_bindings/linux64/gym_36.so)

这意味着随 Anaconda 一起分发的版本与系统上用于构建 Isaac Gym 的版本不同。Anaconda 会用它安装的掩盖系统,但它可能与 Isaac Gym 在您的系统上构建的方式不兼容。有很多方法可以解决这个问题,最简单的方法是通过将 Anaconda 安装的冲突文件移动到不同的路径下:libstdc++ libstdc++ libstdc++

bash 复制代码
mkdir ${YOUR_CONDA_ENV}/lib/_unused
mv ${YOUR_CONDA_ENV}/lib/libstdc++* ${YOUR_CONDA_ENV}/lib/_unused
相关推荐
西岸行者12 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意12 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码12 天前
嵌入式学习路线
学习
毛小茛12 天前
计算机系统概论——校验码
学习
babe小鑫12 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms12 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下12 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。12 天前
2026.2.25监控学习
学习
im_AMBER12 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J12 天前
从“Hello World“ 开始 C++
c语言·c++·学习