欢迎光临
我们一直在努力

Ubuntu 22.04 + RTX 50 系显卡搭建 BeyondMimic 全流程:Isaac Sim / Isaac Lab 环境配置与 wandb 训练可视化

whole_body_tracking/README.md at main · HybridRobotics/whole_body_tracking · GitHubhttps://github.com/HybridRobotics/whole_body_tracking/blob/main/README.md

目录

一、前言

二、硬件与软件环境说明

2.1 机器配置与显卡型号(RTX 50 系) 

2.2 Ubuntu 版本与内核说明

2.3 CUDA / 驱动 / Python / Conda 等版本选择建议

三.基础环境配置流程

 3.1 Isaac-sim 安装配置流程

 3.2 Isaac-lab 安装配置流程

 3.3基础环境测试

四. BeyondMimic环境配置

4.1 安装 BeyondMimic 的 whole_body_tracking 仓库

4.2配置 WandB(做动作数据管理)

4.3准备动作数据并上传到 WandB Registry

4.4用 Isaac Sim 回放动作(测试数据 + WandB)

4.5开始训练 BeyondMimic Tracking Policy

4.6评估训练好的策略(play)

五.踩过的坑

5.1.Isaac Sim 版本过新 / 不匹配 Isaac Lab

5.2.把“Python 环境安装方式”和“Workstation 安装方式”混在一起

5.3.Numpy 版本冲突

一、前言

在具身智能与机器人强化学习的实验中,仿真环境 + 算力环境 往往比算法本身更难搭建。尤其是在 Ubuntu 22.04 + RTX 50 系显卡 这种较新的软硬件组合下,显卡驱动、CUDA、Isaac Sim / Isaac Lab、Python 依赖以及 BeyondMimic 本身之间的兼容性问题,很容易让人花大量时间在环境上“踩坑”。

本文从零开始,记录我在本地机器上搭建 BeyondMimic完整运行环境 的全过程,围绕以下几个核心目标展开:

  • 在 Ubuntu 22.04 + RTX 50 系显卡 上配置稳定可用的 CUDA、驱动与基础依赖

  • 完成 Isaac Sim 与 Isaac Lab 的安装、配置与联调,确保能够正常加载场景与运行示例

  • 拉起并运行 BeyondMimic 的训练流程,包括必要的数据、配置文件与脚本说明

  • 集成 Weights & Biases(wandb),实现训练过程的远程可视化与日志管理

  • 记录配置过程中遇到的典型报错与解决方案,方便后续快速排坑复现

本文面向的读者主要是:

  • 想在本地搭建 BeyondMimic + Isaac 仿真训练环境 的研究生 / 工程师

  • 使用 RTX 40 / 50 系显卡 + Ubuntu 22.04,对环境兼容性有疑虑的同学

  • 希望把训练过程接入 wandb 做可视化与实验管理 的开发者

二、硬件与软件环境说明

2.1 机器配置与显卡型号(RTX 50 系) 

 本篇教程的实验环境基于一台游戏本:联想拯救者 R9000P 2025 款,搭载 NVIDIA GeForce RTX 5060 独立显卡。整机定位偏高性能游戏 / 创作本,对本地仿真与深度强化学习训练来说,算力和散热都比较友好。

2.2 Ubuntu 版本与内核说明

        本次环境搭建使用的系统为 Ubuntu 22.04.5 LTS(jammy),这是目前比较主流、兼容性也不错的长期支持版本,内核版本为6.8.0-87-generic    

2.3 CUDA / 驱动 / Python / Conda 等版本选择建议

BeyondMimic 官方仓库在 README 中给出了一个推荐的软件环境,大致包括:

  • Isaac Sim:4.5.0

  • Isaac Lab:2.1.0

  • Python:3.10

  • 平台:Linux x86_64

这些版本在传统 RTX 30 / 40 系显卡上已经比较成熟,但对于 RTX 50 系(如本机 RTX 5060) 来说,驱动和 CUDA 都比较新,如果严格使用旧版本组合,容易遇到兼容性问题。

结合官方文档和实际踩坑情况,本教程最终采用的环境组合如下(推荐给使用 RTX 50 系 / Blackwell 架构显卡的读者参考):

  • 系统:Ubuntu 22.04.5 LTS

  • 内核:6.8.0-87-generic

  • NVIDIA 驱动:580.105.08

  • CUDA 运行环境(nvidia-smi 显示):13.0

  • Conda 版本:conda 23.7.4

  • Python 版本:Python 3.11(通过 Conda 虚拟环境安装)

  • PyTorch:PyTorch 2.7.0(CUDA 12.8 构建)

  • Isaac Sim:5.0

  • Isaac Lab:2.2(官方就是针对 Isaac Sim 5.0 和新 GPU,包括 Blackwell / RTX 50 系显卡进行适配)

