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
相关推荐
dsywws5 分钟前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
道法自然04026 分钟前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
爱吃生蚝的于勒13 分钟前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法
cuisidong19972 小时前
5G学习笔记三之物理层、数据链路层、RRC层协议
笔记·学习·5g
南宫理的日知录2 小时前
99、Python并发编程:多线程的问题、临界资源以及同步机制
开发语言·python·学习·编程学习
数据与后端架构提升之路3 小时前
从神经元到神经网络:深度学习的进化之旅
人工智能·神经网络·学习
一行13 小时前
电脑蓝屏debug学习
学习·电脑
星LZX3 小时前
WireShark入门学习笔记
笔记·学习·wireshark
阑梦清川3 小时前
在鱼皮的模拟面试里面学习有感
学习·面试·职场和发展