附录 待办事项
这是从「零基础」到最终目标的阶梯(天梯)。按依赖顺序排,每一阶都有一个通过标准(gate)——过了才爬下一阶,避免在 baseline 上空耗。最终目标:一个鲁棒、可恢复、可迁移的 G1 行走系统。
对应文档结构:阶 0–1=第 1 章「环境搭建」(1.1~1.4);阶 2 起=后续"策略"章节(策略1 平地 → 策略2 鲁棒 → 策略3 爬起 → 策略4 迁移),由简到难循序渐进,每做完一阶就新增一章。
核心心态:阶 0–1 是 baseline,快速冲过去(≈全部工作量 5%);真正拉开差距、值得砸时间的是 阶 2 / 3 / 4。
阶梯总览
| 阶 | 名称 | 对应章节 | 通过标准(gate) |
|---|---|---|---|
| 0 | 看懂地图 + 冒烟跑通 | 1.1 / 1.2 | 冒烟无报错、reward 在动、logs 有产物 |
| 1 | 平地走 + 读懂数据 | 1.4 / 策略1 | 平地稳定行走视频 + 能讲清每个 reward/obs/action |
| 2 | 鲁棒性 A ★ | 策略2 | 抗推成功率 vs 推力曲线 + 最大可恢复冲量 |
| 3 | 摔倒爬起 B ★ | 策略3 | 踹倒→爬起→续走完整视频 + 爬起成功率 |
| 4 | sim2sim 迁移 C ★ | 策略4 | MuJoCo 行走视频 + DR↔迁移成功率消融曲线 |
| 5 | 收口 | 策略5 | 蒸馏 student + sim2real writeup + 可复现仓库 |
阶 0 · 看懂地图 + 冒烟跑通(先做这个)
- 理解全链路:
Isaac Lab 仿真 → RSL-RL 跑 PPO → 训出走路策略 → 导出 policy.onnx → 丢进 MuJoCo 验证迁移(详见 1.1 Isaac Lab)。 - 边做边补概念:observation / action / reward / PPO / 域随机化——不要先啃完理论再动手。
- 动手:
scripts/train_flat.sh --max_iterations 10 --headless(详见 1.2 仿真环境;首次启动 Isaac Sim 慢属正常)。 - Gate:跑完无报错;
$ISAACLAB_DIR/logs/rsl_rl/g1_flat/<时间戳>/有产物 → M0 达成。
阶 1 · 平地走 + 读懂数据(策略1)
- 正式训练:
scripts/train_flat.sh(约 1500 迭代)。 - 看收敛:
tensorboard --logdir $ISAACLAB_DIR/logs/rsl_rl/g1_flat。 - 回放 + 导出:
scripts/play.sh flat→ 产policy.onnx(阶 4 的输入)。 - 关键不是跑通,是读懂:对照 1.4 官方示例 把每个 reward / 观测 / 动作 / 自带域随机化逐项搞清。
- Gate:平地稳定行走视频 + 你能讲清"每个 reward 项在管什么、官方域随机化为什么单薄"。
阶 2 · 鲁棒性 A(策略2,第一个卖点)
- 不改 Isaac Lab 源码:在
configs/继承官方 env,加强域随机化(推力 / 外力力矩 / 摩擦 / 质量 / 电机强度),注册成新任务 ID。 - 写评估脚本:固定策略,扫不同推力大小 × 多次试验,统计"站住率"。
- Gate:抗推成功率 vs 推力曲线 + 最大可恢复冲量 + 被大力推不倒的视频。
阶 3 · 摔倒爬起 B(策略3,最硬、最出戏)
- baseline 完全没有的新能力,也是自己设计任务/reward 的部分,含金量最高。
- 设计 recovery 任务:从随机摔倒姿态初始化,奖励回到站立 → 训 get-up 策略。
- 写高层状态机:检测跌倒 → 触发 get-up → 恢复行走。
- Gate:被踹倒 → 自主爬起 → 继续走的完整视频 + 爬起成功率。← 杀手级视频。
阶 4 · sim2sim 迁移 C(策略4,最值钱的数据)
- 这一步前才装 MuJoCo(+
mujoco_menagerie的 G1 MJCF,见 1.3 其他环境)。 - 对齐观测/动作契约与控制频率,加载
policy.onnx在 MuJoCo zero-shot 部署,量化迁移成功率。 - DR 消融:训 N 组不同域随机化强度 → 各测 MuJoCo 迁移成功率 → 画 DR 强度 ↔ 迁移成功率 曲线。
- Gate:MuJoCo 行走视频 + DR 消融曲线。← 比任何视频更能证明"我懂 sim2real"。
阶 5 · 收口(策略5)
- Teacher-Student 蒸馏出仅本体感知的可部署 student。
- 整理可复现仓库(env / recovery 定义 + 训练配置 + 评估脚本 + sim2sim 部署 + README)。
- 写 sim2real 方法论 writeup,作为 SOMA 系列的 locomotion 篇沉淀到本文档站。
取舍建议
- 现在第一件事就是阶 0 冒烟——只为证明环境没问题,别在这之前纠结理论。
- 时间分配:阶 0–1 几天内冲过;主力时间砸在 阶 3(爬起) 和 阶 4(迁移消融)——别人最缺、最能拿数据碾压的地方。
- 阶 2 的"跑策略 → 统计成功率 → 出图"评估框架尽早写,阶 2/3/4 都复用同一套。
本附录是活文档:每爬过一阶,回来把对应 gate 标记完成,并把该阶的方法/数据沉淀成本站新的"策略"章节。