跳到主要内容

训练和演示

Wiki-GRx-Gym提供了一个用于训练 GR1 在复杂地形上行走的环境,基于 NVIDIA Isaac Gym,以及苏黎世联邦理工 Legged Robotics 团队的 legged_gymrsl_rl 库。

参考链接

安装步骤

0. 安装 Ubuntu 20.04

1. 安装英伟达驱动

  • 通过 Ubuntu 20.04 自带的“软件与更新”应用程序安装英伟达驱动。
  • 在终端使用命令 nvidia-smi 确认是否能查看 GPU 和 CUDA 信息。如下所示:
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.125.06 Driver Version: 525.125.06 CUDA Version: 12.0 |
|-------------------------------+----------------------+----------------------|
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:01:00.0 On | Off |
| 0% 42C P8 25W / 450W | 709MiB / 24564MiB | 1% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1032 G /usr/lib/xorg/Xorg 53MiB |
| 0 N/A N/A 1666 G /usr/lib/xorg/Xorg 239MiB |
| 0 N/A N/A 1805 G /usr/bin/gnome-shell 125MiB |
| 0 N/A N/A 2171 G /usr/lib/firefox/firefox 205MiB |
| 0 N/A N/A 2847 G ...RendererForSitePerProcess 45MiB |
| 0 N/A N/A 3721 G ...RendererForSitePerProcess 20MiB |
+-----------------------------------------------------------------------------+

2. 使用 Conda 部署

  1. 安装 Anaconda:

  2. 创建 Conda 环境 wiki-grx-gym

    conda create -n wiki-grx-gym python=3.8
    conda activate wiki-grx-gym
  3. 安装 Isaac Gym:

    cd ./IsaacGym_Preview_4_Package/isaacgym/python/
    pip install -e .
  4. 安装 rsl_rl:

    cd ./rsl_rl
    pip install -e .
  5. 安装 legged_gym:

    cd ./legged_gym
    pip install -e .
  6. 安装其他依赖:

    # 部分函数使用了旧变量类型,numpy 大于 1.24 版本会报错
    pip install numpy==1.20.0

    # tensorboard 用于显示训练过程
    pip install tensorboard
    pip install protobuf==3.20.3

3. 使用 Docker 部署

默认 Dockerfile 支持 NVIDIA RTX 4090

  1. 准备 Docker 训练环境并构建镜像:

    cd rl_docker
    bash build.sh
  2. 运行镜像:

    bash run.sh -g <gpus, should be num 1~9 or all> -d <true/false>
    # 示例:bash run.sh -g all -d true
  3. 更多用法和故障排除请查看 ./rl_docker/README.md

4. 开始训练

cd legged_gym/legged_gym/scripts
python ./train.py --task=GR1T1 --headless

5. 演示

cd legged_gym/legged_gym/scripts
python ./play.py --task=GR1T1 --num_envs=25

注意事项

此处训练代码仅展示如何控制机器人腿部行走,机器人身体被设置为固定。
如果希望控制机器人身体移动,需要修改以下文件:

  • URDF 文件:./legged_gym/legged_gym/resources/robots/gr1t1/urdf/GR1T1.urdf
  • 配置文件:./legged_gym/legged_gym/envs/gr1t1/gr1t1_config.py