RTX 5060 + WSL2 搭建 Go2 强化学习训练环境记录(失败记录)

作者:lymoon

时间:2026年4月

环境:WSL2 Ubuntu 24.04 + RTX 5060 8GB + Miniconda

目标:训练 Unitree Go2 四足机器人步态控制策略


背景

在完成 PPO vs PID 倒立摆对比实验(GitHub)之后,下一步是迈向四足机器人步态控制,使用宇树 Go2 作为平台,目标是跑通 Sim-to-Real 全流程,投递宇树/智元/银河通用等机器人方向。


一、核心问题:RTX 5060 是 Blackwell 架构(sm_120)

我的显卡是RTX 50 系列(5060/5070/5080/5090)使用 Blackwell 架构,计算能力为 sm_120,而旧版工具链对此支持不完整:

Blackwell 架构:NVIDIA 2024 年 GTC 发布的新一代加速计算架构,是 Hopper 的继任者,专为大模型训练 / 推理、AI 工厂设计,采用双芯片封装、第二代 Transformer 引擎,支持 FP4 等低精度计算,性能与能效大幅提升。

sm_120(Compute Capability 12.0):CUDA 工具链中标识硬件架构版本的代号,与 Blackwell 一一对应。编译 CUDA 程序、PyTorch/TensorRT 等框架时需匹配该版本,否则会出现 “无可用内核图像” 等错误。

工具 状态
Isaac Gym Preview 4 ❌ 预编译二进制,最高支持 sm_90,无法修复
PyTorch 稳定版(≤2.6) ❌ 不含 sm_120 kernel
PyTorch nightly cu128 ✅ 支持 sm_120
Isaac Lab(Isaac Sim 4.5+) ✅ 通过 pip 安装,兼容 Blackwell

结论:Isaac Gym Preview 4 + RTX 5060 不行,必须改用 Isaac Lab。


二、技术路线选择

放弃方案:unitree_rl_gym + Isaac Gym Preview 4

这是网上大多数教程的方案,2021-2023年的主流。问题在于:

  • Isaac Gym Preview 4 是闭源预编译二进制,无法为 sm_120 重新编译
  • 在 RTX 5060 上运行会报 CUDA error: no kernel image is available for execution on the device
  • 官方已停止维护

采用方案:Isaac Lab + unitree_rl_lab

宇树官方已将 Go2 训练迁移到 Isaac Lab,完整支持:

Isaac Sim (物理仿真引擎)
    └── Isaac Lab (RL 训练框架)
            └── unitree_rl_lab (宇树官方任务环境)
                    └── Go2 Velocity Tracking Task

三、环境搭建过程与踩坑记录

3.1 Python 版本与 Isaac Sim 版本的对应关系

这是本次最大的坑,版本对应必须严格遵守:

Python 版本 Isaac Sim 版本
3.10 isaacsim4.5.0.0
3.11 isaacsim
5.0.0.0 / 5.1.0.0
3.12 isaacsim==6.0.0.0

⚠️ 踩坑:第一次用 Python 3.10 环境尝试装 isaacsim4.5.0(少了一个 .0),格式不对装不上。第二次用 Python 3.11 环境尝试装 isaacsim5.0.0.0,但当时误用了 Python 3.10 环境,反复绕圈。

正确命令(Python 3.10 环境):

pip install 'isaacsim[all,extscache]==4.5.0.0' \
    --extra-index-url https://pypi.nvidia.com

正确命令(Python 3.11 环境):

pip install 'isaacsim[all,extscache]==5.0.0.0' \
    --extra-index-url https://pypi.nvidia.com

3.2 PyTorch 版本问题

RTX 5060 必须使用 PyTorch nightly cu128,稳定版不包含 sm_120 的 CUDA kernel:

# 稳定版会报错:no kernel image is available
# 必须用 nightly
pip install --pre torch torchvision \
    --index-url https://download.pytorch.org/whl/nightly/cu128

Isaac Lab 的 isaaclab.sh --install 脚本会自动安装 torch==2.7.0+cu128,这个版本已经包含 sm_120 支持,无需额外操作。

3.3 pxr 模块缺失

报错:

ModuleNotFoundError: No module named 'pxr'

原因:Isaac Lab 依赖 pxr(USD/Omniverse 核心),而 pxr 是 Isaac Sim 的一部分。Isaac Lab 必须在 Isaac Sim 安装之后才能正常 import,顺序不能反。

正确安装顺序:

1. 创建 conda 环境
2. 安装 PyTorch nightly cu128
3. 安装 Isaac Sim(pip)         ← pxr 来自这里
4. 安装 Isaac Lab(git clone)
5. 安装 unitree_rl_lab

3.4 robomimic 安装失败(网络问题)

报错:

