Soma Zero Tutorials
🔍 搜索功能尚未开启,敬请期待。

1.1 Isaac Lab

本章「环境搭建」要做的事:在写一行训练代码前,先把工具链铺好、看懂——本节 1.1 讲训练框架 Isaac Lab(以及它底下的 Isaac Sim、上面的 RSL-RL),1.2 装好并跑通仿真环境,1.3 备齐其他环境(MuJoCo 等),1.4 把官方示例彻底吃透。之后的第 2 章起才进入"策略",由简到难循序渐进。

本体选型:Unitree G1(宇树人形机器人,社区生态最全、最主流、最可及)。我们没有真机,训练全程在仿真里完成。

1. 先看懂这张「地图」

"看懂地图"指的是看懂整条技术链路(不是仿真里的地形)。整个项目就是把下面这条流水线跑通、并在它之上做出差异化:

  ┌─────────────┐   GPU 并行物理     ┌──────────────┐   PPO 强化学习   ┌──────────────┐
  │  Isaac Sim  │ ───────────────►  │  Isaac Lab   │ ──────────────► │   RSL-RL     │
  │ 物理+渲染引擎 │   4096 个机器人     │ 机器人学习框架  │   收集经验/更新    │  PPO 训练器   │
  └─────────────┘   同时仿真          └──────────────┘   策略网络        └──────┬───────┘
                                                                              │ 训练收敛
                                                                              ▼
                                          ┌────────────────────────────────────────────┐
                                          │  policy.pt / policy.onnx(可部署的策略网络)   │
                                          └───────────────────┬────────────────────────┘
                                                              │ zero-shot 迁移
                                                              ▼
                                                     ┌─────────────────┐
                                                     │     MuJoCo      │  sim2sim 验证
                                                     │  换一个物理引擎    │  量化迁移成功率
                                                     └─────────────────┘

一句话:Isaac Sim 提供物理 → Isaac Lab 把它包成"会学习的环境" → RSL-RL 用 PPO 训出走路策略 → 导出 ONNX → 丢进 MuJoCo 换个引擎验证它没"过拟合"到 Isaac 的物理。

2. 训练栈:Isaac Sim / Isaac Lab / RSL-RL

是什么在本项目里干什么
Isaac SimNVIDIA 的机器人物理仿真 + 渲染引擎,底层用 PhysX,能在单张 GPU 上同时仿真上千个机器人。提供 G1 的刚体动力学、接触、地形碰撞。一般 --headless(不开图形界面)跑,纯算物理最快。
Isaac Lab建在 Isaac Sim 之上的机器人学习框架(前身 Isaac Gym / OmniIsaacGymEnvs)。用 "manager-based" 方式把一个 RL 任务拆成 观测/动作/奖励/事件/终止 等管理器。自带 G1 行走任务我们的训练主战场。版本 2.3.2,装在 /home/jeff/IsaacLab(怎么用见 1.2)。
RSL-RL苏黎世联邦理工(ETH RSL 实验室)出的轻量级 RL 库,专做腿足机器人,核心是 GPU 上的 PPO真正"学习"的部分。Isaac Lab 把经验喂给它,它更新策略网络(actor-critic)。日志/权重写到 logs/rsl_rl/

本体 Unitree G1 在 Isaac Lab 里以 G1_MINIMAL_CFG 资产形式提供(关节、连杆、质量、限位都已建好);迁移用的 MuJoCo 属于"其他环境",放到 1.3 讲。

3. 为什么用 Isaac Lab(而不是 unitree_rl_gym)

网上很多 G1/H1 教程用 unitree_rl_gym,它基于 已废弃的 Isaac Gym Preview。我们不用它。

  • Isaac Lab 2.3.2 已自带 G1 locomotion 任务,且是 NVIDIA 当前官方主线,长期维护。
  • Isaac Gym Preview 早已停更,环境难配、和新驱动冲突。
  • unitree_rl_gym 唯一还值钱的功能是 MuJoCo sim2sim 部署——这部分我们在项目的 sim2sim/ 里用 G1 的 MJCF 重新搭,反而更可控、更能写进简历。

4. 强化学习速览(够读懂后面就行)

后面几节会大量出现这些词,这里先建立直觉,细节到 1.4 结合 G1 任务再展开:

概念一句话理解在 G1 行走里是什么
Observation(观测)机器人每步"看到/感觉到"的信息向量。躯干线/角速度、重力方向、目标速度指令、各关节角度与角速度、上一步动作……
Action(动作)策略网络每步输出的控制量。各关节的目标角度(叠加在默认站姿上),再由 PD 转成力矩。
Reward(奖励)给行为打分,告诉算法"什么是好"。主奖励=跟上指定行走速度;外加一堆惩罚(能耗、抖动、摔倒)。
PPO一种稳定好用的 on-policy 策略梯度算法。actor 出动作、critic 估价值,反复"采样→更新"。
并行仿真同时仿真几千个机器人来海量采样。默认 4096 个 G1 同时走,几分钟攒到百万级经验。
域随机化 (DR)训练时随机扰动物理/施加外力,逼策略学得鲁棒。随机摩擦、质量、推力……是 sim2real/sim2sim 能成立的关键,也是后续主攻点。

👉 下一节:1.2 仿真环境(把它装好、跑通冒烟)。