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
相关推荐
职业码农NO.1几秒前
架构模型:企业架构、技术架构、C4模型、TOGAF、互联网模型优缺点分析与学习
学习·架构·系统架构·软件工程
走在路上的菜鸟4 分钟前
Android学Dart学习笔记第九节 Patterns
android·笔记·学习·flutter
代码游侠28 分钟前
学习笔记——栈
开发语言·数据结构·笔记·学习·算法
光头程序员1 小时前
学习笔记——vite 打包构建优化之tree shaking
笔记·学习
走在路上的菜鸟1 小时前
Android学Dart学习笔记第十一节 分支
android·笔记·学习·flutter
richxu202510012 小时前
嵌入式学习之路>单片机核心原理>(3)定时器
单片机·嵌入式硬件·学习
shenghaide_jiahu2 小时前
数学分析简明教程——5.5
学习
拾贰_C2 小时前
【ML|DL |python|pytorch|】基础学习
pytorch·python·学习
小琦QI2 小时前
STM32F407VET6+CCE4503学习笔记---IOLINK server
笔记·stm32·学习
丝斯20112 小时前
AI学习笔记整理(27)—— 计算机视觉之语义分割和实例分割
人工智能·笔记·学习