# Lessons 课程设计评审稿

[English version](course-design.md) · [课程讲述与编辑原则](course-editorial-principles.zh-CN.md) · [课程地图](../course/index.zh-CN.html) · [已有课程](README.zh-CN.md)

**状态：K/L 阅读页与契约页已发布；L0、L0-E 与 L1 有本地数值证据，2026-09-26。** 本稿记录批量讨论中确认的课程范围与取舍，并定义统一内容契约。它是 K/L 教学顺序和本轮交付范围的维护入口；[长期路线图](../03_synthetic_lab_roadmap.md)保留研究方向。数值参数、算法配置、资产版本、运行预算和素材脚本在单课 review 后冻结。正式页面不声称任何尚未生成并验证的数值结果。

已有 K0、K1、L0、L1 正文；L1 延迟与摩擦实验均已交付。L0/L1 的独立学员验收仍待完成。K2–K8、L0-E、L1-O、选修 L1-S 以及 L2–L6 的正式页面现已完成。真机 H 系列不在本轮范围，D06 保留旧稿供以后讨论。

评审入口：[目标](#d01) · [顺序与前置](#d02) · [统一结构与证据](#d03) · [K 课程卡片](#d04) · [L 课程卡片](#d05) · [交付](#d07) · [逐课评审清单](#d08)。反馈直接引用课程编号；现有 D01–D08 与 L 锚点继续有效。

<a id="d01"></a>
## D01 · 学完后应该能做什么

面向能读懂曲线、具备基础 Python 经验的机器人工程师。主目标是独立设计辨识实验、拟合并诊断机器人模型；L4 另有一个规模受控的下游控制对比。RL 训练是扩展，不作为主线通关条件。

完成主线后，学员应能：

1. 画出系统边界，区分指令、实际力矩、状态与观测，明确拟合器能使用什么。
2. 选择能显现目标效应的激励，并判断参数相关性与数据覆盖的限制。
3. 用受控对比区分优化失败、信息不足和模型结构不足，提出下一步实验。
4. 在未参与调整的工况上评价预测，并说明参数恢复、行为预测与下游效果分别证明什么。
5. 将部件证据带到整机，选择参数共享方式，并在模型失配时报告适用范围与剩余不确定性。
6. 用不同模型按同一设计方法生成控制器配置，在同一个 Oracle 上比较效果，不预设辨识后必然全面获胜。

数学采用**工程推导深度**：正文解释必要方程、单位和关键推导，让学员能修改模型与目标函数；完整证明和高级优化细节放补充阅读。K 课各自解决一个通用判断问题，L 课以数据检验这些判断。

课程从具体失败开始：先预测原因，再做受控对比。每课保留可验证的成功基准，但允许结论是“只能约束一个范围”或“需要新实验”。L2 之前每次只增加一个主要困难；L2 起专门研究耦合与补偿解。

**篇幅目标：** K 核心阅读约 10–15 分钟，小实验讲解与练习约 25–40 分钟。L2–L6 拆成围绕单一问题的连续小节；本地作业单独计时。这些是写作目标，不是实测计算耗时。静态阅读本身即可完成理解与读图练习，无需安装仿真器或使用 GPU。

<a id="d02"></a>
## D02 · 学习顺序与课程边界

K0–K8 按知识主题组织，L0–L6 按实验复杂度递进，编号不一一对应。K 保留独立课程，L 链接所需章节；不要求先读完整知识线。带后缀的实验仍属于原级别，不重新编号既有课程。

| 阶段 | 推荐阅读与实验顺序 | 获得的能力 |
|---|---|---|
| 起步 | K0 → K1 → L0 | 走完惯量与阻尼辨识的最小闭环 |
| 方法 | K4 → K5 → K6 → L0-E，并回读 L0 | 理解激励、拟合与留出验证，识别弱约束 |
| 执行器 | K2 基础 → K3 → L1 延迟 → L1 摩擦 | 分清动力学与指令链路，隔离单项效应 |
| 观测 | L1-O；L1-S 为选修分支 | 分清传感器误差与系统行为；按需研究限幅 |
| 结构 | K7 → L2 → L3，回读 K2 耦合与接触 | 识别补偿解，先验证自由空间再加入接触 |
| 整机 | K8 → L4 | 比较两条辨识路线，并检验下游控制效果 |
| 规模与失配 | 默认 L5 → L6；两者均可从 L4 后进入 | 分别研究参数共享与模型无法精确匹配的情况 |

上表是推荐顺序，**不等于硬性依赖链**。必要前置指应已具备的能力，可由同等经验替代；各卡片列出具体前置。L5 不是 L6 的必要前置。K4–K6 在所有实验中反复使用，K7 在 L1 先给局部解释、进入 L2 前系统学习，K8 在 L4 前引入并在 L6 回读。

```text
K0/K1 → L0 → K4/K5/K6 → L0-E
                         ↓
                 K2 基础 / K3 → L1 延迟 → L1 摩擦 → L1-O
                                    └→ L1-S（选修）
                 K7 / K2 耦合 → L2 → K2 接触 / L3 → K8 / L4
                                                          ├→ L5 参数共享
                                                          └→ L6 结构失配 → 真正跨仿真器
```

推荐主线是 **K0 → K1 → L0 → L1（含摩擦）**，随后按 D02 阅读已完成的 K/L 正式页面。各页面在满足列出的前置能力后都可独立阅读；数值证据状态在单课页面中说明。L1 所需概念在课内说明。

资产与后端保持连续：L2 的两关节固定基座腿作为 L3 的同一对象，并与 L4 的 Microduck 资产约定衔接；L5 换为指定的 Microban，复用主后端与实验协议。主后端及具体资产版本在 L2 评审冻结，之后沿用；L6 才引入第二引擎。具体几何适配不在本轮假定已经完成。

柔性、回差、Stribeck、主动激励、优化器排行榜、宽泛/定向随机化和 RL 训练归入专题。只有具体失败提出需求时，才将相应专题加入某课扩展。

<a id="d03"></a>
## D03 · 每课统一的阅读结构

| 环节 | 学员的体验 | 作者提供 |
|---|---|---|
| 01 · 失败与预测 | 看一个具体偏差，先猜原因 | 初始模型对比与一个判断问题 |
| 02 · 边界与推导 | 说清输入、未知量、固定量和必要方程 | 信号可见性图、单位、关键推导 |
| 03 · 受控实验 | 解释改变什么、固定什么 | 成功基准、对比组、拟合/开发/最终评估划分 |
| 04 · 证据与诊断 | 判断模型、数据或优化器的问题 | 拟合/留出视图、残差或敏感度、结论范围 |
| 05 · 练习与解答 | 先预测，再读图或改一个设置 | 无需运行代码的练习与参考解释，可选有限交互 |
| 06 · 局限与下一步 | 提出更能区分假设的实验 | 未解决歧义、下课入口与必要前置 |

每课开头使用同一种三层信号可见性图：

| 层 | 用途与权限 | 示例 |
|---|---|---|
| 拟合器可见 | 仅拟合分区的公开输入、测量、元数据可传给估计器 | 指令、编码器、已声明的力测量 |
| 评估信号 | 只用于评分，不进入拟合与调参；若用于选模型，须改标开发数据 | 最终留出观测、允许比较的共享参数真值 |
| Oracle 诊断 | 仅供生成和教学解释；不进入目标函数、初始化、边界选择或模型挑选 | 实际力矩、精确隐状态、求解器内力 |

三层是访问用途，不是按信号名称永久划分。L0 明确提供实际施加力矩，L1 延迟不提供；每张图必须标明数据分区与可见性。拟合器也不能接触留出数据中的公开测量。

计算实验的最低证据包是：真实系统/初始模型/辨识后模型对比、分别报告的拟合与最终留出指标、残差或敏感度图、证据说明、下一步实验建议。多个候选 Student 分开标注。K 课引用对应 L 的真实证据或明确标注的概念示意，不为满足模板伪造运行结果。

每课要求学员写：“我原先预计……；图或指标显示……；在……条件下支持……；仍不能排除……；下一步做……实验。”并讨论三个诊断分支：模型结构不足、数据不足、优化失败。某分支不适用时说明理由，不强制每课制造三种失败。参考解答应指出支持结论的图、不能得出的结论和可区分剩余假设的实验。

模型选择属于开发过程。候选结构、边界、权重、正则化和控制器设计规则应在最终评估前声明；用某份验证数据作选择后，它成为开发数据，最终结论需要另一份未参与调整的数据。重复运行声明种子与预算；不通过反复查看最终评估挑最好一次。

一个学习问题对应连续阅读页面。章节锚点辅助滚动，短片放在对应问题旁并附文字解释；曲线保留标签与线型。回放不触发拟合，参数预览与已完成结果明确区分。具体视觉沿用现有课程，脚本与交互控件留单课 review。

<a id="d04"></a>
## D04 · 知识课程卡片

K0/K1 已有正文，本轮保留：K0 建立辨识动机；K1 区分输入、状态、观测、模型和参数。K2–K8 卡片现在都已有对应的正式阅读页，并遵循统一结构。数值运行提供经过验证的证据之前，概念图仍会明确标注为示意图。参考材料沿用[书籍与参考资料](../02_learning_path_and_references.md)。

[K2](#k2) · [K3](#k3) · [K4](#k4) · [K5](#k5) · [K6](#k6) · [K7](#k7) · [K8](#k8)

<a id="k2"></a>
### K2 · 从运动偏差定位动力学项

- **核心问题：** 为什么同一组参数在一个姿态有效，换姿态就失效？
- **必要前置：** K1 的信号区分、L0 的惯量/阻尼直觉；导数和力矩单位在本课补充。
- **内容边界：** 解释 `M(q)qdd + C(q,qd)qd + g(q) + tau_f = tau + J_c^T lambda` 的各项及维度。核心阅读覆盖单关节惯性、重力与耗散；耦合和接触分别在 L2/L3 前回读，不要求完整推导刚体算法。
- **内容提纲：** 从匀速/加速偏差进入 → 单摆力矩平衡 → 姿态相关重力 → 两关节动态耦合 → 接触广义力。
- **关键对比：** 固定系统，改变姿态或运动频率；区分依赖位置、速度、加速度的效应。不可把任何相似残差形状当成唯一原因。
- **图表计划：** 单摆受力图、各力矩项随时间的分解、单关节激励引起另一关节运动的同步图、接触力到关节力矩的示意。
- **练习与学习成果：** 为三种偏差选择候选动力学项并提出区分实验；参考解答承认多个候选时需额外证据。
- **局限与衔接：** 不承诺分别辨识所有质量/质心/惯量；为 K3、L1、L2/L3 提供所需章节。
- **单课 review：** 关键推导的长度、几何示意、符号表，以及基础/回读部分的切分。

<a id="k3"></a>
### K3 · 从控制指令追踪到关节力矩

- **核心问题：** 指令看起来正确，为什么实际关节运动仍有延迟或阻力偏差？
- **必要前置：** K1、K2 单关节基础；了解固定 PD 反馈的含义。
- **内容边界：** 讲清控制器、延迟、限幅和摩擦的位置；几种模型是受控案例，不一次堆进同一 Student。介绍 `tau_cmd = Kp(q_des-q) + Kd(qd_des-qd)` 及施加力矩的变化。
- **内容提纲：** 边界图 → 理想执行器 → 指令延迟 → 黏性/平滑类库仑阻力 → 输出限幅 → 哪些残差支持继续丰富结构。
- **关键对比：** 同一模型分别只加入延迟、摩擦、限幅，观察频率、速度方向与幅值的不同线索。
- **图表计划：** 指令到运动的信号图、延迟时序、阻力—速度曲线、指令/施加力矩限幅曲线，全部注明可见性。
- **练习与学习成果：** 在三个边界图中定位隐藏效应并选择一个新实验；能解释等效指令延迟不等于电机电磁时间常数。
- **局限与衔接：** 不展开柔性、回差、Stribeck 与温度模型；连接 L1 延迟/摩擦与选修 L1-S，参数含义在 K7 深入。
- **单课 review：** PD 与延迟约定的讲解范围、三个孤立案例的视觉对应、专题入口。

<a id="k4"></a>
### K4 · 判断实验能否区分参数

- **核心问题：** 数据很多、拟合误差很小，为什么参数仍可能不可靠？
- **必要前置：** K1、L0；敏感度所需的局部导数在本课解释。
- **内容边界：** 从 L0 的 `J/b` 出发，讲持续激励直觉、参数尺度、敏感度列的相关性和结构/实际可辨识性的区别，不要求信息矩阵的完整理论。
- **内容提纲：** 慢运动的盲点 → 改变一个参数看输出 → 比较敏感度方向 → 损失谷与参数组合 → 设计下一次激励。
- **关键对比：** 同系统同预算下的慢输入与宽频扫频；在 L2 回看单姿态与多姿态，报告实际状态覆盖。
- **图表计划：** 输入与状态覆盖图、尺度归一化的敏感度箭头/列、二维损失等高线、多起点参数散点。
- **练习与学习成果：** 选择能分开两个候选参数组合的激励，说明为什么仅增加相似样本不够；不把无噪声弱敏感度写成必然恢复失败。
- **局限与衔接：** 局部敏感度不是全局唯一性证明；进入 L0-E，并在 L2/L5 回读。
- **单课 review：** 尺度处理方式、最少矩阵知识、慢/快对比的图注与条件。

<a id="k5"></a>
### K5 · 判断拟合过程到底解决了什么

- **核心问题：** 优化器说成功，是否就得到可信模型？失败时先改什么？
- **必要前置：** L0、K4 的损失谷直觉；求和与导数符号在课内解释。
- **内容边界：** 从 L0 实际使用的有界非线性最小二乘入手，解释残差尺度、目标函数、初值和边界，推导一个局部线性化步骤。不是优化算法目录。
- **内容提纲：** `r = model - observed` → 按单位/噪声尺度构建损失 → 局部更新 → 停止条件/边界命中 → 多起点和失败诊断。
- **关键对比：** 同模型同数据改变起点与预算；再固定估计器，分别改变激励或模型结构，区分三个诊断分支。
- **图表计划：** 损失面上的迭代路径、尺度不当时的通道贡献、终止状态与拟合/留出误差对照表。
- **练习与学习成果：** 从三个拟合记录中选择“增加预算、换激励、改结构”的下一步，并说明证据；能写出带尺度的目标函数。
- **局限与衔接：** 收敛不证明唯一性或泛化；CMA-ES 等方法只在 L4 暴露需求时补充，排行榜属专题。连接 L0-E/K6 与后续所有实验。
- **单课 review：** 推导步数、目标函数示例、优化器日志中应保留的最少信息。

<a id="k6"></a>
### K6 · 用新实验挑战模型预测

- **核心问题：** 训练曲线重合了，什么证据仍能推翻这个模型？
- **必要前置：** L0、K1；结合 K4/K5 理解拟合与选择过程。
- **内容边界：** 解释拟合、开发、最终留出评估，残差单位/结构，以及按动作、频率、方向、负载拆分数据；不展开完整统计检验课程。
- **内容提纲：** 同数据重放的局限 → 按部署变化选择留出工况 → 各通道误差 → 残差模式 → 声明预测范围。
- **关键对比：** 拟合内的小误差与未见换向/频率下的结构残差；对比随机拆时间点与整段独立运行，说明相邻样本泄漏。
- **图表计划：** 数据分区图、拟合/留出并排轨迹、随速度或时间的残差、跨工况误差矩阵。
- **练习与学习成果：** 审查一个用验证调参的“高精度”结论，重设计最终评估；用一段证据说明限定结论。
- **局限与衔接：** 一个残差形状不是缺失物理的唯一证据，低误差也不直接证明控制效果；从 L0/L1 到 L6 反复使用。
- **单课 review：** 指标选择、数据泄漏例子、残差图与参考解答的歧义边界。

<a id="k7"></a>
### K7 · 判断拟合参数代表什么

- **核心问题：** 两组差异很大的参数都能拟合运动，哪一组才可信？
- **必要前置：** L1 延迟/摩擦与 K4/K6；课内回顾等效延迟。
- **内容边界：** 区分物理、等效、干扰、不确定参数；解释参数组合、补偿解和边界依赖，不强求所有参数都有唯一真值映射。
- **内容提纲：** 两个好拟合 → 模型省略项怎样被参数吸收 → 独立约束与参数组合 → 稳定性与不确定范围 → 如何报告。
- **关键对比：** 同一公开数据上正确结构与缺项结构的拟合；在新姿态/频率看补偿是否继续成立。
- **图表计划：** 参数对损失谷、跨工况拟合值变化、参数语义对照表、加入部件约束前后的预测图。
- **练习与学习成果：** 给一份结果中的参数分类，选出允许报告恢复误差的量，提出消除补偿歧义的测量。
- **局限与衔接：** 优化器的局部曲率不足以概括模型失配不确定性；接入 L2，在 L5/L6 回读。
- **单课 review：** 补偿实例与模型边界、范围估计的讲解程度、参数报告格式。

<a id="k8"></a>
### K8 · 将辨识结果用于控制与迁移

- **核心问题：** 预测更准，怎样检验它是否真的改善了下游任务？
- **必要前置：** K6/K7、L2/L3；先于 L4 的下游案例阅读。
- **内容边界：** 分清同输入预测、同控制器闭环、基于不同模型重新设计控制器三种协议。主线采用第三种，RL 与域随机化为扩展。
- **内容提纲：** 预测与控制指标的区别 → 冻结辨识数据 → 用同一方法从模型生成控制器配置 → 同一 Oracle 评估 → 剩余不确定性与适用范围。
- **关键对比：** 初始模型与辨识模型分别产生控制器配置；固定设计规则、预算、任务、约束和评估条件，不以最终 Oracle 得分反复调控制器。
- **图表计划：** 两条模型到控制器的流程图、跟踪误差/控制代价/约束违反对照、训练/辨识/评估数据关系图。
- **练习与学习成果：** 找出“只换离线模型、控制器不变就声称控制改善”的漏洞；提出一个结果可能有利有弊的公平评估。
- **局限与衔接：** 不预设辨识模型在所有指标获胜。L4 做小型控制对比，L6 回读模型失配；定向与宽泛随机化、重新训练 RL 策略留专题。
- **单课 review：** L4 控制器设计方法、任务与指标、扩展协议怎样与主线分离。

<a id="d05"></a>
## D05 · 合成实验课程卡片

L0、L0-E 和 L1 有已检查的本地证据；L1-O、L1-S 与 L2–L6 仍是待实现设计。[课程矩阵](../course/status.zh-CN.md#evidence-media-matrix)记录具体证据和素材状态。每个实验遵循 D03 的三层可见性、数据划分和最低证据包；下面列出各课新增的教学重点。数值真值、参数边界、采样/积分、容差、种子与预算在单课 review 冻结。

[L0](#l0) · [L0-E](#l0-e) · [L1 延迟](#l1) · [L1 摩擦](#l1-friction) · [L1-O](#l1-o) · [L1-S](#l1-s) · [L2](#l2) · [L3](#l3) · [L4](#l4) · [L5](#l5) · [L6](#l6)

<a id="l0"></a>
### L0 · 恢复惯量与阻尼

**已有主线基础，本轮不重新设计数值契约。** [课程](l0/index.zh-CN.md)与[固定报告](../../reports/l0_inertia_damping/report.md)使用 `J*qdd + b*qd = u`、已知实际力矩、理想 `t/u/q/qd` 观测，只拟合 `J/b`。K0/K1 足以开始；扫频拟合后检验留出多正弦运动，展示真实系统、初始模型和辨识后模型。

学员修改初始惯量或阻尼，区分预览与完成拟合的结果，并解释留出预测。模型结构匹配、力矩已知和观测理想限制了结论。独立学员验收仍待完成。下一步在 K4–K6/L0-E 回读相同系统。

<a id="l0-e"></a>
### L0-E · 当输入掩盖了参数的影响

**已有本地证据：** [冻结报告](../../reports/l0_excitation/report.zh-CN.md)和[课程页](l0-e/index.zh-CN.md)现已实现该卡片。

- **核心问题 / 角色：** 大量慢运动数据为什么仍可能弱约束惯量？主线桥接课。
- **必要前置：** L0、K4–K6 的核心部分。
- **边界与观测：** 固定 L0 的系统、`J/b`、公开观测、估计器、参数边界和损失尺度，仅改变激励。真值只供评估，延续理想观测。
- **内容提纲：** 小拟合误差引出疑问 → 对比加速度/速度覆盖 → 观察损失谷 → 换激励 → 检验新的运动。
- **关键对比：** 在同一已声明幅值与时长预算内比较慢输入和宽频扫频，用共同的最终留出多正弦评分；记录实际状态覆盖，不假定同预算即同信息量。
- **图表与证据：** 输入/状态覆盖、经尺度处理的敏感度与二维损失等高线、多起点结果、参数恢复和留出误差。
- **练习与学习成果：** 选择下一次激励并说明怎样分离惯量与阻尼；参考解答区分弱敏感度、实际不稳定与结构不可辨识。
- **局限与下一课：** 无噪声弱敏感度不保证恢复失败，不人为制造失败结论；噪声留 L1-O，接下来进入 K2/K3/L1。
- **交付：** 静态对比与本地 CPU 作业；可选有限输入预设须先实测预算。
- **单课 review：** 幅值/时长与频带、参数尺度、弱约束的展示标准和共同评估输入。

<a id="l1"></a>
### L1 · 辨识指令延迟

**已有主线基础，本轮保留实现。** [课程](l1/index.zh-CN.md)与[固定报告](../../reports/l1_servo_loaded_pendulum/report.md)的边界为 `q_des → 固定 PD → 完整力矩指令延迟 → 重力负载摆`。只用公开 `t/q_des/q/qd` 拟合等效延迟；`qd` 从位置推导，真实力矩和延迟内部状态用于诊断。几何、负载、增益与积分设置已知。

必要能力是 L0 与指令/状态区分；推荐先读 K2 基础/K3，K7 的等效参数解释在课内先提供。扫频拟合后预测另行定义的换向波形，解释相位线索、残差及闭环影响。改变初始延迟后需显式提交拟合，回放读取已完成结果。结论不是电机电磁时间常数，独立学员验收仍待完成。下一步为已有摩擦实验。

<a id="l1-friction"></a>
### L1 扩展 · 区分摩擦与黏性阻尼

**已交付且保留在主线。** [L1 页面](l1/index.zh-CN.md)中的第二个隔离实验及[固定报告](../../reports/l1_friction/report.md)使用已知惯量与实际力矩。Oracle 阻力为 `b*qd + tau_c*tanh(qd/v_eps)`，`v_eps` 公开固定；对比只含黏性项与同时拟合 `b/tau_c` 的 Student。延迟为零，无重力和饱和。

在 L1 延迟后配合 K3/K6 学习。双向、多速度运动与预先声明的留出幅值/换向速率用于研究结构残差。学员解释纯黏性模型在换向附近的失配，并提出分离两项阻力的输入；“残差与速度相关”本身不证明摩擦是唯一原因。这里只用平滑类库仑阻力，不包含静止黏着、Stribeck 或回差；已有静态、CPU 报告和 Notebook，浏览器对比暂缓。下一步为 L1-O，或选修 L1-S。

<a id="l1-o"></a>
### L1-O · 分清观测质量与系统行为

- **核心问题 / 角色：** 差分速度看起来很差，是否说明真实系统或模型变了？主线桥接课。
- **必要前置：** L1 延迟、K4/K6；推荐完成摩擦实验后学习。
- **边界与观测：** 复用 L1 系统，只增加一种明确统计性质的位置噪声。公开带噪位置与按声明方法派生的速度、已知采样时钟和指令；精确速度仍为 Oracle 诊断信号。
- **内容提纲：** 差分放大噪声 → 两个相关通道 → 损失尺度与权重 → 重复拟合的波动 → 分开看观测误差与真实状态误差。
- **关键对比：** 只用位置与使用位置加差分速度的目标函数；每组共享数据，拟合/开发/最终评估用独立预定种子。权重仅由拟合或明确开发数据决定。
- **图表与证据：** 带噪位置与派生速度、通道残差尺度、延迟估计分布、留出指令预测；评估者可额外报告真实状态误差，不能传回拟合器。
- **练习与学习成果：** 解释为什么派生通道不一定增加独立信息，比较精度与稳定性；解答不能用视觉平滑度代替时序估计质量。
- **局限与下一课：** 初版不同时加入量化、滤波相位、时间戳偏移或抖动；进入 K7/L2 前掌握观测边界。
- **交付：** 静态多次运行汇总、本地 CPU 实验，无浏览器实时拟合承诺。
- **单课 review：** 噪声模型与强度、差分/端点约定、通道相关性处理、权重和重复次数。

<a id="l1-s"></a>
### L1-S · 让力矩限幅显现出来

- **核心问题 / 角色：** 从未触及输出上限的数据能否恢复上限？执行器选修，不是 L2 前置。
- **必要前置：** L1、K3/K4/K6；与摩擦残差比较。
- **边界与观测：** 公开力矩指令 → 对称限幅 → 已知旋转动力学。拟合 `tau_max`，固定机械参数与力矩比例；公开运动测量，实际力矩只供诊断。无延迟、额外摩擦。
- **内容提纲：** 温和运动拟合“成功” → 上限之外的平坦损失 → 增大输入触及限幅 → 对比模型结构 → 说明只得到下界的情况。
- **关键对比：** 未触发限幅与跨阈值的拟合数据；各自比较无限幅/有限幅 Student，使用同一预先声明的留出幅值组评估。
- **图表与证据：** 指令/实际力矩、限幅占比、损失随上限变化、不同幅值下的预测和残差。
- **练习与学习成果：** 选出能约束上限的数据；解答说明“任何足够大的上限都一样”时应报告约束范围而非唯一真值。
- **局限与下一课：** 速度、电压、温度相关上限属专题；完成后返回 L1-O/L2 主线。
- **交付：** 静态与本地 CPU，可选幅值预设。
- **单课 review：** 输入幅值、限幅阈值、未触发时的报告方式，以及候选结构比较预算。

<a id="l2"></a>
### L2 · 在固定基座腿中分离执行器与刚体误差

- **核心问题 / 角色：** 连杆参数错了，能否被执行器参数掩盖？首次引入多关节耦合。
- **必要前置：** L0-E、L1 延迟/摩擦、L1-O 的诊断能力，K2 耦合、K4–K7；不要求 L1-S。
- **边界与观测：** 两关节固定基座腿、已知重力、统一主后端；公开关节指令和编码器，固定控制器和观测处理。先只拟合一个连杆惯性参数组，再开放有限执行器参数。真力矩、刚体真值和内力仅供评估/诊断。
- **内容提纲：** 单姿态好拟合在另一姿态失败 → 单关节/联合激励 → A 刚体误差 → B 执行器误差 → C 两者共存 → D 引入部件约束。
- **关键对比：** A/B 隔离原因，C 展示补偿，D 检查低层证据是否减轻歧义。每项比较使用相同公开数据、参数尺度与声明预算，留出姿态和频率；只有敏感度支持的参数组合进入拟合。
- **图表与证据：** 腿部与两关节曲线同步回放、逐关节残差、参数相关性/损失切片、加约束前后的留出误差与额外部件数据成本。
- **练习与学习成果：** 给出两组补偿解，选择能区分它们的新姿态或激励，指出应固定/约束的参数；不能默认分别恢复所有质量、质心与惯量。
- **局限与下一课：** 排除接触与浮动基座。只有自由空间预测的范围得到验证后，才把对应设置带入 L3。
- **交付：** 静态分节、视频/预计算回放、本地仿真作业。
- **单课 review：** 与 Microduck 衔接的腿资产、主后端与版本、可辨识参数组、动作与预算、部件约束来源。

<a id="l3"></a>
### L3 · 在自由空间验证后加入接触

- **核心问题 / 角色：** 压地或轻微落地的偏差能由法向接触解释吗？只新增接触不确定性。
- **必要前置：** L2 自由空间证据、K2 接触与 K6/K7。
- **边界与观测：** 沿用同一条腿和主后端，固定已验证的执行器/刚体设置与足部/地面几何。首个核心案例用法向柔性接触，研究刚度/阻尼。公开关节指令、运动与已声明的法向力测量；求解器内力/内部状态只供诊断。
- **内容提纲：** 自由空间合格但接触失败 → 准静态压地 → 动态回弹/轻微落地 → 分离刚度与阻尼 → 回归检查上游模型。
- **关键对比：** 以不同速度/载荷的受控压入和回弹分离两项效应，留出速度或载荷；拟合前后重跑自由空间验证。步长细化是数值检查，不把步长当待拟合参数。
- **图表与证据：** 接触事件回放、力—压入量与力—速度关系、接触时刻/运动/力残差、留出指标和自由空间回归表。穿透量若不可观测，仅在诊断图显示。
- **练习与学习成果：** 判断只靠单次压地能否区分刚度和阻尼，提出额外速度/力测量；解释为什么不能改质量来掩盖接触错误。
- **局限与下一课：** 排除切向摩擦、滑移和未知地形；分不开参数时报告组合或范围。接触参数可能是后端等效量，为 L4 提供限定工况的接触证据。
- **交付：** 静态证据、视频/回放、本地接触仿真。
- **单课 review：** 接触定律与参数语义、法向力测量模型、载荷控制、步长收敛标准、刚度/阻尼分离条件。

<a id="l4"></a>
### L4 · 比较整机拟合路线并检验控制效果

- **核心问题 / 角色：** 部件证据什么时候帮助整机辨识，改进后的模型是否有助于一个控制任务？首次整机综合应用，拆为路线比较与下游检验两个小节。
- **必要前置：** L2/L3 及对应执行器证据、K4–K8。K8 必须在控制对比前阅读。
- **边界与观测：** 统一主后端上的 Microduck Oracle、紧凑 Student 参数化、声明的指令/关节/基座观测。保留先有支撑或固定基座动作、再逐步放开边界的策略，不把完整行走/RL 训练设为首个必做任务。
- **内容提纲：** 单动作好拟合但换动作失败 → 部件约束与全局拟合 → 数据/计算成本 → 选定模型与冻结协议 → 基于模型设计控制器 → Oracle 评估。
- **关键对比：** 路线 A 先使用部件证据施加约束再拟合，路线 B 从整机数据全局拟合；共享整机拟合/最终留出动作族与声明预算，单独计入 A 的额外数据和计算。下游案例使用初始模型与预先规定选取规则的辨识模型，按**同一控制器设计方法**生成各自配置，在**同一个 Oracle**、配对初值/扰动和相同任务约束下比较。
- **图表与证据：** 三模型回放、关节/基座误差、路线成本表；两条模型到控制器的流程、跟踪误差、控制代价与约束违反。辨识评估与下游评估分开报告，按需要给多条件汇总。
- **练习与学习成果：** 为给定预算推荐辨识路线，审查下游对比是否公平，并解释某一指标改善而另一指标恶化的可能原因。
- **局限与下一课：** 固定的是设计方法而非控制器配置；仅改离线模型且控制器不变不能声称改善了控制。不依据最终 Oracle 得分挑模型或反复调控制器，不预设全面获胜。RL、宽泛/定向随机化比较属 K8 扩展；之后可独立进入 L5 或 L6。
- **交付：** 静态/预计算结果，本地或调度整机拟合与小型控制实验；拟合内循环不训练 RL。
- **单课 review：** 参数化与动作族、部件数据成本、控制任务/设计方法、辨识模型选择规则、评估条件和指标。

<a id="l5"></a>
### L5 · 在 Microban 关节之间共享参数

- **核心问题 / 角色：** 每个关节都独立拟合，是否真的比共享参数更好？研究规模与参数化，不增加一批新物理效应。
- **必要前置：** L4、K4/K5/K7；不要求 L6。
- **边界与观测：** 指定 Microban 及与 L4 相同主后端，固定观测协议，声明执行器族。比较每关节独立、族共享加有界关节残差、紧凑整机等效参数三种方案；真实关节偏差仅用于评分/解释。
- **内容提纲：** 参数更多却留出更差 → 族共享 → 关节例外 → 参数自由度与稳定性 → 模型复杂度选择。
- **关键对比：** 三方案使用同一公开拟合数据、最终留出全身动作和声明预算。设计一个族内相似基准与一个受控关节特定偏差案例；用重复数据/运行观察稳定性。分组与惩罚由元数据、拟合或明确开发数据确定，不用最终评估挑配置。
- **图表与证据：** 关节/身体误差热图、参数数量与估计分布、隐藏例外的残差、跨动作预测与运行成本。
- **练习与学习成果：** 选出需要单独残差的关节并解释证据；参考解答区分共享降低方差与共享造成偏差，不默认参数越少或越多越好。
- **局限与下一课：** 只有语义相同且可辨识的参数可报告恢复误差。不是新增摩擦/柔性大全；之后可进入 L6，但 L6 不依赖本课。
- **交付：** 静态汇总、预计算回放、本地 CPU/GPU 或调度作业，按实际依赖声明资源。
- **单课 review：** Microban 版本、族分组、受控例外、残差约束、重复预算与参数稳定性指标。

<a id="l6"></a>
### L6 · 从结构失配到真正跨仿真器

- **核心问题 / 角色：** Student 永远无法精确表示 Oracle 时，怎样界定成功与模型的使用范围？主线终章。
- **必要前置：** L4、K6–K8；复用 L1 小系统的边界知识。L5 非必要前置。
- **边界与观测：** 回到一个已验证的单关节小系统。A 案例在主后端内用丰富执行器 Oracle 与受限 Student 隔离一种结构失配；B 案例用**同一小系统和任务**引入真正不同的物理引擎。公开同一语义的输入/运动观测，隐藏内部力和状态；不直接跨引擎拟合整个人形。
- **内容提纲：** 匹配基准 → A 无法消除的结构残差 → 定义有效工况 → 对齐单位/坐标/时序/观测 → B 跨引擎 → 检查剩余误差与不确定性。
- **关键对比：** A 一次只移除一个效应；B 固定任务、公开接口和可比的建模假设，报告每个后端无法对齐的语义。两者均包含拟合内与留出频率/负载/动作范围，并做步长细化。B 的差异可能来自多种引擎机制，不强行归因于单一物理项。
- **图表与证据：** 模型/参数语义对照、残差、步长细化误差、跨工况误差矩阵、预测时域和适用范围。所有例子使用共同的最低证据包，只有共享语义参数报告恢复。
- **练习与学习成果：** 从失败案例选择“扩展 Student、改善实验、缩小适用范围”之一并给出依据；解释为什么跨引擎误差不能直接作为真实世界误差估计。
- **局限与下一课：** A 完成不代表 L6 完整交付，B 是确认的课程范围。第二引擎待选；跨仿真器成功不证明真机效果。结尾回到 K8 的剩余不确定性，RL/随机化为后续专题。
- **交付：** 静态或回放、本地两个后端的复现路径，不承诺浏览器拟合。
- **单课 review：** 小系统与首个省略效应、第二引擎、接口对齐表、步长检查、共有参数语义和评价工况。

<a id="d06"></a>
## D06 · 硬件课程卡片

**本轮范围外：保留既有草案，未在本次重新评审，不构成 K/L 主线前置。**

以下是流程和解释层面的设计。具体平台在形成采集课前，必须先给出硬件、仪器和运行限制。本提案不提供泛化的硬件执行命令。

| 编号 | 问题与前置条件 | 实验与证据 | 学员产出 / 交付方式 |
|---|---|---|---|
| H0 | 哪些台架测量能支持所选执行器边界？需要执行器课程、L1-O 和平台专属台架规程 | 校验符号、单位、力矩/电流标定、时钟和运行边界。重复采集台架动作；留出一个采集会话或运行工况。记录电压/温度，区分传感器不确定性与参数变化。不假定存在已知的物理真值。 | 标注后的信号边界、校准记录、重复拟合/验证说明。静态规程和记录案例；采集及拟合在本地完成。 |
| H1 | 部件证据能否预测真实 Microduck 或 Microban？需要 H0 和相应 L2–L4 证据 | 从有支撑的子系统动作逐步到整机测试；保留上游验证。留出动作族或采集会话，记录硬件/控制器版本。只对实测信号报告关节、基座和接触证据。 | 解释一次迁移成功和一个剩余偏差；区分仿真预测与已展示的物理行为。本地采集，审阅已完成运行。 |
| H2 | 另一位工程师能否复现完整人形结果？需要 H1 及平台专属采集/操作规程 | 跟踪执行器族、逐关节标定、数据来源、拟合预算和评估会话。用声明的条件重新检查下游控制器/策略，不能因为完成辨识就默认可以部署。 | 形成可复现的数据到模型交付，明确结论边界和未解决的不确定性。本地/服务器计算，静态报告和回放用于评审。 |

<a id="d07"></a>
## D07 · 交付方式与双语评审

遵循[课程交付政策](../lesson_delivery_policy.md)和[课程/实验流水线](../lesson_pipeline.md)：静态解释是主要学习入口；标为可运行的课程由本地实验提供数值证据，受限 WASM 是可选项。视频是按问题声明的辅助表面，不是统一的完成要求。实现时先完成并验证本地数值路径，再制作对应的静态证据，最后决定浏览器交互形式。当前 L0/L1 的 Marimo 应用需要本地 Python 服务；自包含 WASM 发布仍属于待办工作。

| 交付形式 | 评审要求 |
|---|---|
| 静态课程 | 不运行应用也能读懂问题、边界、证据、练习解答、局限和本地命令。已有视频放在对应问题旁，计划中和无需视频的情况要标明。 |
| 浏览器交互（如交付） | 声明依赖并测量冷启动、运行、内存和最坏控件设置的预算；明确它是完整拟合、预览还是回放。 |
| 本地实验 | 一个实现/配置产出报告和课程证据。完成后记录依赖、运行时/资源、输出位置和复现命令。 |
| 中英文版本 | 课程编号、方程、单位、数值、观测边界和状态保持一致，共用报告、数据和素材；契约变化时同时更新两种叙事。 |

静态网站提供中英文课程页、讲义、报告解释和课程设计，每页都有语言切换。已有教学视频提供两种语言的字幕及对应文字说明，共用原始视频和数值数据。本地 Python 应用和实现记录仍是独立的研究工具。新增课程或修改实验约定时，需要同时维护两种语言。


下面每一行都已有正式阅读页；表格记录仍待补齐的数值与证据工作，静态页面不代表对应本地实验已经运行：

| 课程 | 主要阅读与展示 | 完整计算路径 |
|---|---|---|
| K2–K8 | 静态知识页、示意图、引用对应实验的固定证据 | 无独立拟合要求 |
| L0-E | 静态对比、已检查报告与教学视频 | 已有本地 CPU |
| L1-O、L1-S | 设计草稿；静态对比计划中 | 本地 CPU 计划中 |
| L2/L3 | 静态、视频与预计算回放 | 本地原生仿真与拟合 |
| L4/L5 | 静态课程、报告汇总、预计算回放 | 本地 CPU/GPU 或调度环境，按实际需求声明 |
| L6 | 两案静态证据与回放 | 两个后端的本地复现 |

K 页与实验页共用解释结构；只有计算实验需要完整数值产物。发布页面逐课分类：K 阅读/概念、L0/L0-E/L1 可运行证据，以及其余 L 设计草稿。草稿的本地报告、仿真回放和性能证据仍待实现。大型实验按声明的 CPU/GPU 环境验收，不强制所有课程使用 CPU；静态阅读仍不要求计算环境。本稿中的“图表计划”只有经真实运行生成并验证后，才可成为课程结果。

未来翻译统一使用下面的术语：

| English | 中文 | 本课程中的含义 |
|---|---|---|
| System identification / SysID | 系统辨识 | 从观测推断已声明模型 |
| Plant boundary | 被辨识系统边界 | 定义输入进入哪个系统，以及观测哪个输出 |
| True system / Oracle | 真实系统 / Oracle | 合成实验中的隐藏真值来源，不等于真实硬件 |
| Student model | 待辨识模型 / Student | 已声明的候选结构和可调参数 |
| Initial model / Identified model | 初始模型 / 辨识后模型 | 拟合前与拟合后的对比角色 |
| Fit / held-out validation | 拟合 / 留出验证 | 估计数据 / 不参与估计和调整的数据 |
| Residual | 残差 | `model - observed`，并注明量和单位 |
| Excitation / identifiability | 激励 / 可辨识性 | 输入如何显露效应 / 数据能否区分参数 |
| Physical / effective parameter | 物理参数 / 等效参数 | 独立有物理意义的量 / 依赖建模边界的有效值 |

<a id="d08"></a>
## D08 · 逐课评审与下一步

本轮的完成物是统一内容设计，不是新课程正文、可运行实验或实测报告。已交付的 L1 摩擦不再列为从零开始的下一项任务。整体设计确认不替代 L0/L1 独立学员验收，也不冻结下表细节。

| 评审批次 | 范围 | 需要形成的决定 |
|---|---|---|
| 1 · 方法桥接 | K4/K5/K6、L0-E | 推导深度、激励对比、尺度处理、诊断图与解答 |
| 2 · 执行器与观测 | K2 基础/K3、L1-O；L1-S 选修 | 观测噪声与通道相关性、目标函数、限幅对比；复用已有延迟/摩擦证据 |
| 3 · 结构与接触 | K2 后续/K7、L2/L3 | 主资产与后端、参数组合、部件约束、法向接触、力测量与数值检查 |
| 4 · 整机与控制 | K8、L4 | 两条拟合路线的成本边界、控制任务/设计方法、模型选择与最终评估 |
| 5 · 两个后续分支 | L5、L6，可分别 review | 参数共享/例外与重复预算；小系统、第二引擎与接口语义 |

上述是建议评审批次，不承诺实现日期，也不要求评审整条主线后才可交付单课。每课 review 后冻结一个数值契约与内容提纲，再按“本地数值路径 → 固定证据 → 双语课程 → 可选交互”推进。K 课可以先制作明确标注的概念示意；实验图与性能结论必须来自后续实际运行。

每次单课 review 应回答：问题是否足够单一；必要前置是否合理；哪一组对比真正区分假设；信号和数据分区是否明确；图表是否支持结论；练习的答案能否从证据得到；哪些具体参数、预算、素材仍需冻结。不同意某个细节时在本稿修改该卡片，避免另建平行设计。

**已确认决策索引：** 以下记录本轮批量讨论 Q1–Q18 的结论，方便追溯，不是新的待批准清单。

| 讨论编号 | 确认的方向 | 落点 |
|---|---|---|
| Q1、Q11、Q17 | 辨识/诊断为主目标；L4 必做小型控制对比，同一设计方法、不同模型生成配置、同一 Oracle 评估；RL 与随机化对比为扩展 | D01、K8、L4 |
| Q2、Q6 | 工程推导；K 独立讲判断方法，L 引用必要章节并用数据检验 | D01、D04 |
| Q3、Q13 | L0-E/L1-O 主线，L1-S 选修；高级物理/主动激励/算法榜单等归专题 | D02、D05 |
| Q4、Q7 | 从失败与预测进入；先孤立效应，L2 起研究补偿；允许范围和需要新实验的结论 | D01、D03、D05 |
| Q5、Q12 | 紧凑主线；静态优先，预计算回放，本地承担完整拟合 | D01、D07 |
| Q8 | L2/L3 同一条腿，与 L4 Microduck 衔接，L5 Microban 沿用主后端，L6 引入第二引擎 | D02、L2–L6 |
| Q9、Q10 | 三层信号可见性与共享证据模板，每课给诊断和下一步实验 | D03 |
| Q14 | 推荐顺序与必要前置分开；L4 后可独立进入 L5/L6；K8 在 L4 前引入 | D02 |
| Q15、Q16 | L3 首课仅法向接触；L6 包含单引擎结构失配与真正跨引擎两案 | L3、L6 |
| Q18 | 更新本双语评审稿与相关入口；H 保留旧稿但不在本轮评审；不实现新实验 | 本稿、课程首页 |

反馈格式：**课程编号 → 希望调整的内容 → 原因或待验证假设**。例如：“L3 → 增加不同速度下同压入量的力对比 → 检查是否真的能分离刚度和阻尼。”[交付待办](../plans/course-delivery-split.md)负责打包与部署，不替代本稿的课程内容设计。
