简介
开始教程之前,让我们先简单了解一下Isaac Gym和Legged Gym。
Isaac Gym
Isaac Gym是NVIDIA推出的一款物理仿真环境,专为强化学习研究设计。它支持URDF和MJCF文件的导入,能够自动对导入的3D网格进行凸分解以用于物理仿真。此外,它还提供了GPU加速的张量API,支持多种环境传感器,并允许在运行时对物理参数进行随机化处理。
Legged Gym
Isaac Gym Environments for Legged Robots 是一个利用 NVIDIA Isaac Gym 打造的仿真环境,专为训练如 ANYmal 这样的腿部机器人在复杂地形上行走而设计。它集成了执行器网络、摩擦与质量随机化、带噪声的观测和训练中的随机推动等关键特性,以支持从仿真到现实的无缝转移。该环境由 ETH Zurich 的机器人系统实验室的 Nikita Rudin 维护。
系统配置要求
在开始配置之前,请确保你的系统满足以下条件:
- 使用NVIDIA显卡
- 已安装CUDA,并且可以通过
nvidia-smi
命令确认 - 确认CUDA版本与所需依赖相匹配
安装步骤
1. 安装Anaconda或Miniconda
如果你的系统中尚未安装Anaconda或Miniconda,可以从Anaconda官网或Miniconda官网官网下载并安装。
2. 创建虚拟环境
创建一个名为robotics_env
的虚拟环境,其中Python版本为3.8。
conda create -n robotics_env python=3.8
conda activate robotics_env
3. 安装PyTorch
在虚拟环境中安装PyTorch。你可以选择以下几个版本之一进行安装(请确保安装的为GPU版本,即版本号中包含"cuxxx"):
- 官方推荐版本:
pip3 install torch==1.10.0+cu113 torchvision==0.11.1+cu113 torchaudio==0.10.0+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
- 适用于“Agile But Safe: Learning Collision-Free High-Speed Legged Locomotion”工作的版本:
pip3 install torch==2.0.1+cu116 torchvision==0.15.2+cu116 torchaudio==2.0.2 -f https://download.pytorch.org/whl/cu116/torch_stable.html
- 指定CUDA版本(以11.6为例)后使用pip install安装:
pip3 install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu116
注意:+cu113后缀表示这个PyTorch版本是为CUDA 11.3编译的。如果你的CUDA版本不同,则需要选择相应的版本号。可以从PyTorch官方网站(https://pytorch.org/get-started/previous-versions/)获取与CUDA版本相匹配的安装命令。
4. 安装Isaac Gym
从NVIDIA官网下载并安装Isaac Gym Preview 4版本。
- 下载Isaac Gym:https://developer.nvidia.com/isaac-gym
- 解压并进入Python目录:
cd isaacgym/python
pip install -e .
5. 运行示例
尝试运行一个示例来验证安装是否成功。
cd examples
python 1080_balls_of_solitude.py
弹出的窗口中将会显示1080个小球从天而降掉落地面的过程,如下图所示:
此处终端若打印输出未使用GPU为正常现象,因为该例中并未调用GPU。
如果遇到问题,可以参考Isaac Gym文档(isaacgym/docs/index.html)进行故障排除。
6. 安装rsl_rl(PPO实现)
克隆并安装rsl_rl库。
git clone https://github.com/leggedrobotics/rsl_rl
cd rsl_rl
git checkout v1.0.2
pip install -e .
7. 安装legged_gym
克隆并安装legged_gym库。
git clone https://github.com/leggedrobotics/legged_gym
cd legged_gym
pip install -e .