介绍
-
Isaac Gym 允许开发人员为基于物理的系统试验端到端 GPU 加速 RL。在 Isaac Gym 中,仿真可以在 GPU 上运行,并将结果存储在 GPU 张量中,而不是将它们复制回 CPU 内存。其提供了一个基于张量的 API 来访问这些结果,允许在 GPU 上进行 RL 观察和奖励计算。
-
这种组合可以在单个GPU上同时模拟数千个环境,从而可以在单个工作站上运行以前可能需要整个数据中心运行的实验。
-
Isaac Gym包括一个基本的PPO实现和一个可以直接与之一起使用的RL任务系统,但用户可以根据需要替换替代任务系统和RL算法。
Issac Gym的核心功能:
-
支持导入 URDF 和 MJCF 文件
-
GPU 加速张量 API,用于评估环境状态和应用操作
-
支持各种环境传感器 ——位置、速度、力、扭矩等
-
物理场参数的运行时域随机化
-
雅可比/反向运动学支持
相关资源:
- awesome
- legged gym 足式机器人强化学习代码(ETH)
快捷键:
TAB:显示/隐藏侧边栏
R:重置仿真器
F11:全屏
Mouse:控制相机视角
安装
环境配置:
- Ubuntu 18.04 或 20.04
- Python 3.6、3.7 或 3.8(recommended)
- 最低 NVIDIA 驱动程序版本:linux 470以上
安装步骤
- 准备工作
下载并安装Isaac Gym的依赖项:
- 首先,安装Isaac SDK。请参考官方文档。
- 安装OpenGL和其他必要的系统依赖项。可以使用以下命令在Ubuntu上安装:
sudo apt-get install libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
- 创建虚拟环境(conda),在根目录运行
./create_conda_env_rlgpu.sh
如果要更改env名称,可以编辑python/rlgpu_conda_env.yml
中的ENV_NAME
后再运行上述命令
如果已经创建好了python环境,可以直接运行如下命令,多个环境使用需要在每个环境中重新运行该命令
pip install -e .
pip uninstall isaacgym #卸载
pip show isaacgym #验证已安装软件包的详细信息
- 激活环境
conda activate rlgpu
conda remove --name rlgpu --all #移除环境
- 测试安装
进入python/examples
后运行如下命令:
python joint_monkey.py #或者运行此文件夹下的其他样例也可
- Issues
- 错误1
ImportError: libpython3.7m.so.1.0: cannot open shared object file: No such file or directory
安装相应的 Python 库应该可以解决这个问题:
sudo apt install libpython3.7
如果运行的是Ubuntu20.04,没有libpython3.7,则需要相应地设置LD_LIBRARY_PATH
变量:
export LD_LIBRARY_PATH=/home/xyz/anaconda3/envs/rlgpu/lib
- 错误2
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++
mkdir ${YOUR_CONDA_ENV}/lib/_unused
mv ${YOUR_CONDA_ENV}/lib/libstdc++* ${YOUR_CONDA_ENV}/lib/_unused