Skip to content

教程Isaac Lab14 天前

版本先锁死 ​

目录里的 isaac-lab 卡已经写了对应关系:Lab v2.1 对 Isaac Sim 4.5,v2.3 对 4.5/5.0/5.1,v3.0 对 Sim 6.0。GR00T 仓库的 README 会再指定它测过的 Lab 版本。三边不一致时,URDF 导入脚本的参数对不上,报错不会写「版本错误」。

bash
git clone https://github.com/isaac-sim/IsaacLab.git
cd IsaacLab
git checkout v2.3.0
./isaaclab.sh --install

tag 按你要跟的 GR00T 说明替换。安装完成后用仓库自带的导入检查,而不是系统里另一份 Isaac Sim。

G1 若走宇树维护的仿真,用 unitreerobotics-unitree-sim-isaaclab,不要自己从零写关节驱动。

URDF 导入 ​

Isaac Lab 2.x 里转换脚本的常见路径是 scripts/tools/convert_urdf.py。3.x 可能改名,以你检出的树为准。

导入前在 URDF 里核对:

  • 每个可动关节有限制、有轴方向
  • 网格路径能在本机打开,不要留着别人机器上的绝对路径
  • mimic 关节要么展开,要么确认转换器支持
  • 基座是你希望的 articulation root,不是某个脚掌 link

转换之后在仿真里做两帧:零位,以及每个关节单独加一个小角度。方向反了就改 URDF,不要在策略输出上乘负号。G1 基础版是 23 DoF,EDU 和部分 URDF 是 29 DoF,导入日志里的执行器数量必须和真机一致。

相机和碰撞在 USD 里再加。URDF 转换不会带来可用的腕部相机外参。

合成轨迹 ​

GR00T 微调吃的是带视频的 LeRobot 数据集,外加一份 modality,用来声明哪些维是手臂、夹爪、语言。仓库自带的演示数据可以先把训练跑通,再换你的 URDF。

合成数据的顺序:

  1. 在导入后的机器人上用遥操作或运动规划录很少的成功轨迹。
  2. 用该版本 GR00T 仓库提供的合成轨迹工具扩写。N1.5、N1.6、N1.7 的脚本名不一样,以 README 为准,不要从旧博客抄一个已经删除的入口。
  3. 把结果写成 LeRobot 数据集。lerobot-libero 只适合对照字段,不能和人形关节混在一个 dataloader 里。
  4. 写 modality:状态维、动作维、视频键、语言键。名字和训练 --data-config 里的配置必须一致。

合成轨迹没有覆盖你的碰撞体时,模型会生成穿过机体的手臂路径。扩写之后抽 20 条在 Isaac 里回放,看夹爪是否穿模,再开始长训练。

微调 ​

N1.5 公开脚本的形态如下,参数以你克隆到的 README 为准:

bash
python scripts/gr00t_finetune.py \
  --dataset-path ./demo_data/robot_sim.PickNPlace \
  --num-gpus 1 \
  --output-dir ./checkpoints/gr00t \
  --max-steps 10000 \
  --data-config fourier_gr1_arms_only \
  --video-backend torchvision_av

fourier_gr1_arms_only 只是示例数据配置的名字。你的臂如果不是这份配置里的关节,要新写 data config,而不是改关节顺序碰运气。目录卡 nvidia-gr00t-n1-5-3b 是 N1.5 的 3B 权重;gr00t-n1-7 是更新的卡片,二者的 data config 不保证通用。

多卡把 --num-gpus 设成机器上的 GPU 数。脚本内部若使用进程启动器,就不要再在外面套一层同样的进程数,否则每个进程又会再分一次卡,直接把显存打满。

目录卡写 N1.7 微调大约 40 GB。这是单卡量级的记录,不是 8 卡每卡的占用。OOM 时先减 batch 和视频分辨率,不要关掉视频键却留着 modality 里的视频字段。

和榜上数字的关系 ​

RoboCasa365 官方多任务表里,GR00T N1.5 的平均成功率是 20.0%(atomic-seen 43.0%,composite-seen 9.6%,composite-unseen 4.4%)。那是他们的数据配置和任务拆分。你用自己的 URDF 跑完 10000 step,不会得到这个数。要用那张表做回归,就用他们发布的 checkpoint 和评测脚本。

上真机之前 ​

在仿真里把动作维打出来,和机器人 SDK 的关节数组逐项对比。GR00T 输出的是数据集里的动作空间,可能是末端增量或关节绝对量。部署端差一个积分,臂会漂到限位。先低增益跟踪一半幅值,再接到行走控制器上。下身行走不要和这条微调绑在同一个动作头里。

来源

本页事实对应的公开页面,以原文为准。

  1. Isaac Lab访问 2026-10-14
  2. Isaac GR00T访问 2026-10-14