Skip to content

Commit 92225e3

Browse files
RL运控二审: Ch01-28 复核gpt-5.5审计意见(6×Opus+联网核验),295处确认修复+驳回15误报
二审动机: 审计意见不一定对(可能误报或给错修正建议),故改正文前再独立核实一轮。 6个Opus Agent并发各约1/6文档,逐条核实+结合互联网核验官方源(arXiv/GitHub/官网), 只改确认无误的、驳回误报,拿不准一律列UNCERTAIN(宁可漏改不可错改)。 - 批量CONFIRMED 295处(28章): 错误API/类名(RslRlPpoAlgorithmCfg/BinaryJointPositionActionCfg等)、 脚本路径、任务名、论文标题/arXiv号、机器人规格(Panda 9DoF/Go2~15kg)、物理数学公式、 KL自适应lr倍率、未闭合代码块(Ch16/Ch25)、重复段落(Ch15/Ch28) - #1 Ch27 击球点bug(跨章功能正确性): compute_impact_point找落地点(z≈0)却存为击球点, 被Ch28 obs/approach/timing reward当击球目标→球拍被引向地面。改strike_height=0.6(球下降穿过击球高度) - #2 Ch20 G1 19→23 DOF(全章联动): 官方23(腿12+臂10+腰1),原写19低估,~25处联动改 - 驳回15条审计误报: Ch05 export_policy_to_onnx真实存在、Ch10 mjlab task真实注册、 Ch15 eval_agent.py存在、Ch14 Humanoid-Gym确为RSS2024、Ch21 obs 26维正文本对(审计自己算错)等 - 附《RL运控_二审复核记录_2026-06-10.md》: 完整记录已修/驳回/剩余待办(#3整节重写 #4版本漂移) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 320818c commit 92225e3

29 files changed

Lines changed: 1499 additions & 1277 deletions

06_具身智能/RL运控/Ch01_生态系统.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -598,7 +598,7 @@ class MyEnvCfg(ManagerBasedRlEnvCfg):
598598
599599
**第三阶段:Isaac Lab(2024-至今)**
600600

601-
NVIDIA 在 2024 年发布 Isaac Lab 框架(论文 arXiv:2501.02930 于 2025 年 1 月发布:*Isaac Lab: A Unified and Modular Framework for Robot Learning*),作为 Isaac Gym 的继任者。它的核心创新是 **Manager-Based 架构**——把 MDP 的每个组件(obs、action、reward、termination、event、command、curriculum)拆分到独立的 Manager 中,实现了关注点分离。
601+
NVIDIA 在 2024 年发布 Isaac Lab 框架(论文 *Isaac Lab: A GPU-Accelerated Simulation Framework for Multi-Modal Robot Learning*,arXiv:2511.04831),作为 Isaac Gym 的继任者。它的核心创新是 **Manager-Based 架构**——把 MDP 的每个组件(obs、action、reward、termination、event、command、curriculum)拆分到独立的 Manager 中,实现了关注点分离。
602602

603603
| 属性 ||
604604
|------|-----|
@@ -738,7 +738,7 @@ mjlab 与 Isaac Lab 共享 Manager-Based API 设计哲学。这意味着学会
738738
2. 找到一篇 2024 年的足式机器人论文和一篇 2026 年的,对比它们使用的仿真框架,分析框架迁移的技术原因。
739739
3. 在 legged_gym 的单体架构中,假设你要同时实验 3 种不同的 reward 配置。你需要怎么组织代码?在 Manager-Based 架构中呢?对比两种方案的工程成本。
740740
4. Newton 1.0 GA 的 7 个求解器中,哪个最适合仿真一个带平行连杆腿的双足机器人?为什么其他求解器(如 MuJoCo Warp)在这种情况下会有问题?提示:查阅 Kamino 论文的摘要。
741-
5. (思考题)如果 MuJoCo Warp 的可微分功能在未来版本中实现了(目前仍在开发中),这会对 mjlab 和 MuJoCo Playground/MJX 的竞争格局产生什么影响?可微分仿真对 RL 训练有什么潜在价值?
741+
5. (思考题)如果 MuJoCo Warp 的可微分功能在未来版本中实现了(目前官方不支持、暂无明确计划),这会对 mjlab 和 MuJoCo Playground/MJX 的竞争格局产生什么影响?可微分仿真对 RL 训练有什么潜在价值?
742742

743743
---
744744

@@ -851,13 +851,13 @@ git clone https://github.com/isaac-sim/IsaacLab.git
851851
cd IsaacLab && ./isaaclab.sh --install
852852

853853
# 训练(15-30 秒 Isaac Sim 初始化后开始训练)
854-
python scripts/rsl_rl/train.py \
855-
--task Isaac-Velocity-Flat-Unitree-H1-v0 \
854+
python scripts/reinforcement_learning/rsl_rl/train.py \
855+
--task Isaac-Velocity-Flat-H1-v0 \
856856
--num_envs 4096 --headless
857857

