跳转至

强化学习

RL例程

本文档将提供强化学习控制PND人形机器人的简单示例。下文将介绍如何使用 isaac_gym 仿真平台训练机器人的控制算法。

提示

如果您使用了wiki中提供的urdf
请确认urdf中toe_left 以及 toe_right中的为以下值
collision name="toe_"
origin rpy="1.57 0 0" xyz="0 0 0"
请在强化学习代码里
_config 中的
flip_visual_attachments = False改为flip_visual_attachments = True

下载地址

pnd_adam_gym_public-main

硬件准备

由于 isaac_gym 仿真平台需要 CUDA,,本文建议硬件需要配置 NVIDIA 显卡(显存>8GB、RTX系列显卡),并安装相应的显卡驱动。

python train.py --task=adam

isaac_gym 出现如下界面,则训练开始

训练开始

终端输出窗口如下:

终端输出

通过添加--headless关闭可视化界面

python play.py --task=adam --headless

环境准备

建议在虚拟环境 conda 中配置该环境。

  1. 创建虚拟环境

    conda create -n pndrobot python=3.8
    
  2. 激活虚拟环境

    conda activate pndrobot
    
  3. 安装 CUDA, pytorch

    conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia
    
  4. 下载 Isaac Gym Preview 3 仿真平台,解压后进入 python 目录,使用 pip 安装。

    cd isaacgym/python && pip install -e .
    
  5. 安装rsl_rl库

    cd rsl_rl && pip install -e .
    
  6. 安装PND官方示例

    cd pnd_humanoid_robot && pip install -e .
    
  7. 安装其余配置

    pip install numpy==1.23.5
    
    pip install tensorboard
    
    pip install opencv-python
    

模型训练使用

  1. 激活强化学习虚拟环境,并切换到 legged_gym/scripts 目录下

    conda activate pndrobot
    
    cd pnd_humanoid_robot/pnd_humanoid_robot_gym/scripts
    
  2. 执行训练指令,开始训练。

    python train.py --task=pnd_humanoid_robot
    
    通过添加--headless关闭可视化界面

  3. 运行测试指令。

    python play.py --task=pnd_humanoid_robot
    

Acknowledgement

legged_gym

rsl_rl