error: RPC failed; curl 92 HTTP/2 stream 3 was not closed cleanly
fatal: early EOF

原因:robomimic 是 isaaclab_mimic(模仿学习)模块的依赖,需要从 GitHub clone,在国内网络环境下容易中断。

解决方案:跳过它。 robomimic 与 Go2 步态强化学习训练完全无关,只需安装 rsl_rl 框架:

# 不要用 --install(会装所有框架包括 robomimic)
# 指定只装 rsl_rl
./isaaclab.sh --install rsl_rl

3.5 Isaac Lab 脚本路径变化

旧版教程中的验证命令:

# 旧路径(已失效)
python source/standalone/tutorials/00_sim/create_empty.py --headless

新版(当前 main 分支)路径:

# 新路径
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py \
    --task Isaac-Velocity-Flat-Unitree-Go2-v0 --headless

3.6 VSCode 设置报错(可忽略)

每次运行 ./isaaclab.sh --install 结尾都会出现:

FileNotFoundError: Could not find the isaac-sim directory: /home/xxx/IsaacLab/_isaac_sim

这是 VSCode 插件设置脚本报错,不影响训练,忽略即可。使用 pip 安装 Isaac Sim 时不需要 _isaac_sim 符号链接。


四、最终采用的完整安装流程

# Step 1:创建环境(Python 版本与 Isaac Sim 版本严格对应)
conda create -n isaaclab python=3.10 -y
conda activate isaaclab
pip install --upgrade pip

# Step 2:安装 PyTorch nightly(RTX 5060 Blackwell 必须)
pip install --pre torch torchvision \
    --index-url https://download.pytorch.org/whl/nightly/cu128

# 验证 GPU
python -c "
import torch
print('PyTorch:', torch.__version__)
print('CUDA:', torch.cuda.is_available())
cap = torch.cuda.get_device_capability(0)
print(f'Compute: sm_{cap[0]}{cap[1]}')  # 应输出 sm_120
"

# Step 3:安装 Isaac Sim 4.5(Python 3.10 对应版本,约15-20GB)
pip install 'isaacsim[all,extscache]==4.5.0.0' \
    --extra-index-url https://pypi.nvidia.com

# 验证
python -c "
import os; os.environ['OMNI_KIT_ACCEPT_EULA']='YES'
import isaacsim; print('Isaac Sim:', isaacsim.__version__)
from pxr import Usd; print('USD/pxr: OK')
"

# Step 4:安装 Isaac Lab
cd ~
git clone https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
sudo apt install cmake build-essential -y
./isaaclab.sh --install rsl_rl  # 只装 rsl_rl,跳过 robomimic

# Step 5:验证全栈
python -c "
import isaaclab, isaaclab_tasks
from rsl_rl.runners import OnPolicyRunner
import torch
print('isaaclab:', isaaclab.__version__)
print('CUDA:', torch.cuda.is_available())
print('PASSED')
"

# Step 6:训练 Go2(平地速度跟踪)
./isaaclab.sh -p scripts/reinforcement_learning/rsl_rl/train.py \
    --task Isaac-Velocity-Flat-Unitree-Go2-v0 \
    --headless \
    --num_envs 512

五、后续:改用 unitree_rl_gym(MuJoCo 版)

由于 Isaac Sim 安装体积巨大(15-20GB)且在 WSL2 下配置较复杂,最终改用宇树官方的 MuJoCo 版本:

# 基于 MuJoCo 的宇树 RL 训练,更轻量
git clone https://github.com/unitreerobotics/unitree_rl_gym.git

该仓库基于 MuJoCo 物理引擎,安装成本低得多,适合在个人 GPU 上快速迭代实验。


六、关键经验总结

  1. 先确认 GPU 架构,RTX 50 系列是 Blackwell sm_120,这决定了整个工具链的选择,不可忽视。
  2. Python 版本 → Isaac Sim 版本的对应关系是硬约束,装错了会直接报找不到包,没有任何 workaround。
  3. Isaac Gym Preview 4 已经是历史,2024年后新项目全面转向 Isaac Lab,宇树官方也跟进了。
  4. 安装顺序很重要:Isaac Sim 必须在 Isaac Lab 之前装好,否则 pxr 缺失导致 Isaac Lab 无法 import。
  5. robomimic 对步态训练无用,网络不好时直接用 --install rsl_rl 跳过。
  6. 环境乱了就推倒重来,比修修补补节省时间。

参考资料

  • Isaac Lab 官方文档
  • Isaac Lab pip 安装指南
  • unitree_rl_lab GitHub
  • unitree_rl_gym GitHub
  • PyTorch RTX 50 系列支持说明
Logo

立足具身智能前沿赛道,致力于搭建全球化、开源化、全栈式技术交流与实践共创平台。

更多推荐