858858
# 评估
859-
python scripts/rsl_rl/play.py \
860-
--task Isaac-Velocity-Flat-Unitree-H1-v0 \
859+
python scripts/reinforcement_learning/rsl_rl/play.py \
860+
--task Isaac-Velocity-Flat-H1-v0 \
861861
--checkpoint /path/to/model.pt
862862
```
863863

@@ -1008,7 +1008,7 @@ Isaac Lab 3.0 Beta(基于 Isaac Sim 6.0 + Newton 1.0)引入了几个**破坏
10081008

10091009
你需要在相同的环境上运行两种不同的 RL 算法。
10101010

1011-
- mjlab 只支持 RSL-RL(PPO)→ 无法直接用 mjlab
1011+
- mjlab 默认只接 RSL-RL(RL 算法为 PPO,无 SAC/TD3 等)→ 无法直接用 mjlab 切换到 off-policy 算法
10121012
- Isaac Lab 支持 RSL-RL + RL Games + SKRL + SB3 → 可以在同一环境上切换算法
10131013
- 推荐:使用 Isaac Lab,利用其 DexSuite(灵巧手操作任务)+ 多 RL 后端
10141014

@@ -1071,7 +1071,7 @@ Google DeepMind 维护。Brax 是基于 JAX 的可微分物理仿真引擎,MuJ
10711071
| 维度 | MJX | MuJoCo Warp |
10721072
|------|-----|-------------|
10731073
| 编程框架 | JAX(`jax.vmap` 批量化) | NVIDIA Warp(PyTorch 互操作) |
1074-
| 可微分 | ✅(JAX autograd 原生支持) | ❌(Warp 可微分功能仍在开发中|
1074+
| 可微分 | ✅(MJX-JAX:JAX autograd 原生支持) | ❌(MJX-Warp/MuJoCo Warp 当前不支持自动微分,官方称暂无明确计划,仅有 GitHub issue 跟踪|
10751075
| 使用的框架 | MuJoCo Playground | mjlab / Isaac Lab(via Newton) |
10761076
| 典型用户 | 需要可微分仿真的研究者 | 大多数 PyTorch RL 研究者 |
10771077
| 与 RSL-RL 兼容 |||
@@ -1104,7 +1104,7 @@ Genesis/HumanoidVerse 的架构设计(simulator/task/algorithm 三层解耦 +
11041104
| Unitree G1 | `unitree_g1/g1.xml` | 29 |
11051105
| Unitree H1 | `unitree_h1/h1.xml` | 19 |
11061106
| ANYmal C | `anybotics_anymal_c/anymal_c.xml` | 12 |
1107-
| Franka Emika Panda | `franka_emika_panda/panda.xml` | 7 |
1107+
| Franka Emika Panda | `franka_emika_panda/panda.xml` | 9(7 臂 + 2 夹爪) |
11081108

11091109
当你需要一个新机器人的 MJCF 时,首先检查 Menagerie 是否已有——直接使用经过社区验证的模型比自己从零建模可靠得多。如果 Menagerie 没有你需要的模型,Ch11 将讲解如何从 SolidWorks CAD 文件导出 URDF 并转换为 MJCF。
11101110

@@ -1218,7 +1218,7 @@ Rerun 不替代 Viser(实时 3D 可视化)或 WandB(实验管理),而
12181218

12191219
### ⚠️ 常见陷阱
12201220

1221-
1. **把 RSL-RL 当作通用 RL 库。** RSL-RL 只有 PPO如果你需要 SAC/TD3/Diffusion Policy,必须使用 Isaac Lab + 其他 RL 后端。
1221+
1. **把 RSL-RL 当作通用 RL 库。** RSL-RL 的 RL 算法只有 PPO(外加 Student-Teacher Distillation 流程),没有 off-policy 算法;如果你需要 SAC/TD3/Diffusion Policy,必须使用 Isaac Lab + 其他 RL 后端。
12221222
2. **忽略 WandB 的价值。** 很多初学者不配置 WandB,导致实验结果散落在本地文件系统中,几周后就找不到了。从第一次训练开始就使用 WandB 是一个**零成本高回报**的好习惯。
12231223
3. **在 Menagerie 中找不到模型就从零建模。** 先在 GitHub 上搜索 `机器人名 + URDF``机器人名 + MJCF`,很可能已有人做过。awesome-loco-manipulation 仓库收集了多种复合机器人的 URDF(Go2+Arx、B1+Z1 等)。
12241224
4. **混淆"框架"和"RL 算法库"。** mjlab/Isaac Lab 是环境框架(提供 `env.step()`),RSL-RL/RL Games/SKRL 是 RL 算法库(提供 `ppo.update()`)。框架和算法库通过 VecEnv wrapper 连接——这个连接层在 Ch07 中会详细讲解。

0 commit comments

Comments
 (0)