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
相关推荐
搏博43 分钟前
机器学习之三:归纳学习
人工智能·深度学习·学习·机器学习
AgilityBaby1 小时前
unity Animation学习,精准控制模型动画播放
学习·3d·unity·游戏引擎
每次的天空2 小时前
Android学习总结之扩展基础篇(一)
android·java·学习
【0931】2 小时前
差错检测的学习
网络·学习
咦!一只菜鸡2 小时前
idea连接远程服务器kafka
分布式·学习·kafka
zuckzhao952 小时前
Spring Security入门学习(一)Helloworld项目
java·学习·spring
虾球xz3 小时前
游戏引擎学习第248天:清理数据块显示
c++·学习·游戏引擎
灏瀚星空4 小时前
从基础到实战的量化交易全流程学习:1.3 数学与统计学基础——概率与统计基础 | 基础概念
笔记·python·学习·金融·概率论
无敌的牛4 小时前
AVL树的介绍与学习
数据结构·学习
【0931】4 小时前
进程控制的学习
学习·操作系统