三.基础环境配置流程

        3.1 Isaac-sim 安装配置流程

                Isaac-sim下载链接:Download Isaac Sim — Isaac Sim Documentation          

下载完成后

1)创建 ov 目录 mkdir -p ~/.local/share/ov/pkg

 2)把压缩包挪进去(路径按你实际改) mv ~/Downloads/isaac-sim-standalone-5.0.0-linux-x86_64.zip ~/.local/share/ov/pkg/

 3)进入目录并解压 cd ~/.local/share/ov/pkg   

    unzip isaac-sim-standalone-5.0.0-linux-x86_64.zip

最终效果如下

先在不激活任何 conda 环境的情况下测一遍:

# 如果你当前是 (base),先退出一下 conda deactivate  # 如果提示没有 conda 就略过

cd ~/.local/share/ov/pkg ./isaac-sim.sh –help

如果这条命令能正常打印帮助信息,没有直接报错,说明 Isaac Sim 基本没问题

      3.2 Isaac-lab 安装配置流程

克隆Isaac-lab

cd ~/skx/IsaacLab # 随便选一个工作目录

git clone https://github.com/isaac-sim/IsaacLab.git

创建conda环境

conda create -n isaaclab python=3.11 -y

在 IsaacLab 里创建软链接 _isaac_sim

cd ~/IsaacLab

ln -s ~/.local/share/ov/pkg/isaac-sim-5.0.0 _isaac_sim  # 把刚刚的 isaac-sim 目录挂进来

ls -l _isaac_sim  # 检查一下结果,应该是:_isaac_sim -> /home/robot/.local/share/ov/pkg/isaac-sim-5.0.0

在 conda 环境里升级 PyTorch(为 RTX 5060 做准备)

确保已经激活你的环境:

conda activate isaaclab

然后在 这个环境 里安装 PyTorch(2.7.0 + CUDA 12.8):

pip install –upgrade pip

pip install "torch==2.7.0" "torchvision==0.22.0" \\   –index-url https://download.pytorch.org/whl/cu128

测试一下 GPU:

python – << 'PY'
import torch
print("torch:", torch.__version__)
print("cuda ok:", torch.cuda.is_available())
if torch.cuda.is_available():
print("device:", torch.cuda.get_device_name(0))
PY

看到你的 RTX 5060 名字,就说明这一步成功了

现在进入 IsaacLab 目录,运行官方安装脚本:

conda activate isaaclab cd ~/skx/IsaacLab chmod +x isaaclab.sh  # 确保脚本有执行权限(如果已经有,这步不会出问题) ./isaaclab.sh –install # 安装 IsaacLab 扩展和 RL 依赖

完成后可以简单验证一下:

python -c "import isaaclab; print('IsaacLab version:', isaaclab.__version__)"

正常打印出 2.2.0 就 OK 了(显示IsaacLab version: 0.44.9也是正常现象)。

3.3基础环境测试

在终端里按顺序运行:

#以后你开一个新终端,要跑 IsaacLab / BeyondMimic,大致都要先做1.2.3这三步 conda activate isaaclab  # 1. 激活你已经配置好的环境 cd ~/skx/IsaacLab  # 2. 进入 IsaacLab 仓库 source _isaac_sim/setup_conda_env.sh  # 3. 让 Isaac Sim 把自己的 python 路径等注入到当前 conda 环境

./isaaclab.sh -p scripts/tutorials/00_sim/create_empty.py #  测试 create_empty 脚本

预期:

  • 终端开始刷 kit / isaacsim 的日志;

  • 弹出一个 Isaac Sim 窗口,黑色空场景;

四. BeyondMimic环境配置

4.1 安装 BeyondMimic 的 whole_body_tracking 仓库

克隆仓库

conda activate isaaclab cd ~/skx   # 你自己的工作目录 git clone https://github.com/HybridRobotics/whole_body_tracking.git cd whole_body_tracking

下载 Unitree 机器人描述文件

curl -L -o unitree_description.tar.gz \\   https://storage.googleapis.com/qiayuanl_robot_descriptions/unitree_description.tar.gz

tar -xzf unitree_description.tar.gz \\   -C source/whole_body_tracking/whole_body_tracking/assets/

rm unitree_description.tar.gz

安装为 Python 包(用的就是你现在这个 isaaclab 环境)

python -m pip install -e source/whole_body_tracking

4.2配置 WandB(做动作数据管理)

安装 & 登录

pip install wandb wandb login

根据提示在浏览器里复制 API key。

设定组织(用 organization 名,不是个人用户名):

export WANDB_ENTITY=你的组织名   # 先随便起一个,比如 beyondmimic

打开 WandB 网页,在左边 Core → Registry 里新建一个 collection:

  • Name: Motions

  • Artifact type: All Types

4.3准备动作数据并上传到 WandB Registry

cd ~/skx/whole_body_tracking mkdir -p data/motions # 把 g1_walk.csv 等复制到 data/motions/ 里

用官方脚本转换为 .npz 并上传到 Registry,例如:

cd ~/skx/whole_body_tracking

python scripts/csv_to_npz.py \\
–input_file data/motions/g1_walk.csv \\
–input_fps 30 \\
–output_name g1_walk \\
–headless

执行完后,WandB Registry 里就会出现一个类似 Motions/g1_walk 的 artifact,日志里也会看到类似内容

Motion loaded (…walk_circle_clean.csv) Motion interpolated … [INFO]: Logging motion to wandb: walk_circle_clean [INFO]: Motion saved to wandb registry: motions/walk_circle_clean

4.4用 Isaac Sim 回放动作(测试数据 + WandB)

建议用 IsaacLab 的 launcher 来跑,这样 IsaacSim 环境变量自动配置好:

# 先走一遍“固定开场三步” conda activate isaaclab cd ~/skx/IsaacLab source _isaac_sim/setup_conda_env.sh

# 回到项目目录 cd ~/skx/whole_body_tracking

# 用 isaaclab.sh 起 Isaac Sim 回放动作 ../IsaacLab/isaaclab.sh -p scripts/replay_npz.py \\   –registry_name=你的org名-org/w

andb-registry-motions/g1_walk

看到 Isaac Sim 里机器人按动作走起来,说明数据链路和 WandB Registry 都没问题。

4.5开始训练 BeyondMimic Tracking Policy

conda activate isaaclab cd ~/skx/IsaacLab source _isaac_sim/setup_conda_env.sh cd ~/skx/whole_body_tracking

../IsaacLab/isaaclab.sh -p scripts/rsl_rl/train.py \\   –task=Tracking-Flat-G1-v0 \\   –registry_name 你的org名-org/wandb-registry-motions/g1_walk \\   –headless \\   –logger wandb \\   –log_project_name whole-body-tracking \\   –run_name g1_walk_run1

说明一下几个参数:

  • –task=Tracking-Flat-G1-v0:仓库里定义好的 tracking 环境

  • –registry_name:指向你刚才上传的动作 artifact

  • –headless:不打开 GUI,节省显存

  • –logger wandb:把训练日志发送到 WandB

  • –log_project_name:WandB 上的 project 名

训练过程中会在终端打印 reward、loss 等,同时 WandB 网页也有曲线。

训练过程:

WandB 网页曲线:

4.6评估训练好的策略(play)

训练完成后,在 WandB 的 run 页面里可以看到一个 run path,形式大概是:

你的org名/whole-body-tracking/abcd1234

用这个 path 回放策略:

conda activate isaaclab cd ~/skx/IsaacLab source _isaac_sim/setup_conda_env.sh cd ~/skx/whole_body_tracking

../IsaacLab/isaaclab.sh -p scripts/rsl_rl/play.py \\   –task=Tracking-Flat-G1-v0 \\   –num_envs=2 \\   –wandb_path=你的org名/whole-body-tracking/abcd1234

这时 Isaac Sim 会打开,加载你训练好的 policy,让机器人跟随动作。

前面那个驼着腰、身上很多红绿蓝箭头/小锥体的是——训练出来的智能体(Orbot,RL policy 控制的机器人),后面那个纯白色、周围带一圈黄色线段的是——原始的参考动作(motion capture / CSV 里那条轨迹的“影子”)​

五.踩过的坑

5.1.Isaac Sim 版本过新 / 不匹配 Isaac Lab

经验:一定看 Isaac Lab 仓库 README 要求的 Isaac Sim 版本,按它来。

5.2.把“Python 环境安装方式”和“Workstation 安装方式”混在一起

一开始走的是 IsaacLab 自带 isaacsim pip 包路线;后面又改走 Workstation standalone 压缩包;

中间没清干净旧东西 → 扩展依赖解析疯狂报错。

经验:选一个路线走到底;改路线前,先把旧环境 + 缓存删干净,一旦怀疑环境“彻底脏了”,直接删环境重建,比瞎修快很多。

5.3.Numpy 版本冲突

经验:

  • 高优先级:满足 Isaac Lab / Isaac Sim 的要求;

  • 冲突的东西(比如 opencv)如果只是顺带装的,可以删了之后再按兼容版本重装。

赞(0)
未经允许不得转载:171主机测评 » Ubuntu 22.04 + RTX 50 系显卡搭建 BeyondMimic 全流程:Isaac Sim / Isaac Lab 环境配置与 wandb 训练可视化
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址