From 34c98e03712725dbcb48e5349755d83520a764f6 Mon Sep 17 00:00:00 2001
From: Hark Transformer轨迹拟合训练方案
+Transformer
-避障运动策略:无老师闭环部署方案(审查稿 v2.2)
+id="transformer-避障运动策略无老师闭环部署方案审查稿-v23">Transformer
+避障运动策略:无老师闭环部署方案(审查稿 v2.3)
40af3b4):模型一次生成整条 32
@@ -310,6 +405,13 @@ RTC、代价引导扩散规划、流策略强化学习微调、π0.5/FAST
等),逐项判断是否适用,新增
§2.4,并据此把动作头升级为一步流匹配头 + 碰撞代价引导 +
前缀条件(§6.1A)。animTo
+时间律不可学、交叉淡入绕过安全层、训练/部署节奏不一致)和 24
+处内部不一致。核查结论见新增 §0A,全部证据见
+docs/方案逐项核查报告.md。main@3c7c814(贴立柱修复后的规划器)。本文只是方案,代码尚未编写。
先说清楚一件事:没有任何方案能在实测前被"证明完全没有风险"。 +论文证据只能说明"别人在相近条件下做成过";我们的条件(低维状态、单根固定立柱、5M +参数、浏览器推理、30/30)没有一篇论文完全一样。所以 v2.3 +的做法是:每一项都给出①证据等级 ②残余风险 +③在本仓库可测的门禁(通不过就不进下一步)④通不过时的回退。唯一做成"硬保证"的是安全层(改为距离认证后,碰撞与否不依赖模型好坏)。
+证据等级:A 有充分证据(直接先例 + 数字) · +B 部分证据(相近先例,需本仓库验证) · +C 仅推断 · ✗ 有反证(已修改)
+| # | +原方案 | +反证 | +v2.3 修正 | +
|---|---|---|---|
| H1 | +§8.3 安全层用 1°+半格离散采样"保证不撞" | +本臂杠杆实测:关节转 1°,TCP/胶囊最多移动 24.3 mm;0.5° +间距下两采样点之间可偏出约 6 mm,远大于 0.3 mm +余量。仓库自己的规划报告也记过 0.28 mm 残余侵入。Schwarzer 2005、LARC +均证明离散检查会漏检 | +臂×立柱/台架改为距离下界认证:d(q_a)+d(q_b) > Σ +r_j· | +
| H2 | +§4.5 沿用 animTo(全局 smoothstep +
+总时长夹取)做时间参数化 |
+同一状态的标签速度取决于输入看不到的"整条路径长度/进度" → +非马尔可夫;起步段 Δq≈0 → 闭环可能起不了步。MπNets +为此把老师路径重定时为匀速;Diffusion Policy +报告单步策略会卡在停顿动作 | +改为局部可观测时间律:匀速巡航 + +只按"剩余路程"决定的梯形加减速,并把当前速度 q_t−q_{t−1} 加入输入 | +
| H3 | +§8.1 插补器对新旧动作块做时间集成/交叉淡入 | +实际执行的是两块的混合,没被安全层检查;左绕块与右绕块平均可能正好穿柱。π0 +试过时间集成后放弃,BID 报告多模态下掉性能 | +删除交叉淡入,执行的就是被认证过的那一块;块间连续性靠前缀条件(§6.1A) | +
| H4 | +部署每 20 ms 推理、只走 1 步;APG 每 3 +步推理一次;"周期"三种定义 | +BID(2408.17355)证明动作时域 = 1 +会破坏块内一致性、导致来回摆动 | +统一为:50 Hz 执行,每 3 步(60 ms)推理一次、提交 3 +步;APG 展开节奏与部署完全一致。"每步重推理"留作 A/B 对照 | +
| § | +方案 | +等级 | +关键证据 | +残余风险 | +门禁(本仓库) | +回退 | +
|---|---|---|---|---|---|---|
| §0 | +不用 VLA 大模型,3–5M 参数专用策略 | +A | +IMPACT 4.67M 参数、300 Hz;π0 3B 单次预填充 46 ms(4090) | +— | +— | +— | +
| §4.1–4.3 | +采样式老师离线造 5 万条任务 | +B | +MπNets、DRP、ELMP 均用规划器老师;MπNets:老师不一致时碰撞率 +13.78%,一致老师 0.94% | +我们的老师是随机采样式,同类任务可能左右绕不一致 | +同任务 5 个种子:同伦类一致率 ≥ 90%,行程 CV < 10% | +固定种子 + "最短同伦类优先",或用 PRM 路网 A*(确定)作老师 | +
| §4.3 D 类 | +不可达目标 → 停在最近安全位形 | +B | +DRP 有同类数据 | +停靠点随目标跳变 | +目标扫过立柱时相邻 20 ms 停靠点跳变 < 5 mm | +停靠标签加连续性约束 | +
| §4.5 | +时间参数化 | +✗→改 | +见 H2 | +— | +近邻标签方差 < 10% 步长;起步失败率 = 0 | +输入当前速度 | +
| §4.5-④ | +"路径后缀 = 免费 DAgger" | +✗→删 | +DAgger 要求学生自己偏离后的状态;后缀仍是老师状态 | +协变量偏移 | +闭环到达率与单步准确率差距 | +关节噪声增广(σ 0.5–1°,DART +62%)+ 离线老师重标 + §7 | +
| §5.1 | +输入:sin/cos、TCP、6D 姿态、胶囊距离 | +B | +6D 旋转连续(Zhou 2019);ELMP、MπNets 同类输入 | +位姿目标多 IK 分支 → 额外多峰;缺子目标/前缀/速度字段(已补) | +去胶囊特征消融差 ≥ 3 pp 才保留 | +加目标分支标志 | +
| §5.2 | +16 步 Δq 动作块 | +A | +DRP、Diffusion Policy(位置式优于速度式) | +补零样本过多 → 早停 | +补零占比 > 30% 则降权 | +— | +
| §6.1 | +IMPACT 式编码器-解码器去点云 | +A(结构)/C(够不够) | +IMPACT 原文表 7 | +实算约 4.1M | +1000 样本过拟合 → 0;held-out ≥ 95%(APG 前) | +加宽 | +
| §6.1A | +动作头:一步生成 | +B | +沙箱实验见 0A.3;COT 有双峰实证;K-MF 表 1 原生 MeanFlow 会失败;OFP +自引导 λ=0.5 出现模态塌缩 | +小模型能否学出陡峭模态边界未知;训练不稳 | +M5 A/B:一步头 vs WTA,看穿柱率、到达率、摇摆率 | +WTA K=4(沙箱中同样全部通过) | +
| §6.1A | +一步头选型 | +B | +首选 MeanFlow(沙箱验证)或 Shortcut+COT 配对(无需 +JVP);否决 Consistency +Policy(原文承认偏向一侧)、OneDP(故意取单模态)、朴素 1 步 +FM(数学上等于条件均值) | +组合未见论文 | +同上 | +WTA | +
| §6.1A | +生成时碰撞代价引导 | +✗→改 | +无论文在 1–2 步下测过;DiffusionSeeder 5 步引导仅 80.6%→81.1%;RTC +附录:引导权重过大发散 | +— | +— | +改为事后投影:对输出块做 1–2 +步解析胶囊距离梯度,只在 d < 余量时启用;修不了"绕错侧",靠多候选 + +安全层 | +
| §6.1A | +前缀条件(RTC) | +B | +RTC 原文只验证 n=5 +步去噪、需反向传播;训练时前缀条件化(2512.05964)推理零开销,d≥2 +时优于 RTC,天然适用 1 步生成器 | +我们 d≈0–1 时略差 | +块边界加速度跳变 vs 无前缀 | +无前缀 + 一致性打分 | +
| §6.1A | +B 样条输出 | +C | +仅 FAST/频域表示的间接证据 | +可能损失贴柱精度 | +near_column 与 16 步 Δq 对比 | +默认改回 16 步 Δq,B 样条降为可选 | +
| §6.2 | +损失:WTA-L1/CE、FK 胶囊端点、平滑 | +B | +ELMP 式 FK 损失(§III-B 式 2) | +流头损失原缺(已补:流匹配损失 + FK 损失加在一步输出上) | +FK 消融:C 类碰撞率降 ≥ 20% 才保留 | +— | +
| §6.3 | +训练配置与耗时 | +C | +DRP:4090 上 100 万步 3 天(含点云) | +原文"20 万步≈30 epoch"算错,实为约 68 epoch | +先跑 2000 步测吞吐再定步数 | +30 epoch ≈ 8.8 万步 | +
| §6.4 | +胶囊距离 PyTorch/JS 对拍 | +A(工程) | +仓库已有 0 差异对拍惯例 | +浮点不可能"0 误差" | +布尔判定 0 差异 + 距离误差 < 1e-4 mm + 梯度对有限差分 < +1e-3 | +— | +
| §7.1 | +APG 可微微调(ELMP) | +A | +ELMP:碰撞率 31.3%→8.9%;1 万示范+APG 72.0% > 60 万纯 BC +57.9%;H=69 步仅用梯度裁剪 ≤1 | +铰链损失只能侧推,不能从"撞柱"换到另一侧;可能压缩多模态;ELMP +中路径长度 +23% | +每轮左右比例监控;行程门禁 | +保留 BC 锚定损失 | +
| §7.2 | +无老师挖错 + 门禁 | +B | +DRP 迭代师生微调 +45%(5 轮 10 h) | +门禁集与验收集重叠 → 选择偏差(已拆分) | +遗忘门禁:A 类每轮降幅 ≤ 0.5 pp | +回滚 | +
| §7.3 | +拒绝采样自蒸馏 | +B | +ReST | +选"最短" → 贴柱,余量变小、多样性塌缩 | +C 类间隙中位数 ≥ 原 80% | +改为"间隙 ≥ 阈值中最短" | +
| §7 可选 | +ReinFlow/DPPO | +B | +ReinFlow +40%,1–4 步可调,比 DPPO 省 62.8% 墙钟;DPPO 16 +步块稳定 | +RL 会重塑模式分布(DPPO D3IL) | +按左右分组平衡奖励 | +不做 | +
| §8.2 | +模式/噪声粘滞 | +✗→改 | +BID:沿用上次噪声 7 个任务中 3 个变差;后向一致性打分 + N=16 相对 ++32% | +— | +E5 摇摆 < 1% | +改为 BID 式一致性打分(与已提交块重叠步加权 +L2) | +
| §8.3 | +安全层 + 可刹停不变式 | +不变式 A;离散实现 ✗→改 | +Thumm & Althoff 2022 failsafe 盾 | +刹停"最大减速度"原未定义(已补加速度上限) | +见 H1 | +训练余量提到 3–6 mm | +
| §8.3 | +安全层耗时 < 5 ms | +C | +仓库 collideFree 1.25 ms/次 | +贴柱时预筛失效;每步 4–13° | +near_column 全程 P99 < 5 ms | +距离认证一次查询覆盖整段;提交步数降到 2 | +
| §8.5 | +子目标头、价值头、短前瞻、卡死换向 | +B / C | +AWE(航点 +25%)、SHAC、BID | +卡死换向可能活锁 | +50 个对抗用例 3 s 内恢复 ≥ 95%,活锁 = 0 | +子目标改为离散绕行锚点分类 | +
| §8.6 | +50 Hz 策略层 | +B | +π0 50 Hz、Diffusion Policy 10 Hz 预测 16 执行 8 最优 | +rAF 60 Hz 与 20 ms 不整除;后台标签页节流 | +P99 周期误差 < 2 ms | +Worker + 自有时钟 | +
| §8/§9 | +浏览器推理 2–5 ms | +C(偏乐观) | +WebGPU 每次 dispatch 33–67 μs、同步 2–3 ms(2604.02344 表 6) | +8 层 Transformer 约 150–300 次 dispatch → 调度开销 5–20 ms | +M4 后立刻导出 ONNX 实测 batch=8 P99 | +wasm-SIMD 多线程;每 3 步推理一次(预算 60 ms) | +
| §9 | +验收 30/30 | +✗→改 | +30/30 时失败率 95% 上界仍约 9.5% | +30 例被反复用于挑模型 | +新造 ≥1000 例 near_column 一次性验收集(0 失败 ⇒ +上界约 0.3%);到达率分母只算可达任务 | +— | +
为验证"一步生成会不会把左右平均成穿柱",在沙箱做了一个最小实验:2D
+点从柱左侧到右侧,示教一半从上绕一半从下绕,16 步动作块、每 3
+步重推理,与本方案同构。代码 ml/toy/toy_bimodal.py,150
+个"起终点都贴近中轴"的难例:
| 动作头 | +单样本、无安全层:到达 / 穿柱回合 | +8 候选 + 安全层:到达 / 穿柱 / 平均刹停 | +推理(CPU,8 候选) | +
|---|---|---|---|
| MSE 回归 | +100% / 0% | +100% / 0% / 0 | +0.13 ms | +
| WTA K=4 | +100% / 0% | +100% / 0% / 0 | +0.19 ms | +
| 流匹配 10 步 | +100% / 4.0% | +99.3% / 0% / 3.7 | +2.13 ms | +
| 朴素流匹配 1 步 | +87.3% / 23.3% | +81.3% / 0% / 14.0 | +0.25 ms | +
| MeanFlow 1 步 | +100% / 2.7% | +100% / 0% / 0.3 | +0.25 ms | +
结论与局限:
+以下数据均来自论文原文(链接见 §13)。
@@ -683,6 +1194,14 @@ ReinFlow。仿真就是我们的 GPU 批量 FK + 胶囊检测,3090 上可跑 ++v2.3 核查修正(见 +§0A):①碰撞代价引导改为输出后的事后投影(1–2 +步生成下无引导证据);②RTC +改为训练时前缀条件化(2512.05964,推理零开销);③一步头首选 +MeanFlow(沙箱验证)或 Shortcut+COT,否决 Consistency Policy/OneDP/朴素 +1 步 FM;④B 样条降为可选;⑤OFP 未找到公开代码,不作首选。
+
结论:v2.2 采纳"一步流匹配头 + 碰撞代价引导 + 前缀条件 + B 样条表示 + 可选 ReinFlow"。 这正是 π0.5、MP1/OFP、MPD、RTC 这几条前沿线在"低维状态、精确几何、实时控制"场景下的组合,规模仍然是几百万参数。
@@ -816,10 +1335,12 @@ class="sourceCode json">
-- 按现有
animTo 的轴速比
+ - (v2.3 修正,见 H2) 不再沿用
animTo
+的全局 smoothstep + 总时长夹取。改为局部可观测时间律:按轴速比
VREL = [0.6, 0.6, 0.9, 0.9, 1.2, 1.8]
-做时间参数化(与查看器动画同口径),控制周期 dt = 20
-ms。
+匀速巡航,加减速为梯形,且只取决于"当前速度 +
+剩余路程"(加速度上限另设),控制周期 dt = 20
+ms;当前速度 q_t − q_{t−1} 作为输入。
- 得到状态序列 q_0, q_1, …, q_N。对每个 t(每隔 3 步取 1
个,减少冗余)生成样本:
@@ -827,9 +1348,11 @@ ms。
- 标签:未来 S = 16 步的增量 Δq_{t+1..t+16} = q_{t+k} −
q_t(到终点后补零,即"停住")
-- 每条路径平均约 50–150 个样本 → 5 万条任务约 300 万个训练样本。
-- 路径后缀天然覆盖"从半路出发",等于免费的 DAgger
-种子数据。
+- 每条路径约 40–50 个样本(route_bench 平均执行约 2.5 s)→ 5
+万条任务约 200 万个训练样本(以 M1 的 stats.json 为准)。
+路径后缀等于免费 DAgger(v2.3
+删除:后缀仍是老师状态)。改为关节噪声增广(σ 0.5–1°)+
+离线老师重标,偏离状态的覆盖靠 §7。
4.6 耗时与存储
@@ -977,24 +1500,28 @@ K×16 个可学习动作 token ──▶ 4 层 Transformer decoder(非自回
训练
WTA-L1 + 模式 CE
-OFP 自蒸馏(或 MeanFlow),从零训练,无需预训练老师模型
+MeanFlow(沙箱已验证 1 步可用)或 Shortcut + COT
+条件配对(无需 JVP);损失 = 流匹配损失 + FK
+胶囊端点损失(加在一步输出上)。不采用 Consistency Policy / OneDP / 朴素
+1 步 FM
输出
16 步 Δq
-B 样条:6 个控制点 × 6 关节,再采样成 16
-步;自带平滑
+16 步 Δq(v2.3:B 样条 6 控制点降为可选,需
+near_column 消融不掉点才启用)
前缀条件
-无,靠时间集成
-输入"已提交前 3 步",新块从前缀接着走(RTC 思路)
+无
+训练时前缀条件化(2512.05964):输入已提交且未执行的步,训练时随机遮盖前缀长度
+0–3;推理零额外开销
-碰撞引导
+碰撞修正
无
-最后一步加一次可微胶囊距离梯度修正:a ← a + η·∇d_capsule(d <
-安全距离时)
+事后投影:对输出块做 1–2 步解析胶囊距离梯度,仅 d
+< 余量时启用(v2.3:生成中引导在 1–2 步下无证据)
推理成本
@@ -1008,9 +1535,10 @@ K×16 个可学习动作 token ──▶ 4 层 Transformer decoder(非自回
-模式粘滞改为"噪声粘滞":上一周期选中候选的噪声向量保留下来,本周期作为
-8
-个噪声之一,相邻周期自然延续同一绕行方向。子目标头、价值头(§8.5)保持不变。
+候选排序(v2.3 修正):不用"噪声粘滞"(BID 中 7 个任务有 3
+个变差),改为 BID 式一致性打分:分数 =
+−‖候选与上一已提交块重叠步之差‖²(加权)−
+λ·价值头剩余代价。子目标头、价值头(§8.5)保持不变。
M4 同时实现两种头,M5 预训练后在 near_column + held-out 上
A/B;若一步流匹配不优于 WTA,回退 WTA(风险可控)。
6.2 预训练损失
@@ -1046,7 +1574,8 @@ A/B;若一步流匹配不优于 WTA,回退 WTA(风险可控)。
步数
-约 20 万步(300 万样本约 30
+ 先跑 2000 步测吞吐再定;参考:200 万样本 × 30 epoch ÷ bs 1024 ≈ 6
+万步(v2.3 更正:原"20 万步≈30 epoch"实为约 68
epoch),验证集闭环成功率不再上升即停
@@ -1126,9 +1655,9 @@ APG 收敛后进一步缩短行程。
8. 第五步:无老师闭环部署
8.1 每个控制周期做什么(默认 50
Hz)
-每 20 ms:
+每 60 ms 推理一次(v2.3,见 H4;执行仍是 50 Hz,每步 20 ms):
1. 读当前 q(真机读编码器;查看器读当前插补位形)和最新目标(拖拽时每周期都在变)
- 2. 推理一次:得到 K=4 条 16 步动作块 + 模式概率 ≈ 2–5 ms(估算)
+ 2. 推理一次:一步头 8 条候选(WTA 基线为 4 条)16 步动作块 延迟须 M4 实测
3. 按"模式概率 − 切换代价"排序(§8.2)
4. 安全层依次检查候选的前 n=3 步(60 ms 的运动)+ 刹停段(§8.3)
第一个通过的 → 把这 3 步"提交"给插补器;记下 k_prev
@@ -1137,21 +1666,28 @@ Hz)
5. 全部不通过 → 进入刹停:按已验证的刹停轨迹减速停下,保持;下一周期继续推理
6. 到达判据:TCP 误差 < 1 mm(pose 另需 < 0.5°)且速度≈0 → 结束;
接近目标(< 5 mm)时可选做 1–3 次局部牛顿精修(solveTo 单步,不是全量 IK)
-插补器在两个周期之间做平滑过渡(下一块与正在执行的块做时间集成/交叉淡入,ACT
-的 temporal ensembling 思路),避免每 20 ms 一顿。
+v2.3:删除插补器交叉淡入/时间集成(见
+H3)。执行的必须就是安全层认证过的那一块;块间连续性由前缀条件和一致性打分保证。"每
+20 ms 重推理只执行 1 步"仅作 A/B 对照。
8.2 模式粘滞(防左右摇摆)
-- 排序分数 = log p(k) − c·[k ≠ k_prev],c 初值 2.0(在 §7.2 的 E5
-统计上调)。
-- 训练时 k_prev
-作为输入(§5.1),模型自己也学会"保持当前绕行方向"。
+- WTA 基线:排序分数 = log p(k) − c·[k ≠ k_prev],c 初值 2.0;k_prev
+仅对 WTA 头作为输入。
+- 一步头:BID 式一致性打分(见 §6.1A),不使用 k_prev / log
+p(k)。
8.3 安全层(唯一的硬保证)
-- 检查内容:候选前 3 步的连续运动做 1° 细验 + 半格复验(与现有
-
pathFine 同口径),外加关节限位。
+- 检查内容(v2.3 修正,见
+H1):臂×立柱/台架用距离下界认证——段两端最小距离之和
+> Σ_j r_j·|Δθ_j|(r_j 为每轴实测杠杆上界,J1 约 9.0
+mm/°)即判整段安全,否则二分到通过或判不安全;自碰撞对复用 pair2d
+杠杆界;外加关节限位。离散
+1°+半格检查只作快速预筛,不再作为保证。现有代码口径实为
+1.5°+半格,文档原写法有误。
- 可刹停不变式:执行前还要检查"从第 3
-步末状态按最大减速度停下"的刹停段也无干涉。于是任何时候系统都处在"有一条已验证的停车路线"的状态,下一周期就算模型完全失效,也只会停下、不会撞。
+步末状态按最大减速度(v2.3
+新增每轴加速度上限,待真机参数)停下"的刹停段也无干涉。于是任何时候系统都处在"有一条已验证的停车路线"的状态,下一周期就算模型完全失效,也只会停下、不会撞。
- 耗时:3 步 × 4 候选,最坏约 4 × 10 个采样位形 × 约 1.8 ms ≈ 70
ms(太慢)→ 实际做法:
@@ -1421,13 +1957,16 @@ rt)
实际执行的碰撞帧
-= 0
+= 0(以距离认证或 0.01° 审计测量,不用离散 1°
+检查)
rt_drag_bench 0
到达率
route 60/60,near pos 30/30,near
-rt 30/30,held-out ≥ 98%
+rt 30/30,另造 ≥1000 例 near_column
+一次性验收集 0 失败;held-out(分母只算可达任务)≥ 98%,D
+类另考停靠距离 ≤ 老师 + 5 mm
60/60、30/30、30/30
diff --git a/docs/Transformer轨迹拟合训练方案.md b/docs/Transformer轨迹拟合训练方案.md
index 5089e14..050f417 100644
--- a/docs/Transformer轨迹拟合训练方案.md
+++ b/docs/Transformer轨迹拟合训练方案.md
@@ -1,4 +1,4 @@
-# Transformer 避障运动策略:无老师闭环部署方案(审查稿 v2.2)
+# Transformer 避障运动策略:无老师闭环部署方案(审查稿 v2.3)
> - v1(2026-10-17 20:06,`40af3b4`):模型一次生成整条 32 点路径,失败回落到原规划器("有老师部署")。
> - v1.1(20:25,`c51f8f9`):加入后训练挖错循环。
@@ -6,6 +6,7 @@
> 加入具身智能领域主流做法的调研与对比(§1–§2),并据此调整模型输出、后训练方法和验收标准。
> - v2.1(2026-10-17 20:58):训练机定为 RTX 3090 24 GB;near_column 验收改为 **30/30**,新增 §8.5「为什么会超时、无老师怎样做到 30/30」;新增 §8.6 控制周期业界调研与评估。
> - v2.2(2026-10-17 21:10):调研 2024–2026 前沿生成式策略(流匹配/MeanFlow 一步生成、实时动作块 RTC、代价引导扩散规划、流策略强化学习微调、π0.5/FAST 等),逐项判断是否适用,新增 §2.4,并据此把动作头升级为**一步流匹配头 + 碰撞代价引导 + 前缀条件**(§6.1A)。
+> - **v2.3(2026-10-17 21:30):逐项可行性核查。** 4 路全文精读(约 40 篇论文)+ 沙箱 2D 双模态绕柱对照实验,对每一项方案给出证据等级、残余风险、门禁测试和回退;发现并修正 4 处硬伤(安全层离散检查漏检、`animTo` 时间律不可学、交叉淡入绕过安全层、训练/部署节奏不一致)和 24 处内部不一致。核查结论见新增 **§0A**,全部证据见 `docs/方案逐项核查报告.md`。
> - 基于 `main@3c7c814`(贴立柱修复后的规划器)。本文只是方案,代码尚未编写。
> - 审查重点:§0 定位、§2 差异与优化、§5 输出表示、§7 后训练(APG)、§8 闭环部署与安全层、§9 验收。
@@ -28,6 +29,80 @@
---
+## 0A. v2.3 逐项可行性核查结论(必读)
+
+**先说清楚一件事:没有任何方案能在实测前被"证明完全没有风险"。** 论文证据只能说明"别人在相近条件下做成过";我们的条件(低维状态、单根固定立柱、5M 参数、浏览器推理、30/30)没有一篇论文完全一样。所以 v2.3 的做法是:每一项都给出①证据等级 ②残余风险 ③在本仓库可测的**门禁**(通不过就不进下一步)④通不过时的**回退**。唯一做成"硬保证"的是安全层(改为距离认证后,碰撞与否不依赖模型好坏)。
+
+证据等级:**A** 有充分证据(直接先例 + 数字) · **B** 部分证据(相近先例,需本仓库验证) · **C** 仅推断 · **✗** 有反证(已修改)
+
+### 0A.1 四处硬伤(已在正文修正)
+
+| # | 原方案 | 反证 | v2.3 修正 |
+|---|---|---|---|
+| H1 | §8.3 安全层用 1°+半格离散采样"保证不撞" | 本臂杠杆实测:关节转 1°,TCP/胶囊最多移动 24.3 mm;0.5° 间距下两采样点之间可偏出约 6 mm,远大于 0.3 mm 余量。仓库自己的规划报告也记过 0.28 mm 残余侵入。Schwarzer 2005、LARC 均证明离散检查会漏检 | 臂×立柱/台架改为**距离下界认证**:d(q_a)+d(q_b) > Σ r_j·|Δθ_j|(r_j 为实测杠杆上界),不满足就二分;自碰撞对复用 pair2d 杠杆界。门禁:10⁵ 段离线 0.01° 审计,漏检 = 0 |
+| H2 | §4.5 沿用 `animTo`(全局 smoothstep + 总时长夹取)做时间参数化 | 同一状态的标签速度取决于输入看不到的"整条路径长度/进度" → 非马尔可夫;起步段 Δq≈0 → 闭环可能起不了步。MπNets 为此把老师路径重定时为匀速;Diffusion Policy 报告单步策略会卡在停顿动作 | 改为**局部可观测时间律**:匀速巡航 + 只按"剩余路程"决定的梯形加减速,并把当前速度 q_t−q_{t−1} 加入输入 |
+| H3 | §8.1 插补器对新旧动作块做时间集成/交叉淡入 | 实际执行的是两块的混合,没被安全层检查;左绕块与右绕块平均可能正好穿柱。π0 试过时间集成后放弃,BID 报告多模态下掉性能 | **删除交叉淡入**,执行的就是被认证过的那一块;块间连续性靠前缀条件(§6.1A) |
+| H4 | 部署每 20 ms 推理、只走 1 步;APG 每 3 步推理一次;"周期"三种定义 | BID(2408.17355)证明动作时域 = 1 会破坏块内一致性、导致来回摆动 | 统一为:**50 Hz 执行,每 3 步(60 ms)推理一次、提交 3 步**;APG 展开节奏与部署完全一致。"每步重推理"留作 A/B 对照 |
+
+### 0A.2 逐项核查表
+
+| § | 方案 | 等级 | 关键证据 | 残余风险 | 门禁(本仓库) | 回退 |
+|---|---|---|---|---|---|---|
+| §0 | 不用 VLA 大模型,3–5M 参数专用策略 | A | IMPACT 4.67M 参数、300 Hz;π0 3B 单次预填充 46 ms(4090) | — | — | — |
+| §4.1–4.3 | 采样式老师离线造 5 万条任务 | B | MπNets、DRP、ELMP 均用规划器老师;MπNets:老师不一致时碰撞率 13.78%,一致老师 0.94% | 我们的老师是随机采样式,同类任务可能左右绕不一致 | 同任务 5 个种子:同伦类一致率 ≥ 90%,行程 CV < 10% | 固定种子 + "最短同伦类优先",或用 PRM 路网 A*(确定)作老师 |
+| §4.3 D 类 | 不可达目标 → 停在最近安全位形 | B | DRP 有同类数据 | 停靠点随目标跳变 | 目标扫过立柱时相邻 20 ms 停靠点跳变 < 5 mm | 停靠标签加连续性约束 |
+| §4.5 | 时间参数化 | ✗→改 | 见 H2 | — | 近邻标签方差 < 10% 步长;起步失败率 = 0 | 输入当前速度 |
+| §4.5-④ | "路径后缀 = 免费 DAgger" | ✗→删 | DAgger 要求学生自己偏离后的状态;后缀仍是老师状态 | 协变量偏移 | 闭环到达率与单步准确率差距 | 关节噪声增广(σ 0.5–1°,DART +62%)+ 离线老师重标 + §7 |
+| §5.1 | 输入:sin/cos、TCP、6D 姿态、胶囊距离 | B | 6D 旋转连续(Zhou 2019);ELMP、MπNets 同类输入 | 位姿目标多 IK 分支 → 额外多峰;缺子目标/前缀/速度字段(已补) | 去胶囊特征消融差 ≥ 3 pp 才保留 | 加目标分支标志 |
+| §5.2 | 16 步 Δq 动作块 | A | DRP、Diffusion Policy(位置式优于速度式) | 补零样本过多 → 早停 | 补零占比 > 30% 则降权 | — |
+| §6.1 | IMPACT 式编码器-解码器去点云 | A(结构)/C(够不够) | IMPACT 原文表 7 | 实算约 4.1M | 1000 样本过拟合 → 0;held-out ≥ 95%(APG 前) | 加宽 |
+| §6.1A | **动作头:一步生成** | B | 沙箱实验见 0A.3;COT 有双峰实证;K-MF 表 1 原生 MeanFlow 会失败;OFP 自引导 λ=0.5 出现模态塌缩 | 小模型能否学出陡峭模态边界未知;训练不稳 | M5 A/B:一步头 vs WTA,看穿柱率、到达率、摇摆率 | **WTA K=4**(沙箱中同样全部通过) |
+| §6.1A | 一步头选型 | B | 首选 MeanFlow(沙箱验证)或 Shortcut+COT 配对(无需 JVP);**否决** Consistency Policy(原文承认偏向一侧)、OneDP(故意取单模态)、朴素 1 步 FM(数学上等于条件均值) | 组合未见论文 | 同上 | WTA |
+| §6.1A | 生成时碰撞代价引导 | ✗→改 | 无论文在 1–2 步下测过;DiffusionSeeder 5 步引导仅 80.6%→81.1%;RTC 附录:引导权重过大发散 | — | — | 改为**事后投影**:对输出块做 1–2 步解析胶囊距离梯度,只在 d < 余量时启用;修不了"绕错侧",靠多候选 + 安全层 |
+| §6.1A | 前缀条件(RTC) | B | RTC 原文只验证 n=5 步去噪、需反向传播;**训练时前缀条件化**(2512.05964)推理零开销,d≥2 时优于 RTC,天然适用 1 步生成器 | 我们 d≈0–1 时略差 | 块边界加速度跳变 vs 无前缀 | 无前缀 + 一致性打分 |
+| §6.1A | B 样条输出 | C | 仅 FAST/频域表示的间接证据 | 可能损失贴柱精度 | near_column 与 16 步 Δq 对比 | **默认改回 16 步 Δq**,B 样条降为可选 |
+| §6.2 | 损失:WTA-L1/CE、FK 胶囊端点、平滑 | B | ELMP 式 FK 损失(§III-B 式 2) | 流头损失原缺(已补:流匹配损失 + FK 损失加在一步输出上) | FK 消融:C 类碰撞率降 ≥ 20% 才保留 | — |
+| §6.3 | 训练配置与耗时 | C | DRP:4090 上 100 万步 3 天(含点云) | 原文"20 万步≈30 epoch"算错,实为约 68 epoch | 先跑 2000 步测吞吐再定步数 | 30 epoch ≈ 8.8 万步 |
+| §6.4 | 胶囊距离 PyTorch/JS 对拍 | A(工程) | 仓库已有 0 差异对拍惯例 | 浮点不可能"0 误差" | 布尔判定 0 差异 + 距离误差 < 1e-4 mm + 梯度对有限差分 < 1e-3 | — |
+| §7.1 | APG 可微微调(ELMP) | A | ELMP:碰撞率 31.3%→8.9%;1 万示范+APG 72.0% > 60 万纯 BC 57.9%;H=69 步仅用梯度裁剪 ≤1 | 铰链损失只能侧推,不能从"撞柱"换到另一侧;可能压缩多模态;ELMP 中路径长度 +23% | 每轮左右比例监控;行程门禁 | 保留 BC 锚定损失 |
+| §7.2 | 无老师挖错 + 门禁 | B | DRP 迭代师生微调 +45%(5 轮 10 h) | 门禁集与验收集重叠 → 选择偏差(已拆分) | 遗忘门禁:A 类每轮降幅 ≤ 0.5 pp | 回滚 |
+| §7.3 | 拒绝采样自蒸馏 | B | ReST | 选"最短" → 贴柱,余量变小、多样性塌缩 | C 类间隙中位数 ≥ 原 80% | 改为"间隙 ≥ 阈值中最短" |
+| §7 可选 | ReinFlow/DPPO | B | ReinFlow +40%,1–4 步可调,比 DPPO 省 62.8% 墙钟;DPPO 16 步块稳定 | RL 会重塑模式分布(DPPO D3IL) | 按左右分组平衡奖励 | 不做 |
+| §8.2 | 模式/噪声粘滞 | ✗→改 | BID:沿用上次噪声 7 个任务中 3 个变差;后向一致性打分 + N=16 相对 +32% | — | E5 摇摆 < 1% | **改为 BID 式一致性打分**(与已提交块重叠步加权 L2) |
+| §8.3 | 安全层 + 可刹停不变式 | 不变式 A;离散实现 ✗→改 | Thumm & Althoff 2022 failsafe 盾 | 刹停"最大减速度"原未定义(已补加速度上限) | 见 H1 | 训练余量提到 3–6 mm |
+| §8.3 | 安全层耗时 < 5 ms | C | 仓库 collideFree 1.25 ms/次 | 贴柱时预筛失效;每步 4–13° | near_column 全程 P99 < 5 ms | 距离认证一次查询覆盖整段;提交步数降到 2 |
+| §8.5 | 子目标头、价值头、短前瞻、卡死换向 | B / C | AWE(航点 +25%)、SHAC、BID | 卡死换向可能活锁 | 50 个对抗用例 3 s 内恢复 ≥ 95%,活锁 = 0 | 子目标改为离散绕行锚点分类 |
+| §8.6 | 50 Hz 策略层 | B | π0 50 Hz、Diffusion Policy 10 Hz 预测 16 执行 8 最优 | rAF 60 Hz 与 20 ms 不整除;后台标签页节流 | P99 周期误差 < 2 ms | Worker + 自有时钟 |
+| §8/§9 | 浏览器推理 2–5 ms | C(偏乐观) | WebGPU 每次 dispatch 33–67 μs、同步 2–3 ms(2604.02344 表 6) | 8 层 Transformer 约 150–300 次 dispatch → 调度开销 5–20 ms | **M4 后立刻**导出 ONNX 实测 batch=8 P99 | wasm-SIMD 多线程;每 3 步推理一次(预算 60 ms) |
+| §9 | 验收 30/30 | ✗→改 | 30/30 时失败率 95% 上界仍约 9.5% | 30 例被反复用于挑模型 | **新造 ≥1000 例 near_column 一次性验收集**(0 失败 ⇒ 上界约 0.3%);到达率分母只算可达任务 | — |
+
+### 0A.3 沙箱对照实验(2D 绕柱双模态,CPU)
+
+为验证"一步生成会不会把左右平均成穿柱",在沙箱做了一个最小实验:2D 点从柱左侧到右侧,示教一半从上绕一半从下绕,16 步动作块、每 3 步重推理,与本方案同构。代码 `ml/toy/toy_bimodal.py`,150 个"起终点都贴近中轴"的难例:
+
+| 动作头 | 单样本、无安全层:到达 / 穿柱回合 | 8 候选 + 安全层:到达 / 穿柱 / 平均刹停 | 推理(CPU,8 候选) |
+|---|---|---|---|
+| MSE 回归 | 100% / 0% | 100% / 0% / 0 | 0.13 ms |
+| WTA K=4 | 100% / 0% | 100% / 0% / 0 | 0.19 ms |
+| 流匹配 10 步 | 100% / 4.0% | 99.3% / 0% / 3.7 | 2.13 ms |
+| **朴素流匹配 1 步** | 87.3% / **23.3%** | 81.3% / 0% / 14.0 | 0.25 ms |
+| **MeanFlow 1 步** | 100% / 2.7% | 100% / 0% / 0.3 | 0.25 ms |
+
+结论与局限:
+- **证实**:朴素 1 步流匹配会把模态平均到柱子里(23% 穿柱),必须用 MeanFlow/Shortcut 一类;MeanFlow 1 步达到 10 步流匹配的质量,推理快约 8 倍。
+- **证实**:安全层在所有方法上都把穿柱降为 0,代价是刹停次数。
+- **没能区分**:闭环里状态一偏离中轴,MSE/WTA 也能自然打破对称,所以这个玩具任务太容易,**分不出一步头和 WTA 谁更好**。真实 6 轴、位姿目标下的多峰更复杂,必须在 M5 用真实数据 A/B,不能凭论文或玩具定结论。
+- 早期 300 步训练的 MSE 在同一难例上 100% 穿柱、加安全层后 0% 到达(卡死),说明"欠拟合时平均模态"的风险真实存在。
+
+### 0A.4 仍需用户确认 / 实测才能消除的风险
+
+1. 浏览器端推理延迟(最大不确定项,M4 后第一时间测)。
+2. 真机电机/驱动/通信方式(决定插补频率与刹停加速度上限)。
+3. 老师一致性(M1 第一项门禁)。
+4. Neural MP 式"运行时采样多条、用解析距离挑选"是否算违反"无运行时老师"——v2.3 的理解是**不算**(不做搜索,只对模型自己的候选打分),请确认。
+
+---
+
## 1. 业界调研:具身智能里的神经运动规划
以下数据均来自论文原文(链接见 §13)。
@@ -103,6 +178,8 @@
| **FAST 动作分词 / π0.5 知识隔离**(2025) | DCT 压缩动作块成离散 token,供大语言模型骨干学习 | FAST 训练提速最多 5 倍 | ❌ 分词本身不采纳(为语言大模型服务,自回归推理慢);⚠️ 借鉴"频域/样条表示":动作块改用 **B 样条控制点**输出,平滑性由表示保证 |
| **VLA 大模型**(π0/π0.5、GR00T、OpenVLA) | 视觉语言骨干 + 动作专家 | 3B 模型单次预填充 46 ms(4090) | ❌ 不采纳:我们没有图像、没有语言指令,环境固定精确;30 亿参数只会更慢,不会更准 |
+> **v2.3 核查修正(见 §0A)**:①碰撞代价引导改为输出后的事后投影(1–2 步生成下无引导证据);②RTC 改为训练时前缀条件化(2512.05964,推理零开销);③一步头首选 MeanFlow(沙箱验证)或 Shortcut+COT,否决 Consistency Policy/OneDP/朴素 1 步 FM;④B 样条降为可选;⑤OFP 未找到公开代码,不作首选。
+
**结论:v2.2 采纳"一步流匹配头 + 碰撞代价引导 + 前缀条件 + B 样条表示 + 可选 ReinFlow"。** 这正是 π0.5、MP1/OFP、MPD、RTC 这几条前沿线在"低维状态、精确几何、实时控制"场景下的组合,规模仍然是几百万参数。
---
@@ -173,12 +250,12 @@ pip install numpy pyarrow tqdm tensorboard onnx onnxruntime
闭环策略学的是"在某个状态下,接下来 16 步怎么走",所以要把整条路径切成很多个"状态 → 动作块"样本:
-1. 按现有 `animTo` 的轴速比 `VREL = [0.6, 0.6, 0.9, 0.9, 1.2, 1.8]` 做时间参数化(与查看器动画同口径),控制周期 **dt = 20 ms**。
+1. **(v2.3 修正,见 H2)** 不再沿用 `animTo` 的全局 smoothstep + 总时长夹取。改为局部可观测时间律:按轴速比 `VREL = [0.6, 0.6, 0.9, 0.9, 1.2, 1.8]` 匀速巡航,加减速为梯形,且只取决于"当前速度 + 剩余路程"(加速度上限另设),控制周期 **dt = 20 ms**;当前速度 q_t − q_{t−1} 作为输入。
2. 得到状态序列 q_0, q_1, …, q_N。对每个 t(每隔 3 步取 1 个,减少冗余)生成样本:
- 输入:当前 q_t、目标 (T, R, mode)
- 标签:未来 S = 16 步的增量 Δq_{t+1..t+16} = q_{t+k} − q_t(到终点后补零,即"停住")
-3. 每条路径平均约 50–150 个样本 → 5 万条任务约 300 万个训练样本。
-4. **路径后缀天然覆盖"从半路出发"**,等于免费的 DAgger 种子数据。
+3. 每条路径约 40–50 个样本(route_bench 平均执行约 2.5 s)→ 5 万条任务约 200 万个训练样本(以 M1 的 stats.json 为准)。
+4. ~~路径后缀等于免费 DAgger~~(v2.3 删除:后缀仍是老师状态)。改为关节噪声增广(σ 0.5–1°)+ 离线老师重标,偏离状态的覆盖靠 §7。
### 4.6 耗时与存储
@@ -253,14 +330,14 @@ K×16 个可学习动作 token ──▶ 4 层 Transformer decoder(非自回
| | v2 WTA 头(保留为基线) | **v2.2 一步流匹配头(默认)** |
|---|---|---|
| 多模态 | 固定 K=4 个模式 | 连续分布;每周期并行采 K=8 个噪声 → 8 条候选 |
-| 训练 | WTA-L1 + 模式 CE | OFP 自蒸馏(或 MeanFlow),从零训练,无需预训练老师模型 |
-| 输出 | 16 步 Δq | **B 样条**:6 个控制点 × 6 关节,再采样成 16 步;自带平滑 |
-| 前缀条件 | 无,靠时间集成 | 输入"已提交前 3 步",新块从前缀接着走(RTC 思路) |
-| 碰撞引导 | 无 | 最后一步加一次可微胶囊距离梯度修正:a ← a + η·∇d_capsule(d < 安全距离时) |
+| 训练 | WTA-L1 + 模式 CE | **MeanFlow**(沙箱已验证 1 步可用)或 Shortcut + COT 条件配对(无需 JVP);损失 = 流匹配损失 + FK 胶囊端点损失(加在一步输出上)。不采用 Consistency Policy / OneDP / 朴素 1 步 FM |
+| 输出 | 16 步 Δq | **16 步 Δq**(v2.3:B 样条 6 控制点降为可选,需 near_column 消融不掉点才启用) |
+| 前缀条件 | 无 | **训练时前缀条件化**(2512.05964):输入已提交且未执行的步,训练时随机遮盖前缀长度 0–3;推理零额外开销 |
+| 碰撞修正 | 无 | **事后投影**:对输出块做 1–2 步解析胶囊距离梯度,仅 d < 余量时启用(v2.3:生成中引导在 1–2 步下无证据) |
| 推理成本 | 1 次前向 | 1–2 次前向 + 1 次解析梯度(JS 实现,不走 ONNX) |
| APG 兼容 | ✅ | ✅(固定噪声后生成器是确定性可微映射) |
-模式粘滞改为"噪声粘滞":上一周期选中候选的噪声向量保留下来,本周期作为 8 个噪声之一,相邻周期自然延续同一绕行方向。子目标头、价值头(§8.5)保持不变。
+候选排序(v2.3 修正):不用"噪声粘滞"(BID 中 7 个任务有 3 个变差),改为 BID 式一致性打分:分数 = −‖候选与上一已提交块重叠步之差‖²(加权)− λ·价值头剩余代价。子目标头、价值头(§8.5)保持不变。
M4 同时实现两种头,M5 预训练后在 near_column + held-out 上 A/B;若一步流匹配不优于 WTA,回退 WTA(风险可控)。
@@ -282,7 +359,7 @@ L = WTA-L1(动作块, 最近模式) 权重 1.0
| 学习率 | 1e-3,预热 1000 步,余弦退火(同 DRP 量级) |
| batch | 1024(3090 24 GB) |
| 精度 | bf16 混合精度 |
-| 步数 | 约 20 万步(300 万样本约 30 epoch),验证集闭环成功率不再上升即停 |
+| 步数 | 先跑 2000 步测吞吐再定;参考:200 万样本 × 30 epoch ÷ bs 1024 ≈ 6 万步(v2.3 更正:原"20 万步≈30 epoch"实为约 68 epoch),验证集闭环成功率不再上升即停 |
| 预计耗时 | RTX 3090 约 1.5–3 小时(估算;DRP 4.67 M 参数在 4090 上预训练 100 万步用 3 天,我们的样本少、无点云编码,步数约其 1/5,跑完首轮再校正) |
### 6.4 对拍与验证(每 epoch)
@@ -341,9 +418,9 @@ for 每个 batch(随机采样 q0 和目标,82 ms 级别的便宜采样,不
### 8.1 每个控制周期做什么(默认 50 Hz)
```
-每 20 ms:
+每 60 ms 推理一次(v2.3,见 H4;执行仍是 50 Hz,每步 20 ms):
1. 读当前 q(真机读编码器;查看器读当前插补位形)和最新目标(拖拽时每周期都在变)
- 2. 推理一次:得到 K=4 条 16 步动作块 + 模式概率 ≈ 2–5 ms(估算)
+ 2. 推理一次:一步头 8 条候选(WTA 基线为 4 条)16 步动作块 延迟须 M4 实测
3. 按"模式概率 − 切换代价"排序(§8.2)
4. 安全层依次检查候选的前 n=3 步(60 ms 的运动)+ 刹停段(§8.3)
第一个通过的 → 把这 3 步"提交"给插补器;记下 k_prev
@@ -354,17 +431,17 @@ for 每个 batch(随机采样 q0 和目标,82 ms 级别的便宜采样,不
接近目标(< 5 mm)时可选做 1–3 次局部牛顿精修(solveTo 单步,不是全量 IK)
```
-插补器在两个周期之间做平滑过渡(下一块与正在执行的块做时间集成/交叉淡入,ACT 的 temporal ensembling 思路),避免每 20 ms 一顿。
+v2.3:**删除插补器交叉淡入/时间集成**(见 H3)。执行的必须就是安全层认证过的那一块;块间连续性由前缀条件和一致性打分保证。"每 20 ms 重推理只执行 1 步"仅作 A/B 对照。
### 8.2 模式粘滞(防左右摇摆)
-- 排序分数 = log p(k) − c·[k ≠ k_prev],c 初值 2.0(在 §7.2 的 E5 统计上调)。
-- 训练时 k_prev 作为输入(§5.1),模型自己也学会"保持当前绕行方向"。
+- WTA 基线:排序分数 = log p(k) − c·[k ≠ k_prev],c 初值 2.0;k_prev 仅对 WTA 头作为输入。
+- 一步头:BID 式一致性打分(见 §6.1A),不使用 k_prev / log p(k)。
### 8.3 安全层(唯一的硬保证)
-- 检查内容:候选前 3 步的连续运动做 1° 细验 + 半格复验(与现有 `pathFine` 同口径),外加关节限位。
-- **可刹停不变式**:执行前还要检查"从第 3 步末状态按最大减速度停下"的刹停段也无干涉。于是任何时候系统都处在"有一条已验证的停车路线"的状态,下一周期就算模型完全失效,也只会停下、不会撞。
+- 检查内容(v2.3 修正,见 H1):臂×立柱/台架用**距离下界认证**——段两端最小距离之和 > Σ_j r_j·|Δθ_j|(r_j 为每轴实测杠杆上界,J1 约 9.0 mm/°)即判整段安全,否则二分到通过或判不安全;自碰撞对复用 pair2d 杠杆界;外加关节限位。离散 1°+半格检查只作快速预筛,不再作为保证。现有代码口径实为 1.5°+半格,文档原写法有误。
+- **可刹停不变式**:执行前还要检查"从第 3 步末状态按最大减速度(v2.3 新增每轴加速度上限,待真机参数)停下"的刹停段也无干涉。于是任何时候系统都处在"有一条已验证的停车路线"的状态,下一周期就算模型完全失效,也只会停下、不会撞。
- 耗时:3 步 × 4 候选,最坏约 4 × 10 个采样位形 × 约 1.8 ms ≈ 70 ms(太慢)→ 实际做法:
- 先用现有包围球预筛(大多数位形直接判安全,见 2026-10-15 记录 collideFree 2.9→1.8 ms);
- 按排序**逐个**检查,第一个通过就停(多数周期只检查 1 条);
@@ -456,8 +533,8 @@ for 每个 batch(随机采样 q0 和目标,82 ms 级别的便宜采样,不
| 指标 | 要求 | 现状参考 |
|---|---|---|
-| 实际执行的碰撞帧 | **= 0** | rt_drag_bench 0 |
-| 到达率 | route **60/60**,near pos **30/30**,near rt **30/30**,held-out ≥ 98% | 60/60、30/30、30/30 |
+| 实际执行的碰撞帧 | **= 0**(以距离认证或 0.01° 审计测量,不用离散 1° 检查) | rt_drag_bench 0 |
+| 到达率 | route **60/60**,near pos **30/30**,near rt **30/30**,**另造 ≥1000 例 near_column 一次性验收集 0 失败**;held-out(分母只算可达任务)≥ 98%,D 类另考停靠距离 ≤ 老师 + 5 mm | 60/60、30/30、30/30 |
| 到达用时 | ≤ 老师同任务路径动画时长 × 1.3 | — |
| 关节行程 | ≤ 现有规划器 × 1.10 | route 平均 467° |
| 冷启动(新目标→第一个动作) | < 10 ms | 首次全量 IK 最差约 2 s |
diff --git a/docs/方案逐项核查报告.html b/docs/方案逐项核查报告.html
new file mode 100644
index 0000000..475a132
--- /dev/null
+++ b/docs/方案逐项核查报告.html
@@ -0,0 +1,3110 @@
+
+
+
+
+
+
+ 方案逐项核查报告
+
+
+
+
+
+方案逐项核查报告
+
+
+方案逐项核查报告(v2.3
+证据附录)
+
+2026-10-17。四路全文精读 +
+沙箱实验。各节原样收录,正文结论见《Transformer轨迹拟合训练方案》§0A。
+
+
+一、§4–§9 逐项核查与内部不一致
+《Transformer
+避障运动策略:无老师闭环部署方案 v2.2》§4–§9 可行性逐项核验
+
+撰写:2026-10-17。审查对象:/workspace/work/Robot_Arm/docs/Transformer轨迹拟合训练方案.md(v2.2,基于
+main@3c7c814)。 范围:§4–§9
+中除"动作头选型(一步流/MeanFlow/WTA)、代价引导、RTC/前缀条件、APG/ReinFlow/DPPO
+本身"之外的全部方案(那几项由其他报告负责:guidance_rtc.md、finetune_alternatives.md、onestep.md)。涉及它们的地方只核对接口与数字是否自洽。
+判定口径:有充分证据 =
+有论文/系统在相近设定下做过且给出数字;有部分证据 =
+做过但设定差异大,或只证明了一部分;仅推断 = 无直接文献,靠推理;有反证
+= 文献或本仓库数据直接与方案说法冲突。 标注:【原文】=
+已抓取全文并定位章节/表号;【仓库】= 本仓库代码/文档/本次实测;【推断】=
+我的推理;【未抓取】= 背景知识,未在本次全文中核实。
+全文与抽取文本存放:/workspace/work/out/survey/src_v/(本报告新抓取)与
+/workspace/work/out/survey/src/(其他报告已抓取的 DRP/ELMP
+等)。杠杆臂实测脚本:/workspace/work/out/survey/src_v/lever.cjs。
+
+
+0. 结论速览
+整体判断:§4–§9 的大框架(老师离线造数据 →
+切成"状态→动作块"做行为克隆 → 无老师后训练 → 闭环滚动执行 +
+安全层)有充分的同类先例(MπNets、DRP/IMPACT、ELMP)。但有 4
+个硬伤必须在写代码前改掉,否则验收标准无法成立:
+
+- 安全层的"保证"不成立(有反证):§8.3 用
+1°(+半格)离散采样 + 0.3 mm 余量做检查。本次实测本机械臂各关节杠杆:TCP
+每度最大位移 J1 9.0 mm、J2 6.9 mm、J3/J4 4.2 mm、J5 2.3 mm,六轴同时动
+1°(L∞)时最多 24.3 mm。即便 0.5°
+间距,两采样点之间某点可偏离最近采样位形约 6 mm,远大于 0.3 mm
+余量。仓库自己的报告也记录了"贴立柱时薄薄一层干涉整个夹在采样点之间"以及
+0.28 mm 的残余侵入。"碰撞帧 = 0"目前只是"在离散检查口径下 = 0"。
+- 时间参数化会产生非马尔可夫标签(有反证):§4.5 沿用
+
animTo:整条折线一次全局
+smoothstep,总时长按路径长度缩放,并夹在 [372 ms, 2170 ms]。于是同一 (q,
+目标)
+状态下,标签速度取决于"整条路径有多长、走到了第几成",而这两样输入里都没有。起步段
+Δq≈0,闭环每 20 ms 只执行第 1
+步,可能永远起不了步。Diffusion Policy
+报告过单步策略在"停顿动作"上过拟合、卡住的现象;MπNets
+专门把老师路径重定时为匀速。
+- §8.1
+的插补器交叉淡入/时间集成与安全层矛盾(有反证):实际执行的是两块的混合,不是安全层检查过的那
+3 步。左绕块与右绕块平均后可能正好穿过立柱。BID 与 π0
+都报告时间集成在多模态下会掉性能(π0 早期试过后放弃)。
+- 训练/部署口径不一致:APG 每次迭代执行 3 步(60
+ms)再推理,部署是每 20 ms 推理、只走 1 步;"H=60 周期≈1.2 s"按 3
+步/周期算其实是 3.6 s;§8.5 又写 150 周期≈3
+s。此外,K=4(§5/§6.1/§8.1/§8.3/§8.5)与流匹配头的 K=8
+候选(§6.1A)在多处混用。
+
+30/30 的统计含义:30 次全对,失败率 95%
+单侧置信上界约 9.5%(实算 1−0.05^(1/30)=0.095)。而且这 30 例在 §7.2
+每轮门禁里都被用来挑模型,存在选择偏差。30/30
+不能证明"无老师也可靠"。
+
+1. 总表
+
+
+
+#
+§
+方案(一句话)
+最佳证据(详见 §2)
+判定
+主要残余风险
+门禁测试(本仓库) / 不过时的回退
+
+
+
+
+1
+§4.1–4.3
+用 solveDyn 离线造 5
+万条任务(A45/B30/C15/D10,pos/pose 各半)
+MπNets 3.27M 问题、DRP 10M 条、ELMP 60 万/1 万条【原文】;ELMP:1
+万条+APG 胜 60 万条纯 BC
+有部分证据
+老师是采样式(Lazy
+RRT-Connect+随机捷径),一致性差。MπNets
+用全局规划器做老师时碰撞率 13.78%,换一致的混合老师降到 0.94%
+门禁:同一任务换 5 个种子跑老师,同类任务左右绕选择一致率 ≥
+90%、行程 CV < 10%。不过就改用确定性种子 +
+固定绕行偏好(如"先选行程最短的同伦类"),或用 PRM 路网 A*
+作老师(确定、最短)
+
+
+2
+§4.3 D 类
+目标不可达时,标签 = 停在离目标最近的安全位形(停靠)
+DRP 加了"目标被挡→停在最近安全处"的数据(原文 §1
+表述,具体数据量未核)
+有部分证据
+"最近安全位形"不唯一、不连续:目标移动 1
+mm,停靠点可能跳到立柱另一侧 → 拖拽中抖动
+门禁:rt_drag_bench 中目标扫过立柱时,停靠点 TCP 连续性(相邻 20 ms
+跳变 < 5
+mm)。不过就给停靠标签加连续性正则(选与上一停靠点最近的候选)
+
+
+3
+§4.4
+路径 1° 细验+半格复验过滤;行程>1.5×routeRT 先统计
+MπNets 拒收撞、超限、高 jerk、末端偏 >5 cm 的轨迹【原文
+§4.2】
+有部分证据
+同一离散检查口径(见 #19);过滤阈值未定
+门禁:被丢弃率按类别统计(C 类丢弃率 > 20%
+说明老师在贴柱场景不可靠)。回退:贴柱类改用 0.25° 细验 +
+距离下界认证
+
+
+4
+§4.5 ①
+按 animTo(VREL 轴速比 + 全局 smoothstep +
+总时长夹取)把路径时间参数化成 20 ms 步
+MπNets:"fit a spline and retime it to have steady velocity"【原文
+App/§4.2】;DP:"单步策略容易过拟合停顿动作,BC-RNN、IBC
+在真机上会卡住"【原文 §3】
+有反证
+① 标签速度取决于整条路径长度与进度,输入里看不到 → 非马尔可夫;②
+起步/收尾 Δq≈0 → 闭环"起不了步";③ 每步最多约
+4.4°(J1)~13°(J6),远大于安全层预算假设
+门禁:标签一致性测试——在 (q, 目标) 近邻(关节 <0.5°、目标 <2
+mm)内比较 16 步标签的方差,要求 < 每轴步长的 10%。同时跑 1000 个
+held-out 闭环,"10 个周期内 TCP 位移 < 1 mm"的起步失败率 =
+0。不过就改为局部可观测的时间律:匀速巡航 +
+只按"剩余路程"决定的梯形减速;或把当前速度 q_t−q_{t−1} 作为输入
+
+
+5
+§4.5 ②
+每 3 步取 1 个样本,标签 = 未来 16 步 Δq(相对
+q_t,到终点补零)
+DRP:10 步关节增量、MSE、转绝对目标【原文
+§3.1】;DP:位置式动作块明显优于速度式【原文 §4.2】
+有充分证据(表示本身)
+补零 = 大量"停住"标签,到达附近可能早停;样本数估计偏高(见不一致
+I2)
+门禁:stats.json
+统计每条路径的实际样本数,以及补零样本占比(> 30% 需降权)
+
+
+6
+§4.5 ④
+"路径后缀天然覆盖从半路出发,等于免费的 DAgger 种子"
+DAgger(Ross 2011)的核心正是:BC
+只在老师状态上训练,误差随时域二次累积;必须在学生自己访问的状态上取标签【未抓取,背景】;MπNets:"单步训练、递归推理,累积噪声等价协变量偏移",用关节角高斯噪声增广【原文
+§3.4】;DART:在老师演示中注噪,比 BC 平均提升 62%【原文摘要】
+有反证(说法错误)
+后缀仍是老师轨迹上的状态,不是偏离状态;不能替代 DAgger
+门禁:闭环 vs 开环误差对比——held-out 上"闭环到达率 −
+单步回放准确率"的差距。回退/缓解:① 输入加关节噪声(σ≈0.5–1°)+
+由老师离线重标(允许,老师只在离线);② 依赖 §7 的 APG/挖错补偏移
+
+
+7
+§5.1
+关节 sin/cos(12) + 限位轴归一化(3) + TCP 位置与 6D 姿态 + 目标 +
+差值 + 模式 + k_prev + 8 个胶囊距离
+6D 旋转:连续表示,不连续表示的平均误差最高达 6–14 倍【原文 Zhou
+2019 §1】;MπNets 关节归一化到 [−1,1]【原文 §3.1】;ELMP 目标 12
+维(位置+展平旋转矩阵)【原文 §IV】
+有部分证据
+① k_prev one-hot 对流匹配头无意义;② 缺子目标、前缀、速度输入(见
+I7);③ 最小距离特征在对子切换处梯度不连续;④ 以位姿为目标时多 IK
+分支带来额外多峰(不只左/右绕)
+门禁:消融——去掉胶囊距离特征,near_column 闭环到达率差异 ≥ 3
+个百分点才保留。IK 多峰门禁:同一目标位姿下不同肘/腕分支的 held-out
+子集到达率 ≥ 主集 −2
+个百分点;不过就加"目标分支标志"或改为以老师终点关节角为条件(DRP
+做法,需离线 IK)
+
+
+8
+§5.2/5.3
+输出 16×6 Δq(按每轴最大步长归一化);连续轴 unwrapTo
+统一
+DRP 同类表示【原文】;连续轴展开为本仓库已有实现
+有充分证据
+每轴最大步长取决于 #4 的时间律,时间律一改,归一化要跟着改
+门禁:§6.4 对拍,预处理与部署 unwrap 结果逐位一致(10 万样本 0
+差异)
+
+
+9
+§6.1
+IMPACT 式编码器-解码器,去掉点云;d=192,4+4 层,约 3–4M 参数
+IMPACT:6+6 层、隐层 128、FFN 1024、8 头、10 个动作 token、4.67M
+参数、300 Hz(4090)【原文 App G 表 7】
+有充分证据(结构)/ 仅推断(去点云后够不够)
+实算参数 ≈ 4.13M(编码 1.77M + 解码
+2.36M),略超"3–4M";浏览器延迟未证(见 #24)
+门禁:M4 小数据过拟合(1000 样本训练损失 → 0)+ M5 后 held-out
+闭环到达率 ≥ 95%(APG 前)
+
+
+10
+§6.2
+WTA-L1 + CE + FK 胶囊端点损失(0.5) + 二阶平滑(0.05) + 剩余时间
+L1(0.1)
+ELMP 的 BC 损失 = 动作项 +
+λ_fk·Σ‖FK_i(q_pred)−FK_i(q_gt)‖(碰撞球中心)【原文 §III-B 式(2)】;DRP
+用 MSE【原文】
+有部分证据
+只写了 WTA 头的损失;默认的流匹配头没有损失定义(FK
+损失加在哪个输出上?),见 I8;权重未调
+门禁:FK 损失消融,C 类闭环碰撞率(关安全层)下降 ≥ 20% 才保留
+
+
+11
+§6.3
+AdamW(0.9,0.95)、lr 1e-3、bs 1024、bf16、20 万步("30 epoch"),3090
+约 1.5–3 h
+DRP:AdamW 同参、bs 512、100 万步、4090 上 3 天(含点云)【原文表
+7】
+仅推断(时间)
+20 万步×1024 = 2.05 亿样本次 ≈ 68 epoch,不是
+30(I1);WTA 头每样本约 1.0 GFLOP(训练)→ 共 2.0e17
+FLOP,3090 实际 10–35 TFLOPS 时需 1.6–5.6 h;流头约 0.5–1.8 h,但
+MeanFlow/OFP 有额外前向/JVP 开销
+门禁:先跑 2000 步测吞吐(样本/秒),据此重算;目标 ≥ 2
+万样本/s。不过就降到 30 epoch(8.8 万步)或 bs 2048
+
+
+12
+§6.4
+胶囊距离 PyTorch 可微版与 JS 对拍 10 万位形 0 误差;每 epoch 1000
+任务闭环验证
+仓库已有"4000/20000 位形与旧实现 0 差异"的对拍惯例【仓库】
+有充分证据(工程可行)
+"0 误差"对浮点距离不现实,应为布尔判定 0 差异 + 距离误差 < 1e-4
+mm;对拍只证明一致,不证明连续安全
+门禁即所述;附加:可微版梯度与有限差分相对误差 < 1e-3
+
+
+13
+§6.1/§8.5
+子目标头:冷启动输出 1–2 个关节途经点,标签取老师路径拐点
+AWE:用动态规划在误差预算内选最少航点,把 DP/ACT 成功率最多提升
+25%【原文 §1、§3】;SHAC/分层规划一类思路【推断】
+有部分证据
+① §5.1 输入没有子目标字段(I7);② "冷启动"在拖拽中无定义(I22);③
+单输出子目标头无法给出"另一侧"的备选(卡死换向需要它);④
+捷径平滑后的拐点不稳定
+门禁:子目标头 top-2 方向覆盖率(老师同伦类在前 2 个子目标中)≥
+98%(C 类)。回退:子目标改为 K 个离散"绕行锚点"分类(左/右/上),标签用
+AWE 式 DP 提取
+
+
+14
+§6.1/§8.5
+价值头:预测剩余时间/代价;APG 展开时"有真实值可监督"
+SHAC:用学到的 critic 截断可微仿真的 BPTT 时域(h=32 对
+H=1000),同时缓解局部极小与梯度爆炸【原文 §1、§4】
+有部分证据
+截断展开内多数任务到不了目标 → 没有"真实剩余时间",必须用 TD
+自举(SHAC 式),文中没写;价值头偏差会直接误导短前瞻与卡死检测
+门禁:held-out 上价值头预测的剩余时间与实际闭环用时的 Spearman ≥
+0.8,C 类 ≥ 0.7。不过就让卡死检测只用几何进度(TCP
+到目标距离、子目标距离)
+
+
+15
+§8.5-3
+短前瞻:对每个候选再推一块(32 步终态),用碰撞 + 价值打分
+Neural MP 测试时"采样多条选穿透最少"【原文,见
+finetune_alternatives.md】;BID:每步采 N=16
+个样本按前后一致性选择,相对提升 32%【原文 §5.2.1】
+有部分证据
+计算翻倍(见 I9 延迟预算);第二块基于预测状态,误差叠加
+门禁:A/B(有/无前瞻)在 near_column + C 类 held-out
+上,前瞻必须把卡死率降低 ≥ 50%,且 P99 周期耗时仍 < 15 ms
+
+
+16
+§7.2
+挖错循环:出题→闭环作答(关安全层)→GPU 验算→E1–E6 分类→邻域加权进
+APG 池;E2 才少量请老师;门禁回滚
+Avoid Everything/MπFormer 困难负样本挖掘;DRP 迭代师生微调 +45%(每
+1 万步替换一次基模型,共 5 轮,10 h)【原文 §3.2、表 7】
+有部分证据
+① 门禁用的 held-out 2000 与 3 个基准同时是 §9 的验收集 →
+选择偏差(I14);② 挖错样本过采样 → 灾难性遗忘(门禁"95%
+修好的仍对"只防一部分)
+门禁拆分:新造"门禁集"(2000)与"验收集"(2000 +
+新造 near_column 扩展 1000 例),验收集只在最后用一次。遗忘门禁:A
+类到达率每轮不降 > 0.5 个百分点
+
+
+17
+§7.3
+拒绝采样自蒸馏:多样本闭环,只保留验算通过且最短的一条做 BC
+ReST:Grow/Improve 循环,逐步提高过滤阈值【原文 §2】;RoboCat
+式自我改进【未抓取】;ELMP 证据:加笛卡尔路径长度项后碰撞率由 8.9% 升到
+10.9%【原文表 I】
+有部分证据
+选"最短" → 系统性贴着立柱走,余量变小 →
+安全层刹停率上升;多样性塌缩(只剩一种绕法)
+门禁:自蒸馏后 C 类最小间隙中位数不得低于自蒸馏前的
+80%;刹停率不升。选择准则改为"通过 + 间隙 ≥ 阈值的样本中最短"
+
+
+18
+§8.2
+模式粘滞:分数 = log p(k) −
+c·[k≠k_prev];流头改为"噪声粘滞"(保留上周期噪声)
+BID:Warmstart(沿用上一决策的噪声)"平均小幅提升,但 7 个任务里有 3
+个变差";BID 后向一致性准则(与上一块的加权 L2)+ N=16 采样,相对提升
+32%【原文 §5.2.1、图 6】;DP:独立逐步采样会在两种模式间来回跳【原文
+§3】
+有部分证据(噪声粘滞有反证:BID 中不稳健)
+一步生成器下"同一噪声 → 同一模式"在状态变化后不保证成立;log p(k)
+对流头无定义
+门禁:E5(≥3 次切换)< 1% 任务,rt_drag_bench
+摇摆计数。若噪声粘滞不过,改用 BID
+式后向一致性打分(与上周期已提交块的重叠步加权 L2)作为排序项
+
+
+19
+§8.3
+安全层:候选前 3 步按 1°+半格离散细验 + 可刹停不变式(第 3
+步末按最大减速度刹停段也细验)
+不变式本身:Thumm & Althoff 的 failsafe
+盾——每步只在"意图段安全且其末端存在已验证的刹停轨迹"时执行,否则执行上一条已验证刹停轨迹【原文
+§III、图 3】,有充分证据;离散检查:Schwarzer
+等证明离散分辨率检查会漏检,提出"两端距离之和 >
+各点轨迹长度上界"的充分条件,"never
+fails"【原文式(1)】;LARC(胶囊+速度上界的连续认证):MoveIt/FCL
+抽样审计在 21 条直接插值轨迹中发现碰撞;139 条"抽样无碰撞"的轨迹里有 27
+条无法认证【原文摘要】;ELMP 评测用离散检查时余量取 30 mm【原文
+§IV-A】
+不变式:有充分证据;按现有离散实现"保证零碰撞":有反证
+杠杆实测:0.5° 间距下采样点间偏差上界 ≈ 24.3×0.25 ≈ 6 mm ≫ 0.3
+mm;仓库报告 0.28/0.08 mm
+残余侵入、"贴柱薄层整个夹在采样点间";刹停段"最大减速度"未定义;§8.1
+交叉淡入使执行轨迹 ≠ 检查轨迹
+门禁:①离线审计:10^5 个随机提交段(3 步+刹停),用 0.01° 细采样(或
+Schwarzer 式距离认证)复核,漏检 = 0;②在 near_column
+上统计"认证拒绝率"(认证判不安全而离散判安全的比例)。修正:静态障碍对(臂×立柱/台架)改用距离下界认证:d(q_a)+d(q_b)
+> Σ_j r_j·
+
+
+20
+§8.3 耗时
+预筛 + 逐个检查 + 首个通过即停,目标 < 5 ms;不达标放 Web
+Worker
+仓库:collideFree 2.9→1.8→1.25 ms/次(pair2d 后);每帧守卫约 1.2
+ms【仓库】
+仅推断
+贴柱时预筛基本失效(正是难例所在);样本数被低估(每步 4–13°,3 步
+13–39 个采样点 + 刹停段),见 I10
+门禁:M7 在 near_column 30 例 × 全程逐周期计时,安全层 P99 < 5
+ms;不过就做距离认证(一次距离查询覆盖整段,通常比 N
+次布尔更省),或把提交步数降到 2
+
+
+21
+§8.5-4
+卡死检测:0.3 s 价值不降或连续 2 周期刹停 → 强制换向并锁定 1 s
+势场法局部极小的经典逃逸(随机游走/换向,Barraquand & Latombe
+RPP)【未抓取】;MπNets 指出局部控制器(STORM、Geometric
+Fabrics)在复杂几何中会卡在局部极小【原文 §5.1】
+仅推断
+① 两个方向都被挡 → 1 s 锁定后来回切换(活锁);②
+流头没有离散"另一方向",依赖子目标头备选(#13);③ 1 s
+锁定可能与目标拖拽冲突
+门禁:构造"两侧都要绕很远"的 50 个对抗用例 + near_column,卡死后 3 s
+内恢复进度的比例 ≥ 95%,活锁(换向 ≥ 3 次仍无进度)=
+0。回退:卡死时允许跟随离线路网"锚点表"(注意:这等于部分老师,需用户同意)
+
+
+22
+§8.6
+策略层 50 Hz、提交 3 步、伺服层另行插补;浏览器 rAF 60 Hz 也能稳定跑
+50 Hz
+π0:50 Hz 机器人每 0.5 s 推理一次(执行 25/50 步),时间集成"hurt
+policy performance"故不用【原文 App D】;DP:10 Hz、预测 16 执行 8
+最优,可承受 4 步延迟【原文 §5.3】;MπNets 9 Hz;ELMP 30 Hz【原文】
+有部分证据
+① 每 20 ms 重推理只执行 1 步 = 动作时域 1,BID
+证明这会破坏块内一致性、导致来回摆动【原文 §4.1】;② rAF 16.7 ms 帧与 20
+ms 周期不整除 → 周期抖动(16.7/33.3 ms
+交替),后台标签页定时器会被节流【推断】
+门禁:A/B"每 1 步重推理"与"每 3 步重推理"(执行 3 步)在 E5
+摇摆率、到达率、拖拽跟随误差上的对比。若后者不差,就默认每 3
+步重推理(顺带把推理预算放宽到 60 ms)。周期抖动:用 Worker +
+自有时钟按实际 dt 插值,测 P99 周期误差 < 2 ms
+
+
+23
+§8.1-6
+到达判据 TCP < 1 mm(pose < 0.5°),近目标做 1–3
+次局部牛顿
+ELMP-APG 也只有 89.0% 在 1 cm 内、72.6% 在 5° 内【原文表 I】;MπNets
+98.94% 在 1 cm 内【原文表 3】
+有部分证据(必须依赖牛顿精修)
+精修段本身要过安全层(文中没写);牛顿步可能跨分支
+门禁:held-out 中精修前误差 < 5 mm 的比例 ≥ 99%;精修后 < 1 mm
+的比例 ≥ 99.5%;精修段 100% 经过安全层
+
+
+24
+§0/§8.1/§9.2
+每周期推理 2–5 ms、推理+安全 < 10 ms(P99 < 15 ms),浏览器
+onnxruntime-web,WebGPU 优先
+WebGPU 每次 dispatch 的开销:Chrome 33–67
+μs(连续);带同步的单次操作 2–3 ms(Chrome)【原文 2604.02344 表
+6】;社区多例小模型 WebGPU 比 wasm 慢【未抓取,检索摘要】
+仅推断(且偏乐观)
+8 层 Transformer 约 150–300 次 dispatch → 仅调度开销就有 5–20
+ms,外加每周期一次 GPU→CPU 回读;wasm 下 8 候选 × 前瞻 = 约 0.6–1.3
+GFLOP/周期
+门禁:M4 后立即导出 ONNX,在目标浏览器测
+batch=8(含前瞻 batch=16)延迟 P99。若 > 5 ms,就用 wasm-SIMD
+多线程或 fp32 小算子融合;仍不行就缩小解码 token(B 样条 6 个控制点而非
+16 步)、去掉前瞻,或改为每 3 步推理一次
+
+
+25
+§9
+验收:碰撞帧 0;route 60/60、near pos/rt 30/30、held-out ≥ 98%;用时
+≤ 老师×1.3;行程 ≤ 现有×1.10;刹停 < 2%;摇摆 < 1%;关安全层碰撞
+< 3%
+ELMP-APG 关安全层碰撞 8.9%、DRP
+10.16%(环境不同)【原文】;ELMP:APG 使末端路径长度由 0.69 m 增至 0.85
+m(+23%)【原文表 I】
+有部分证据 / 部分指标不可达
+① held-out 含 10% 不可达(D 类),"到达 ≥ 98%"按定义不可能(I13);②
+30/30 统计力弱(上界 9.5%);③ "碰撞帧
+0"由离散检查测量,测不到采样点之间的穿模;④ APG 有拉长路径的先例,与
+≤1.10× 行程冲突
+改:到达率分母只算可达任务,D 类单独考核"停靠距离 ≤ 老师 + 5
+mm";near_column 另造 ≥ 1000 例的验收扩展集(0 失败 ⇒ 失败率上界约
+0.3%);碰撞审计用 0.01° 或距离认证;行程门禁按类别分别报告
+
+
+
+
+2. 逐项详述
+2.1 §4 老师离线造数据(#1–#3)
+(a) §4.1–4.4:solveDyn(松手口径)为 5
+万条采样任务(A 均匀 45%/B 直线被挡 30%/C 贴柱 15%/D 不可达
+10%)生成折线,细验过滤后入库。
+(b) 证据
+
+- MπNets【原文 https://arxiv.org/abs/2210.12209
+§4、表 1、表 3、§5.2】:3.27M 问题 / 575k
+环境。关键发现是老师一致性:用全局规划器(IK + AIT* +
+样条平滑)当老师训出的 MπNets-G,在两种老师都能解的问题上环境碰撞率
+13.78%;用一致性强的混合老师(Hybrid Expert)只有
+0.94%(表 3)。作者明确把差异归因于"consistency of the
+expert"。
+- DRP【原文 https://arxiv.org/abs/2509.06953
+§3.1】:cuRobo 生成 10M 条;预训练的 IMPACT "often incurs minor
+collisions"。
+- ELMP【原文 https://arxiv.org/abs/2607.00215
+表 I、图 6】:1 万条老师 + APG 胜过 60 万条纯 BC;200k APG 问题采样 4.5
+CPU 小时,同量老师轨迹 >1194 CPU 小时。
+- 本仓库【仓库
+
docs/路径规划优化报告.md】:solveDyn 的核心是
+Lazy RRT-Connect + 50 次随机捷径 + 逐轴拉直,定种子 LCG,平均规划
+662–837 ms。
+
+(c) 判定:有部分证据。数据量(5 万)在"固定环境 +
+后续 APG"的前提下合理(ELMP 先例);但老师属于"全局采样规划器"类型,正是
+MπNets 中一致性差、导致策略碰撞多的那类。
+(d)
+残余风险:同一类任务里老师有时左绕、有时右绕(随机捷径的结果),会给多峰头制造"人为多峰",WTA/流头都会把容量浪费在拟合老师的随机性上。D
+类"最近安全位形"在目标连续变化时不连续。§4.6 的 0.7 s/条对 C/D
+类(难例、失败时搜到超时)偏乐观。
+(e) 缓解与门禁:老师一致性门禁(见总表
+#1)。可选的更一致老师:离线 PRM 路网(15103 条边、单一连通分量)+ A*
+最短路 + 确定性平滑。确定、可复现,且已在仓库里。按类别计时:先跑 1000
+条(M1),C/D 类 P90 规划时间 > 3 s 时重估 §4.6。
+2.2 §4.5
+时间参数化与切片(#4–#6)——本节问题最大
+(a) 按 animTo 的 VREL
+轴速比做时间参数化(dt=20 ms),每 3 步取一个"(q_t, 目标) → 未来 16 步
+Δq"样本;声称后缀"等于免费的 DAgger 种子"。
+(b) 证据
+
+- 本仓库实现【仓库
webapp/js/ik-glue.js
+L376–L401】:各段时长 ∝ 该段"最慢轴所需时间"(|Δq_j|/VREL_j
+的最大值);整条折线做一次全局
+smoothstep(u*u*(3-2u));总时长 =
+ms·sum/150,夹在 [0.6ms, 3.5ms](ms=620 →
+372–2170 ms)。按此推算主导轴的每步位移:平均
+2.9°(J1/J2)~8.7°(J6),峰值(smoothstep 导数 1.5
+倍)4.4°~13.1°/步;长路径被夹到 2170 ms 时还会更快。
+- MπNets【原文 §4.2 附近】:"we fit a spline to the path and retime it
+to have steady velocity",即特意匀速化。
+- Diffusion Policy【原文 https://arxiv.org/abs/2303.04137
+§3 "Robustness to idle actions"】:"single-step policies can easily
+overfit to this pausing behavior… BC-RNN and IBC often get stuck"。
+- MπNets【原文 §3.4】:"trained for single-step prediction… compounded
+noise… equates covariate shift",用关节角高斯噪声增广。
+- DART【原文 https://arxiv.org/abs/1703.09327
+摘要】:向老师注噪造数据,平均比 BC 提升 62%。
+- DAgger(Ross, Gordon, Bagnell, AISTATS 2011)【未抓取,背景】:BC
+误差随时域 O(εT²) 累积,需要在学生自己访问的状态分布上取标签。
+
+(c) 判定:切片做法本身有充分证据(DRP、DP
+都这样做);沿用 animTo
+的时间律有反证;"免费
+DAgger"的说法有反证(概念错误)。
+(d) 残余风险
+
+- 非马尔可夫标签:smoothstep 是对整条路径的进度 u
+做的,同一 (q, 目标)
+在短路径与长路径里的标签速度不同,在路径前段与后段也不同,而输入里没有速度、进度或路径长度。模型只能学到条件平均。
+- 起步停滞:u≈0 时 Δq_{t+1}≈0。闭环每 20 ms 只执行第
+1 步,下一周期状态几乎不变,标签又是"几乎不动",可能形成不动点。
+- 每步位移远大于安全层预算假设(I10)。
+- 后缀样本仍是老师分布,对偏离状态没有监督;§7 的
+APG/挖错能补一部分,但 APG
+要从预训练模型出发,预训练崩了(如起步停滞)会拖累后训练。
+
+(e) 缓解与门禁
+
+- 时间律改为局部可观测的:匀速(按 VREL 归一化的恒定巡航速度)+
+只在终点前按剩余路程梯形减速、起点按已行路程加速;或把
+q_t−q_{t−1}(以及前缀块,若用 RTC)加入输入。
+- 噪声增广:输入关节加 σ=0.5–1°
+噪声,由老师离线从扰动状态重规划一段作为标签(DART
+式;老师只在离线,符合约束)。
+- 门禁:标签一致性测试 + 起步失败率 = 0(总表
+#4);闭环/开环差距(#6)。
+
+2.3 §5 输入/输出表示(#7–#8)
+(a) 输入:关节 sin/cos + 限位轴归一化、TCP 位置与 6D
+姿态、目标位置/6D 姿态/差值、模式 one-hot、k_prev、8
+个胶囊对最小距离;输出 16×6 Δq,按每轴最大步长归一化,连续轴
+unwrap。
+(b) 证据
+
+- Zhou 等《On the Continuity of Rotation Representations》【原文 https://arxiv.org/abs/1812.07035
+§1】:3D 旋转在 ≤4 维下都不连续;不连续表示的平均误差最高达连续 6D
+表示的 6–14 倍。
+- MπNets【原文 §3.1】:关节归一化到 [−1,1],输出归一化空间里的位移并
+clamp。
+- ELMP【原文 §IV "Architecture"】:目标 12 维 = 位置 +
+展平旋转矩阵;关节 7 维直接进 MLP。
+- DRP【原文 §3.1】:以目标关节角为条件,避开 IK
+多解。
+- 胶囊距离作输入:无直接先例。C-space 距离场(CDF)作特征的讨论见
+
finetune_alternatives.md【其他报告】。
+
+(c) 判定:6D、sin/cos、Δq
+块均有充分证据;胶囊距离特征仅推断;"以位姿为目标让模型连 IK
+一起学"有部分证据(ELMP 这样做,但 ELMP 的 1 cm 内到达率只有 89%)。
+(d) 残余风险:位姿目标 → 多个 IK
+分支(肘上/肘下、腕翻转)带来比"左/右绕"更多的模式,K=4 的 WTA
+可能不够;k_prev 对流头无意义;缺子目标/前缀/速度输入;min
+距离特征在最近对子切换处不可导。
+(e) 门禁:见总表 #7、#8。
+2.4 §6.1 结构(#9)
+(a) 条件 MLP → 8 个条件 token(d=192)→ 4
+层编码器;K×16 个可学习动作 token → 4
+层非自回归解码器;另有动作、模式、价值、子目标四个头。
+(b) 证据:IMPACT【原文 DRP App G 表 7】:编码 6
+层/解码 6 层、隐层 128、FFN 1024、8 头、sin-cos 位置编码、动作块
+10;场景点云 128 token + 机器人点云 16 token;4.67M 参数(含 PointNet++
+SA);300 Hz@4090、冷启动 3.48 ms。
+(c) 判定:结构有充分证据;去掉点云后条件只剩约 60
+维,用 8 个 token 表示属于设计选择(仅推断),属低风险。
+(d) 残余风险:参数实算 ≈
+4.13M(4·(4d²+2·d·FFN) +
+4·(8d²+2·d·FFN)),fp16 约 8.3 MB(文中写约 7
+MB),影响不大;浏览器推理延迟是真风险(#24)。
+(e) 门禁:总表 #9、#24。
+2.5 §6.2 损失(#10)
+(b) ELMP【原文 §III-B】:L_BC =
+λ_action·‖Δq_pred−Δq_gt‖ + λ_fk·Σ_i‖FK_i(q_pred)−FK_i(q_gt)‖(i
+为碰撞球中心),与我们的"胶囊端点 FK 损失"同构;ELMP 未单独报告 FK
+项的消融数字。MπNets【原文 §3.3】也用任务空间几何损失。
+(c) 有部分证据。
+(d) 损失只对 WTA
+头写明;默认的流匹配头需要另定(例如在一步生成的 x̂ 上加 FK 项,见
+onestep.md),否则 §6.2 对默认配置无效(I8)。剩余时间 L1
+与价值头重复定义。
+2.6 §6.3 训练配置与耗时(#11)
+(a) bs 1024、20 万步、bf16,3090 约 1.5–3 h。
+(b) DRP【原文表 7】:bs 512 × 100 万步 = 5.12
+亿样本次,4090 上 3 天 ≈ 1975 样本/s(瓶颈主要是点云)。本方案:20 万 ×
+1024 = 2.05 亿样本次(DRP 的 40%,不是 1/5)。FLOP
+估算【推断,见 lever.cjs 同目录脚本的计算】:WTA 头(64
+个解码 token)训练约 0.99 GFLOP/样本 → 合计 2.0e17 FLOP;3090 bf16
+稠密峰值约 71 TFLOPS,小模型实际 10–35 TFLOPS → 1.6–5.6
+h。流头(16 个 token)约 0.31 GFLOP/样本 → 0.5–1.8 h,但
+MeanFlow 的 JVP、OFP 的自蒸馏额外前向会乘 1.5–3 倍。
+(c) 仅推断:1.5–3 h 落在估算区间的乐观一侧。
+(d) epoch 数自相矛盾(I1);每 epoch 1000
+任务闭环验证也要计入。APG 显存【推断】:每个展开周期每样本激活约 4
+MB,H=60 时约 0.27 GB/样本,150 周期时约 0.66 GB/样本 → 24 GB 卡 batch
+只有约 30–80,需要激活检查点。ELMP 在 6×3090 上 APG 的 batch 只有
+48,H=69【原文 §IV-A】。
+(e) 门禁:吞吐实测后重算(总表 #11);APG 先跑
+H=60、bs 32 的显存测试。
+2.7 §6.1/§8.5
+子目标头、价值头、短前瞻(#13–#15)
+
+- 子目标头:AWE【原文 https://arxiv.org/abs/2307.14326
+§1/§3】把"预测下一动作"变为"预测下一航点",用 DP
+在误差预算内选最少航点,最多 +25%
+成功率。直接支持"以途经点为锚",而且给出了比"老师拐点"更稳定的标签提取方法。
+- 价值头:SHAC【原文 https://arxiv.org/abs/2204.07137
+§1、§4】用学到的 critic 截断可微仿真展开(h=32 对
+H=1000),兼治局部极小与梯度爆炸。本方案的"APG
+展开时有真实值"只在展开内到达时成立,其余必须 TD 自举,文中缺失。
+- 短前瞻:BID【原文 https://arxiv.org/abs/2408.17355
+§4、表 2】:每步采 16 个样本按后向一致性 + 前向对比选择,推理时间 13.2
+ms → 25.9 ms(A5000),相对提升 32%。说明"多采样 + 打分"有效,但代价约 2
+倍。
+
+判定:子目标头、价值头有部分证据;短前瞻有部分证据。风险与门禁见总表
+#13–#15。
+2.8 §7.2 挖错循环与门禁(#16)
+(b) DRP 迭代师生微调【原文 §3.2】:每 1
+万梯度步后学生替换基模型,共 5 轮,4090 上 10 h,成功率比预训练
++45%(表 6)。Avoid Everything/MπFormer
+的困难负样本挖掘(DRP 文中引述)。
+(c) 有部分证据:DRP 的循环用局部控制器(Geometric
+Fabrics)当"老师",本方案改用 APG 代价,这一替换由 ELMP
+支持;"错题邻域加权进 APG 池"本身无直接先例(仅推断)。
+(d) 门禁集与验收集重叠(I14);E2
+的老师补数据把"无老师"变成"少量离线老师"(文中已说明,合规)。
+2.9 §7.3 拒绝采样自蒸馏(#17)
+(b) ReST【原文 https://arxiv.org/abs/2308.08998
+§2】:Grow(策略生成多样本)/
+Improve(按分数过滤后微调,阈值逐步提高);作者也提到基于奖励的方法有
+reward hacking 风险。ELMP【原文表
+I】:加入笛卡尔路径长度惩罚后,碰撞率从 8.9% 升到 10.9%。这是"偏好短路径
+→ 更贴障碍"的直接证据。
+(c) 有部分证据。门禁见总表 #17。
+2.10 §8.2 模式粘滞(#18)
+(b) DP【原文
+§3】:逐步独立采样会在左右两种策略间来回跳。BID【原文
+§5.2.1】:Warmstart(从上一决策热启动噪声,即本方案的"噪声粘滞")"mild
+gains on average, but degrades performance on 3 out of 7
+tasks";EMA/时间集成在 2
+个任务上变差,原因是相邻块属于不同潜在策略,平均后"may not yield a
+plausible strategy";BID 后向一致性 + 前向对比在全部任务上提升,相对
++32%。
+(c)
+切换代价/一致性选择有部分证据;单靠噪声粘滞有反证(BID
+中不稳健)。
+(e) 改为 BID
+式后向一致性打分(与上周期已提交块重叠步的加权 L2)+ 安全层,门禁见总表
+#18。
+2.11
+§8.3 安全层与可刹停不变式(#19–#20)——重点核查"是否真的保证不撞"
+(a) 候选前 3 步 1° 细验 + 半格复验 + 关节限位;从第
+3
+步末按"最大减速度"停下的刹停段也要细验;全部不过就沿已验证刹停轨迹停下。
+(b) 证据
+
+- 不变式:Thumm & Althoff, ICRA 2022【原文 https://arxiv.org/abs/2205.06311
+§III、图 3】:"During the execution of a trajectory between t_k and
+t_{k+1}, we calculate a failsafe trajectory starting from t_{k+2}. If
+this failsafe trajectory cannot be verified as safe, we execute the
+previously verified failsafe trajectory starting from t_{k+1}."
+与本方案同构。但他们的验证用的是连续时间可达集过近似(胶囊包络),不是离散采样。
+- 离散检查会漏:Schwarzer, Saha, Latombe, IEEE T-RO
+2005【原文 http://ai.stanford.edu/~mitul/papers/SSLtro05.pdf
+式(1)】:若两端位形下的距离之和 d(q_a)+d(q_b)
+大于各点所走曲线长度的上界(≤ Σ_j
+r_j|Δθ_j|),整段无碰撞;固定分辨率法会漏检,自适应法 "never fails to
+detect collision"。
+- LARC 2026【原文 https://arxiv.org/abs/2608.29767
+摘要】:胶囊 + 分量速度上界做连续认证,160 条 PIPER
+轨迹上与固定细分辨率决策一致,工作量仅 24.8%;但 139
+条"抽样无碰撞"的轨迹中 27
+条无法认证。认证天然保守,会拒掉一些贴边路径。
+- ELMP 评测【原文 §IV-A】:离散检查(插值 3 倍,约 150
+个位形)时安全余量取 30 mm。
+- 本仓库【仓库】:
collide.json 的
+margin_mm = 0.3;ik-solver.js L2777
+注释原话:"贴立柱时薄薄一层干涉能整个夹在两个采样点之间(贴立柱测试
+ci0:119.5° 的长边在 0.76 处 1°
+复验撞)";路径规划优化报告.md:1° 细验后仍有 2
+条路径最大侵入 0.28/0.08 mm。
+- 本次实测杠杆【仓库,
src_v/lever.cjs,19219
+个无干涉随机位形】:TCP 每度最大位移 J1 9.02 / J2 6.93 / J3 4.17 / J4
+4.17 / J5 2.25 / J6 ≈0 mm;六轴同时 1°(L∞)的上界最大 24.3 mm,中位
+19.4 mm。工具法兰胶囊可能比 TCP 更远,上界只会更大。
+
+(c)
+判定:不变式的逻辑结构有充分证据;"按现有离散实现保证零碰撞"有反证。
+(d) 残余风险(逐条)
+
+- 采样间隙:采样间距 δ(L∞)时,两采样之间任意点距最近采样位形的位移 ≤
+L·δ/2。δ=0.5°(1°+半格)时约 6 mm,δ=0.75°(现有 pathFine 等效)时约 9
+mm,δ=1° 时约 12 mm,都 ≫ 0.3
+mm。立柱是实心大体,漏检的是"擦边几毫米"而不是"整个穿过",但"碰撞帧 =
+0"的承诺不成立。
+- "最大减速度"在全文没有数值(§0 说插补器负责,
animTo
+只有 smoothstep,没有加速度上限),刹停段长度无从计算(I12)。
+- §8.1
+的交叉淡入:执行轨迹是新旧两块的混合,不等于任一被检查过的块(I4)。
+- 局部牛顿精修段(§8.1-6)没写要过安全层。
+- 验收里的"碰撞帧"本身也用离散口径测,测不到问题。
+
+(e) 修正与门禁
+
+- 静态障碍对(臂×立柱、臂×台架)改用 Schwarzer/LARC
+式距离下界认证:每段先算两端胶囊距离,满足 d_a + d_b > Σ_j
+r_j|Δθ_j|(r_j
+取各连杆到各关节轴的最大距离,可离线算好)即放行,否则二分。自碰撞对复用已有
+pair2d 杠杆界。
+- 删掉插补层交叉淡入(或让安全层检查淡入后的实际轨迹)。
+- 定义刹停:按每轴加速度上限 a_max
+做梯形减速,写进配置并在训练数据时间律中使用同一 a_max。
+- 门禁:10^5 个随机"3 步 + 刹停"段做 0.01° 超细采样审计,漏检 =
+0;near_column 上"认证拒绝率"< 5%,否则把训练余量(§7.1 的 margin+5
+mm)提高到 ≥ 采样偏差上界,让策略本身留出足够间隙。
+
+2.12 §8.5
+卡死检测与强制换向(#21)
+(b) MπNets【原文 §5.1】:STORM 与 Geometric Fabrics
+等局部方法在复杂几何中会卡在局部极小,"struggle to retract from a drawer
+and then reach into another drawer… without intermediate
+waypoints"。经典逃逸方法(随机游走/换向)【未抓取】。没有找到"神经闭环策略
++ 规则换向"的直接先例。
+(c) 仅推断。风险与门禁见总表 #21。
+2.13 §8.6 控制周期(#22)
+(b) π0【原文 https://arxiv.org/abs/2410.24164
+App D】:"We tried temporal ensembling early on and found that it hurt
+policy performance… 50Hz… inference every 0.5 seconds (after executing
+25 actions)"。DP【原文 §5.3】:预测 16 步、执行 8 步最优,可承受 4
+步延迟。BID【原文 §4.1】:每步重采样、只执行第 1 个动作 "destroys the
+consistency preserved within each chunk, potentially leading to
+oscillations"。
+(c) 50 Hz 策略层有部分证据;"每 20 ms 重推理、只走 1
+步"与主流(π0 执行 25/50、DP 执行 8/16)相反,属于动作时域 h=1
+的极端,有反证风险。§8.6 表中工业接口周期(Franka 1 kHz、UR e 系列 500
+Hz 等)属常识,本次未逐一抓取原始手册(【未抓取】)。
+(e) 门禁见总表 #22。
+2.14 §9 验收指标(#25)
+
+- held-out 含 D 类 10% 不可达任务 → "到达 ≥
+98%"按定义不可达(I13)。
+- 30/30 的 95% 单侧失败率上界 ≈ 9.5%;要把上界压到 1%,需要约 300 例 0
+失败;压到 0.3% 需要约 1000 例。
+- ELMP 表 I:APG 后末端路径长度 0.69 → 0.85 m(+23%),关节路径 4.09 →
+3.90
+rad(−5%)。关节行程门禁(≤1.10×)在关节空间可能过得了,但需按类别报告。
+- 关安全层碰撞 < 3%:ELMP/DRP 的 8.9%/10.2%
+是在未知、多变环境;固定环境下更低是合理推断,但没有直接证据。
+
+
+3. 文档内部不一致清单
+
+
+
+编号
+位置
+不一致
+建议
+
+
+
+
+I1
+§6.3
+20 万步 × bs 1024 = 2.05 亿样本次 = 300 万样本的约 68
+epoch,不是 30;30 epoch 只需约 8.8 万步
+二选一并重算耗时
+
+
+I2
+§4.5-3 / §4.6
+"每条路径 50–150 个样本":route_bench 平均执行 2.46–2.60 s ≈ 130
+步,每 3 步取 1 个 ≈ 43 个;A 类更短 → 总样本更可能约 200 万而非 300
+万
+以 M1 的 stats.json 为准
+
+
+I3
+§7.1 vs §8.1 vs §8.5
+APG 每次迭代执行 3 步(60 ms),"H=60 个周期≈1.2 s"实为 3.6
+s;部署每 20 ms 推理、只走 1 步,APG "与部署一致"不成立;§8.5 又写"150
+个周期≈3 s"(按 20 ms/周期)
+统一"周期"定义;APG 展开节奏与部署一致(或部署改为每 3 步推理)
+
+
+I4
+§8.1 末段 vs §6.1A
+§8.1 插补器"时间集成/交叉淡入",§6.1A 说 RTC
+前缀"替代时间集成";而且淡入后的轨迹没被安全层检查过
+删除淡入,或安全层检查实际执行轨迹
+
+
+I5
+§5.2/§6.1/§8.1/§8.3/§8.5 vs §6.1A
+前者按 K=4 个模式写(含安全层耗时与前瞻计算),默认流头是 K=8
+个候选
+全文统一,安全层最坏情况按 8 个算
+
+
+I6
+§5.1/§8.2 vs §6.1A
+k_prev one-hot 与 log p(k) 对流头无定义;"噪声粘滞"不需要该输入
+按头类型分开写
+
+
+I7
+§5.1 vs §8.5/§6.1A
+输入表里没有子目标、已提交前缀(RTC)、当前速度,但后文都要以它们为条件
+补入输入表并给维度
+
+
+I8
+§6.2 vs §6.1A
+损失只针对 WTA;默认流头无损失定义;剩余时间 L1 与价值头重复
+补流头损失
+
+
+I9
+§0 / §8.1 / §8.5 / §8.6 / §9.2
+预算"推理+安全 < 10 ms(留一倍余量)"、P99 < 15 ms;组成:生成
+2–5 ms + 前瞻 2×(2–5) ms + JS 梯度引导 + 安全检查(目标 < 5 ms,§8.3
+自认最坏约 70 ms)→ 合计 9–25 ms 以上
+重做预算表;WebGPU 调度开销另计(#24)
+
+
+I10
+§8.3
+"4 候选 × 10 个采样位形"假设 3 步内 ≤ 约 3.3°;按 §4.5
+时间律主导轴每步 4.4°~13°,3 步需 13–39 个采样 + 刹停段;单次 1.8 ms
+是旧数据(pair2d 后为 1.25 ms)
+重估
+
+
+I11
+§2.3/§8.3 vs 代码
+文档写"1° 细验 + 半格复验"(等效 0.5°),现有 pathFine
+为 EDGE_RES=1.5° + 半格(等效 0.75°)
+明确口径
+
+
+I12
+§8.3 vs §0
+刹停段"按最大减速度",但全文和 animTo
+都没有加速度上限
+定义 a_max
+
+
+I13
+§9.2 vs §4.3
+held-out 有 10% 不可达(D 类)却要求到达 ≥ 98%
+分母只算可达任务,D 类单独考核
+
+
+I14
+§7.2-6 vs §9.1
+留出 2000 + 三个基准每轮用于门禁/回滚,又作最终验收 → 选择偏差
+拆出独立验收集,只用一次
+
+
+I15
+§6.4 vs §9.2
+验证超时 = 老师时长 ×2(最少 3 s),验收要求 ≤ ×1.3
+验证同时报告 ×1.3 达标率
+
+
+I16
+§0/§2.3/§8.3 vs 仓库
+"安全层保证碰撞帧 = 0"与离散检查 + 0.3 mm
+余量矛盾(实测采样间偏差可达约 6 mm;仓库记录过 0.28 mm
+残余侵入与夹缝漏检)
+改为距离认证,或如实降级表述
+
+
+I17
+§10 vs §6.3
+重训流程写"§6 约 4 h",§6.3 写 1.5–3 h
+统一
+
+
+I18
+§6.3
+"预热 1000 步(同 DRP 量级)":DRP 为 100 步;"步数约其
+1/5",但处理的样本数是 DRP 的 40%
+改表述
+
+
+I19
+§2.2#1 vs §8.1
+"只执行前 2–4 步"与"提交 3 步、实际每周期只走 1 步"不同
+统一
+
+
+I20
+§9.2 现状列 vs 路径规划优化报告.md
+文档写 route 现状 60/60 到达;报告第三轮写"有效路径 60/60,到达
+58"(2 例目标超出可达区)
+在 3c7c814 上重跑核对
+
+
+I21
+§4.5 vs §5.1
+标签由全局 smoothstep 决定,但输入里没有速度/进度 → 非马尔可夫(见
+#4)
+改时间律或加输入
+
+
+I22
+§6.1 vs §8.5
+子目标头"仅冷启动用",§8.5
+又说"到达子目标后切到下一个";拖拽时目标每周期都在变,"冷启动"无定义
+定义触发条件(如目标跳变 > X mm)
+
+
+I23
+§8.1-6
+局部牛顿精修段没写要过安全层
+补上
+
+
+I24
+§8.4
+fp16 约 7 MB;实算 4.13M 参数 × 2 B ≈ 8.3 MB
+小问题
+
+
+
+
+4. 未能核实 / 声明
+
+- §8.6 工业接口周期表(Franka、UR、ABB EGM、KUKA RSI、FANUC
+DPM、MoveIt
+Servo)本次未逐一抓取原始手册,沿用文档原值(【未抓取】)。
+- DAgger 原文、Barraquand & Latombe RPP、RoboCat
+未抓取,只作背景引用。
+- DRP
+中"目标被挡→停在最近安全处"的数据量与效果,本次未定位到具体表格。
+- 浏览器端实际推理延迟没有任何本项目实测;WebGPU 结论来自 LLM
+场景的调度开销测量(2604.02344),迁移到 4M 参数模型属推断。
+- 杠杆实测用 TCP
+代替全部胶囊端点,工具法兰胶囊可能更远,上界只会更大;同时假设关节空间线性插值,与
+§4.5 时间参数化后的 20 ms 步相符。
+- 训练耗时 FLOP 估算假设 3090 实际 10–35 TFLOPS,未实测。
+
+5. 来源
+
+- MπNets https://arxiv.org/abs/2210.12209(§3.4、§4.2、表
+1、表 3、§5.1–5.2)
+- DRP/IMPACT https://arxiv.org/abs/2509.06953(§3.1、§3.2、表
+6、App G 表 7)
+- ELMP https://arxiv.org/abs/2607.00215(§III-B、表
+I、§IV-A 实现细节、图 6)
+- Diffusion Policy https://arxiv.org/abs/2303.04137(§3
+时间一致性/停顿动作、§4.2 位置控制、§5.3 动作时域与延迟)
+- BID https://arxiv.org/abs/2408.17355(§4.1–4.2、§5.2.1、表
+1–2)
+- π0 https://arxiv.org/abs/2410.24164(App
+D 推理与执行)
+- Zhou et al. 旋转表示 https://arxiv.org/abs/1812.07035(§1)
+- SHAC https://arxiv.org/abs/2204.07137(§1、§4)
+- AWE https://arxiv.org/abs/2307.14326(§1、§3)
+- DART https://arxiv.org/abs/1703.09327(摘要、§1)
+- ReST https://arxiv.org/abs/2308.08998(§2)
+- Schwarzer, Saha, Latombe, T-RO 2005 http://ai.stanford.edu/~mitul/papers/SSLtro05.pdf(式(1))
+- Thumm & Althoff, ICRA 2022 https://arxiv.org/abs/2205.06311(§III、图
+3)
+- LARC https://arxiv.org/abs/2608.29767(摘要)
+- WebGPU 调度开销 https://arxiv.org/abs/2604.02344(表
+6、§4.4)
+- 本仓库:
docs/路径规划优化报告.md;webapp/js/ik-solver.js(L2376
+EDGE_RES、L2777–2810
+pathFine);webapp/js/ik-glue.js(L376–401
+animTo);docs/collide.json(margin_mm=0.3);docs/travel.json;杠杆实测脚本
+/workspace/work/out/survey/src_v/lever.cjs
+
+
+二、一步/少步生成式动作头
+一步 /
+少步生成式机器人策略:全文精读与针对本项目的评估
+
+编写日期:2026-10-17。所有数字均摘自 arXiv HTML 全文(或 PMLR
+PDF),并标注所在章节/表格。【未核实】 =
+全文中没找到,或只能从图里定性读出。【推断】 =
+我自己的分析,原文没有这么说。
+
+0. 本项目设定(评估基准)
+
+- 6-DOF
+机械臂。环境固定且完全已知:一根立柱障碍,碰撞模型为胶囊体。
+- 输入为低维状态,约 60 维:q、TCP、目标位置/rot6d、胶囊距离。闭环 50
+Hz,action chunk = 16 步。
+- 模型 3–5M 参数,浏览器内 ONNX 推理,运行时没有 teacher,在 RTX 3090
+上训练。
+- 后训练:通过可微胶囊距离做解析策略梯度(APG)。
+- 核心风险:必须保住多模态(从立柱左侧绕还是右侧绕)。一旦把两个模态平均掉,轨迹就会直接穿过立柱。
+
+
+1.
+贯穿所有论文的三个关键事实(先读)
+
+- 普通 Flow Matching 做 1 步
+Euler,输出的正好是条件均值。 COT 论文附录 D.1 原话:"CFM
+evaluated with a 1-step euler solver approximately generates the
+conditional mean of the two conditional distributions"。Shortcut 论文 §2
+也写道:"at t=0 … the predicted velocity at t=0 points towards the
+dataset
+mean"。在我们的设定里,这就等于"从立柱中间穿过去"。所以不能直接拿 FM 做
+NFE=1。
+- 主流基准几乎测不出多模态问题。 FreqPolicy Table
+4:vanilla FM 做 NFE=1,在 Robomimic
+Can/Square/Transport/ToolHang 上就有 0.94/0.90/0.84/0.76。FreqPolicy
+Table 3:OpenVLA+FM 做 NFE=1,在 LIBERO 上平均 93.5%,NFE=10 是
+93.7%。普通 FM
+一步就能拿高分,说明这些任务在单个观测下近似单峰。结论:各论文的成功率表对"左右绕柱"这类风险几乎没有证据力。
+真正有针对性的证据只有 COT(two-moons、fork、Maze 多路径、真机 Push-T
+顺/逆时针)、CP(Push-T 模态丢失)和 Shortcut(Push-T/Transport
+轨迹图,定性)。
+- 【推断】任何连续的一步映射 G(z|o)
+都会把少量质量落在两个模态之间。 z
+服从高斯分布,支撑集是连通的;连续映射的像也必然连通,所以总会有一部分噪声被送进"缝隙",也就是穿柱区域。方法之间的差别只在于这部分质量有多小、边界有多陡。因此无论选哪种方法,运行时都应该批量采
+K
+个噪声,用解析胶囊距离筛掉碰撞样本,后训练也应该专门把边界样本推离立柱。
+
+
+2. 逐篇精读
+2.1 MP1 —
+MeanFlow Policy(arXiv 2507.10543,v5,AAAI'26)
+URL:https://arxiv.org/html/2507.10543
+
+- 方法:用 MeanFlow 学习区间平均速度 u(z,r,t),通过
+MeanFlow Identity 构造带 stop-grad 的回归目标(需要 JVP),推理时 A0 =
+A1 − u(A1,0,1)。同时加 CFG(ω 混合有/无条件速度),并在 U-Net
+下采样块上加 Dispersive Loss(λ=0.5,τ=1)(§Method,式 1–8)。
+- teacher:不需要,从头训练。
+- NFE:1。
+- 延迟/硬件:平均 6.8 ms,RTX 4090,其中 Adroit
+Hammer 7.1±0.2 ms;FlowPolicy 12.6 ms,DP3 132.2 ms(Table
+2)。注意这是含点云编码器的延迟。
+- 多模态证据:没有任何双峰测试,也没讨论模态平均。Dispersive
+Loss
+针对的是"表征塌缩"(不同状态映射到相近特征),不是动作模态塌缩。【推断】CFG(ω>1)本身有锐化、削减多样性的倾向。
+- 低维状态结果:没有。输入为点云 +
+状态,Adroit/Meta-World 共 37 任务,平均 78.9%(Table 1)。
+- 训练成本/稳定性:需要 JVP。flow ratio=1.0(全部
+r≠t)时平均成功率塌到 2.4%;ratio=0(退化为 FM)为 72.6%,0.5 最好,为
+82.4%(Table 4)。第三方报告:OFP §4.2 称 MP1 训练"high variance and
+frequent loss spikes",OFP Fig.4 显示 MP1 在 150 条示教时性能下降。
+- 代码:https://github.com/LogSSim/MP1
+(已确认仓库存在,含代码目录)。
+
+2.2 OFP —
+One-Step Flow Policy(arXiv 2603.12480v1,2026-03)
+URL:https://arxiv.org/html/2603.12480
+
+- 方法:不用外部 teacher,用 EMA
+自蒸馏学习区间平均速度。目标为 û=(ẑ_r − z_t)/(r−t),只用前向、不需要
+JVP,并配合"时间收缩"课程(§3.1,式 4–6)。另加 FM 边界锚定损失(式
+7),以及基于 CFG 的 self-guidance(只用 CA 项,§3.2,式
+12–13)。推理时用上一个 chunk 未执行的后缀做
+warm-start,t_w=0.15(§3.3)。
+- teacher:不需要,用的是 EMA 自身。
+- NFE:1,也支持 4 等多步(Table 3)。
+- 延迟:每个 chunk 17.58 ms;DP3(100 步)3225.67
+ms,FM(100 步)1865.72
+ms(§4.2)。推理硬件【未核实】,全文只写了训练用单卡
+A100(App. B.3)。warm-start 使它略慢于 OneDP/MP1。
+- 多模态证据:没有双峰测试。只有论述:"CP
+的轨迹匹配目标偏 mode-covering,会平均多模态;OneDP 的 score
+distillation 偏 mode-seeking,会降低多样性"(§1、App. E.2)。消融里只用
+SCT 时 NFE=1 为 68.7%,作者解释为"one-step predictions often average
+over multiple valid modes"(App. D.1,Table 6),加 SGR 后升到
+71.4%。风险信号:λ_sg=0.5 时 "forcing the model into
+mode collapse",SR 降到 68.7%,最优是 0.05(Table 7c)。warm-start 的
+t_w 过大(0.75)会"heavily suppress necessary generative
+randomness"(Table 7d)。
+- 低维状态结果:没有。输入为 2D 图像 + 24/32
+维本体状态,或点云(App. B.1)。56 任务 3D 平均 71.6%,DP3(100 步)为
+66.4%(Table 2)。2D 7 任务为 68.3%(Table 1)。
+- 训练成本/稳定性:用子批策略,p_sc=0.2、p_sg=0.1(Table
+7a)。A100 上 3000 epoch,batch 64,主干 DiT 12 层/768 维(App.
+B.2–B.3)。作者声称比 MeanFlow
+稳定,但没有给出内存/时长数字。只有仿真,没有真机(§6
+Limitation)。
+- 代码:全文没有找到代码链接,GitHub
+搜索也无结果。
+
+2.3
+OMP — One-step MeanFlow Policy with Directional Alignment(arXiv
+2512.19347v3)
+URL:https://arxiv.org/html/2512.19347
+
+- 方法:在 MP1 的基础上加方向对齐损失 L_DA =
+−log((cos α+1)/2),α 是预测平均速度与 v0=z_T−z_0 的夹角(§4.3.1,式
+12)。另提供 DDE:用中心差分近似 du/dt,替代 JVP(式 14)。总损失 = MSE
++ λ_Disp·L_Disp + λ_DA·L_DA(式 13)。
+- teacher:不需要。
+- NFE:1。
+- 延迟:只有 Fig.1 的 FPS 散点图,没有具体 ms
+数字【未核实】。训练/测试在 RTX 4090(§5.1)。
+- 多模态证据:没有。理论部分讨论的是"频谱偏置"和"低速区梯度饥饿",不是模态问题。【推断】隐患:L_DA
+是对逐样本条件目标做余弦对齐。在双峰条件下,不同样本的目标方向相反,余弦损失的总体最优解并不等于边缘速度场(与
+MSE
+不同,余弦损失不满足"条件期望即最优"的性质),可能引入偏置。论文没有分析这一点。
+- 低维状态结果:没有。输入为点云,平均 82.3%(JVP)/
+80.8%(DDE),MP1 为 78.9%(Table
+1)。数据可疑点:Table 1 中 "OMP-JVP −L_DA" 一行与 MP1
+一行逐项完全相同。
+- 训练成本:JVP 与 DDE 的显存对比(Table 3):Adroit
+Hammer(H=4)6.60 vs 5.35 GB;Place Bottle(H=16)26.71 vs 19.19 GB。DDE
+平均成功率掉 1.5 个点,Very Hard 任务上 77.8%→70.6%。作者证明 JVP
+训练会使每层激活显存翻倍(App. B.3)。H=16 时 JVP 为 76.6%,DDE 为
+78.2%(App. E.1,Table 5)。
+- 代码:"Codes are included in our supplementary
+material"(App. D)。公开仓库**【未核实】**。
+
+2.4
+K-MF — Kinematic MeanFlow(arXiv 2610.00864v1,2026-10-01,投稿 ICLR
+2027)
+URL:https://arxiv.org/html/2610.00864
+
+- 方法:利用运动学恒等式
+u_{t,r}=(1−λ)u_{t,c}+λu_{c,r},把 MeanFlow
+的时间导数项拆成两个子区间项(式 5–7)。c
+的取法有三种:随机、固定中点、或由一个 3 层 MLP 学出 λ=G_φ(t,r)(式
+8)。仍用 JVP,两个子区间在 batch 维拼接后一次算完(§3.2
+Implementation)。
+- teacher:不需要,支持从头训练,也支持微调 FM
+预训练的 RFM。
+- NFE:1。
+- 延迟(GR00T-N1.6,3B):action head 在 L40 上 eager
+28.0 ms(FM 为 109.3),compiled 6.2 ms(FM 19.1);在 Jetson Orin 上
+eager 63.6 ms、compiled 23.3 ms(Table 5a)。
+- 多模态证据:没有双峰测试。它关注的是
+VLA 速度场后期"局部加速度"激增(t=1 处达初值 76
+倍)以及跨样本发散(§1),属于训练稳定性问题。
+- 低维状态结果:没有。GR00T/SimVLA 输入为图像 + 语言
++ 本体状态。PointNav(COMPASS,Unitree G1)的输入模态**【未核实】**,FM
+73.8% vs K-MF 74.0%(Table 3)。
+- 训练成本/稳定性(重要):原生 MeanFlow 在 GR00T
+上不加梯度裁剪就 Fail;加裁剪后 6.5%;再加渐进时间采样和 60K 步才到
+87.0%(NFE=2);NFE=1 时 Fail。MVP 在 NFE=1 时也
+Fail;α-Flow NFE=1 为 84.5%(Table 1)。K-MF 训练时长比 FM 多
+33%(GR00T)/27%(SimVLA),GR00T 峰值显存 53.7 GB(FM 35.6,MF
+52.4)(Table 5b)。LIBERO 平均:GR00T 微调 97.9%(FM 4 步
+97.3%);SimVLA 从头训练 95.1%(FM 10 步 94.2%)(Table 2)。
+- 代码:https://github.com/IntelChina-AI/K-MF
+。2026-10-17 检查时仓库只有 README 和
+imgs,代码尚未发布。
+
+2.5
+DM1 — MeanFlow + Dispersive Regularization(arXiv 2510.07865v1,AAMAS
+2026)
+URL:https://arxiv.org/html/2510.07865
+
+- 方法:MeanFlow(JVP),把 4 种 dispersive
+正则(InfoNCE-L2/Cos、Hinge、Covariance)加在多个中间嵌入层上(§3.3–3.4)。训练中
+ρ=0.5 的样本强制 r=t(App. B.2)。
+- teacher:不需要。
+- NFE:1 或 5。
+- 延迟:Franka 真机,RTX 2080 上网络推理 MF(1)=2.4
+ms,MF(5)=10.5–13.8 ms,ShortCut(32) 约 77 ms,ReFlow(128) 约 306–313
+ms(Table 3)。仿真里"0.07 s vs 2–3.5 s"是 50
+个并行环境的总时间(§4.2.2)。
+- 多模态证据:没有双峰测试。摘要和引言声称
+dispersive 能"捕获多样多模态行为",但实验只有成功率和奖励。
+- 低维状态结果:没有。输入为 ViT 图像 + 9
+维本体状态(§4.3)。Robomimic 1 步(α_disp=0.1):Lift 0.975、Can
+0.740、Square 0.350、Transport 0.280(App. D.0.1)。数据集为 DPPO
+版的低质量数据,绝对值不能和 CP/OneDP
+直接比较。数据可疑点:App. D 的文字有自相矛盾之处,例如
+"decline from 0.700 at two steps to 0.775 at five steps"。
+- 训练成本:只有复杂度论述(App.
+B.4),没有实测内存/时长。
+- 代码:项目页 https://guowei-zou.github.io/dm1/
+,仓库 https://github.com/guowei-zou/dm1-release
+(已确认含代码目录)。
+
+2.6 Consistency
+Policy(arXiv 2405.07503,RSS 2024)
+URL:https://arxiv.org/html/2405.07503
+
+- 方法:先训练 EDM teacher,再用 CTM-local 目标(相邻
+t,u,任意 s)加 DSM 损失蒸馏出学生(§III-B)。支持 1 步,或在 {t_{2N/3},
+t_{N/3}} 处做 3 步 chaining(§III-C)。初始噪声用低方差 N(0,1/T²)。
+- teacher:需要预训练 EDM
+teacher(仅训练期需要,运行时不需要)。
+- NFE:1 或 3。
+- 延迟:仿真在 P5000 上 1 步 1 ms、3 步 2 ms,DDPM
+110 ms(Table III)。真机在 3070 Ti 笔记本 GPU 上总计 21 ms,其中网络
+13.5 ms(Table IV、XI)。
+- 多模态证据(直接负面证据):§V Limitations
+写道:"both the teacher EDM policy and Consistency Policy lose some of
+Diffusion Policy's multimodality, e.g., by favoring one side of the
+Push-T task over the other",原因归于 ODE 蒸馏是确定性的。Table
+VI:低方差初始噪声在 1 步时 0.92 vs
+0.90;作者自己也承认高方差的好处是"expressivity and
+multimodality"。
+- 低维状态结果(有):Push-T(state)1 步 0.82、3 步
+0.84,DDPM 为 0.87(Table I);Franka Kitchen(state)1 步 p4=0.93,DDPM
+为 0.98(Table II)。
+- 训练成本/稳定性:"slightly less stable during
+training than Diffusion Policy",需要更长训练,每步还要跑
+teacher(§V)。CTM 比 CTM-local 慢 40% 以上(A5000)(§IV-D)。dropout
+0.2 很关键,去掉 s→0 段的 dropout 后从 0.92 降到 0.86(Table IX)。不用
+teacher 的 CT 版本在 Square 上只有 0.55(Table X)。
+- 代码:https://github.com/Aaditya-Prasad/consistency-policy
+(已确认存在)。
+
+2.7 OneDP —
+One-Step Diffusion Policy(arXiv 2410.21257)
+URL:https://arxiv.org/html/2410.21257
+
+- 方法:在整条扩散链上最小化生成器分布与预训练 DP
+分布的反向 KL(类似 SDS/VSD),配一个辅助生成器 score 网络(式
+4–6)。OneDP-S 带噪声输入(随机策略);OneDP-D 不带噪声(确定性,等价于
+Dirac 分布)。
+- teacher:需要预训练
+DP,以及一个额外的 score 网络;三者都从 DP 权重初始化。
+- NFE:1。
+- 延迟:真机在 V100 上动作生成 7 ms + 观测编码 9
+ms;DDIM-10 为 66 ms,DDPM-100 为 660 ms(Table 5)。
+- 多模态证据:没有双峰测试。作者主动选择了
+mode-seeking:"reverse KL divergence typically induces mode-seeking
+behavior"(§2 Distillation Discussion)。【推断】OneDP-D
+是确定性映射,按定义就没有多模态。OneDP-S 理论上可以保留,但反向 KL
+天然倾向丢模态,OFP §1 也这么评价。
+- 低维状态结果:没有。全部为视觉输入:Robomimic +
+PushT(图像)。DDPM 设定下 OneDP-S 平均 0.843,DP 为 0.829(Table
+1);EDM 设定下 OneDP-S 为 0.830,CP 1 步(450 ep)为 0.672(Table
+2)。
+- 训练成本:只需在 DP 预训练的基础上额外花 2%–10%(20
+epoch,CP 为 450 epoch)(§1、§3.1)。网络规模:仿真 DDPM 256M、EDM
+67M(App.)。
+- 代码:全文没有找到链接,GitHub
+搜索无果**【未核实】**。
+
+2.8
+COT Policy — Conditional OT Couplings(CoRL 2025,PMLR v305
+sochopoulos25a;arXiv 2505.01179)
+URL:https://raw.githubusercontent.com/mlresearch/v305/main/assets/sochopoulos25a/sochopoulos25a.pdf
+、https://arxiv.org/html/2505.01179v1
+
+- 方法:对每个 minibatch 计算 OT 配对,代价为
+‖x0−x1‖² + ‖γ(c0−c1)‖²(式 4),其中噪声侧的条件 c0 是 c1
+的随机置换。连续观测先 PCA 降维,再用 K-means 离散化(K≈batch size,默认
+64)。之后做普通 CFM 训练(Alg. 1),推理用 midpoint 2 步或 Euler 1
+步。
+- teacher:不需要,单阶段训练。
+- NFE:1–2。主表用 midpoint,NFE=2。
+- 延迟:摘要称"10× speed-up compared to Diffusion
+Policy"。全文没有给出 ms 数字【未核实】。真机推理用 RTX
+2080(App. C.4)。
+- 多模态证据(最强、最相关):
+
+- two-moons/fork(y=U{x,−x})低维任务:COT-CFM 在 NFE=1 时
+W2²=0.345,CFM 1.490,OT-CFM 0.777(Euler);且只有 COT 在 NFE=1
+时能还原出两个月牙。CFM 1 步 ≈ 条件均值(App.
+D.1,Table 5,Fig. 1/8)。
+- Maze2D:起点和终点都固定,q
+值加噪声后得到多条路径。这和"左右绕柱"同构。Fig. 3 显示 COT 在 NFE=1/2
+下都能覆盖多条路径,Trajectory Variance 高于
+CFM(§3.2)。只有图,没有表格数值【定量部分未核实】。
+- 真机 Push-T:NFE=1 Euler 能同时复现顺时针和逆时针两种推法(App.
+C.3,Fig. 7)。
+- 反例:朴素 OT-CFM(不考虑条件)会得到有偏样本(Fig. 1)。K
+太小时退化成 OT-CFM(Fig. 4)。
+
+- 低维状态结果:two-moons/fork 是纯低维(4×64 SELU
+MLP,App. B.1)。Maze2D 的输入模态**【未核实】**。MimicGen/push-t
+用图像。6 任务平均:COT(NFE=2)0.818 vs DP
+DDIM(NFE=20)0.781,CFM(NFE=2)0.790(Table 1)。
+- 训练成本:与 CFM/DP 相同,收敛速度也相近(Fig.
+5)。OT 用 EMD。PCA 特征向量矩阵会占显存(App. B.2)。作者承认的局限:K
+需要调;高维时低 NFE 与高 NFE 仍有差距(§5)。
+- 代码:https://github.com/ansocho/cot_policy
+(已确认存在)。
+
+2.9
+Shortcut Models(Frans et al., arXiv 2410.12557, ICLR 2025)及其在
+ReinFlow(arXiv 2505.22094)中的用法
+URL:https://arxiv.org/html/2410.12557
+、https://arxiv.org/html/2505.22094
+
+- 方法:网络同时以步长 d 为条件。d=0 时就是 FM
+损失;d>0 时用自洽目标 s(x_t,t,2d)=½s(x_t,t,d)+½s(x'_{t+d},t+d,d) 做
+bootstrap(Shortcut §3,式 4–5)。batch 中 k=1/4 的样本做自洽,其余做
+FM。ReinFlow
+在流轨迹中注入可学习噪声,把它变成离散时间马尔可夫过程,得到精确似然,再用
+PPO 微调;微调后丢掉噪声网络(ReinFlow §4.1–4.3)。
+- teacher:不需要,单网络、单阶段。不需要
+JVP,自洽目标只需额外两次前向。
+- NFE:任意,1/2/4 均可。ReinFlow 在 Can/Square 上用
+1 步,在 Transport 上用 4 步(ReinFlow §5.2)。
+- 延迟:两篇论文都没有给出
+ms。ReinFlow 只给出每次迭代的 wall-time,在 RTX 3090
+上测(ReinFlow App. D,Table 3)。
+- 多模态证据:Shortcut Fig. 7 的说明称"Shortcut
+models can represent multimodal policies in a similar manner as
+diffusion policies"。1 步结果:Push-T 0.87、Transport 0.80;DP 1 步为
+0.12/0.00(§5.5)。只有定性轨迹图,没有双峰统计。作者自承局限:"the
+mapping between noise and data is entirely dependent on an expectation
+over the dataset",且 1 步与多步之间仍有差距(§6)。
+- 低维状态结果:ReinFlow 中 Franka Kitchen(state
+输入)用 Shortcut 策略,参数仅 0.16M actor;同时测了 K=1/2/4 的 RL
+微调(App. Table 2、Fig.
+13,只有曲线【数值未核实】)。Gym
+运动控制任务(state)用的是 1-ReFlow 策略,0.55–0.80M 参数。
+- 训练成本:约比扩散模型多 16% 计算(Shortcut §3
+脚注)。若自洽损失不稳定,可降低其占比;推荐使用非零 weight decay(§6
+Best practices)。ReinFlow 的稳定性技巧:裁剪 log-ratio(state 任务
+ε=0.01)、裁剪去噪动作、critic warm-up(ReinFlow App. D.2)。
+- 代码:https://github.com/kvfrans/shortcut-models
+、https://github.com/ReinFlow/ReinFlow
+(均已确认存在)。
+
+2.10
+FreqPolicy(NeurIPS 2025,arXiv 2506.08822v2)
+URL:https://arxiv.org/html/2506.08822v2
+
+- 重名提醒:NeurIPS 2025 有两篇 FreqPolicy。另一篇是
+arXiv 2506.01583 "Frequency Autoregressive Visuomotor
+Policy"(4DVLab),属于自回归方法,不是一步生成器。本文按"一步/少步"的范围评估
+2506.08822。
+- 方法:FM
+损失之外,加一项频域一致性损失:在两个任意时刻 s,r 的速度上做 type-II
+DCT 后对齐(§3.3,式 9–14),并按频段方差自适应加权。
+- teacher:不需要。
+- NFE:1。
+- 延迟:真机在 RTX 4090 上 93.5 Hz(约 10.7 ms),DP
+19.8 Hz,FM 20.2 Hz(§4.2)。OpenVLA 头为 6.05 Hz(Table 3)。
+- 多模态证据:没有双峰测试。
+- 低维状态结果:没有。输入为图像、点云或
+VLA。Robomimic(图像)1 步:Can 0.98、Square 0.92、Transport
+0.90、ToolHang 0.85(Table 1)。3D 53 任务平均 78.5%(Table 2)。消融里
+vanilla FM 1 步为 0.94/0.90/0.84/0.76(Table 4),见 §1 第 2 点。
+- 训练成本:每个样本需要两次前向,"demands more
+computational resources"(§5 Limitation)。在单卡 A100 上训练(App.
+A.3)。
+- 代码:全文没有找到官方链接,GitHub
+搜索只命中重名的另一篇**【未核实】**。
+
+
+3. 汇总对比表(原文数据)
+
+
+
+方法
+需要 teacher
+NFE
+延迟(硬件,出处)
+多模态证据
+低维状态实验
+训练风险
+代码
+
+
+
+
+MP1
+否
+1
+6.8 ms,4090,含点云编码(T2)
+无
+无
+JVP;他人报告 loss 尖峰
+有
+
+
+OFP
+否(EMA)
+1/多
+17.58 ms,硬件未说明(§4.2)
+无;SGR 过强会塌缩(T7c)
+无
+无 JVP;超参多
+未找到
+
+
+OMP
+否
+1
+无 ms(Fig.1)
+无;余弦损失存疑【推断】
+无
+JVP 显存表(T3);DDE −1.5pt
+附录补充材料
+
+
+K-MF
+否
+1
+AH 6.2–63.6 ms,L40/Orin,3B(T5a)
+无
+无(PointNav 模态未核实)
+MF 1 步 Fail(T1);+27–33% 时长
+仅 README
+
+
+DM1
+否
+1/5
+2.4 ms,2080(T3)
+无(仅声称)
+无(9 维本体 + 图像)
+JVP;文中数字自相矛盾
+有
+
+
+CP
+是
+1/3
+1 ms,P5000;21 ms,3070Ti(T3/T11)
+负面:Push-T 偏向一侧(§V)
+有:Push-T 0.82,Kitchen p4 0.93
+比 DP 不稳;训练更久
+有
+
+
+OneDP
+是(+score 网络)
+1
+7 ms,V100(T5)
+mode-seeking(自述);D 版确定性
+无
++2–10% 预训练成本
+未找到
+
+
+COT
+否
+1–2
+无 ms;"10×"
+最强:two-moons/fork/Maze/真机 Push-T
+合成低维有;Maze 模态未核实
+同 CFM;K 需调
+有
+
+
+Shortcut(+ReinFlow)
+否
+1/2/4
+无 ms
+定性(Fig.7)
+有:Kitchen state 0.16M(仅曲线)
++16%;可 RL 微调
+有
+
+
+FreqPolicy
+否
+1
+~10.7 ms,4090(§4.2)
+无
+无
+2× 前向
+未找到
+
+
+
+
+4. 针对本项目的裁决表
+评分:✅ 合适 / ⚠️ 有条件 / ❌ 不合适。所有评价都对照 §0 的设定。
+
+
+
+方法
+无 teacher 运行
+训练可行性(3090,5M)
+浏览器 ONNX(1 网络,单/少次前向)
+多模态保真(左右绕柱)
+与 APG 后训练的契合
+总评
+
+
+
+
+Shortcut
+✅
+✅ 无 JVP,+16%
+✅ 需额外输入 d
+⚠️ 只有定性证据;1 步与多步有差距
+✅ 1 步时梯度直通;ReinFlow 证明可 RL 微调
+首选骨架
+
+
+COT 耦合
+✅
+✅ 低维条件可直接 K-means,不需要 PCA【推断】
+✅ 与普通 FM 结构相同
+✅ 唯一有直接双峰证据
+✅ 与骨架正交
+首选插件(训练时加在 Shortcut/MF
+上)【推断:两者组合在原文中没有实验,只在 COT §5
+中作为未来方向提到】
+
+
+OFP
+✅
+✅ 无 JVP,但超参多
+✅;warm-start 需维护状态
+⚠️ 无测试;SGR 有塌缩风险
+✅
+次选。只借鉴 warm-start 和 FM 锚定,SGR 关闭或 λ≤0.05
+
+
+MeanFlow(MP1/DM1)
+✅
+✅ 在 5M MLP 上 JVP 显存不是问题【推断】,但有稳定性报告(OFP
+§4.2、K-MF T1)
+✅
+⚠️ 无测试;CFG 可能锐化掉一个模态【推断】
+✅
+备选
+
+
+OMP
+✅
+✅
+✅
+⚠️ 余弦对齐在双峰下可能有偏【推断】
+✅
+不建议直接采用 L_DA
+
+
+K-MF
+✅
+⚠️ 为 3B VLA 设计,代码未发布
+✅
+⚠️ 无测试
+✅
+只在 MeanFlow 训练不稳时借鉴中点分解
+
+
+FreqPolicy
+✅
+✅(2× 前向)
+✅
+⚠️ 无测试
+✅
+可作为平滑正则的辅助项(16 步 chunk 的 DCT)
+
+
+CP
+✅(训练需 teacher)
+⚠️ 两阶段,较不稳定
+✅
+❌ 原文自述丢模态
+⚠️
+不推荐
+
+
+OneDP
+✅(训练需 teacher + score 网络)
+⚠️ 两阶段
+✅
+❌ mode-seeking / 确定性版本
+⚠️
+不推荐。【推断】若只关心"不平均",mode-seeking
+反而不会穿柱,但会失去左右选择能力,且闭环中可能左右跳变
+
+
+
+
+5. 排名推荐
+
+- Shortcut Model 骨架 + COT 条件耦合 + FM
+锚定(d=0),NFE=1,必要时用 2 步。
+
+- 理由:不需要 teacher,不需要 JVP,单阶段训练,开销约
+16%。同一个网络支持 1/2/4 步,可以按浏览器实测延迟取舍。ReinFlow
+已在低维 state 任务(Kitchen,0.16M)上用它做过 RL 微调。COT
+是唯一用双峰任务(fork、two-moons、Maze 多路径)证明"1
+步不取均值"的方法,而且训练成本与 CFM 相同。
+- 低维 60 维状态可直接做 K-means(K≈batch),γ 按 COT App. E.1
+选。【推断】最好把"同一状态下的左右样本"放进同一簇,这样 OT
+才能把噪声空间按模态切开。
+
+- OFP 式自蒸馏(前向一致性 + FM 锚定 +
+warm-start),作为 1 的替代或补充。
+
+- 【推断】warm-start(上一 chunk 后缀加噪,t_w≈0.15)对 50 Hz
+闭环特别有价值:它让相邻决策沿用同一模态,抑制左右跳变。但这只是推断,论文没有测模态一致性。
+- SGR 建议关闭,或 λ≤0.05,因为原文 λ=0.5 时出现模态塌缩。
+
+- MeanFlow(MP1 配方,不加 CFG,或 ω=1)。在 5M
+规模上 JVP 成本可接受。若出现 loss 尖峰,可以借鉴 K-MF 的中点分解,或
+OMP 的 DDE。
+- FreqPolicy 的 DCT 一致性:只作为辅助正则(降低
+chunk 抖动),不单独作为主方法。
+- 不推荐:CP、OneDP。都依赖 teacher
+训练,且分别有模态丢失(CP 原文自述)和 mode-seeking(OneDP
+自述)。
+
+无论选哪种方法都应加上的工程措施【推断,均未在上述论文中验证】:
+
+- 运行时多样本 + 解析碰撞筛选:把 K 个噪声(如
+8–32)打成一个 batch
+做一次前向,用可微胶囊距离挑出无碰撞且代价最小的样本。这直接针对 §1 第 3
+点(连续映射必然有样本落入缝隙)。
+- 模态一致性:在一次绕柱过程中锁定噪声,或使用
+warm-start,避免每 20 ms 重采样时左右翻转。
+- APG 后训练时保住双模态:只对 reward
+求梯度会把整个分布推向单一模态。必须保留 FM/BC 锚定损失(类似 OFP 式
+7、ReinFlow 的 W2/熵正则),并分别监控左/右样本比例。理想情况下,APG
+应只把"缝隙样本"推离立柱(锐化分界),而不是改变左右比例。
+- 专门的多模态评估:成功率不够(见 §1 第 2
+点)。应在同一状态下采 N
+个样本,统计左/右/穿柱三类比例,以及立柱附近状态的最小胶囊距离分布。
+
+
+6. 明确的不确定项
+
+- 没有任何一篇论文在低维状态 + 已知几何障碍 +
+双峰绕行的设定下给出定量的"穿越率/模态比例"。COT 的 Maze
+证据最接近,但只有图,输入模态也未核实。
+- 所有论文的模型规模都远大于 3–5M(OFP DiT 768×12;CP/OneDP
+67–256M;COT 约 240M U-Net)。只有 ReinFlow 的 state
+任务(0.16–0.8M)接近我们的规模。小模型能否学出陡峭的模态边界未知。
+- 浏览器 ONNX 延迟:所有数字都来自 GPU,没有
+WASM/WebGPU 数据。5M
+参数单次前向在浏览器里大约需要几毫秒【粗略推断】,必须实测。
+- OFP 的推理硬件、OMP 和 COT 的 ms 延迟、OneDP/OFP/FreqPolicy
+的代码、K-MF 的代码(尚未发布)均未核实或不可得。
+- Shortcut 与 COT 组合、warm-start 抑制模态跳变、APG
+下的模态保持,都是推断,没有文献实验。
+- 数据质量疑点:OMP Table 1 有一行与 MP1 完全相同;DM1
+附录文字自相矛盾;OFP 只有仿真结果。
+- 各论文基准不同(Robomimic 的 ph/mh 数据、DPPO 低质量数据、点云 vs
+图像),跨论文的成功率数字不可直接比较。
+
+
+7. 实际抓取的来源 URL
+
+- https://arxiv.org/html/2507.10543
+(MP1)
+- https://arxiv.org/html/2603.12480
+(OFP)
+- https://arxiv.org/html/2512.19347
+(OMP)
+- https://arxiv.org/html/2610.00864
+(K-MF)
+- https://arxiv.org/html/2510.07865
+(DM1)
+- https://arxiv.org/html/2405.07503
+(Consistency Policy)
+- https://arxiv.org/html/2410.21257
+(OneDP)
+- https://raw.githubusercontent.com/mlresearch/v305/main/assets/sochopoulos25a/sochopoulos25a.pdf
+(COT,PMLR 版全文)
+- https://arxiv.org/html/2505.01179v1
+(COT,arXiv 版)
+- https://arxiv.org/html/2410.12557
+(Shortcut Models)
+- https://arxiv.org/html/2505.22094
+(ReinFlow)
+- https://arxiv.org/html/2506.08822v2
+(FreqPolicy)
+- GitHub
+存在性检查:LogSSim/MP1、guowei-zou/dm1-release、Aaditya-Prasad/consistency-policy、ansocho/cot_policy、kvfrans/shortcut-models、ReinFlow/ReinFlow、IntelChina-AI/K-MF(仅
+README)
+- proceedings.mlr.press/v305/sochopoulos25a
+摘要页通过搜索结果确认;全文使用上面的 PMLR PDF。
+
+本地提取的全文文本:/workspace/work/out/survey/src/*.txt(同目录下另有其他任务的文件,与本报告无关)。
+
+三、代价引导与实时动作块(RTC)
+代价引导扩散运动规划
++ 实时分块(RTC)文献精读与对我方设定的评估
+
+撰写:2026-10-17。全部结论来自下列已抓取的全文(HTML/PDF),引用均标注论文章节/表号。
+标记约定:[原文] =
+论文直接给出的数字/陈述;[推断] =
+我基于原文对我方设定做的推理,论文未直接验证;[未验证]
+= 未抓取全文或论文中仅有图、无可读数值。
+
+0. 我方设定(评估基准)
+6-DOF
+机械臂;固定且精确已知的环境(一根立柱,胶囊体碰撞模型,解析距离);低维状态;闭环
+50 Hz;动作块 H=16 步(320 ms);每周期提交 s=3 步(60 ms
+重规划一次);浏览器端推理;生成器计划 1
+步或少步;运行时无教师/规划器;精确安全层校验已提交步。
+1. 已抓取的来源
+
+
+
+论文
+URL
+
+
+
+
+MPD (IROS'23) 2308.01557
+https://arxiv.org/pdf/2308.01557
+
+
+MPD 期刊版 2412.19948 (v3)
+https://arxiv.org/html/2412.19948
+
+
+EDMP 2309.11414
+https://arxiv.org/html/2309.11414
+
+
+GPD 2501.18229
+https://arxiv.org/html/2501.18229
+
+
+CAMPD 2510.14615 (v2)
+https://arxiv.org/html/2510.14615
+
+
+DiffusionSeeder 2410.16727
+https://arxiv.org/html/2410.16727
+
+
+RTC 2506.07339 (v2)
+https://arxiv.org/html/2506.07339
+
+
+Training-time RTC 2512.05964 (v2)
+https://arxiv.org/html/2512.05964v2
+
+
+BID 2408.17355 (v4)
+https://arxiv.org/html/2408.17355
+
+
+ACT 2304.13705
+https://arxiv.org/pdf/2304.13705
+
+
+
+未抓取、仅在检索结果中出现([未验证]):Soft RTC /
+"Action-Prior Denoising for Smooth Real-Time Chunking"(alphaxiv
+2605.25537,据摘要把训练时 RTC
+的二值前缀推广为连续权重窗口);FutureRTC(2607.24008);VLASH(2512.01031)、A2C2(2509.23224,训练时
+RTC 论文 §II
+提及:分别用"单个未来动作条件"和"轻量校正头"解决块间不连续)。
+
+2. 代价引导扩散运动规划
+2.1 各方法要点与关键数字
+MPD(IROS'23,2308.01557)
+
+- 算法(§III-D, Alg.1):每个去噪步先算先验均值 μ_t,再在 μ_t
+处加代价梯度 g=−Σλ_i∇c_i,丢弃协方差 Σ_t 缩放(否则 t→0
+时引导消失)。训练/推理 25 个扩散步(§IV-A "trained for
+25 diffusion steps")。
+- 结果(Table I,100 个上下文×每上下文 100 条轨迹,RTX 3090;S =
+批内至少一条无碰撞):
+
+- Panda Spheres(训练环境):DPrior 0.3 s / S 88% / 碰撞航点比 I 11.5%
+→ MPD 1.1 s / S 100% / I 1.2%。
+- Panda Spheres-Extra Obstacles(新障碍):DPrior 0.3 s / 78% / I
+23.9% → MPD 1.1 s / 93% / I 12.5%;CVAE-Posterior(先采样后优化)0.8 s /
+45%。
+- Panda Shelf(训练环境):DPrior 100%/I 3.6% → MPD 100%/I 0.6%。
+- PointMass3D Maze-Extra:DPrior 51% → MPD 82%(I 14.8%→3.1%)。
+- 代价:引导使时间约 0.3 s → 1.0–1.1
+s(≈3.5×),作者称主要开销在代价梯度而非网络(§IV-B)。
+
+- 真机(§IV-C):25 条无碰撞规划执行后 19/25
+无碰撞,归因于球体碰撞近似误差。
+
+MPD 期刊版(2412.19948)
+
+- B 样条控制点空间扩散;DDIM 15 步 +
+二次时间表;只在最后 i_cost=3 步施加代价梯度,每步 M=4
+次内梯度步,共 12 次代价梯度步;用信赖域 δ=0.15
+约束偏离先验均值(式 15),λ_prior∈[0.25,0.5](附录
+B)。作者原话:高噪声水平下"this gradient produces little
+effect",所以只在末段引导(§III-F)。
+- 延迟(§IV-D, Fig.7):EnvSpheres3D-Panda,100 条轨迹总计 ≈0.56
+s,其中扩散采样仅 0.057 s(≈3.8
+ms/次网络前向),其余几乎全是代价梯度。
+- 新障碍下有效轨迹占比(§IV-D):EnvWarehouse-Panda,Dprior 18.4% →
+MPD 73.5%;vs 无信息 GP 先验+代价(≈CHOMP)成功率 67.8% → 96.0%。
+- "先采样再优化"对照(与我们的"事后梯度投影"最接近):基线
+Dprior+Cost 使用相同数量的代价优化步(§IV-B)。真机
+Table I:Dprior 成功 0%;Dprior+Cost 成功 100%、有效占比 37.0%、多样性
+27.95;MPD 成功 100%、有效占比 78.0%、多样性 59.50。§IV-E/Fig.11
+解释:轨迹大段已在障碍内时,事后梯度"更难把它移出碰撞"。
+- 局限(§V):提到可用"每步投影到安全流形"替代分类器式引导,但"projection
+can be computationally expensive"——未实验。
+
+EDMP(2309.11414)
+
+- 在 MPD 基础上用 12 个代价函数集成(5 个相交体积 + 7
+个扫掠体积),并行跑多条引导扩散,取最小碰撞代价(§III, Alg.1)。GPD
+论文指出 EDMP 使用 T=256 去噪步(GPD §IV)。
+- 结果(Table I/II,MπNets 测试集,成功率%):EDMP Global/Hybrid/Both
+= 75.93/86.13/85.06;对比 MπNets(Hybrid 训练) 75.78/95.33/95.06。Table
+III:单引导平均 79.25% vs 集成 89.30%。
+- 失效模式(§III):SDF
+型碰撞代价"在起终点之间有窄架子时挣扎";需"障碍膨胀"技巧才能诱出回撤行为(Fig.3)——即局部极小值、需手工调代价。
+
+GPD(2501.18229)
+
+- 在 Bernstein 系数(8 个控制点)空间扩散,梯度经 Bᵀ 预条件(式
+5)使整条轨迹"像拉绳子一样"整体移动;T=64(EDMP 为 256)。
+- Table I(单代价引导,成功率%
+Global/Hybrid/Both,时间):PD(无引导多项式先验)32.11/40.38/41.54,0.22
+s;MPD 51.33/62.27/67.12,7.32 s;EDMP-1G 53.11/66.50/68.88,7.95
+s;GPD-1G 65.50/72.89/73.00,0.8 s。→
+在同一参数化下,引导比无引导 +33 个百分点(Global),延迟 ×3.6。
+- Table II:GPD-7G 81.94/90.88/90.24(0.85
+s);GPDS(单引导+RRT-Connect 拼接)87/92.83/92.61(1.9 s);单独
+RRT-Connect 83.33/90.83/90.60(7.14 s)。
+- 失效模式(§III-B,
+Fig.3):航点空间引导只把个别航点推出碰撞,整条轨迹仍不可行;高噪声步的引导被去噪"拉回先验"所压倒。
+
+CAMPD(2510.14615)——反例:不用代价引导
+
+- 无分类器引导(CFG),以障碍参数(球/长方体的位置尺寸)通过注意力条件化,无代价梯度(§III)。附录:T_train=25;DPM-Solver++
+推理仅 T_inf=3 步;输出加高斯滤波。
+- Table I(随机球环境,100 条/批):0.066 s / 批,S
+97.5%(w=1),可行轨迹率 FTR 79.4–82.8%;对比 MPD 3.165 s、S 80.7%、FTR
+59.6%(部分随机球)。CFG 强度 w=5 时 FTR 降到
+67.9%、平滑性变差(过强引导→离流形)。
+- Table II(MπNet 测试集,N_batch=12):DDPM 25 步 成功 90.7%(7+20
+ms,IK+规划);DPM-Solver++ 3 步 w=1/2/5:86.9%/87.6%/78.9%(8+5
+ms);N_batch=64:DDPM 98.3%,3 步 96.2%/97.2%/93.3%(8+7
+ms);cuRobo 92.0%(N=12, 26 ms)/93.8%(N=64, 111 ms)。→
+少步(3 步)条件化生成器比 25 步只掉 ~1–4
+个百分点。
+
+DiffusionSeeder(2410.16727)——扩散出种子 +
+事后优化
+
+- 深度图条件 DDPM,DDIM 5 步、12 条种子,6 ms(RTX
+4090,含 ViT);然后 cuRobo 优化 N_iters 次(§4.3, §5)。
+- Table 1(部分观测):25 次迭代 85.1% / 15 ms 规划;50 次 85.8%;475
+次 86.2%;cuRobo-100 77.9% / 207 ms。
+- 附录 7.8.3:在环代价引导(k=60, n=20
+步/时刻,扫参最优)只把成功率从 80.6% 提到
+81.1%;作者解释:条件化模型已输出低代价区域的种子。
+- 附录 7.8.9(无优化器):纯扩散输出无碰撞率仅
+≈38%,最大 jerk ≈270 rad/s³,经 cuRobo 优化降到 ≈106。→
+事后优化是主要"纠错"手段。
+- 分布外(附录 7.8.1,窄通道):DiffusionSeeder 与 cuRobo 同为
+52.4%。
+
+2.2 问题逐条回答
+Q1:1–2 步去噪时代价引导还有效吗?
+
+- [原文] 没有任何一篇在 1–2 步下测试过代价引导。
+最少的是:MPD 期刊版 15 步 DDIM 且只在最后 3 步引导(每步 4
+次内梯度),DiffusionSeeder 5 步(引导仅 +0.5 pt),CAMPD 3 步但用的是
+CFG 不是代价梯度,RTC 用 5 步(是前缀修复引导,不是碰撞代价)。
+- [原文] 少步会让梯度引导变得不稳定:RTC 附录
+A.2——n=5 时引导权重 β 过大导致动作块发散、最大加速度上升(Fig.7),β
+需夹到 5;作者明说图像修复常用 n=100,控制里 n=5 才需要夹紧。GPD/MPD
+都说高噪声阶段的梯度基本无效。
+- [推断] 在 1
+步生成器上,"引导"在数学上退化为:一次网络前向 + 在输出(或其 x̂₁
+估计)上做若干梯度步——等价于事后梯度投影;在 2
+步时,只有第二步之前一次机会,与 MPD"仅末段 3
+步引导、每步多次内迭代"的有效方案在结构上相同,即本质上也是"先验输出 +
+局部优化"。所以对我们而言,"1–2 步 + 引导"与"1 步 +
+事后投影"区别很小,选后者更简单。
+
+Q2:相对无引导提升多少,代价多少延迟? | 来源 |
+无引导 | 有引导 | 延迟 | |---|---|---|---| | MPD-IROS Panda
+Spheres(训练环境) | S 88%, I 11.5% | S 100%, I 1.2% | 0.3→1.1 s / 100
+条 | | MPD-IROS Panda Spheres + 新障碍 | 78%, I 23.9% | 93%, I 12.5% |
+同上 | | MPD-期刊 Warehouse + 新障碍 | 有效 18.4% | 73.5% | 0.56
+s,其中网络 0.057 s | | GPD(MπNets Global) | PD 32.11% | GPD-1G 65.50%
+| 0.22→0.8 s | | EDMP 集成 vs 单引导 | 79.25%(单) | 89.30%(12 个) |
+EDMP 8.22 s(GPD Table II) | | DiffusionSeeder(条件化模型) | 80.6% |
+81.1% | 在环引导 n=20/步,额外开销未报 | | CAMPD(无代价引导) | — | 3
+步 86.9–87.6% vs MPD 慢 ~48× | 66 ms vs 3.165 s / 100 条 | 规律
+[原文+推断]:引导的增益在"先验不知道障碍"(新障碍、分布外)时大(+15~+55
+pt),在"先验已被环境条件化/训练环境已覆盖"时小(DiffusionSeeder +0.5
+pt;MPD 训练环境主要是把碰撞航点比从 11.5% 压到
+1.2%)。我们的环境是固定的、训练数据可完全覆盖 → 属于后一类。
+Q3:失效模式
+
+- 局部极小:EDMP §III(SDF
+代价在窄架子间失败,需障碍膨胀、多代价集成);MPD-期刊
+§I(优化方法依赖初始化);GPD Fig.3(逐航点推不出整段碰撞)。
+- 离流形 / 分布偏移:MPD-期刊式 15 用 δ
+信赖域"防止偏离先验太远导致分布偏移";RTC A.2:β 过大 → 发散、jerk
+↑;CAMPD:CFG w=5 → FTR 82.8%→67.9%、平滑性变差。
+- 高噪声阶段引导无效、被先验压倒(MPD-期刊 §III-F;GPD §III-B)。
+- 未经优化的扩散输出动力学质量差:DiffusionSeeder 纯输出 jerk ≈270
+rad/s³、无碰撞率 ≈38%(附录 7.8.9)。
+- 分布外场景无优势:DiffusionSeeder 窄通道 52.4% = cuRobo。
+
+Q4:能否用"对输出块的事后梯度投影"替代引导?
+
+- [原文] 反对证据:MPD-期刊
+Dprior+Cost(同等梯度步数)真机有效占比 37% vs MPD 78%,多样性 27.95 vs
+59.50;CVAE-Posterior(先采样后优化)在 Panda+新障碍仅 45% vs MPD
+93%。原因:先验样本大段穿过训练时不存在的障碍时,事后梯度难以把它推出来。
+- [原文] 支持证据:DiffusionSeeder(环境条件化先验 +
+事后优化 25–50 次)85–86%,在环引导几乎无增益;CAMPD 条件化 3
+步无引导即达 87–97%。
+- [推断] 对我方的结论:可以替代,而且更合适。
+反对证据的前提是"推理时出现了先验没见过的障碍";我们的立柱是固定且已知的,先验在训练中就学会了绕柱的两种模式,事后投影只需修补小幅穿透/余量不足——正是事后局部优化擅长的。并且我们有解析胶囊距离,16×6=96
+维块上做几次投影梯度步在 JS
+中是亚毫秒级(未测)。唯一要防的是"整块已在柱子错误一侧"这类模式错误——投影修不了,应交给生成器多样本+安全层拒绝/回退。
+
+
+3. 实时分块 RTC
+与训练时前缀条件化
+3.1 RTC 算法(2506.07339, §3,
+Alg.1)
+
+- 异步:执行当前块的同时生成下一块;推理延迟 d=⌊δ/Δt⌋ 内必然执行的前 d
+个动作被"冻结",其余"修复"(inpainting)。约束 d ≤ s ≤
+H−d(Fig.3)。
+- 修复方法:基于 ΠGDM 的伪逆引导(式 2–4):v ← v + min(β,
+(1−τ)/(τ·r_τ²))·(Y−¹)ᵀ diag(W)
+∂¹/∂A^τ,每个去噪步需一次向量-雅可比积(反向传播)。β
+为作者新增的权重夹紧,β=5。
+- 软掩码(§3.2,式 5):前 d 步权重 1,之后到 H−s 指数衰减,最后 s
+步为 0;作者称在 d
+小时"critical"。A.4:指数衰减最好,线性几乎一样;Diffuser
+式"硬覆盖"修复更便宜、"仍有一些收益"但不如引导式。
+- 延迟估计:取最近 b=10 次延迟的最大值;s=max(d, s_min)。
+
+3.2 所需推理步数与延迟
+
+- [原文] 仿真与真机都用 n=5(Table 4)。π0.5
+上:每次去噪 14 ms→35 ms(2.5×),模型总延迟 76 ms→97 ms(Table 3);BID
+N=16 为 115–223 ms(Table 1)。
+
+3.3 是否适用于 1 步生成器
+
+- [原文] 作者:仅适用于扩散/流策略(§6);未测
+n=1。A.2:τ=0 时权重无穷大必须夹紧;n=5、β≥4.25
+时夹紧只决定第一步权重。
+- [推断] n=1 时整个输出就由"τ=0 处夹紧的一步 + 一次
+VJP"决定,引导强度完全由 β 人工设定,属于无依据的外推;Pokle 等从 τ>0
+起步的变体作者未尝试。而且浏览器端推理(ONNX Runtime Web
+等)做反向传播不方便。→ 对我们 不推荐推理时 RTC。
+
+3.4 实测收益 vs 时间集成 /
+朴素分块
+
+- Kinetix 仿真(§4.1, Fig.5,H=8,2048
+次/点)[原文定性,具体数值仅在图中,未读出]:TE "across the
+board" 表现差,即使
+d=0(多模态下有效动作的平均不一定有效);RTC 对延迟最鲁棒,领先
+BID 且差距随 d 增大;硬掩码弱于软掩码(d 小时更明显);RTC
+执行步长越短越好。
+- 真机(§4.2, Fig.6,π0.5,6 任务,480
+回合):吞吐量在所有延迟下最佳,+100/+200 ms 时显著;RTC
+对注入延迟"完全鲁棒",同步推理线性退化;两种 TE 在 +100/+200 ms
+下振荡到触发保护停机;Fig.1:同样动作比同步快 20%,比 TE
+更平滑;点蜡烛任务最终得分优势大。
+- BID(2408.17355):N=16, K=3;相对 vanilla 闭环
++32%,与 EMA(=TE) 组合 +46%(§5.2, Fig.7);EMA 在 7 任务中 2
+个下降,且最优衰减率因任务而异(附录 A.4);VQ-BeT 上 1→16 样本成功
+49.1%→54.2%,时间 13.2→25.9 ms(Table 2)。RTC 论文称 BID 在仿真不如 RTC
+且算力高很多。
+- ACT 原文(2304.13705, §VI-A, Fig.8b):TE 对 ACT
++3.3%,对 BC-ConvMLP +4%,对 VINN 下降;注意 ACT 测试时把 CVAE 的 z 设为
+0(确定性解码,§IV),即 TE
+在"单峰确定性"预测上才有效——这正是它在多模态扩散/流策略上失效的原因。
+
+3.5
+更简单的训练时前缀条件化是否有效(2512.05964)
+
+- 方法(§IV):训练时随机采样延迟
+d,前缀用真值非噪声动作并把其流匹配时间设为 1,只对后缀算损失;需允许逐
+token 不同时间步(adaLN 的 scale/shift/gate 逐
+token);推理零额外开销(Alg.1 代码几行)。
+- 结果 [原文]:仿真中 d≥2 时优于推理时 RTC,差距随 d
+增大而扩大;d=0、1 时"very marginally
+worse"(Fig.3,数值仅在图中)。真机
+π0.6(盒子组装、意式咖啡):成功率与时长与推理时 RTC 持平,端到端延迟
+108 ms(d≈5)vs 135 ms(d≈7)。
+- 局限 [原文]:只支持"硬"前缀(d
+个动作),不能像软掩码那样软利用剩余重叠;需按预期延迟选训练延迟分布(仿真用
+{0..4} 指数递减权重,真机 U[0,10])。
+- [推断] 对 1
+步生成器天然适用:它只是"条件输入",与积分步数无关。
+
+3.6 对我方设定的特殊考量
+[推断]
+
+- 我们 H=16、s=3;若浏览器单次推理 <20 ms,则 d=0–1,硬前缀只有 0–1
+个动作——恰好是训练时 RTC
+相对最弱、软掩码最有价值的区间。建议:把上一块的全部剩余重叠(16−3=13
+步)作为条件输入,并按 RTC 式 5
+的衰减思路在训练中随机截断/加噪("软前缀"),或参考 Soft
+RTC([未验证])。这是对两篇论文的组合外推,需自己做消融。
+- 时间集成在我们场景有硬伤:立柱左右绕行是典型双模态;两条各自无碰撞的块取平均可能正好穿柱(RTC
+Fig.2 正是此例)。安全层会拒掉,但会造成频繁回退/停顿。不建议用
+TE。
+- 安全层与 RTC
+互补:前缀条件化保证块间连续性(减少安全层因加速度跳变而拒绝),安全层保证已提交
+3 步的硬安全。
+
+
+4. 对我方设定的结论表
+
+
+
+问题
+结论
+证据强度
+不确定性
+
+
+
+
+1–2 步下用代价引导
+不采用;改为"生成器输出 + 事后解析梯度投影"
+无论文测过 1–2 步引导 [推断];少步引导不稳定 [原文
+RTC A.2]
+1 步下引导 vs 投影的差异未经实验
+
+
+引导的预期增益
+固定已知环境下小(先验已学会绕柱);主要收益是降低穿透/余量不足比例
+DiffusionSeeder +0.5 pt;MPD 训练环境 I 11.5%→1.2% [原文]
+我方先验的碰撞率需实测
+
+
+引导延迟代价
+论文中 3.5–50× 开销,几乎全在代价梯度
+MPD/GPD/CAMPD [原文]
+我方解析胶囊距离很便宜,开销会小得多
+[推断,未测]
+
+
+事后投影替代引导
+可以,前提是障碍在训练分布内
+支持:DiffusionSeeder、CAMPD;反对:MPD Dprior+Cost 37% vs
+78%(仅在新障碍下)[原文]
+投影修不了"走错侧"的模式错误,需多样本或安全层回退
+
+
+失效模式
+局部极小、离流形/jerk、模式错误
+EDMP/GPD/RTC A.2/CAMPD/DiffusionSeeder [原文]
+—
+
+
+推理时 RTC(ΠGDM 修复)
+不推荐:需 VJP(浏览器难)、仅在 n=5 验证、n=1
+无依据
+[原文] + [推断]
+若改用少步(≥3–5)可重新评估
+
+
+训练时前缀条件化
+推荐,对 1 步生成器天然适用、零推理开销
+2512.05964 [原文](d≥2 优于 RTC,d≤1 略逊)
+我方 d≈0–1,硬前缀很短;需加"软/全重叠"条件化并做消融
+[推断]
+
+
+时间集成
+不推荐
+RTC 仿真 TE 全面差、真机触发保护停机;BID 中 EMA 不稳;ACT
+仅在确定性单峰下 +3.3% [原文]
+若生成器近似确定性单峰,TE 危害会小
+
+
+BID
+可作为对照/上限,但需 N≈16 批采样 + 弱模型
++32%(+46% 配 EMA),时间约 ×2 [原文]
+浏览器批量推理的实际延迟未知
+
+
+
+5. 局限
+
+- 多篇关键数值只在图中(RTC Fig.5/6、训练时 RTC Fig.3/5、MPD-期刊
+Fig.6、BID Fig.6/7),文本未给具体数字,本文只引用了定性结论。
+- 所有运动规划论文都是 7-DOF Panda、离线规划整条轨迹(H=32–64),而非
+16
+步闭环滚动块;成功率口径多为"批内至少一条成功",与我们单样本闭环不同。
+- 没有任何来源测试浏览器推理、1 步生成器 + 代价引导、或 50 Hz 下 d≈0–1
+的 RTC。
+
+
+四、后训练(APG/RL)与遗漏范式
+后训练(fine-tune)方案与遗漏范式评估
+
+范围:(A) 后训练方法(ELMP-APG、DPPO、ReinFlow、DRP/IMPACT、Neural MP
+TTO),以及 APG 与 RL 的对比;(B) 可能遗漏的范式(C-space
+距离场、TD-MPC2、Diffusion Forcing、(VQ-)BeT、IBC、Mamba、Geometric
+Fabrics/RMPflow、cuRobo 式 GPU 轨迹优化做自监督精修)。
+我们的设定:6-DOF
+机械臂;环境固定且完全已知(一根立柱,胶囊体碰撞,有解析距离);低维状态;50
+Hz 闭环;16 步 action chunk;3–5M 参数;浏览器推理;运行时不允许
+teacher/planner(teacher 只能离线用于预训练数据);单张 RTX
+3090 训练;近立柱困难用例必须 30/30;必须保留左/右绕行的多模态。
+标注约定:[原文] =
+已抓取全文并定位到章节;[摘要] =
+只核对了摘要/检索摘录;[未验证] =
+我的推断或背景知识,未在本次抓取的原文里核实。 原文全文(HTML 及抽取的
+txt)存放在
+/workspace/work/out/survey/src/<arxiv_id>.{html,txt}。
+
+
+0. 结论速览
+
+
+
+方法
+结论
+一句话理由
+
+
+
+
+ELMP 解析策略梯度(APG)
+采用(作为主后训练阶段)
+我们的环境固定、距离解析可得、运动学 rollout 天然可微,正是 APG
+的理想条件;不需要新增专家数据
+
+
+DPPO
+借鉴思路(若主干是扩散模型,用于"补最后几例")
+能直接优化稀疏的 0/1
+成功率,探索沿数据流形进行;但样本效率低,而且奖励不对称时会塌缩到单一模式
+
+
+ReinFlow
+借鉴/备选(主干若为 flow/shortcut,优先于
+DPPO)
+1–4 步去噪即可做 RL;墙钟时间比 DPPO 少 62.82%;推理仍是确定性的
+flow,适合浏览器
+
+
+DRP / IMPACT 迭代师生微调
+采用其思路(离线 teacher 重标注 = 离线
+DAgger)
+teacher 只在离线用,符合规则;论文里成功率
++45%;对"近立柱擦碰"这种失败最有效
+
+
+Neural MP 测试时优化(TTO)
+视规则而定:借鉴(运行时多采样 +
+解析距离挑选)
+用 K 个 chunk
+采样再用胶囊距离打分很便宜,还能保住多模态;但它算不算"运行时
+planner"需要你们拍板
+
+
+CDF(C-space 距离场)
+借鉴(作为 APG 损失或策略输入特征)
+关节空间梯度是单位范数,比"任务空间
+SDF×雅可比"条件更好;立柱固定,可以离线预计算
+
+
+RDF / Neural-JSDF
+否决(作为替代);Neural-JSDF 可作特征参考
+我们已有精确的解析胶囊距离,学出来的距离只会更不准
+
+
+TD-MPC2
+否决(可借鉴"学习的价值函数"来截断 BPTT)
+动力学已知,没必要学世界模型;运行时 MPPI(512 样本×6
+次迭代)本质上是 planner
+
+
+Diffusion Forcing
+否决(可借鉴"带代价的引导采样")
+优势在长序列和记忆,我们 16 步
+chunk、低维、无部分可观测,用不上
+
+
+VQ-BeT / BeT
+借鉴(显式离散"左/右模式 token"+连续残差)
+显式离散化模式,最直接地保证左右多模态;单次前向推理
+
+
+IBC(能量模型/隐式 BC)
+否决
+无导数优化(DFO)推理只适合 ≤5 维,我们的 chunk 是 16×6=96 维
+
+
+Mamba / SSM 策略
+否决
+优势在长历史和视觉/3D
+主干;我们是低维、短历史;浏览器端选择性扫描算子支持[未验证]
+
+
+Geometric Fabrics / RMPflow(+学习组件)
+借鉴为离线 teacher / 安全层参考
+单独用会陷入局部极小;DRP 证明"策略+fabric"作离线 teacher
+很有效
+
+
+cuRobo 式 GPU 轨迹优化做自监督精修
+采用(离线:以策略 rollout 为初值做 L-BFGS
+精修再蒸馏)
+从策略样本出发精修,会留在同一同伦类(左/右),既保住多模态又补精度;离线使用符合规则
+
+
+
+
+(A) 后训练方法
+A1.
+ELMP — Efficient Learning for Motion Planning via Analytical Policy
+Gradients(arXiv 2607.00215,ETH RSL,2026-06-30)
+来源:https://arxiv.org/abs/2607.00215
+,全文 https://arxiv.org/html/2607.00215v1
+[原文]
+是什么:两阶段训练。阶段 1 用约 60 万条 AIT*
+专家轨迹做 BC(损失 = 动作 L2 + 碰撞球心 FK 点匹配,Eq.1)。阶段 2 用
+APG 微调:把策略在可微运动学层里自回归展开 H
+步,q_{t+1}=clamp(q_t+Δq_t),然后对目标、碰撞、平滑三项损失做
+BPTT(Alg.1,§III-C)。
+
+- 目标项:位置平方误差 +
+λ_rot·‖R_pred−R_tgt‖_F²(弦距离,避免四元数损失的梯度消失),只作用在终端
+q_H(Alg.1 第 15–16 行)。
+- 碰撞项:
Σ_t Σ_k ReLU(ε_margin − Φ_env(x_k(q_t))),用机器人球体近似和解析的原语
+SDF(盒子、圆柱),并对非相邻连杆加自碰撞铰链损失(Eq.4,§III-D)。
+- 平滑项:速度和加速度的二次惩罚(Eq.5)。
+
+关键数字:
+
+- 训练稳定性的处理(§IV-B):明确承认"长时域 BPTT
+容易梯度消失或爆炸",对策只有 ① 用 BC 初始化作为稳定起点,② 梯度范数裁剪
+≤1.0。此外用 Adam,lr 1e-4 加指数衰减,16 位混合精度。展开长度
+H=69,APG 训练 50 个 epoch(batch 48,DDP),BC 训练 500 个
+epoch;硬件 6×RTX 3090;ε_margin=0.03 m。没有截断
+BPTT、没有学习的 critic、没有课程;SHAC
+只在结论里列为面向接触丰富系统的未来工作(§V)。
+- Tab.I(1800 道留出题):ELMP-BC → ELMP-APG,环境碰撞率 31.3% →
+8.9%;平滑轨迹 92.6% → 99.1%;1 cm 内位置精度 70.4% → 89.0%;15°
+内姿态精度 76.7% → 93.5%。同一套 APG 套到 MπNets 上,碰撞率也从 16.3%
+降到 10.8%。
+- 数据效率(§IV-C,Fig.4):只用 1 万条专家轨迹预训练再做 APG,得到
+72.0% 成功率、19.4% 碰撞率,已经超过用满 60 万条的纯
+BC(57.9%、31.9%),相当于专家数据少 60 倍。APG
+的增益在低数据区最大。
+- Tab.II:平均成功率 84.8%(cuRobo 86.1%,AIT* 76.7%,MπNets
+50.1%,CuRobo-MPC 16.1%);冷启动 7.8 ms。在 Cubby(窄空间)上只有
+72.7%,低于 cuRobo 的
+88.0%:在高度受限的几何里仍不如优化器。
+- 新环境迁移(§IV-F):零样本 57.3% → APG 89.8%,在同一批题上高于
+BC+专家数据的 85.0%。采样一道题 82 ms,AIT* 求一条专家轨迹 21.5 s;20
+万道题采样需 4.5 CPU 小时,同规模专家数据需 1194 CPU 小时以上。
+- 加一项笛卡尔路径长度惩罚(ELMP-APG-Cartesian)后,末端路径从 0.85 m
+缩到 0.63 m,碰撞率略升到 10.9%。说明换目标不需要新示范。
+- 真机(§IV-G):30 Hz MPC 式闭环,成功率 72.2%,碰撞率 25%(仿真是
+8.9%)。差距归因于深度相机噪声,与我们无关,因为我们的环境完全已知。
+
+对我们的适配:采用(作为主后训练阶段)
+
+- 适配度极高。我们的胶囊体解析距离就是 ELMP 的
+Φ_env(甚至更好:胶囊–胶囊距离精确、处处次可微)。环境只有一根立柱,不需要
+PointNet,展开计算极轻。3–5M 参数的低维网络,在 1 张 3090 上跑 batch
+数千条并行 BPTT 应该可行(ELMP 用 6 卡是因为 PointNet++ 处理 6272
+点)。单卡可行性是推断 [未验证]。
+- 我们需要的改动:
+
+- 展开单位是 chunk:50 Hz、16 步 chunk。如果每 8
+步重规划一次、一个回合 3–6 s,就是约 150–300 个控制步、20–40
+次策略调用。BPTT 深度按策略调用次数算,比 ELMP 的 69
+次调用更深或相当(ELMP
+每步都调用策略)。这些回合长度是我的假设,请按实际 episode
+长度核对。
+- 梯度爆炸对策(ELMP 之外的补充,[未验证]
+为背景知识):
+
+- 截断 BPTT:每 k 次策略调用 detach 一次 q。
+- 对 q_t 的梯度做逐步裁剪或衰减(γ-discount backprop)。
+- 短窗口 + 终端价值(SHAC 式,ELMP §V 提到 SHAC)。
+- 保留 BC 损失作为锚点(ELMP 原文没写联合 BC
+损失,属于我的建议)。
+- 积分步本身是
q+Δq,雅可比为 I + ∂π/∂q。只要策略对 q 的
+Lipschitz 常数不大,爆炸风险主要来自网络而非动力学;可用谱归一化或
+LayerNorm 控制。
+
+- 铰链损失的盲区:ReLU(ε−d) 在 d>ε 时梯度为 0。当
+BC 策略的轨迹"冲着柱子中心"时,SDF
+梯度只能侧推,无法跨同伦类(不会从"撞上"直接变成"绕左/绕右"),而且对称位置的梯度可能相互抵消。近立柱困难用例可能卡在局部极小,因此单靠
+APG 不一定能到 30/30(推断)。
+- 多模态风险:若主干是扩散或 flow,APG
+需要对采样链做重参数化反传(flow 用 1–4
+步最可行)。梯度会把每个样本在它自己的模式内往外推,大体能保住左/右;但会压缩方差,让输出趋向确定性。如果立柱一侧代价更低,也会改变左右比例。需要监控左/右比例,并加
+BC 或 KL 锚定(推断)。
+- 我们的成功判据(30/30)是二值的,APG
+优化的是稠密代理损失。代理与判据之间要对齐:ε_margin
+设成略大于验收裕度,并对困难用例采样加权。
+
+
+A2.
+DPPO — Diffusion Policy Policy Optimization(arXiv 2409.00588)
+来源:https://arxiv.org/html/2409.00588
+[原文]
+是什么:把去噪过程视为一个 MDP,嵌进环境
+MDP,组成双层的 "Diffusion Policy
+MDP"。每个去噪步都是高斯似然,因此可以直接用 PPO(§4,Fig.3)。
+关键数字和技巧:
+
+- 只微调最后 K′ 个去噪步,或者改用 DDIM 微调(训练时 η=1,评估时
+η=0,最少可到 5 步)(§4.3)。state 输入时预训练 20 步、微调最后 10
+步(§5.3)。K′ 太小(如 3)会降低渐近性能(App C.2)。
+- 探索噪声:σ_k 下限 σ_min^exp 取 0.01–0.1,似然评估时
+σ_min^prob=0.1(§4.3)。PPO 的 clip 比例按"被裁剪样本占
+10–20%"来调,早期去噪步的 ε 用 0.1×(App)。
+- MLP 头比 UNet 更容易稳定微调;MLP 下 T_a<T_p 会不稳定(§4.3
+脚注)。T_a=16 时 DPPO 仍能稳定提升,Gaussian/GMM
+则可能完全学不动(§6,Fig.11 右)。这一点和我们的 16 步 chunk
+直接相关。
+- Robomimic(state 输入):Lift/Can 收敛到约 100%,Transport 超过
+90%(§5.3)。Furniture-Bench 真机零样本 80%(16/20),Gaussian 策略仿真
+88%、真机 0%(§5.4)。
+- 墙钟时间:DPPO-MLP 比 Gaussian 慢 21–24%(App D);从零训练约是
+Gaussian 的 6 倍(App C.3)。样本效率低于 off-policy
+方法,是作者承认的主要局限(§7)。
+- 多模态相关:在 D3IL Avoid
+实验(§6,Fig.10)里,作者特意只奖励"最上方模式",DPPO
+就会收敛到这个模式。也就是说,RL 会按奖励重塑模式分布。另外
+App(Kitchen)指出:预训练没学到的模式,DPPO 也补不回来。
+- 结构化、在流形上的探索:去噪的多轮噪声让探索留在专家数据流形附近,适合"预训练已覆盖成功模式"的情形(§6
+Benefit 1)。
+
+对我们的适配:借鉴思路
+
+- 优点:直接优化 0/1 成功(例如"30/30、零碰撞"这种不可微判据);对长
+chunk 稳定。我们的仿真只是运动学积分加解析距离,在 3090
+上并行几千到几万个环境的成本极低,因此 RL
+的"样本贵"在我们这里大幅缓解(推断)。
+- 缺点:
+
+- 如果左/右奖励不完全对称,或某侧略易成功,PPO
+会把概率质量移到一侧,违背"保留左右多模态"。需要按模式平衡奖励或采样(例如按初始
+BC 样本的绕行侧分组计算优势),或者显式加模式条件(见 B6)。
+- 需要扩散主干,浏览器推理要跑 K 步去噪;部署时可以用 DDIM 少步。
+
+- 建议定位:APG 之后若仍剩少量困难失败,用 DPPO/ReinFlow
+以稀疏成功奖励"补尾巴",并加模式平衡。
+
+A3.
+ReinFlow — Fine-tuning Flow Matching Policy with Online RL(arXiv
+2505.22094)
+来源:https://arxiv.org/html/2505.22094
+[原文]
+是什么:在 flow
+的确定性路径上加一个可学习的噪声网络(noise injection net),把 flow
+变成离散时间马尔可夫过程,得到精确、闭式的高斯似然,然后用 PPO
+式裁剪目标联合训练速度网络和噪声网络(§4.1–4.3,Alg.1)。微调后丢掉噪声网络,部署的仍是确定性
+flow(§4.3)。
+关键数字:
+
+- 摘要和 §1:Rectified Flow 在运动任务上回报平均净增
+135.36%,墙钟时间比 DPPO 省 82.63%。Shortcut
+模型在操作任务上成功率平均净增 40.34%,可以只用 4 步甚至 1
+步去噪;总体墙钟时间比 DPPO 少 62.82%。
+- Robomimic 视觉任务成功率平均提升 45.77%,Can/Square 只用 1
+步,Transport 用 4 步(§5.2)。
+- 去噪步数从 DPPO 的 10 步降到 4 步(App B)。成功率收敛到 100%
+时,噪声水平会自然衰减(§4.3)。
+- 正则(§4.4,§6):默认在 state 任务上用熵正则;W2
+正则约束会限制提升。噪声幅度是最关键的超参:过小探索不足,适中时回报可达
+3 倍。
+- 局限(§7):on-policy,样本效率不高;对噪声幅度敏感。
+
+对我们的适配:借鉴/备选(若走 RL 路线,优先于
+DPPO)
+
+- 与浏览器部署最兼容:1–4 步 flow,推理成本约等于 1–4 次 MLP
+前向。
+- 同样有 RL 的模式塌缩风险(见
+A2),需要模式平衡。熵正则对保持左右两支可能有帮助,但论文没有测多模态保持
+[未验证]。
+- 主干若是 flow/shortcut,也可以先 APG(通过 1–4 步 flow 反传)再
+ReinFlow。二者共用同一个网络。
+
+A4.
+Deep Reactive Policy(DRP)/ IMPACT(arXiv 2509.06953;作业说是 CoRL
+2025,arXiv 页面只写了网站链接,会议归属未验证)
+来源:https://arxiv.org/html/2509.06953
+[原文]
+是什么:IMPACT 是一个以点云为条件、带 action chunk
+的 Transformer 策略,预训练数据是 cuRobo 生成的 1000
+万条轨迹(§3.1)。随后做迭代师生微调(§3.2):teacher =
+冻结的 IMPACT 输出 chunk 的第一个动作作为中间目标,交给 Geometric
+Fabrics(用特权 SDF 的局部避障控制器)精修,得到 q_e,再用 q_e 监督
+student。在 IsaacGym 里并行,每 1 万个梯度步用 student 替换 teacher 里的
+base,循环往复。作者特意不用 cuRobo 当微调
+teacher,因为每个仿真步、每个并行环境都调用规划器代价太高(§3.2)。运行时还叠加
+DCP-RMP,处理动态障碍(§3.3)。
+关键数字:
+
+- 迭代师生微调让成功率比预训练提升 45%(§3.2,Tab.6)。Tab.1:Static
+Environment 上 IMPACT 无微调 58.25 → 微调后
+84.60;cuRobo(有特权信息)82.97。
+- 网络:4.67M 参数,冷启动 3.48 ms,300 Hz(RTX 4090)。NeuralMP 加
+TTO 是 20M 参数、2970 ms(App E,Tab.5)。
+- 架构:6 层解码器、8 头、隐藏维 128、FF 1024,action chunk
+10(Tab.7)。
+- 消融:同数据同微调下,IMPACT 比 NeuralMP 的 LSTM-GMM 再高 9%(App
+D,Tab.4)。
+
+对我们的适配:采用其思路(离线 teacher 重标注 = 离线
+DAgger)
+
+- 规模几乎一模一样:4.67M 参数,与我们的 3–5M 吻合;chunk 10 与我们的
+16 接近。
+- "teacher 只在离线用"完全符合我们的规则:在 policy
+自己访问到的状态上(特别是近立柱、即将擦碰的状态),离线调用
+teacher(我们现有的 planner,或
+fabric/局部优化器)重标注,再蒸馏。这正面解决 BC 的协变量偏移。DRP
+的失败分析也是"预训练策略经常小擦碰"(§3.2),和我们近立柱用例的症状一致。
+- 多模态:如果 teacher 只做局部精修(fabric 或局部优化),就会保持
+student
+当前所在的绕行侧。不要用全局规划器重新规划去当标签:全局规划器可能把左侧状态标成右侧路线,破坏模式一致性(推断)。
+
+A5. Neural MP
+测试时优化(arXiv 2409.05864)
+来源:https://arxiv.org/html/2409.05864
+[原文]
+是什么:PointNet++ 加 LSTM 加 GMM 输出头,用 100
+万到 300 万条
+AIT*(经样条平滑)轨迹蒸馏。测试时假设障碍静止、控制器能精确跟踪,用线性前向模型从策略采样
+N 条完整轨迹,用机器人 SDF
+统计与场景点云的穿透,选穿透最少的那条执行(§III-C,Eq.,"selecting the
+path with minimal objective value across 100 trajectories")。
+关键数字:
+
+- 真机无物体任务(Tab.I,§V):基础策略 66.67%(AIT*-80s 是
+72.92%),加 TTO 达到 95.83%;规划时间从 1 s 增到 3 s。
+- 手持物体:完整方法 81%,去掉 TTO 31%,去掉 Objaverse 数据
+44%(§V)。
+- App VIII-C:Bins 场景的 100 条采样轨迹里有 25% 完全无碰撞,TTO
+从中挑选;基础策略的失败多是"回归不精导致的轻微擦碰"。
+- 数据缩放:1K 条 15%,10K 条 50%,100K 条 65%,1M 条 80%(§V
+仿真)。
+- 编码器大小 4M/8M/16M 参数对应 94%/93%/92%,最小的反而最好(App
+IX)。GMM 比 L2/L1/PointMatch 分别高 7%/12%/24%。
+- DRP 的 Tab.5 给出 NeuralMP 加 TTO 的冷启动为 2970 ms。
+
+对我们的适配:借鉴(视规则而定)
+
+- 我们可以做轻量版:每次重规划时从生成式策略采样 K(例如 8–32)个 16
+步
+chunk,用解析胶囊距离打分(最小间隙、终端误差),选最优。浏览器端代价约为
+K 次前向加 K×16×(连杆胶囊数) 次距离计算,50 Hz 下可承受(推断)。
+- 这样还能保住多模态:采样覆盖左右两支,打分只剔除碰撞样本。
+- 需要你们判断:用解析距离做运行时评分是否算"运行时
+planner"。它不调用 teacher,只是碰撞检查加 argmin;比 Neural MP 的整轨迹
+TTO 轻得多。若规则不允许,就只在训练评估时使用,或者用它来生成 APG/RL
+的困难用例。
+- 局限:选择只发生在已采样的集合内。若 K 个样本全部撞柱,TTO
+救不了;它是补丁而不是根治。
+
+A6. APG 与 RL
+在我们设定下的对比
+
+
+
+维度
+APG(ELMP 式)
+RL(DPPO / ReinFlow)
+
+
+
+
+样本效率
+很高:每条 rollout 都给出全参数的精确梯度。ELMP 用 1 万条示范加 APG
+就超过 60 万条纯 BC(§IV-C)[原文]
+低:on-policy PPO,DPPO §7 自认低于 off-policy;ReinFlow §7 同样自认
+[原文]
+
+
+墙钟时间(单张 3090,我们的运动学仿真)
+每步计算是"前向+反传 BPTT",显存随 H×batch 线性增长;预计数小时级
+[未验证估计]
+仿真极便宜,可大规模并行;ReinFlow 比 DPPO 省 62.82% 墙钟时间
+[原文];整体预计与 APG 同量级或更慢
+[未验证估计]
+
+
+稳定性
+依赖 BC 初始化和梯度裁剪(ELMP
+§IV-B);长展开有爆炸/消失和混沌损失面的风险(ELMP 引用 Metz 2021)
+DPPO 和 ReinFlow 都报告微调稳定;对 clip
+比例、噪声下限、噪声幅度敏感 [原文]
+
+
+能处理的目标
+只能处理可微的稠密代价:间隙铰链、终端位姿、平滑、路径长度
+任意奖励,包括稀疏 0/1
+成功和"零碰撞"这类不可微判据
+
+
+跨同伦类
+不能(局部梯度只侧推)[推断]
+可以,但前提是探索覆盖到另一模式(DPPO
+的探索停在数据流形附近)[原文 §6]
+
+
+多模态保持
+每个样本在自己的模式内被推;风险是方差压缩、比例漂移
+[推断]
+风险较大:会按奖励重塑模式(D3IL
+实验)[原文];需要模式平衡
+
+
+主干要求
+确定性策略最简单;扩散/flow 需对采样链做重参数化反传
+需要随机策略:扩散用 DPPO,flow 用 ReinFlow
+
+
+
+BPTT 时域问题小结:ELMP 只用了"BC 初始化 +
+梯度范数裁剪 ≤1 + 混合精度 + lr 1e-4 指数衰减",展开 H=69
+步就稳定了(§IV-B)[原文]。我们若按 chunk
+展开、总控制步 150–300,可以加这些手段
+[未验证,建议]:
+
+- 截断 BPTT(例如每 2–4 个 chunk detach 一次);
+- 碰撞项按时间步加权,困难区间权重更高;
+- SHAC 式短窗口加学习的终端价值(ELMP §V 提及);
+- 联合保留 BC 损失(权重逐步退火);
+- 先短后长的课程(展开长度逐步增加)。
+
+推荐流水线(推断):BC 预训练(含左右两模式)→ 离线
+teacher 重标注 / DAgger(A4)以及 cuRobo 式离线精修蒸馏(B10)→ APG
+微调稠密代价(A1)→ 若困难用例仍未到 30/30,用 ReinFlow/DPPO
+加模式平衡的稀疏成功奖励补尾巴(A2/A3)→(规则允许时)运行时 K
+采样加解析距离挑选(A5)作为最后的安全网。
+
+(B) 可能遗漏的范式
+B1.
+CDF — Configuration Space Distance Fields for Manipulation Planning(RSS
+2024,arXiv 2406.01137)
+来源:https://arxiv.org/html/2406.01137v1
+[原文]
+是什么:在关节空间定义距离场 f_c(p,q) = 从 q
+到"使机器人表面接触点 p 的关节构型集合"的最小弧度距离。它满足关节空间的
+eikonal 方程 ‖∇_q f_c‖=1(§III),因此一步梯度投影就能求出全身 IK。神经
+CDF 用 MLP 拟合,损失 = 距离 + 梯度余弦 + eikonal + tension(§IV)。
+关键数字:
+
+- Tab.I(Franka,RTX 3090):投影迭代 1/2 次时,MAE 4.99/1.64
+cm,成功率 60.3%/87.8%;推理 0.49 ms,投影 0.71 ms 级。
+- Tab.II:CDF 在 10.6 ms 内得到 8773 个全身 IK 解;SDF 方法 971 ms
+只有 3652 个;吞吐超过 70 万解/秒,快约 180 倍(§V)。
+- Tab.IV(7D 运动规划):QP-IPOPT 成功率 CDF 93% vs SDF 51%;Geometric
+Fabrics 88% vs 74%;QP 控制器能跑 200 Hz 以上(§VI)。
+- 局限(§VII):无符号;零水平集样本有限时近处不准。
+
+对我们的适配:借鉴
+
+- 立柱固定,可以离线为这根柱子求出 6-DOF
+CDF(或训练一个小 MLP),用作: ① APG
+的碰撞损失。关节空间梯度单位范数、方向一致,比"任务空间距离 × FK
+雅可比"条件更好,可能缓解铰链损失的梯度消失和对称抵消(推断)。 ②
+策略的额外输入特征(f_c 和 ∇_q f_c,共 7
+维),直接告诉网络"往哪个关节方向离柱子最近"。
+- 我们的解析胶囊距离已经精确,所以 CDF
+用作辅助,不用作替代。
+
+B2.
+RDF — Representing Robot Geometry as Distance Fields(ICRA 2024,arXiv
+2307.00533)[摘要]
+来源:https://export.arxiv.org/api/query?id_list=2307.00533
+用 Bernstein 多项式编码每个连杆的
+SDF,再经运动学链组合成关节空间可查询的机器人
+SDF,任务空间和关节空间都光滑可微。
+否决:我们是胶囊几何加解析距离,已精确、可微,RDF
+只是更精细的机器人网格表示,不带来新能力。
+B3.
+Neural-JSDF(Koptev, Figueroa, Billard,RA-L 2023,DOI
+10.1109/LRA.2022.3227860)[摘要/检索摘录]
+来源:https://doi.org/10.1109/lra.2022.3227860
+,代码 https://github.com/epfl-lasa/Neural-JSDF
+用神经网络学习关节空间隐式
+SDF(机器人到点的距离),梯度给出关节空间排斥场。用于 QP-IK 时平均 250
+Hz,用于采样式 MPC 时 92 Hz;分别比基线距离计算快 15% 和 40%(摘要)。
+否决(作为替代):同上,我们有解析距离;而且它依赖运行时
+QP/MPC 控制器。
+B4. TD-MPC2(ICLR
+2024,arXiv 2310.16828)
+来源:https://arxiv.org/html/2310.16828
+[原文]
+是什么:在隐式(无解码器)世界模型的潜空间里,用 MPPI
+做局部轨迹优化,配 TD 学习的 Q 值和最大熵策略先验。
+关键数字:
+
+- 104 个任务、单一超参(§1);多任务模型 1M–317M 参数,在单张 3090
+上以 GPU·天计(Tab.1)。
+- 基础 5M 模型中,Q 网络约 3.16M 参数(App)。
+- 规划超参:H=3,6 次迭代,种群 512,策略先验样本 24,精英 64(App
+超参表)。 否决:
+- 我们的动力学(运动学积分)完全已知,学世界模型是多余的。
+- 运行时 MPPI(512×6×H)在浏览器里跑 50 Hz 很重,而且本质上就是运行时
+planner,违反规则。
+- 可借鉴的一点:学一个 V(q, goal) 作为 APG 截断 BPTT
+的终端价值(SHAC 式)[未验证]。
+
+B5. Diffusion
+Forcing(arXiv 2407.01392)
+来源:https://arxiv.org/html/2407.01392
+[原文] 是什么:对每个 token
+使用独立的噪声水平做扩散训练,用因果模型实现"next-token +
+全序列扩散"的混合。支持变长 rollout、长时域引导,以及 Monte Carlo
+Guidance(MCG,对多条未来样本平均引导梯度)(§3)。
+证据:D4RL 2D 迷宫的 6 个环境全部超过
+Diffuser(§4.2,Tab.1);真机实验是需要记忆的水果换位任务(§4.4)。
+否决:它的长处(长序列稳定、记忆、部分可观测)我们用不上:16
+步 chunk、低维、完全可观测。引导采样需要运行时代价梯度,性质上接近 A5
+的运行时评分,规则同样存疑。
+B6. BeT /
+VQ-BeT(arXiv 2206.11251 / 2403.03181)
+来源:https://export.arxiv.org/api/query?id_list=2206.11251
+[摘要] ;https://arxiv.org/html/2403.03181
+[原文] 是什么:BeT 用 k-means
+把动作离散化,Transformer 预测类别加连续偏移。VQ-BeT 用残差 VQ-VAE
+对动作 chunk
+分层离散化,主码做粗聚类、次码做细节(§3.2,N_q=2 已足够),再用 GPT
+式模型预测码和偏移。 证据:无条件生成任务中 5/7
+个环境超过 BC、BeT 和 Diffusion Policy(§1);条件任务中除 BlockPush
+外全部最优(§4);用熵指标衡量模式覆盖(§4)。
+借鉴:左/右绕行就是一个天然的二值模式。可以设计显式离散模式
+token(左/右,或 VQ 主码)加连续残差头。好处有三:
+
+- 多模态由结构保证,而不是靠采样运气;
+- RL 微调时可以在模式条件下分别优化,避免塌缩;
+- APG 可以只穿过连续残差头反传(VQ 码不可微,需要
+straight-through,[未验证])。 推理是单次前向,适合浏览器。
+
+B7. IBC —
+Implicit Behavioral Cloning(arXiv 2109.00137)
+来源:https://arxiv.org/html/2109.00137
+[原文] 用 InfoNCE
+训练能量模型,推理时用无导数优化、Langevin 或自回归方法求 argmin
+动作。能表示不连续、多值的函数(§2–3)。 否决:原文 App
+B.1 写明 DFO 推理"适合 y 不超过 5 维",高维需要自回归或梯度法。我们的
+chunk 是 16×6=96 维,推理需要迭代优化,浏览器 50 Hz
+不现实;训练需要大量负样本(批 512、每个 256 个反例),也不稳定。
+B8.
+Mamba / SSM 策略(MaIL arXiv 2406.08234;Mamba Policy arXiv
+2409.07163,IROS 2025)
+来源:https://arxiv.org/html/2409.07163
+[原文],https://export.arxiv.org/api/query?id_list=2406.08234
+[摘要]
+
+- Mamba Policy:在 DP3 的 3D 扩散策略里替换 UNet 主干,参数量减少 80%
+以上,FLOPs 最多省 90%,成功率最多高 5%(§1,Fig.1)。
+- MaIL:在 LIBERO 小数据设置下优于 Transformer(摘要)。
+否决:收益来自"压缩大视觉/3D
+主干"和"长历史建模",我们的低维、短历史设定里 MLP/小 Transformer
+已足够。浏览器端(ONNX/WebGPU)对选择性扫描算子的支持未验证,存在部署风险。
+
+B9. Geometric Fabrics /
+RMPflow + 学习组件
+来源:RMPflow https://export.arxiv.org/api/query?id_list=1811.07049
+[摘要];Geometric Fabrics https://export.arxiv.org/api/query?id_list=2109.10443
+[摘要];Fabric-Guided Policy https://arxiv.org/html/2405.02250v1
+[原文,部分];Neural Geometric Fabrics https://proceedings.mlr.press/v205/xie23a.html
+[摘要];DRP(A4)[原文]
+
+- Geometric Fabrics
+是可证明稳定的二阶"行为动力学",由多个几何项(避障、关节限位等)组合而成。
+- NGF(CoRL 2022)从示范中学习 fabric 的项,在 23-DoF 手臂系统上超过
+RMP 和前馈/循环网络 40–100%。
+- 2405.02250 让 RL 策略输出到 fabric 层,说明 fabric
+能保证平滑和安全,并"移除动作和速度惩罚",从而简化奖励(§V)。
+- 单独用局部反应式方法会陷入局部极小:DRP §1 和 ELMP §I
+都这样指出;CDF Tab.IV 中 fabric 在 7D 上为 88%/74%。DRP
+把"策略+fabric"作为离线 teacher,带来 +45%(A4)。
+
+借鉴:
+
+- 首选:作为 A4 的离线局部 teacher(输入策略的中间目标,fabric
+用解析胶囊距离精修,再蒸馏)。
+- 若规则允许"反应式安全层"(它不是
+planner,只是控制律),可以在运行时加一个极薄的 fabric/RMP
+避障项作安全网。是否允许由你们决定。
+
+B10.
+cuRobo 式 GPU 轨迹优化作为自监督精修器(arXiv
+2310.17274)
+来源:https://arxiv.org/html/2310.17274
+[原文] 是什么:GPU 批量 L-BFGS
+加近似并行线搜索,再加粒子优化初始化(§4),配合几何规划器做种子。
+关键数字:
+
+- 全局运动生成平均 50 ms 内完成,比 Tesseract 快 60
+倍(§1);几何规划器 20 ms(RTX 4090 + Ryzen 9 7950X)。
+- 在 2600 道 MotionBenchMaker/MπNets 题上成功率 99.8%,只失败 5
+道(§7,Fig.6)。
+
+采用(离线):把策略自己的
+rollout(覆盖左右两支)作为初值,用批量 L-BFGS
+在解析胶囊代价(间隙铰链、终端、平滑/最小
+jerk)上做局部精修,得到同一同伦类内无碰撞、更平滑的轨迹,再回灌做
+BC/蒸馏("self-improvement")。好处:
+
+- 不需要全局规划器,离线使用符合规则;
+- 初值来自策略,保持绕行侧,天然保住左右多模态(推断);
+- 和 APG 互补:APG
+是"在参数空间做梯度",精修是"在轨迹空间做梯度再蒸馏"。后者每条轨迹可以迭代很多步而没有
+BPTT 爆炸问题,对近立柱困难用例更稳(推断)。
+
+我们的问题只有 6 维、一根柱子,不需要 cuRobo 本体,用 PyTorch
+自己写一个批量 L-BFGS 或 Adam 轨迹优化即可 [未验证工作量估计]。
+
+未能确认 / 需注意
+
+- DRP 的会议归属(CoRL 2025)未在 arXiv 元数据里确认。
+- ELMP 是否在 APG 阶段联合保留 BC 损失:原文 Alg.1 没有,所以"保留 BC
+锚点"属于我们的建议。
+- 所有"单卡 3090 可行""墙钟数小时""浏览器 K
+采样可承受"都是基于模型规模的推断,没有实测。
+- Neural-JSDF 只核对了摘要;RDF、BeT、RMPflow、Geometric
+Fabrics、NGF、MaIL 只核对了摘要。
+- "运行时用解析距离做采样评分或反应式安全层"是否违反"运行时不得有
+teacher/planner",需要项目方裁定。A5、B5、B9 的结论都依赖这个裁定。
+
+
+
diff --git a/docs/方案逐项核查报告.md b/docs/方案逐项核查报告.md
new file mode 100644
index 0000000..0a2db68
--- /dev/null
+++ b/docs/方案逐项核查报告.md
@@ -0,0 +1,953 @@
+# 方案逐项核查报告(v2.3 证据附录)
+
+> 2026-10-17。四路全文精读 + 沙箱实验。各节原样收录,正文结论见《Transformer轨迹拟合训练方案》§0A。
+
+
+---
+
+# 一、§4–§9 逐项核查与内部不一致
+
+## 《Transformer 避障运动策略:无老师闭环部署方案 v2.2》§4–§9 可行性逐项核验
+
+> 撰写:2026-10-17。审查对象:`/workspace/work/Robot_Arm/docs/Transformer轨迹拟合训练方案.md`(v2.2,基于 `main@3c7c814`)。
+> **范围**:§4–§9 中除"动作头选型(一步流/MeanFlow/WTA)、代价引导、RTC/前缀条件、APG/ReinFlow/DPPO 本身"之外的全部方案(那几项由其他报告负责:`guidance_rtc.md`、`finetune_alternatives.md`、`onestep.md`)。涉及它们的地方只核对**接口与数字是否自洽**。
+> **判定口径**:有充分证据 = 有论文/系统在相近设定下做过且给出数字;有部分证据 = 做过但设定差异大,或只证明了一部分;仅推断 = 无直接文献,靠推理;有反证 = 文献或本仓库数据直接与方案说法冲突。
+> **标注**:【原文】= 已抓取全文并定位章节/表号;【仓库】= 本仓库代码/文档/本次实测;【推断】= 我的推理;【未抓取】= 背景知识,未在本次全文中核实。
+> 全文与抽取文本存放:`/workspace/work/out/survey/src_v/`(本报告新抓取)与 `/workspace/work/out/survey/src/`(其他报告已抓取的 DRP/ELMP 等)。杠杆臂实测脚本:`/workspace/work/out/survey/src_v/lever.cjs`。
+
+---
+
+### 0. 结论速览
+
+**整体判断**:§4–§9 的大框架(老师离线造数据 → 切成"状态→动作块"做行为克隆 → 无老师后训练 → 闭环滚动执行 + 安全层)有充分的同类先例(MπNets、DRP/IMPACT、ELMP)。但有 **4 个硬伤**必须在写代码前改掉,否则验收标准无法成立:
+
+1. **安全层的"保证"不成立(有反证)**:§8.3 用 1°(+半格)离散采样 + 0.3 mm 余量做检查。本次实测本机械臂各关节杠杆:TCP 每度最大位移 J1 9.0 mm、J2 6.9 mm、J3/J4 4.2 mm、J5 2.3 mm,六轴同时动 1°(L∞)时最多 24.3 mm。即便 0.5° 间距,两采样点之间某点可偏离最近采样位形约 6 mm,远大于 0.3 mm 余量。仓库自己的报告也记录了"贴立柱时薄薄一层干涉整个夹在采样点之间"以及 0.28 mm 的残余侵入。"碰撞帧 = 0"目前只是"在离散检查口径下 = 0"。
+2. **时间参数化会产生非马尔可夫标签(有反证)**:§4.5 沿用 `animTo`:整条折线一次全局 smoothstep,总时长按路径长度缩放,并夹在 [372 ms, 2170 ms]。于是同一 (q, 目标) 状态下,标签速度取决于"整条路径有多长、走到了第几成",而这两样输入里都没有。起步段 Δq≈0,闭环每 20 ms 只执行第 1 步,可能**永远起不了步**。Diffusion Policy 报告过单步策略在"停顿动作"上过拟合、卡住的现象;MπNets 专门把老师路径重定时为匀速。
+3. **§8.1 的插补器交叉淡入/时间集成与安全层矛盾(有反证)**:实际执行的是两块的混合,不是安全层检查过的那 3 步。左绕块与右绕块平均后可能正好穿过立柱。BID 与 π0 都报告时间集成在多模态下会掉性能(π0 早期试过后放弃)。
+4. **训练/部署口径不一致**:APG 每次迭代执行 3 步(60 ms)再推理,部署是每 20 ms 推理、只走 1 步;"H=60 周期≈1.2 s"按 3 步/周期算其实是 3.6 s;§8.5 又写 150 周期≈3 s。此外,K=4(§5/§6.1/§8.1/§8.3/§8.5)与流匹配头的 K=8 候选(§6.1A)在多处混用。
+
+**30/30 的统计含义**:30 次全对,失败率 95% 单侧置信上界约 9.5%(实算 1−0.05^(1/30)=0.095)。而且这 30 例在 §7.2 每轮门禁里都被用来挑模型,存在选择偏差。30/30 不能证明"无老师也可靠"。
+
+---
+
+### 1. 总表
+
+| # | § | 方案(一句话) | 最佳证据(详见 §2) | 判定 | 主要残余风险 | 门禁测试(本仓库) / 不过时的回退 |
+|---|---|---|---|---|---|---|
+| 1 | §4.1–4.3 | 用 `solveDyn` 离线造 5 万条任务(A45/B30/C15/D10,pos/pose 各半) | MπNets 3.27M 问题、DRP 10M 条、ELMP 60 万/1 万条【原文】;ELMP:1 万条+APG 胜 60 万条纯 BC | 有部分证据 | 老师是采样式(Lazy RRT-Connect+随机捷径),**一致性差**。MπNets 用全局规划器做老师时碰撞率 13.78%,换一致的混合老师降到 0.94% | 门禁:同一任务换 5 个种子跑老师,同类任务左右绕选择一致率 ≥ 90%、行程 CV < 10%。不过就改用确定性种子 + 固定绕行偏好(如"先选行程最短的同伦类"),或用 PRM 路网 A* 作老师(确定、最短) |
+| 2 | §4.3 D 类 | 目标不可达时,标签 = 停在离目标最近的安全位形(停靠) | DRP 加了"目标被挡→停在最近安全处"的数据(原文 §1 表述,具体数据量未核) | 有部分证据 | "最近安全位形"不唯一、不连续:目标移动 1 mm,停靠点可能跳到立柱另一侧 → 拖拽中抖动 | 门禁:rt_drag_bench 中目标扫过立柱时,停靠点 TCP 连续性(相邻 20 ms 跳变 < 5 mm)。不过就给停靠标签加连续性正则(选与上一停靠点最近的候选) |
+| 3 | §4.4 | 路径 1° 细验+半格复验过滤;行程>1.5×routeRT 先统计 | MπNets 拒收撞、超限、高 jerk、末端偏 >5 cm 的轨迹【原文 §4.2】 | 有部分证据 | 同一离散检查口径(见 #19);过滤阈值未定 | 门禁:被丢弃率按类别统计(C 类丢弃率 > 20% 说明老师在贴柱场景不可靠)。回退:贴柱类改用 0.25° 细验 + 距离下界认证 |
+| 4 | §4.5 ① | 按 `animTo`(VREL 轴速比 + 全局 smoothstep + 总时长夹取)把路径时间参数化成 20 ms 步 | MπNets:"fit a spline and retime it to have steady velocity"【原文 App/§4.2】;DP:"单步策略容易过拟合停顿动作,BC-RNN、IBC 在真机上会卡住"【原文 §3】 | **有反证** | ① 标签速度取决于整条路径长度与进度,输入里看不到 → 非马尔可夫;② 起步/收尾 Δq≈0 → 闭环"起不了步";③ 每步最多约 4.4°(J1)~13°(J6),远大于安全层预算假设 | 门禁:标签一致性测试——在 (q, 目标) 近邻(关节 <0.5°、目标 <2 mm)内比较 16 步标签的方差,要求 < 每轴步长的 10%。同时跑 1000 个 held-out 闭环,"10 个周期内 TCP 位移 < 1 mm"的起步失败率 = 0。不过就改为**局部可观测**的时间律:匀速巡航 + 只按"剩余路程"决定的梯形减速;或把当前速度 q_t−q_{t−1} 作为输入 |
+| 5 | §4.5 ② | 每 3 步取 1 个样本,标签 = 未来 16 步 Δq(相对 q_t,到终点补零) | DRP:10 步关节增量、MSE、转绝对目标【原文 §3.1】;DP:位置式动作块明显优于速度式【原文 §4.2】 | 有充分证据(表示本身) | 补零 = 大量"停住"标签,到达附近可能早停;样本数估计偏高(见不一致 I2) | 门禁:`stats.json` 统计每条路径的实际样本数,以及补零样本占比(> 30% 需降权) |
+| 6 | §4.5 ④ | "路径后缀天然覆盖从半路出发,等于免费的 DAgger 种子" | DAgger(Ross 2011)的核心正是:BC 只在老师状态上训练,误差随时域二次累积;必须在**学生自己访问的**状态上取标签【未抓取,背景】;MπNets:"单步训练、递归推理,累积噪声等价协变量偏移",用关节角高斯噪声增广【原文 §3.4】;DART:在老师演示中注噪,比 BC 平均提升 62%【原文摘要】 | **有反证**(说法错误) | 后缀仍是老师轨迹上的状态,不是偏离状态;不能替代 DAgger | 门禁:闭环 vs 开环误差对比——held-out 上"闭环到达率 − 单步回放准确率"的差距。回退/缓解:① 输入加关节噪声(σ≈0.5–1°)+ 由老师离线重标(允许,老师只在离线);② 依赖 §7 的 APG/挖错补偏移 |
+| 7 | §5.1 | 关节 sin/cos(12) + 限位轴归一化(3) + TCP 位置与 6D 姿态 + 目标 + 差值 + 模式 + k_prev + 8 个胶囊距离 | 6D 旋转:连续表示,不连续表示的平均误差最高达 6–14 倍【原文 Zhou 2019 §1】;MπNets 关节归一化到 [−1,1]【原文 §3.1】;ELMP 目标 12 维(位置+展平旋转矩阵)【原文 §IV】 | 有部分证据 | ① k_prev one-hot 对流匹配头无意义;② 缺子目标、前缀、速度输入(见 I7);③ 最小距离特征在对子切换处梯度不连续;④ 以位姿为目标时多 IK 分支带来**额外多峰**(不只左/右绕) | 门禁:消融——去掉胶囊距离特征,near_column 闭环到达率差异 ≥ 3 个百分点才保留。IK 多峰门禁:同一目标位姿下不同肘/腕分支的 held-out 子集到达率 ≥ 主集 −2 个百分点;不过就加"目标分支标志"或改为以老师终点关节角为条件(DRP 做法,需离线 IK) |
+| 8 | §5.2/5.3 | 输出 16×6 Δq(按每轴最大步长归一化);连续轴 `unwrapTo` 统一 | DRP 同类表示【原文】;连续轴展开为本仓库已有实现 | 有充分证据 | 每轴最大步长取决于 #4 的时间律,时间律一改,归一化要跟着改 | 门禁:§6.4 对拍,预处理与部署 unwrap 结果逐位一致(10 万样本 0 差异) |
+| 9 | §6.1 | IMPACT 式编码器-解码器,去掉点云;d=192,4+4 层,约 3–4M 参数 | IMPACT:6+6 层、隐层 128、FFN 1024、8 头、10 个动作 token、4.67M 参数、300 Hz(4090)【原文 App G 表 7】 | 有充分证据(结构)/ 仅推断(去点云后够不够) | 实算参数 ≈ 4.13M(编码 1.77M + 解码 2.36M),略超"3–4M";浏览器延迟未证(见 #24) | 门禁:M4 小数据过拟合(1000 样本训练损失 → 0)+ M5 后 held-out 闭环到达率 ≥ 95%(APG 前) |
+| 10 | §6.2 | WTA-L1 + CE + FK 胶囊端点损失(0.5) + 二阶平滑(0.05) + 剩余时间 L1(0.1) | ELMP 的 BC 损失 = 动作项 + λ_fk·Σ‖FK_i(q_pred)−FK_i(q_gt)‖(碰撞球中心)【原文 §III-B 式(2)】;DRP 用 MSE【原文】 | 有部分证据 | 只写了 WTA 头的损失;默认的流匹配头没有损失定义(FK 损失加在哪个输出上?),见 I8;权重未调 | 门禁:FK 损失消融,C 类闭环碰撞率(关安全层)下降 ≥ 20% 才保留 |
+| 11 | §6.3 | AdamW(0.9,0.95)、lr 1e-3、bs 1024、bf16、20 万步("30 epoch"),3090 约 1.5–3 h | DRP:AdamW 同参、bs 512、100 万步、4090 上 3 天(含点云)【原文表 7】 | 仅推断(时间) | **20 万步×1024 = 2.05 亿样本次 ≈ 68 epoch,不是 30**(I1);WTA 头每样本约 1.0 GFLOP(训练)→ 共 2.0e17 FLOP,3090 实际 10–35 TFLOPS 时需 1.6–5.6 h;流头约 0.5–1.8 h,但 MeanFlow/OFP 有额外前向/JVP 开销 | 门禁:先跑 2000 步测吞吐(样本/秒),据此重算;目标 ≥ 2 万样本/s。不过就降到 30 epoch(8.8 万步)或 bs 2048 |
+| 12 | §6.4 | 胶囊距离 PyTorch 可微版与 JS 对拍 10 万位形 0 误差;每 epoch 1000 任务闭环验证 | 仓库已有"4000/20000 位形与旧实现 0 差异"的对拍惯例【仓库】 | 有充分证据(工程可行) | "0 误差"对浮点距离不现实,应为布尔判定 0 差异 + 距离误差 < 1e-4 mm;对拍只证明一致,不证明连续安全 | 门禁即所述;附加:可微版梯度与有限差分相对误差 < 1e-3 |
+| 13 | §6.1/§8.5 | 子目标头:冷启动输出 1–2 个关节途经点,标签取老师路径拐点 | AWE:用动态规划在误差预算内选最少航点,把 DP/ACT 成功率最多提升 25%【原文 §1、§3】;SHAC/分层规划一类思路【推断】 | 有部分证据 | ① §5.1 输入没有子目标字段(I7);② "冷启动"在拖拽中无定义(I22);③ 单输出子目标头无法给出"另一侧"的备选(卡死换向需要它);④ 捷径平滑后的拐点不稳定 | 门禁:子目标头 top-2 方向覆盖率(老师同伦类在前 2 个子目标中)≥ 98%(C 类)。回退:子目标改为 K 个离散"绕行锚点"分类(左/右/上),标签用 AWE 式 DP 提取 |
+| 14 | §6.1/§8.5 | 价值头:预测剩余时间/代价;APG 展开时"有真实值可监督" | SHAC:用学到的 critic 截断可微仿真的 BPTT 时域(h=32 对 H=1000),同时缓解局部极小与梯度爆炸【原文 §1、§4】 | 有部分证据 | 截断展开内多数任务到不了目标 → 没有"真实剩余时间",必须用 TD 自举(SHAC 式),文中没写;价值头偏差会直接误导短前瞻与卡死检测 | 门禁:held-out 上价值头预测的剩余时间与实际闭环用时的 Spearman ≥ 0.8,C 类 ≥ 0.7。不过就让卡死检测只用几何进度(TCP 到目标距离、子目标距离) |
+| 15 | §8.5-3 | 短前瞻:对每个候选再推一块(32 步终态),用碰撞 + 价值打分 | Neural MP 测试时"采样多条选穿透最少"【原文,见 `finetune_alternatives.md`】;BID:每步采 N=16 个样本按前后一致性选择,相对提升 32%【原文 §5.2.1】 | 有部分证据 | 计算翻倍(见 I9 延迟预算);第二块基于预测状态,误差叠加 | 门禁:A/B(有/无前瞻)在 near_column + C 类 held-out 上,前瞻必须把卡死率降低 ≥ 50%,且 P99 周期耗时仍 < 15 ms |
+| 16 | §7.2 | 挖错循环:出题→闭环作答(关安全层)→GPU 验算→E1–E6 分类→邻域加权进 APG 池;E2 才少量请老师;门禁回滚 | Avoid Everything/MπFormer 困难负样本挖掘;DRP 迭代师生微调 +45%(每 1 万步替换一次基模型,共 5 轮,10 h)【原文 §3.2、表 7】 | 有部分证据 | ① 门禁用的 held-out 2000 与 3 个基准同时是 §9 的验收集 → 选择偏差(I14);② 挖错样本过采样 → 灾难性遗忘(门禁"95% 修好的仍对"只防一部分) | 门禁拆分:**新造**"门禁集"(2000)与"验收集"(2000 + 新造 near_column 扩展 1000 例),验收集只在最后用一次。遗忘门禁:A 类到达率每轮不降 > 0.5 个百分点 |
+| 17 | §7.3 | 拒绝采样自蒸馏:多样本闭环,只保留验算通过且最短的一条做 BC | ReST:Grow/Improve 循环,逐步提高过滤阈值【原文 §2】;RoboCat 式自我改进【未抓取】;ELMP 证据:加笛卡尔路径长度项后碰撞率由 8.9% 升到 10.9%【原文表 I】 | 有部分证据 | 选"最短" → 系统性贴着立柱走,余量变小 → 安全层刹停率上升;多样性塌缩(只剩一种绕法) | 门禁:自蒸馏后 C 类最小间隙中位数不得低于自蒸馏前的 80%;刹停率不升。选择准则改为"通过 + 间隙 ≥ 阈值的样本中最短" |
+| 18 | §8.2 | 模式粘滞:分数 = log p(k) − c·[k≠k_prev];流头改为"噪声粘滞"(保留上周期噪声) | BID:Warmstart(沿用上一决策的噪声)"平均小幅提升,但 7 个任务里有 3 个变差";BID 后向一致性准则(与上一块的加权 L2)+ N=16 采样,相对提升 32%【原文 §5.2.1、图 6】;DP:独立逐步采样会在两种模式间来回跳【原文 §3】 | 有部分证据(噪声粘滞**有反证**:BID 中不稳健) | 一步生成器下"同一噪声 → 同一模式"在状态变化后不保证成立;log p(k) 对流头无定义 | 门禁:E5(≥3 次切换)< 1% 任务,rt_drag_bench 摇摆计数。若噪声粘滞不过,改用 BID 式后向一致性打分(与上周期已提交块的重叠步加权 L2)作为排序项 |
+| 19 | §8.3 | 安全层:候选前 3 步按 1°+半格离散细验 + 可刹停不变式(第 3 步末按最大减速度刹停段也细验) | 不变式本身:Thumm & Althoff 的 failsafe 盾——每步只在"意图段安全且其末端存在已验证的刹停轨迹"时执行,否则执行**上一条已验证**刹停轨迹【原文 §III、图 3】,有充分证据;离散检查:Schwarzer 等证明离散分辨率检查会漏检,提出"两端距离之和 > 各点轨迹长度上界"的充分条件,"never fails"【原文式(1)】;LARC(胶囊+速度上界的连续认证):MoveIt/FCL 抽样审计在 21 条直接插值轨迹中发现碰撞;139 条"抽样无碰撞"的轨迹里有 27 条无法认证【原文摘要】;ELMP 评测用离散检查时余量取 30 mm【原文 §IV-A】 | 不变式:有充分证据;**按现有离散实现"保证零碰撞":有反证** | 杠杆实测:0.5° 间距下采样点间偏差上界 ≈ 24.3×0.25 ≈ 6 mm ≫ 0.3 mm;仓库报告 0.28/0.08 mm 残余侵入、"贴柱薄层整个夹在采样点间";刹停段"最大减速度"未定义;§8.1 交叉淡入使执行轨迹 ≠ 检查轨迹 | 门禁:①离线审计:10^5 个随机提交段(3 步+刹停),用 0.01° 细采样(或 Schwarzer 式距离认证)复核,漏检 = 0;②在 near_column 上统计"认证拒绝率"(认证判不安全而离散判安全的比例)。修正:静态障碍对(臂×立柱/台架)改用**距离下界认证**:d(q_a)+d(q_b) > Σ_j r_j·|Δθ_j|,r_j 用实测杠杆上界,不满足就二分;自碰撞对复用 pair2d 杠杆界(J3 3.24、J4 2.54 mm/°)。不过(认证拒绝导致 30/30 失败)就把训练余量提高到 ≥ 采样偏差上界(如 3–6 mm),并接受行程变长 |
+| 20 | §8.3 耗时 | 预筛 + 逐个检查 + 首个通过即停,目标 < 5 ms;不达标放 Web Worker | 仓库:collideFree 2.9→1.8→1.25 ms/次(pair2d 后);每帧守卫约 1.2 ms【仓库】 | 仅推断 | 贴柱时预筛基本失效(正是难例所在);样本数被低估(每步 4–13°,3 步 13–39 个采样点 + 刹停段),见 I10 | 门禁:M7 在 near_column 30 例 × 全程逐周期计时,安全层 P99 < 5 ms;不过就做距离认证(一次距离查询覆盖整段,通常比 N 次布尔更省),或把提交步数降到 2 |
+| 21 | §8.5-4 | 卡死检测:0.3 s 价值不降或连续 2 周期刹停 → 强制换向并锁定 1 s | 势场法局部极小的经典逃逸(随机游走/换向,Barraquand & Latombe RPP)【未抓取】;MπNets 指出局部控制器(STORM、Geometric Fabrics)在复杂几何中会卡在局部极小【原文 §5.1】 | 仅推断 | ① 两个方向都被挡 → 1 s 锁定后来回切换(活锁);② 流头没有离散"另一方向",依赖子目标头备选(#13);③ 1 s 锁定可能与目标拖拽冲突 | 门禁:构造"两侧都要绕很远"的 50 个对抗用例 + near_column,卡死后 3 s 内恢复进度的比例 ≥ 95%,活锁(换向 ≥ 3 次仍无进度)= 0。回退:卡死时允许跟随离线路网"锚点表"(**注意**:这等于部分老师,需用户同意) |
+| 22 | §8.6 | 策略层 50 Hz、提交 3 步、伺服层另行插补;浏览器 rAF 60 Hz 也能稳定跑 50 Hz | π0:50 Hz 机器人每 0.5 s 推理一次(执行 25/50 步),时间集成"hurt policy performance"故不用【原文 App D】;DP:10 Hz、预测 16 执行 8 最优,可承受 4 步延迟【原文 §5.3】;MπNets 9 Hz;ELMP 30 Hz【原文】 | 有部分证据 | ① **每 20 ms 重推理只执行 1 步 = 动作时域 1**,BID 证明这会破坏块内一致性、导致来回摆动【原文 §4.1】;② rAF 16.7 ms 帧与 20 ms 周期不整除 → 周期抖动(16.7/33.3 ms 交替),后台标签页定时器会被节流【推断】 | 门禁:A/B"每 1 步重推理"与"每 3 步重推理"(执行 3 步)在 E5 摇摆率、到达率、拖拽跟随误差上的对比。若后者不差,就默认每 3 步重推理(顺带把推理预算放宽到 60 ms)。周期抖动:用 Worker + 自有时钟按实际 dt 插值,测 P99 周期误差 < 2 ms |
+| 23 | §8.1-6 | 到达判据 TCP < 1 mm(pose < 0.5°),近目标做 1–3 次局部牛顿 | ELMP-APG 也只有 89.0% 在 1 cm 内、72.6% 在 5° 内【原文表 I】;MπNets 98.94% 在 1 cm 内【原文表 3】 | 有部分证据(必须依赖牛顿精修) | 精修段本身要过安全层(文中没写);牛顿步可能跨分支 | 门禁:held-out 中精修前误差 < 5 mm 的比例 ≥ 99%;精修后 < 1 mm 的比例 ≥ 99.5%;精修段 100% 经过安全层 |
+| 24 | §0/§8.1/§9.2 | 每周期推理 2–5 ms、推理+安全 < 10 ms(P99 < 15 ms),浏览器 onnxruntime-web,WebGPU 优先 | WebGPU 每次 dispatch 的开销:Chrome 33–67 μs(连续);带同步的单次操作 2–3 ms(Chrome)【原文 2604.02344 表 6】;社区多例小模型 WebGPU 比 wasm 慢【未抓取,检索摘要】 | 仅推断(且偏乐观) | 8 层 Transformer 约 150–300 次 dispatch → 仅调度开销就有 5–20 ms,外加每周期一次 GPU→CPU 回读;wasm 下 8 候选 × 前瞻 = 约 0.6–1.3 GFLOP/周期 | 门禁:M4 后**立即**导出 ONNX,在目标浏览器测 batch=8(含前瞻 batch=16)延迟 P99。若 > 5 ms,就用 wasm-SIMD 多线程或 fp32 小算子融合;仍不行就缩小解码 token(B 样条 6 个控制点而非 16 步)、去掉前瞻,或改为每 3 步推理一次 |
+| 25 | §9 | 验收:碰撞帧 0;route 60/60、near pos/rt 30/30、held-out ≥ 98%;用时 ≤ 老师×1.3;行程 ≤ 现有×1.10;刹停 < 2%;摇摆 < 1%;关安全层碰撞 < 3% | ELMP-APG 关安全层碰撞 8.9%、DRP 10.16%(环境不同)【原文】;ELMP:APG 使末端路径长度由 0.69 m 增至 0.85 m(+23%)【原文表 I】 | 有部分证据 / 部分指标**不可达** | ① held-out 含 10% 不可达(D 类),"到达 ≥ 98%"按定义不可能(I13);② 30/30 统计力弱(上界 9.5%);③ "碰撞帧 0"由离散检查测量,测不到采样点之间的穿模;④ APG 有拉长路径的先例,与 ≤1.10× 行程冲突 | 改:到达率分母只算可达任务,D 类单独考核"停靠距离 ≤ 老师 + 5 mm";near_column 另造 ≥ 1000 例的验收扩展集(0 失败 ⇒ 失败率上界约 0.3%);碰撞审计用 0.01° 或距离认证;行程门禁按类别分别报告 |
+
+---
+
+### 2. 逐项详述
+
+#### 2.1 §4 老师离线造数据(#1–#3)
+
+**(a)** §4.1–4.4:`solveDyn`(松手口径)为 5 万条采样任务(A 均匀 45%/B 直线被挡 30%/C 贴柱 15%/D 不可达 10%)生成折线,细验过滤后入库。
+
+**(b) 证据**
+- MπNets【原文 https://arxiv.org/abs/2210.12209 §4、表 1、表 3、§5.2】:3.27M 问题 / 575k 环境。关键发现是**老师一致性**:用全局规划器(IK + AIT* + 样条平滑)当老师训出的 MπNets-G,在两种老师都能解的问题上环境碰撞率 **13.78%**;用一致性强的混合老师(Hybrid Expert)只有 **0.94%**(表 3)。作者明确把差异归因于"consistency of the expert"。
+- DRP【原文 https://arxiv.org/abs/2509.06953 §3.1】:cuRobo 生成 10M 条;预训练的 IMPACT "often incurs minor collisions"。
+- ELMP【原文 https://arxiv.org/abs/2607.00215 表 I、图 6】:1 万条老师 + APG 胜过 60 万条纯 BC;200k APG 问题采样 4.5 CPU 小时,同量老师轨迹 >1194 CPU 小时。
+- 本仓库【仓库 `docs/路径规划优化报告.md`】:`solveDyn` 的核心是 Lazy RRT-Connect + 50 次随机捷径 + 逐轴拉直,定种子 LCG,平均规划 662–837 ms。
+
+**(c) 判定**:有部分证据。数据量(5 万)在"固定环境 + 后续 APG"的前提下合理(ELMP 先例);但老师属于"全局采样规划器"类型,正是 MπNets 中一致性差、导致策略碰撞多的那类。
+
+**(d) 残余风险**:同一类任务里老师有时左绕、有时右绕(随机捷径的结果),会给多峰头制造"人为多峰",WTA/流头都会把容量浪费在拟合老师的随机性上。D 类"最近安全位形"在目标连续变化时不连续。§4.6 的 0.7 s/条对 C/D 类(难例、失败时搜到超时)偏乐观。
+
+**(e) 缓解与门禁**:老师一致性门禁(见总表 #1)。可选的更一致老师:离线 PRM 路网(15103 条边、单一连通分量)+ A* 最短路 + 确定性平滑。确定、可复现,且已在仓库里。按类别计时:先跑 1000 条(M1),C/D 类 P90 规划时间 > 3 s 时重估 §4.6。
+
+#### 2.2 §4.5 时间参数化与切片(#4–#6)——本节问题最大
+
+**(a)** 按 `animTo` 的 VREL 轴速比做时间参数化(dt=20 ms),每 3 步取一个"(q_t, 目标) → 未来 16 步 Δq"样本;声称后缀"等于免费的 DAgger 种子"。
+
+**(b) 证据**
+- 本仓库实现【仓库 `webapp/js/ik-glue.js` L376–L401】:各段时长 ∝ 该段"最慢轴所需时间"(`|Δq_j|/VREL_j` 的最大值);**整条折线做一次全局 smoothstep**(`u*u*(3-2u)`);总时长 = `ms·sum/150`,夹在 `[0.6ms, 3.5ms]`(ms=620 → 372–2170 ms)。按此推算主导轴的每步位移:平均 2.9°(J1/J2)~8.7°(J6),峰值(smoothstep 导数 1.5 倍)4.4°~13.1°/步;长路径被夹到 2170 ms 时还会更快。
+- MπNets【原文 §4.2 附近】:"we fit a spline to the path and retime it to have steady velocity",即特意匀速化。
+- Diffusion Policy【原文 https://arxiv.org/abs/2303.04137 §3 "Robustness to idle actions"】:"single-step policies can easily overfit to this pausing behavior… BC-RNN and IBC often get stuck"。
+- MπNets【原文 §3.4】:"trained for single-step prediction… compounded noise… equates covariate shift",用关节角高斯噪声增广。
+- DART【原文 https://arxiv.org/abs/1703.09327 摘要】:向老师注噪造数据,平均比 BC 提升 62%。
+- DAgger(Ross, Gordon, Bagnell, AISTATS 2011)【未抓取,背景】:BC 误差随时域 O(εT²) 累积,需要在学生自己访问的状态分布上取标签。
+
+**(c) 判定**:切片做法本身有充分证据(DRP、DP 都这样做);**沿用 `animTo` 的时间律有反证**;"免费 DAgger"的说法**有反证**(概念错误)。
+
+**(d) 残余风险**
+1. **非马尔可夫标签**:smoothstep 是对整条路径的进度 u 做的,同一 (q, 目标) 在短路径与长路径里的标签速度不同,在路径前段与后段也不同,而输入里没有速度、进度或路径长度。模型只能学到条件平均。
+2. **起步停滞**:u≈0 时 Δq_{t+1}≈0。闭环每 20 ms 只执行第 1 步,下一周期状态几乎不变,标签又是"几乎不动",可能形成不动点。
+3. 每步位移远大于安全层预算假设(I10)。
+4. 后缀样本仍是老师分布,对偏离状态没有监督;§7 的 APG/挖错能补一部分,但 APG 要从预训练模型出发,预训练崩了(如起步停滞)会拖累后训练。
+
+**(e) 缓解与门禁**
+- 时间律改为局部可观测的:匀速(按 VREL 归一化的恒定巡航速度)+ 只在终点前按剩余路程梯形减速、起点按已行路程加速;或把 q_t−q_{t−1}(以及前缀块,若用 RTC)加入输入。
+- 噪声增广:输入关节加 σ=0.5–1° 噪声,由老师离线从扰动状态重规划一段作为标签(DART 式;老师只在离线,符合约束)。
+- 门禁:标签一致性测试 + 起步失败率 = 0(总表 #4);闭环/开环差距(#6)。
+
+#### 2.3 §5 输入/输出表示(#7–#8)
+
+**(a)** 输入:关节 sin/cos + 限位轴归一化、TCP 位置与 6D 姿态、目标位置/6D 姿态/差值、模式 one-hot、k_prev、8 个胶囊对最小距离;输出 16×6 Δq,按每轴最大步长归一化,连续轴 unwrap。
+
+**(b) 证据**
+- Zhou 等《On the Continuity of Rotation Representations》【原文 https://arxiv.org/abs/1812.07035 §1】:3D 旋转在 ≤4 维下都不连续;不连续表示的平均误差最高达连续 6D 表示的 6–14 倍。
+- MπNets【原文 §3.1】:关节归一化到 [−1,1],输出归一化空间里的位移并 clamp。
+- ELMP【原文 §IV "Architecture"】:目标 12 维 = 位置 + 展平旋转矩阵;关节 7 维直接进 MLP。
+- DRP【原文 §3.1】:以**目标关节角**为条件,避开 IK 多解。
+- 胶囊距离作输入:无直接先例。C-space 距离场(CDF)作特征的讨论见 `finetune_alternatives.md`【其他报告】。
+
+**(c) 判定**:6D、sin/cos、Δq 块均有充分证据;胶囊距离特征仅推断;"以位姿为目标让模型连 IK 一起学"有部分证据(ELMP 这样做,但 ELMP 的 1 cm 内到达率只有 89%)。
+
+**(d) 残余风险**:位姿目标 → 多个 IK 分支(肘上/肘下、腕翻转)带来比"左/右绕"更多的模式,K=4 的 WTA 可能不够;k_prev 对流头无意义;缺子目标/前缀/速度输入;min 距离特征在最近对子切换处不可导。
+
+**(e) 门禁**:见总表 #7、#8。
+
+#### 2.4 §6.1 结构(#9)
+
+**(a)** 条件 MLP → 8 个条件 token(d=192)→ 4 层编码器;K×16 个可学习动作 token → 4 层非自回归解码器;另有动作、模式、价值、子目标四个头。
+
+**(b) 证据**:IMPACT【原文 DRP App G 表 7】:编码 6 层/解码 6 层、隐层 128、FFN 1024、8 头、sin-cos 位置编码、动作块 10;场景点云 128 token + 机器人点云 16 token;4.67M 参数(含 PointNet++ SA);300 Hz@4090、冷启动 3.48 ms。
+
+**(c) 判定**:结构有充分证据;去掉点云后条件只剩约 60 维,用 8 个 token 表示属于设计选择(仅推断),属低风险。
+
+**(d) 残余风险**:参数实算 ≈ 4.13M(`4·(4d²+2·d·FFN)` + `4·(8d²+2·d·FFN)`),fp16 约 8.3 MB(文中写约 7 MB),影响不大;浏览器推理延迟是真风险(#24)。
+
+**(e) 门禁**:总表 #9、#24。
+
+#### 2.5 §6.2 损失(#10)
+
+**(b)** ELMP【原文 §III-B】:L_BC = λ_action·‖Δq_pred−Δq_gt‖ + λ_fk·Σ_i‖FK_i(q_pred)−FK_i(q_gt)‖(i 为碰撞球中心),与我们的"胶囊端点 FK 损失"同构;ELMP 未单独报告 FK 项的消融数字。MπNets【原文 §3.3】也用任务空间几何损失。
+
+**(c)** 有部分证据。
+
+**(d)** 损失只对 WTA 头写明;默认的流匹配头需要另定(例如在一步生成的 x̂ 上加 FK 项,见 `onestep.md`),否则 §6.2 对默认配置无效(I8)。剩余时间 L1 与价值头重复定义。
+
+#### 2.6 §6.3 训练配置与耗时(#11)
+
+**(a)** bs 1024、20 万步、bf16,3090 约 1.5–3 h。
+
+**(b)** DRP【原文表 7】:bs 512 × 100 万步 = 5.12 亿样本次,4090 上 3 天 ≈ 1975 样本/s(瓶颈主要是点云)。本方案:20 万 × 1024 = **2.05 亿样本次(DRP 的 40%,不是 1/5)**。FLOP 估算【推断,见 `lever.cjs` 同目录脚本的计算】:WTA 头(64 个解码 token)训练约 0.99 GFLOP/样本 → 合计 2.0e17 FLOP;3090 bf16 稠密峰值约 71 TFLOPS,小模型实际 10–35 TFLOPS → **1.6–5.6 h**。流头(16 个 token)约 0.31 GFLOP/样本 → 0.5–1.8 h,但 MeanFlow 的 JVP、OFP 的自蒸馏额外前向会乘 1.5–3 倍。
+
+**(c)** 仅推断:1.5–3 h 落在估算区间的乐观一侧。
+
+**(d)** epoch 数自相矛盾(I1);每 epoch 1000 任务闭环验证也要计入。APG 显存【推断】:每个展开周期每样本激活约 4 MB,H=60 时约 0.27 GB/样本,150 周期时约 0.66 GB/样本 → 24 GB 卡 batch 只有约 30–80,需要激活检查点。ELMP 在 6×3090 上 APG 的 batch 只有 48,H=69【原文 §IV-A】。
+
+**(e)** 门禁:吞吐实测后重算(总表 #11);APG 先跑 H=60、bs 32 的显存测试。
+
+#### 2.7 §6.1/§8.5 子目标头、价值头、短前瞻(#13–#15)
+
+- 子目标头:AWE【原文 https://arxiv.org/abs/2307.14326 §1/§3】把"预测下一动作"变为"预测下一航点",用 DP 在误差预算内选最少航点,最多 +25% 成功率。直接支持"以途经点为锚",而且给出了比"老师拐点"更稳定的标签提取方法。
+- 价值头:SHAC【原文 https://arxiv.org/abs/2204.07137 §1、§4】用学到的 critic 截断可微仿真展开(h=32 对 H=1000),兼治局部极小与梯度爆炸。本方案的"APG 展开时有真实值"只在展开内到达时成立,其余必须 TD 自举,文中缺失。
+- 短前瞻:BID【原文 https://arxiv.org/abs/2408.17355 §4、表 2】:每步采 16 个样本按后向一致性 + 前向对比选择,推理时间 13.2 ms → 25.9 ms(A5000),相对提升 32%。说明"多采样 + 打分"有效,但代价约 2 倍。
+
+判定:子目标头、价值头有部分证据;短前瞻有部分证据。风险与门禁见总表 #13–#15。
+
+#### 2.8 §7.2 挖错循环与门禁(#16)
+
+**(b)** DRP 迭代师生微调【原文 §3.2】:每 1 万梯度步后学生替换基模型,共 5 轮,4090 上 10 h,成功率比预训练 **+45%**(表 6)。Avoid Everything/MπFormer 的困难负样本挖掘(DRP 文中引述)。
+
+**(c)** 有部分证据:DRP 的循环用局部控制器(Geometric Fabrics)当"老师",本方案改用 APG 代价,这一替换由 ELMP 支持;"错题邻域加权进 APG 池"本身无直接先例(仅推断)。
+
+**(d)** 门禁集与验收集重叠(I14);E2 的老师补数据把"无老师"变成"少量离线老师"(文中已说明,合规)。
+
+#### 2.9 §7.3 拒绝采样自蒸馏(#17)
+
+**(b)** ReST【原文 https://arxiv.org/abs/2308.08998 §2】:Grow(策略生成多样本)/ Improve(按分数过滤后微调,阈值逐步提高);作者也提到基于奖励的方法有 reward hacking 风险。ELMP【原文表 I】:加入笛卡尔路径长度惩罚后,碰撞率从 8.9% 升到 10.9%。这是"偏好短路径 → 更贴障碍"的直接证据。
+
+**(c)** 有部分证据。门禁见总表 #17。
+
+#### 2.10 §8.2 模式粘滞(#18)
+
+**(b)** DP【原文 §3】:逐步独立采样会在左右两种策略间来回跳。BID【原文 §5.2.1】:Warmstart(从上一决策热启动噪声,即本方案的"噪声粘滞")"mild gains on average, but degrades performance on 3 out of 7 tasks";EMA/时间集成在 2 个任务上变差,原因是相邻块属于不同潜在策略,平均后"may not yield a plausible strategy";BID 后向一致性 + 前向对比在全部任务上提升,相对 +32%。
+
+**(c)** 切换代价/一致性选择有部分证据;**单靠噪声粘滞有反证**(BID 中不稳健)。
+
+**(e)** 改为 BID 式后向一致性打分(与上周期已提交块重叠步的加权 L2)+ 安全层,门禁见总表 #18。
+
+#### 2.11 §8.3 安全层与可刹停不变式(#19–#20)——重点核查"是否真的保证不撞"
+
+**(a)** 候选前 3 步 1° 细验 + 半格复验 + 关节限位;从第 3 步末按"最大减速度"停下的刹停段也要细验;全部不过就沿已验证刹停轨迹停下。
+
+**(b) 证据**
+- **不变式**:Thumm & Althoff, ICRA 2022【原文 https://arxiv.org/abs/2205.06311 §III、图 3】:"During the execution of a trajectory between t_k and t_{k+1}, we calculate a failsafe trajectory starting from t_{k+2}. If this failsafe trajectory cannot be verified as safe, we execute the previously verified failsafe trajectory starting from t_{k+1}." 与本方案同构。但他们的验证用的是**连续时间可达集过近似**(胶囊包络),不是离散采样。
+- **离散检查会漏**:Schwarzer, Saha, Latombe, IEEE T-RO 2005【原文 http://ai.stanford.edu/~mitul/papers/SSLtro05.pdf 式(1)】:若两端位形下的距离之和 d(q_a)+d(q_b) 大于各点所走曲线长度的上界(≤ Σ_j r_j|Δθ_j|),整段无碰撞;固定分辨率法会漏检,自适应法 "never fails to detect collision"。
+- LARC 2026【原文 https://arxiv.org/abs/2608.29767 摘要】:胶囊 + 分量速度上界做连续认证,160 条 PIPER 轨迹上与固定细分辨率决策一致,工作量仅 24.8%;但 139 条"抽样无碰撞"的轨迹中 27 条无法认证。认证天然保守,会拒掉一些贴边路径。
+- ELMP 评测【原文 §IV-A】:离散检查(插值 3 倍,约 150 个位形)时安全余量取 **30 mm**。
+- 本仓库【仓库】:`collide.json` 的 `margin_mm = 0.3`;`ik-solver.js` L2777 注释原话:"贴立柱时薄薄一层干涉能整个夹在两个采样点之间(贴立柱测试 ci0:119.5° 的长边在 0.76 处 1° 复验撞)";`路径规划优化报告.md`:1° 细验后仍有 2 条路径最大侵入 0.28/0.08 mm。
+- **本次实测杠杆**【仓库,`src_v/lever.cjs`,19219 个无干涉随机位形】:TCP 每度最大位移 J1 9.02 / J2 6.93 / J3 4.17 / J4 4.17 / J5 2.25 / J6 ≈0 mm;六轴同时 1°(L∞)的上界最大 24.3 mm,中位 19.4 mm。工具法兰胶囊可能比 TCP 更远,上界只会更大。
+
+**(c) 判定**:不变式的逻辑结构有充分证据;"按现有离散实现保证零碰撞"**有反证**。
+
+**(d) 残余风险(逐条)**
+1. 采样间隙:采样间距 δ(L∞)时,两采样之间任意点距最近采样位形的位移 ≤ L·δ/2。δ=0.5°(1°+半格)时约 6 mm,δ=0.75°(现有 pathFine 等效)时约 9 mm,δ=1° 时约 12 mm,都 ≫ 0.3 mm。立柱是实心大体,漏检的是"擦边几毫米"而不是"整个穿过",但"碰撞帧 = 0"的承诺不成立。
+2. "最大减速度"在全文没有数值(§0 说插补器负责,`animTo` 只有 smoothstep,没有加速度上限),刹停段长度无从计算(I12)。
+3. §8.1 的交叉淡入:执行轨迹是新旧两块的混合,不等于任一被检查过的块(I4)。
+4. 局部牛顿精修段(§8.1-6)没写要过安全层。
+5. 验收里的"碰撞帧"本身也用离散口径测,测不到问题。
+
+**(e) 修正与门禁**
+- 静态障碍对(臂×立柱、臂×台架)改用 Schwarzer/LARC 式距离下界认证:每段先算两端胶囊距离,满足 d_a + d_b > Σ_j r_j|Δθ_j|(r_j 取各连杆到各关节轴的最大距离,可离线算好)即放行,否则二分。自碰撞对复用已有 pair2d 杠杆界。
+- 删掉插补层交叉淡入(或让安全层检查淡入后的实际轨迹)。
+- 定义刹停:按每轴加速度上限 a_max 做梯形减速,写进配置并在训练数据时间律中使用同一 a_max。
+- 门禁:10^5 个随机"3 步 + 刹停"段做 0.01° 超细采样审计,漏检 = 0;near_column 上"认证拒绝率"< 5%,否则把训练余量(§7.1 的 margin+5 mm)提高到 ≥ 采样偏差上界,让策略本身留出足够间隙。
+
+#### 2.12 §8.5 卡死检测与强制换向(#21)
+
+**(b)** MπNets【原文 §5.1】:STORM 与 Geometric Fabrics 等局部方法在复杂几何中会卡在局部极小,"struggle to retract from a drawer and then reach into another drawer… without intermediate waypoints"。经典逃逸方法(随机游走/换向)【未抓取】。没有找到"神经闭环策略 + 规则换向"的直接先例。
+
+**(c)** 仅推断。风险与门禁见总表 #21。
+
+#### 2.13 §8.6 控制周期(#22)
+
+**(b)** π0【原文 https://arxiv.org/abs/2410.24164 App D】:"We tried temporal ensembling early on and found that it hurt policy performance… 50Hz… inference every 0.5 seconds (after executing 25 actions)"。DP【原文 §5.3】:预测 16 步、执行 8 步最优,可承受 4 步延迟。BID【原文 §4.1】:每步重采样、只执行第 1 个动作 "destroys the consistency preserved within each chunk, potentially leading to oscillations"。
+
+**(c)** 50 Hz 策略层有部分证据;"每 20 ms 重推理、只走 1 步"与主流(π0 执行 25/50、DP 执行 8/16)相反,属于动作时域 h=1 的极端,有反证风险。§8.6 表中工业接口周期(Franka 1 kHz、UR e 系列 500 Hz 等)属常识,本次未逐一抓取原始手册(【未抓取】)。
+
+**(e)** 门禁见总表 #22。
+
+#### 2.14 §9 验收指标(#25)
+
+- held-out 含 D 类 10% 不可达任务 → "到达 ≥ 98%"按定义不可达(I13)。
+- 30/30 的 95% 单侧失败率上界 ≈ 9.5%;要把上界压到 1%,需要约 300 例 0 失败;压到 0.3% 需要约 1000 例。
+- ELMP 表 I:APG 后末端路径长度 0.69 → 0.85 m(+23%),关节路径 4.09 → 3.90 rad(−5%)。关节行程门禁(≤1.10×)在关节空间可能过得了,但需按类别报告。
+- 关安全层碰撞 < 3%:ELMP/DRP 的 8.9%/10.2% 是在未知、多变环境;固定环境下更低是合理推断,但没有直接证据。
+
+---
+
+### 3. 文档内部不一致清单
+
+| 编号 | 位置 | 不一致 | 建议 |
+|---|---|---|---|
+| I1 | §6.3 | 20 万步 × bs 1024 = 2.05 亿样本次 = 300 万样本的约 **68 epoch**,不是 30;30 epoch 只需约 8.8 万步 | 二选一并重算耗时 |
+| I2 | §4.5-3 / §4.6 | "每条路径 50–150 个样本":route_bench 平均执行 2.46–2.60 s ≈ 130 步,每 3 步取 1 个 ≈ 43 个;A 类更短 → 总样本更可能约 200 万而非 300 万 | 以 M1 的 stats.json 为准 |
+| I3 | §7.1 vs §8.1 vs §8.5 | APG 每次迭代执行 3 步(60 ms),"H=60 个周期≈1.2 s"实为 3.6 s;部署每 20 ms 推理、只走 1 步,APG "与部署一致"不成立;§8.5 又写"150 个周期≈3 s"(按 20 ms/周期) | 统一"周期"定义;APG 展开节奏与部署一致(或部署改为每 3 步推理) |
+| I4 | §8.1 末段 vs §6.1A | §8.1 插补器"时间集成/交叉淡入",§6.1A 说 RTC 前缀"替代时间集成";而且淡入后的轨迹没被安全层检查过 | 删除淡入,或安全层检查实际执行轨迹 |
+| I5 | §5.2/§6.1/§8.1/§8.3/§8.5 vs §6.1A | 前者按 K=4 个模式写(含安全层耗时与前瞻计算),默认流头是 K=8 个候选 | 全文统一,安全层最坏情况按 8 个算 |
+| I6 | §5.1/§8.2 vs §6.1A | k_prev one-hot 与 log p(k) 对流头无定义;"噪声粘滞"不需要该输入 | 按头类型分开写 |
+| I7 | §5.1 vs §8.5/§6.1A | 输入表里没有子目标、已提交前缀(RTC)、当前速度,但后文都要以它们为条件 | 补入输入表并给维度 |
+| I8 | §6.2 vs §6.1A | 损失只针对 WTA;默认流头无损失定义;剩余时间 L1 与价值头重复 | 补流头损失 |
+| I9 | §0 / §8.1 / §8.5 / §8.6 / §9.2 | 预算"推理+安全 < 10 ms(留一倍余量)"、P99 < 15 ms;组成:生成 2–5 ms + 前瞻 2×(2–5) ms + JS 梯度引导 + 安全检查(目标 < 5 ms,§8.3 自认最坏约 70 ms)→ 合计 9–25 ms 以上 | 重做预算表;WebGPU 调度开销另计(#24) |
+| I10 | §8.3 | "4 候选 × 10 个采样位形"假设 3 步内 ≤ 约 3.3°;按 §4.5 时间律主导轴每步 4.4°~13°,3 步需 13–39 个采样 + 刹停段;单次 1.8 ms 是旧数据(pair2d 后为 1.25 ms) | 重估 |
+| I11 | §2.3/§8.3 vs 代码 | 文档写"1° 细验 + 半格复验"(等效 0.5°),现有 `pathFine` 为 EDGE_RES=1.5° + 半格(等效 0.75°) | 明确口径 |
+| I12 | §8.3 vs §0 | 刹停段"按最大减速度",但全文和 `animTo` 都没有加速度上限 | 定义 a_max |
+| I13 | §9.2 vs §4.3 | held-out 有 10% 不可达(D 类)却要求到达 ≥ 98% | 分母只算可达任务,D 类单独考核 |
+| I14 | §7.2-6 vs §9.1 | 留出 2000 + 三个基准每轮用于门禁/回滚,又作最终验收 → 选择偏差 | 拆出独立验收集,只用一次 |
+| I15 | §6.4 vs §9.2 | 验证超时 = 老师时长 ×2(最少 3 s),验收要求 ≤ ×1.3 | 验证同时报告 ×1.3 达标率 |
+| I16 | §0/§2.3/§8.3 vs 仓库 | "安全层保证碰撞帧 = 0"与离散检查 + 0.3 mm 余量矛盾(实测采样间偏差可达约 6 mm;仓库记录过 0.28 mm 残余侵入与夹缝漏检) | 改为距离认证,或如实降级表述 |
+| I17 | §10 vs §6.3 | 重训流程写"§6 约 4 h",§6.3 写 1.5–3 h | 统一 |
+| I18 | §6.3 | "预热 1000 步(同 DRP 量级)":DRP 为 100 步;"步数约其 1/5",但处理的样本数是 DRP 的 40% | 改表述 |
+| I19 | §2.2#1 vs §8.1 | "只执行前 2–4 步"与"提交 3 步、实际每周期只走 1 步"不同 | 统一 |
+| I20 | §9.2 现状列 vs `路径规划优化报告.md` | 文档写 route 现状 60/60 到达;报告第三轮写"有效路径 60/60,到达 58"(2 例目标超出可达区) | 在 `3c7c814` 上重跑核对 |
+| I21 | §4.5 vs §5.1 | 标签由全局 smoothstep 决定,但输入里没有速度/进度 → 非马尔可夫(见 #4) | 改时间律或加输入 |
+| I22 | §6.1 vs §8.5 | 子目标头"仅冷启动用",§8.5 又说"到达子目标后切到下一个";拖拽时目标每周期都在变,"冷启动"无定义 | 定义触发条件(如目标跳变 > X mm) |
+| I23 | §8.1-6 | 局部牛顿精修段没写要过安全层 | 补上 |
+| I24 | §8.4 | fp16 约 7 MB;实算 4.13M 参数 × 2 B ≈ 8.3 MB | 小问题 |
+
+---
+
+### 4. 未能核实 / 声明
+
+- §8.6 工业接口周期表(Franka、UR、ABB EGM、KUKA RSI、FANUC DPM、MoveIt Servo)本次未逐一抓取原始手册,沿用文档原值(【未抓取】)。
+- DAgger 原文、Barraquand & Latombe RPP、RoboCat 未抓取,只作背景引用。
+- DRP 中"目标被挡→停在最近安全处"的数据量与效果,本次未定位到具体表格。
+- 浏览器端实际推理延迟没有任何本项目实测;WebGPU 结论来自 LLM 场景的调度开销测量(2604.02344),迁移到 4M 参数模型属推断。
+- 杠杆实测用 TCP 代替全部胶囊端点,工具法兰胶囊可能更远,上界只会更大;同时假设关节空间线性插值,与 §4.5 时间参数化后的 20 ms 步相符。
+- 训练耗时 FLOP 估算假设 3090 实际 10–35 TFLOPS,未实测。
+
+### 5. 来源
+
+- MπNets https://arxiv.org/abs/2210.12209(§3.4、§4.2、表 1、表 3、§5.1–5.2)
+- DRP/IMPACT https://arxiv.org/abs/2509.06953(§3.1、§3.2、表 6、App G 表 7)
+- ELMP https://arxiv.org/abs/2607.00215(§III-B、表 I、§IV-A 实现细节、图 6)
+- Diffusion Policy https://arxiv.org/abs/2303.04137(§3 时间一致性/停顿动作、§4.2 位置控制、§5.3 动作时域与延迟)
+- BID https://arxiv.org/abs/2408.17355(§4.1–4.2、§5.2.1、表 1–2)
+- π0 https://arxiv.org/abs/2410.24164(App D 推理与执行)
+- Zhou et al. 旋转表示 https://arxiv.org/abs/1812.07035(§1)
+- SHAC https://arxiv.org/abs/2204.07137(§1、§4)
+- AWE https://arxiv.org/abs/2307.14326(§1、§3)
+- DART https://arxiv.org/abs/1703.09327(摘要、§1)
+- ReST https://arxiv.org/abs/2308.08998(§2)
+- Schwarzer, Saha, Latombe, T-RO 2005 http://ai.stanford.edu/~mitul/papers/SSLtro05.pdf(式(1))
+- Thumm & Althoff, ICRA 2022 https://arxiv.org/abs/2205.06311(§III、图 3)
+- LARC https://arxiv.org/abs/2608.29767(摘要)
+- WebGPU 调度开销 https://arxiv.org/abs/2604.02344(表 6、§4.4)
+- 本仓库:`docs/路径规划优化报告.md`;`webapp/js/ik-solver.js`(L2376 EDGE_RES、L2777–2810 pathFine);`webapp/js/ik-glue.js`(L376–401 animTo);`docs/collide.json`(margin_mm=0.3);`docs/travel.json`;杠杆实测脚本 `/workspace/work/out/survey/src_v/lever.cjs`
+
+
+---
+
+# 二、一步/少步生成式动作头
+
+## 一步 / 少步生成式机器人策略:全文精读与针对本项目的评估
+
+> 编写日期:2026-10-17。所有数字均摘自 arXiv HTML 全文(或 PMLR PDF),并标注所在章节/表格。**【未核实】** = 全文中没找到,或只能从图里定性读出。**【推断】** = 我自己的分析,原文没有这么说。
+
+### 0. 本项目设定(评估基准)
+
+- 6-DOF 机械臂。环境固定且完全已知:一根立柱障碍,碰撞模型为胶囊体。
+- 输入为低维状态,约 60 维:q、TCP、目标位置/rot6d、胶囊距离。闭环 50 Hz,action chunk = 16 步。
+- 模型 3–5M 参数,浏览器内 ONNX 推理,运行时没有 teacher,在 RTX 3090 上训练。
+- 后训练:通过可微胶囊距离做解析策略梯度(APG)。
+- **核心风险**:必须保住多模态(从立柱左侧绕还是右侧绕)。一旦把两个模态平均掉,轨迹就会直接穿过立柱。
+
+---
+
+### 1. 贯穿所有论文的三个关键事实(先读)
+
+1. **普通 Flow Matching 做 1 步 Euler,输出的正好是条件均值。** COT 论文附录 D.1 原话:"CFM evaluated with a 1-step euler solver approximately generates the conditional mean of the two conditional distributions"。Shortcut 论文 §2 也写道:"at t=0 … the predicted velocity at t=0 points towards the dataset mean"。在我们的设定里,这就等于"从立柱中间穿过去"。所以不能直接拿 FM 做 NFE=1。
+2. **主流基准几乎测不出多模态问题。** FreqPolicy Table 4:*vanilla* FM 做 NFE=1,在 Robomimic Can/Square/Transport/ToolHang 上就有 0.94/0.90/0.84/0.76。FreqPolicy Table 3:OpenVLA+FM 做 NFE=1,在 LIBERO 上平均 93.5%,NFE=10 是 93.7%。普通 FM 一步就能拿高分,说明这些任务在单个观测下近似单峰。**结论:各论文的成功率表对"左右绕柱"这类风险几乎没有证据力。** 真正有针对性的证据只有 COT(two-moons、fork、Maze 多路径、真机 Push-T 顺/逆时针)、CP(Push-T 模态丢失)和 Shortcut(Push-T/Transport 轨迹图,定性)。
+3. **【推断】任何连续的一步映射 G(z|o) 都会把少量质量落在两个模态之间。** z 服从高斯分布,支撑集是连通的;连续映射的像也必然连通,所以总会有一部分噪声被送进"缝隙",也就是穿柱区域。方法之间的差别只在于这部分质量有多小、边界有多陡。因此无论选哪种方法,**运行时都应该批量采 K 个噪声,用解析胶囊距离筛掉碰撞样本**,后训练也应该专门把边界样本推离立柱。
+
+---
+
+### 2. 逐篇精读
+
+#### 2.1 MP1 — MeanFlow Policy(arXiv 2507.10543,v5,AAAI'26)
+URL:https://arxiv.org/html/2507.10543
+- **方法**:用 MeanFlow 学习区间平均速度 u(z,r,t),通过 MeanFlow Identity 构造带 stop-grad 的回归目标(需要 JVP),推理时 A0 = A1 − u(A1,0,1)。同时加 CFG(ω 混合有/无条件速度),并在 U-Net 下采样块上加 Dispersive Loss(λ=0.5,τ=1)(§Method,式 1–8)。
+- **teacher**:不需要,从头训练。
+- **NFE**:1。
+- **延迟/硬件**:平均 6.8 ms,RTX 4090,其中 Adroit Hammer 7.1±0.2 ms;FlowPolicy 12.6 ms,DP3 132.2 ms(Table 2)。注意这是含点云编码器的延迟。
+- **多模态证据**:**没有**任何双峰测试,也没讨论模态平均。Dispersive Loss 针对的是"表征塌缩"(不同状态映射到相近特征),不是动作模态塌缩。【推断】CFG(ω>1)本身有锐化、削减多样性的倾向。
+- **低维状态结果**:没有。输入为点云 + 状态,Adroit/Meta-World 共 37 任务,平均 78.9%(Table 1)。
+- **训练成本/稳定性**:需要 JVP。flow ratio=1.0(全部 r≠t)时平均成功率塌到 2.4%;ratio=0(退化为 FM)为 72.6%,0.5 最好,为 82.4%(Table 4)。第三方报告:OFP §4.2 称 MP1 训练"high variance and frequent loss spikes",OFP Fig.4 显示 MP1 在 150 条示教时性能下降。
+- **代码**:https://github.com/LogSSim/MP1 (已确认仓库存在,含代码目录)。
+
+#### 2.2 OFP — One-Step Flow Policy(arXiv 2603.12480v1,2026-03)
+URL:https://arxiv.org/html/2603.12480
+- **方法**:不用外部 teacher,用 EMA 自蒸馏学习区间平均速度。目标为 û=(ẑ_r − z_t)/(r−t),只用前向、不需要 JVP,并配合"时间收缩"课程(§3.1,式 4–6)。另加 FM 边界锚定损失(式 7),以及基于 CFG 的 self-guidance(只用 CA 项,§3.2,式 12–13)。推理时用上一个 chunk 未执行的后缀做 warm-start,t_w=0.15(§3.3)。
+- **teacher**:不需要,用的是 EMA 自身。
+- **NFE**:1,也支持 4 等多步(Table 3)。
+- **延迟**:每个 chunk 17.58 ms;DP3(100 步)3225.67 ms,FM(100 步)1865.72 ms(§4.2)。**推理硬件【未核实】**,全文只写了训练用单卡 A100(App. B.3)。warm-start 使它略慢于 OneDP/MP1。
+- **多模态证据**:**没有**双峰测试。只有论述:"CP 的轨迹匹配目标偏 mode-covering,会平均多模态;OneDP 的 score distillation 偏 mode-seeking,会降低多样性"(§1、App. E.2)。消融里只用 SCT 时 NFE=1 为 68.7%,作者解释为"one-step predictions often average over multiple valid modes"(App. D.1,Table 6),加 SGR 后升到 71.4%。**风险信号**:λ_sg=0.5 时 "forcing the model into mode collapse",SR 降到 68.7%,最优是 0.05(Table 7c)。warm-start 的 t_w 过大(0.75)会"heavily suppress necessary generative randomness"(Table 7d)。
+- **低维状态结果**:没有。输入为 2D 图像 + 24/32 维本体状态,或点云(App. B.1)。56 任务 3D 平均 71.6%,DP3(100 步)为 66.4%(Table 2)。2D 7 任务为 68.3%(Table 1)。
+- **训练成本/稳定性**:用子批策略,p_sc=0.2、p_sg=0.1(Table 7a)。A100 上 3000 epoch,batch 64,主干 DiT 12 层/768 维(App. B.2–B.3)。作者声称比 MeanFlow 稳定,但**没有**给出内存/时长数字。只有仿真,没有真机(§6 Limitation)。
+- **代码**:全文**没有**找到代码链接,GitHub 搜索也无结果。
+
+#### 2.3 OMP — One-step MeanFlow Policy with Directional Alignment(arXiv 2512.19347v3)
+URL:https://arxiv.org/html/2512.19347
+- **方法**:在 MP1 的基础上加方向对齐损失 L_DA = −log((cos α+1)/2),α 是预测平均速度与 v0=z_T−z_0 的夹角(§4.3.1,式 12)。另提供 DDE:用中心差分近似 du/dt,替代 JVP(式 14)。总损失 = MSE + λ_Disp·L_Disp + λ_DA·L_DA(式 13)。
+- **teacher**:不需要。
+- **NFE**:1。
+- **延迟**:只有 Fig.1 的 FPS 散点图,**没有具体 ms 数字【未核实】**。训练/测试在 RTX 4090(§5.1)。
+- **多模态证据**:**没有**。理论部分讨论的是"频谱偏置"和"低速区梯度饥饿",不是模态问题。**【推断】隐患**:L_DA 是对逐样本条件目标做余弦对齐。在双峰条件下,不同样本的目标方向相反,余弦损失的总体最优解并不等于边缘速度场(与 MSE 不同,余弦损失不满足"条件期望即最优"的性质),可能引入偏置。论文没有分析这一点。
+- **低维状态结果**:没有。输入为点云,平均 82.3%(JVP)/ 80.8%(DDE),MP1 为 78.9%(Table 1)。**数据可疑点**:Table 1 中 "OMP-JVP −L_DA" 一行与 MP1 一行逐项完全相同。
+- **训练成本**:JVP 与 DDE 的显存对比(Table 3):Adroit Hammer(H=4)6.60 vs 5.35 GB;Place Bottle(H=16)26.71 vs 19.19 GB。DDE 平均成功率掉 1.5 个点,Very Hard 任务上 77.8%→70.6%。作者证明 JVP 训练会使每层激活显存翻倍(App. B.3)。H=16 时 JVP 为 76.6%,DDE 为 78.2%(App. E.1,Table 5)。
+- **代码**:"Codes are included in our supplementary material"(App. D)。公开仓库**【未核实】**。
+
+#### 2.4 K-MF — Kinematic MeanFlow(arXiv 2610.00864v1,2026-10-01,投稿 ICLR 2027)
+URL:https://arxiv.org/html/2610.00864
+- **方法**:利用运动学恒等式 u_{t,r}=(1−λ)u_{t,c}+λu_{c,r},把 MeanFlow 的时间导数项拆成两个子区间项(式 5–7)。c 的取法有三种:随机、固定中点、或由一个 3 层 MLP 学出 λ=G_φ(t,r)(式 8)。仍用 JVP,两个子区间在 batch 维拼接后一次算完(§3.2 Implementation)。
+- **teacher**:不需要,支持从头训练,也支持微调 FM 预训练的 RFM。
+- **NFE**:1。
+- **延迟(GR00T-N1.6,3B)**:action head 在 L40 上 eager 28.0 ms(FM 为 109.3),compiled 6.2 ms(FM 19.1);在 Jetson Orin 上 eager 63.6 ms、compiled 23.3 ms(Table 5a)。
+- **多模态证据**:**没有**双峰测试。它关注的是 VLA 速度场后期"局部加速度"激增(t=1 处达初值 76 倍)以及跨样本发散(§1),属于训练稳定性问题。
+- **低维状态结果**:没有。GR00T/SimVLA 输入为图像 + 语言 + 本体状态。PointNav(COMPASS,Unitree G1)的输入模态**【未核实】**,FM 73.8% vs K-MF 74.0%(Table 3)。
+- **训练成本/稳定性(重要)**:原生 MeanFlow 在 GR00T 上不加梯度裁剪就 Fail;加裁剪后 6.5%;再加渐进时间采样和 60K 步才到 87.0%(NFE=2);**NFE=1 时 Fail**。MVP 在 NFE=1 时也 Fail;α-Flow NFE=1 为 84.5%(Table 1)。K-MF 训练时长比 FM 多 33%(GR00T)/27%(SimVLA),GR00T 峰值显存 53.7 GB(FM 35.6,MF 52.4)(Table 5b)。LIBERO 平均:GR00T 微调 97.9%(FM 4 步 97.3%);SimVLA 从头训练 95.1%(FM 10 步 94.2%)(Table 2)。
+- **代码**:https://github.com/IntelChina-AI/K-MF 。2026-10-17 检查时仓库只有 README 和 imgs,**代码尚未发布**。
+
+#### 2.5 DM1 — MeanFlow + Dispersive Regularization(arXiv 2510.07865v1,AAMAS 2026)
+URL:https://arxiv.org/html/2510.07865
+- **方法**:MeanFlow(JVP),把 4 种 dispersive 正则(InfoNCE-L2/Cos、Hinge、Covariance)加在多个中间嵌入层上(§3.3–3.4)。训练中 ρ=0.5 的样本强制 r=t(App. B.2)。
+- **teacher**:不需要。
+- **NFE**:1 或 5。
+- **延迟**:Franka 真机,RTX 2080 上网络推理 MF(1)=2.4 ms,MF(5)=10.5–13.8 ms,ShortCut(32) 约 77 ms,ReFlow(128) 约 306–313 ms(Table 3)。仿真里"0.07 s vs 2–3.5 s"是 50 个并行环境的总时间(§4.2.2)。
+- **多模态证据**:**没有**双峰测试。摘要和引言声称 dispersive 能"捕获多样多模态行为",但实验只有成功率和奖励。
+- **低维状态结果**:没有。输入为 ViT 图像 + 9 维本体状态(§4.3)。Robomimic 1 步(α_disp=0.1):Lift 0.975、Can 0.740、Square 0.350、Transport 0.280(App. D.0.1)。数据集为 DPPO 版的低质量数据,绝对值不能和 CP/OneDP 直接比较。**数据可疑点**:App. D 的文字有自相矛盾之处,例如 "decline from 0.700 at two steps to 0.775 at five steps"。
+- **训练成本**:只有复杂度论述(App. B.4),**没有**实测内存/时长。
+- **代码**:项目页 https://guowei-zou.github.io/dm1/ ,仓库 https://github.com/guowei-zou/dm1-release (已确认含代码目录)。
+
+#### 2.6 Consistency Policy(arXiv 2405.07503,RSS 2024)
+URL:https://arxiv.org/html/2405.07503
+- **方法**:先训练 EDM teacher,再用 CTM-local 目标(相邻 t,u,任意 s)加 DSM 损失蒸馏出学生(§III-B)。支持 1 步,或在 {t_{2N/3}, t_{N/3}} 处做 3 步 chaining(§III-C)。初始噪声用低方差 N(0,1/T²)。
+- **teacher**:**需要**预训练 EDM teacher(仅训练期需要,运行时不需要)。
+- **NFE**:1 或 3。
+- **延迟**:仿真在 P5000 上 1 步 1 ms、3 步 2 ms,DDPM 110 ms(Table III)。真机在 3070 Ti 笔记本 GPU 上总计 21 ms,其中网络 13.5 ms(Table IV、XI)。
+- **多模态证据(直接负面证据)**:§V Limitations 写道:"both the teacher EDM policy and Consistency Policy lose some of Diffusion Policy's multimodality, e.g., by favoring one side of the Push-T task over the other",原因归于 ODE 蒸馏是确定性的。Table VI:低方差初始噪声在 1 步时 0.92 vs 0.90;作者自己也承认高方差的好处是"expressivity and multimodality"。
+- **低维状态结果(有)**:Push-T(state)1 步 0.82、3 步 0.84,DDPM 为 0.87(Table I);Franka Kitchen(state)1 步 p4=0.93,DDPM 为 0.98(Table II)。
+- **训练成本/稳定性**:"slightly less stable during training than Diffusion Policy",需要更长训练,每步还要跑 teacher(§V)。CTM 比 CTM-local 慢 40% 以上(A5000)(§IV-D)。dropout 0.2 很关键,去掉 s→0 段的 dropout 后从 0.92 降到 0.86(Table IX)。不用 teacher 的 CT 版本在 Square 上只有 0.55(Table X)。
+- **代码**:https://github.com/Aaditya-Prasad/consistency-policy (已确认存在)。
+
+#### 2.7 OneDP — One-Step Diffusion Policy(arXiv 2410.21257)
+URL:https://arxiv.org/html/2410.21257
+- **方法**:在整条扩散链上最小化生成器分布与预训练 DP 分布的反向 KL(类似 SDS/VSD),配一个辅助生成器 score 网络(式 4–6)。OneDP-S 带噪声输入(随机策略);OneDP-D 不带噪声(确定性,等价于 Dirac 分布)。
+- **teacher**:**需要**预训练 DP,以及一个额外的 score 网络;三者都从 DP 权重初始化。
+- **NFE**:1。
+- **延迟**:真机在 V100 上动作生成 7 ms + 观测编码 9 ms;DDIM-10 为 66 ms,DDPM-100 为 660 ms(Table 5)。
+- **多模态证据**:**没有**双峰测试。作者主动选择了 mode-seeking:"reverse KL divergence typically induces mode-seeking behavior"(§2 Distillation Discussion)。【推断】OneDP-D 是确定性映射,按定义就没有多模态。OneDP-S 理论上可以保留,但反向 KL 天然倾向丢模态,OFP §1 也这么评价。
+- **低维状态结果**:没有。全部为视觉输入:Robomimic + PushT(图像)。DDPM 设定下 OneDP-S 平均 0.843,DP 为 0.829(Table 1);EDM 设定下 OneDP-S 为 0.830,CP 1 步(450 ep)为 0.672(Table 2)。
+- **训练成本**:只需在 DP 预训练的基础上额外花 2%–10%(20 epoch,CP 为 450 epoch)(§1、§3.1)。网络规模:仿真 DDPM 256M、EDM 67M(App.)。
+- **代码**:全文**没有**找到链接,GitHub 搜索无果**【未核实】**。
+
+#### 2.8 COT Policy — Conditional OT Couplings(CoRL 2025,PMLR v305 sochopoulos25a;arXiv 2505.01179)
+URL:https://raw.githubusercontent.com/mlresearch/v305/main/assets/sochopoulos25a/sochopoulos25a.pdf 、https://arxiv.org/html/2505.01179v1
+- **方法**:对每个 minibatch 计算 OT 配对,代价为 ‖x0−x1‖² + ‖γ(c0−c1)‖²(式 4),其中噪声侧的条件 c0 是 c1 的随机置换。连续观测先 PCA 降维,再用 K-means 离散化(K≈batch size,默认 64)。之后做普通 CFM 训练(Alg. 1),推理用 midpoint 2 步或 Euler 1 步。
+- **teacher**:不需要,单阶段训练。
+- **NFE**:1–2。主表用 midpoint,NFE=2。
+- **延迟**:摘要称"10× speed-up compared to Diffusion Policy"。全文**没有给出 ms 数字【未核实】**。真机推理用 RTX 2080(App. C.4)。
+- **多模态证据(最强、最相关)**:
+ - two-moons/fork(y=U{x,−x})低维任务:COT-CFM 在 NFE=1 时 W2²=0.345,CFM 1.490,OT-CFM 0.777(Euler);且只有 COT 在 NFE=1 时能还原出两个月牙。**CFM 1 步 ≈ 条件均值**(App. D.1,Table 5,Fig. 1/8)。
+ - Maze2D:起点和终点都固定,q 值加噪声后得到多条路径。这和"左右绕柱"同构。Fig. 3 显示 COT 在 NFE=1/2 下都能覆盖多条路径,Trajectory Variance 高于 CFM(§3.2)。**只有图,没有表格数值【定量部分未核实】**。
+ - 真机 Push-T:NFE=1 Euler 能同时复现顺时针和逆时针两种推法(App. C.3,Fig. 7)。
+ - 反例:朴素 OT-CFM(不考虑条件)会得到有偏样本(Fig. 1)。K 太小时退化成 OT-CFM(Fig. 4)。
+- **低维状态结果**:two-moons/fork 是纯低维(4×64 SELU MLP,App. B.1)。Maze2D 的输入模态**【未核实】**。MimicGen/push-t 用图像。6 任务平均:COT(NFE=2)0.818 vs DP DDIM(NFE=20)0.781,CFM(NFE=2)0.790(Table 1)。
+- **训练成本**:与 CFM/DP 相同,收敛速度也相近(Fig. 5)。OT 用 EMD。PCA 特征向量矩阵会占显存(App. B.2)。作者承认的局限:K 需要调;高维时低 NFE 与高 NFE 仍有差距(§5)。
+- **代码**:https://github.com/ansocho/cot_policy (已确认存在)。
+
+#### 2.9 Shortcut Models(Frans et al., arXiv 2410.12557, ICLR 2025)及其在 ReinFlow(arXiv 2505.22094)中的用法
+URL:https://arxiv.org/html/2410.12557 、https://arxiv.org/html/2505.22094
+- **方法**:网络同时以步长 d 为条件。d=0 时就是 FM 损失;d>0 时用自洽目标 s(x_t,t,2d)=½s(x_t,t,d)+½s(x'_{t+d},t+d,d) 做 bootstrap(Shortcut §3,式 4–5)。batch 中 k=1/4 的样本做自洽,其余做 FM。ReinFlow 在流轨迹中注入可学习噪声,把它变成离散时间马尔可夫过程,得到精确似然,再用 PPO 微调;微调后丢掉噪声网络(ReinFlow §4.1–4.3)。
+- **teacher**:不需要,单网络、单阶段。不需要 JVP,自洽目标只需额外两次前向。
+- **NFE**:任意,1/2/4 均可。ReinFlow 在 Can/Square 上用 1 步,在 Transport 上用 4 步(ReinFlow §5.2)。
+- **延迟**:两篇论文都**没有给出 ms**。ReinFlow 只给出每次迭代的 wall-time,在 RTX 3090 上测(ReinFlow App. D,Table 3)。
+- **多模态证据**:Shortcut Fig. 7 的说明称"Shortcut models can represent multimodal policies in a similar manner as diffusion policies"。1 步结果:Push-T 0.87、Transport 0.80;DP 1 步为 0.12/0.00(§5.5)。**只有定性轨迹图,没有双峰统计**。作者自承局限:"the mapping between noise and data is entirely dependent on an expectation over the dataset",且 1 步与多步之间仍有差距(§6)。
+- **低维状态结果**:ReinFlow 中 Franka Kitchen(state 输入)用 Shortcut 策略,参数仅 0.16M actor;同时测了 K=1/2/4 的 RL 微调(App. Table 2、Fig. 13,**只有曲线【数值未核实】**)。Gym 运动控制任务(state)用的是 1-ReFlow 策略,0.55–0.80M 参数。
+- **训练成本**:约比扩散模型多 16% 计算(Shortcut §3 脚注)。若自洽损失不稳定,可降低其占比;推荐使用非零 weight decay(§6 Best practices)。ReinFlow 的稳定性技巧:裁剪 log-ratio(state 任务 ε=0.01)、裁剪去噪动作、critic warm-up(ReinFlow App. D.2)。
+- **代码**:https://github.com/kvfrans/shortcut-models 、https://github.com/ReinFlow/ReinFlow (均已确认存在)。
+
+#### 2.10 FreqPolicy(NeurIPS 2025,arXiv 2506.08822v2)
+URL:https://arxiv.org/html/2506.08822v2
+- **重名提醒**:NeurIPS 2025 有两篇 FreqPolicy。另一篇是 arXiv 2506.01583 "Frequency Autoregressive Visuomotor Policy"(4DVLab),属于自回归方法,不是一步生成器。本文按"一步/少步"的范围评估 2506.08822。
+- **方法**:FM 损失之外,加一项频域一致性损失:在两个任意时刻 s,r 的速度上做 type-II DCT 后对齐(§3.3,式 9–14),并按频段方差自适应加权。
+- **teacher**:不需要。
+- **NFE**:1。
+- **延迟**:真机在 RTX 4090 上 93.5 Hz(约 10.7 ms),DP 19.8 Hz,FM 20.2 Hz(§4.2)。OpenVLA 头为 6.05 Hz(Table 3)。
+- **多模态证据**:**没有**双峰测试。
+- **低维状态结果**:没有。输入为图像、点云或 VLA。Robomimic(图像)1 步:Can 0.98、Square 0.92、Transport 0.90、ToolHang 0.85(Table 1)。3D 53 任务平均 78.5%(Table 2)。消融里 vanilla FM 1 步为 0.94/0.90/0.84/0.76(Table 4),见 §1 第 2 点。
+- **训练成本**:每个样本需要两次前向,"demands more computational resources"(§5 Limitation)。在单卡 A100 上训练(App. A.3)。
+- **代码**:全文**没有**找到官方链接,GitHub 搜索只命中重名的另一篇**【未核实】**。
+
+---
+
+### 3. 汇总对比表(原文数据)
+
+| 方法 | 需要 teacher | NFE | 延迟(硬件,出处) | 多模态证据 | 低维状态实验 | 训练风险 | 代码 |
+|---|---|---|---|---|---|---|---|
+| MP1 | 否 | 1 | 6.8 ms,4090,含点云编码(T2) | 无 | 无 | JVP;他人报告 loss 尖峰 | 有 |
+| OFP | 否(EMA) | 1/多 | 17.58 ms,硬件未说明(§4.2) | 无;SGR 过强会塌缩(T7c) | 无 | 无 JVP;超参多 | 未找到 |
+| OMP | 否 | 1 | 无 ms(Fig.1) | 无;余弦损失存疑【推断】 | 无 | JVP 显存表(T3);DDE −1.5pt | 附录补充材料 |
+| K-MF | 否 | 1 | AH 6.2–63.6 ms,L40/Orin,3B(T5a) | 无 | 无(PointNav 模态未核实) | MF 1 步 Fail(T1);+27–33% 时长 | 仅 README |
+| DM1 | 否 | 1/5 | 2.4 ms,2080(T3) | 无(仅声称) | 无(9 维本体 + 图像) | JVP;文中数字自相矛盾 | 有 |
+| CP | **是** | 1/3 | 1 ms,P5000;21 ms,3070Ti(T3/T11) | **负面**:Push-T 偏向一侧(§V) | **有**:Push-T 0.82,Kitchen p4 0.93 | 比 DP 不稳;训练更久 | 有 |
+| OneDP | **是**(+score 网络) | 1 | 7 ms,V100(T5) | mode-seeking(自述);D 版确定性 | 无 | +2–10% 预训练成本 | 未找到 |
+| COT | 否 | 1–2 | 无 ms;"10×" | **最强**:two-moons/fork/Maze/真机 Push-T | 合成低维有;Maze 模态未核实 | 同 CFM;K 需调 | 有 |
+| Shortcut(+ReinFlow) | 否 | 1/2/4 | 无 ms | 定性(Fig.7) | **有**:Kitchen state 0.16M(仅曲线) | +16%;可 RL 微调 | 有 |
+| FreqPolicy | 否 | 1 | ~10.7 ms,4090(§4.2) | 无 | 无 | 2× 前向 | 未找到 |
+
+---
+
+### 4. 针对本项目的裁决表
+
+评分:✅ 合适 / ⚠️ 有条件 / ❌ 不合适。所有评价都对照 §0 的设定。
+
+| 方法 | 无 teacher 运行 | 训练可行性(3090,5M) | 浏览器 ONNX(1 网络,单/少次前向) | 多模态保真(左右绕柱) | 与 APG 后训练的契合 | 总评 |
+|---|---|---|---|---|---|---|
+| **Shortcut** | ✅ | ✅ 无 JVP,+16% | ✅ 需额外输入 d | ⚠️ 只有定性证据;1 步与多步有差距 | ✅ 1 步时梯度直通;ReinFlow 证明可 RL 微调 | **首选骨架** |
+| **COT 耦合** | ✅ | ✅ 低维条件可直接 K-means,不需要 PCA【推断】 | ✅ 与普通 FM 结构相同 | ✅ 唯一有直接双峰证据 | ✅ 与骨架正交 | **首选插件**(训练时加在 Shortcut/MF 上)【推断:两者组合在原文中没有实验,只在 COT §5 中作为未来方向提到】 |
+| OFP | ✅ | ✅ 无 JVP,但超参多 | ✅;warm-start 需维护状态 | ⚠️ 无测试;SGR 有塌缩风险 | ✅ | 次选。只借鉴 warm-start 和 FM 锚定,SGR 关闭或 λ≤0.05 |
+| MeanFlow(MP1/DM1) | ✅ | ✅ 在 5M MLP 上 JVP 显存不是问题【推断】,但有稳定性报告(OFP §4.2、K-MF T1) | ✅ | ⚠️ 无测试;CFG 可能锐化掉一个模态【推断】 | ✅ | 备选 |
+| OMP | ✅ | ✅ | ✅ | ⚠️ 余弦对齐在双峰下可能有偏【推断】 | ✅ | 不建议直接采用 L_DA |
+| K-MF | ✅ | ⚠️ 为 3B VLA 设计,代码未发布 | ✅ | ⚠️ 无测试 | ✅ | 只在 MeanFlow 训练不稳时借鉴中点分解 |
+| FreqPolicy | ✅ | ✅(2× 前向) | ✅ | ⚠️ 无测试 | ✅ | 可作为平滑正则的辅助项(16 步 chunk 的 DCT) |
+| CP | ✅(训练需 teacher) | ⚠️ 两阶段,较不稳定 | ✅ | ❌ 原文自述丢模态 | ⚠️ | 不推荐 |
+| OneDP | ✅(训练需 teacher + score 网络) | ⚠️ 两阶段 | ✅ | ❌ mode-seeking / 确定性版本 | ⚠️ | 不推荐。【推断】若只关心"不平均",mode-seeking 反而不会穿柱,但会失去左右选择能力,且闭环中可能左右跳变 |
+
+---
+
+### 5. 排名推荐
+
+1. **Shortcut Model 骨架 + COT 条件耦合 + FM 锚定(d=0),NFE=1,必要时用 2 步。**
+ - 理由:不需要 teacher,不需要 JVP,单阶段训练,开销约 16%。同一个网络支持 1/2/4 步,可以按浏览器实测延迟取舍。ReinFlow 已在低维 state 任务(Kitchen,0.16M)上用它做过 RL 微调。COT 是唯一用双峰任务(fork、two-moons、Maze 多路径)证明"1 步不取均值"的方法,而且训练成本与 CFM 相同。
+ - 低维 60 维状态可直接做 K-means(K≈batch),γ 按 COT App. E.1 选。【推断】最好把"同一状态下的左右样本"放进同一簇,这样 OT 才能把噪声空间按模态切开。
+2. **OFP 式自蒸馏(前向一致性 + FM 锚定 + warm-start)**,作为 1 的替代或补充。
+ - 【推断】warm-start(上一 chunk 后缀加噪,t_w≈0.15)对 50 Hz 闭环特别有价值:它让相邻决策沿用同一模态,抑制左右跳变。但这只是推断,论文没有测模态一致性。
+ - SGR 建议关闭,或 λ≤0.05,因为原文 λ=0.5 时出现模态塌缩。
+3. **MeanFlow(MP1 配方,不加 CFG,或 ω=1)**。在 5M 规模上 JVP 成本可接受。若出现 loss 尖峰,可以借鉴 K-MF 的中点分解,或 OMP 的 DDE。
+4. **FreqPolicy 的 DCT 一致性**:只作为辅助正则(降低 chunk 抖动),不单独作为主方法。
+5. **不推荐:CP、OneDP**。都依赖 teacher 训练,且分别有模态丢失(CP 原文自述)和 mode-seeking(OneDP 自述)。
+
+**无论选哪种方法都应加上的工程措施【推断,均未在上述论文中验证】:**
+- **运行时多样本 + 解析碰撞筛选**:把 K 个噪声(如 8–32)打成一个 batch 做一次前向,用可微胶囊距离挑出无碰撞且代价最小的样本。这直接针对 §1 第 3 点(连续映射必然有样本落入缝隙)。
+- **模态一致性**:在一次绕柱过程中锁定噪声,或使用 warm-start,避免每 20 ms 重采样时左右翻转。
+- **APG 后训练时保住双模态**:只对 reward 求梯度会把整个分布推向单一模态。必须保留 FM/BC 锚定损失(类似 OFP 式 7、ReinFlow 的 W2/熵正则),并分别监控左/右样本比例。理想情况下,APG 应只把"缝隙样本"推离立柱(锐化分界),而不是改变左右比例。
+- **专门的多模态评估**:成功率不够(见 §1 第 2 点)。应在同一状态下采 N 个样本,统计左/右/穿柱三类比例,以及立柱附近状态的最小胶囊距离分布。
+
+---
+
+### 6. 明确的不确定项
+
+1. 没有任何一篇论文在**低维状态 + 已知几何障碍 + 双峰绕行**的设定下给出定量的"穿越率/模态比例"。COT 的 Maze 证据最接近,但只有图,输入模态也未核实。
+2. 所有论文的模型规模都远大于 3–5M(OFP DiT 768×12;CP/OneDP 67–256M;COT 约 240M U-Net)。只有 ReinFlow 的 state 任务(0.16–0.8M)接近我们的规模。小模型能否学出陡峭的模态边界**未知**。
+3. 浏览器 ONNX 延迟:所有数字都来自 GPU,**没有** WASM/WebGPU 数据。5M 参数单次前向在浏览器里大约需要几毫秒【粗略推断】,必须实测。
+4. OFP 的推理硬件、OMP 和 COT 的 ms 延迟、OneDP/OFP/FreqPolicy 的代码、K-MF 的代码(尚未发布)均**未核实或不可得**。
+5. Shortcut 与 COT 组合、warm-start 抑制模态跳变、APG 下的模态保持,都是**推断**,没有文献实验。
+6. 数据质量疑点:OMP Table 1 有一行与 MP1 完全相同;DM1 附录文字自相矛盾;OFP 只有仿真结果。
+7. 各论文基准不同(Robomimic 的 ph/mh 数据、DPPO 低质量数据、点云 vs 图像),跨论文的成功率数字**不可直接比较**。
+
+---
+
+### 7. 实际抓取的来源 URL
+
+- https://arxiv.org/html/2507.10543 (MP1)
+- https://arxiv.org/html/2603.12480 (OFP)
+- https://arxiv.org/html/2512.19347 (OMP)
+- https://arxiv.org/html/2610.00864 (K-MF)
+- https://arxiv.org/html/2510.07865 (DM1)
+- https://arxiv.org/html/2405.07503 (Consistency Policy)
+- https://arxiv.org/html/2410.21257 (OneDP)
+- https://raw.githubusercontent.com/mlresearch/v305/main/assets/sochopoulos25a/sochopoulos25a.pdf (COT,PMLR 版全文)
+- https://arxiv.org/html/2505.01179v1 (COT,arXiv 版)
+- https://arxiv.org/html/2410.12557 (Shortcut Models)
+- https://arxiv.org/html/2505.22094 (ReinFlow)
+- https://arxiv.org/html/2506.08822v2 (FreqPolicy)
+- GitHub 存在性检查:LogSSim/MP1、guowei-zou/dm1-release、Aaditya-Prasad/consistency-policy、ansocho/cot_policy、kvfrans/shortcut-models、ReinFlow/ReinFlow、IntelChina-AI/K-MF(仅 README)
+- proceedings.mlr.press/v305/sochopoulos25a 摘要页通过搜索结果确认;全文使用上面的 PMLR PDF。
+
+本地提取的全文文本:/workspace/work/out/survey/src/*.txt(同目录下另有其他任务的文件,与本报告无关)。
+
+
+---
+
+# 三、代价引导与实时动作块(RTC)
+
+## 代价引导扩散运动规划 + 实时分块(RTC)文献精读与对我方设定的评估
+
+> 撰写:2026-10-17。全部结论来自下列已抓取的全文(HTML/PDF),引用均标注论文章节/表号。
+> 标记约定:**[原文]** = 论文直接给出的数字/陈述;**[推断]** = 我基于原文对我方设定做的推理,论文未直接验证;**[未验证]** = 未抓取全文或论文中仅有图、无可读数值。
+
+### 0. 我方设定(评估基准)
+6-DOF 机械臂;固定且精确已知的环境(一根立柱,胶囊体碰撞模型,解析距离);低维状态;闭环 50 Hz;动作块 H=16 步(320 ms);每周期提交 s=3 步(60 ms 重规划一次);浏览器端推理;生成器计划 1 步或少步;运行时无教师/规划器;精确安全层校验已提交步。
+
+### 1. 已抓取的来源
+| 论文 | URL |
+|---|---|
+| MPD (IROS'23) 2308.01557 | https://arxiv.org/pdf/2308.01557 |
+| MPD 期刊版 2412.19948 (v3) | https://arxiv.org/html/2412.19948 |
+| EDMP 2309.11414 | https://arxiv.org/html/2309.11414 |
+| GPD 2501.18229 | https://arxiv.org/html/2501.18229 |
+| CAMPD 2510.14615 (v2) | https://arxiv.org/html/2510.14615 |
+| DiffusionSeeder 2410.16727 | https://arxiv.org/html/2410.16727 |
+| RTC 2506.07339 (v2) | https://arxiv.org/html/2506.07339 |
+| Training-time RTC 2512.05964 (v2) | https://arxiv.org/html/2512.05964v2 |
+| BID 2408.17355 (v4) | https://arxiv.org/html/2408.17355 |
+| ACT 2304.13705 | https://arxiv.org/pdf/2304.13705 |
+
+未抓取、仅在检索结果中出现(**[未验证]**):Soft RTC / "Action-Prior Denoising for Smooth Real-Time Chunking"(alphaxiv 2605.25537,据摘要把训练时 RTC 的二值前缀推广为连续权重窗口);FutureRTC(2607.24008);VLASH(2512.01031)、A2C2(2509.23224,训练时 RTC 论文 §II 提及:分别用"单个未来动作条件"和"轻量校正头"解决块间不连续)。
+
+---
+
+### 2. 代价引导扩散运动规划
+
+#### 2.1 各方法要点与关键数字
+
+**MPD(IROS'23,2308.01557)**
+- 算法(§III-D, Alg.1):每个去噪步先算先验均值 μ_t,再在 μ_t 处加代价梯度 g=−Σλ_i∇c_i,**丢弃协方差 Σ_t 缩放**(否则 t→0 时引导消失)。训练/推理 **25 个扩散步**(§IV-A "trained for 25 diffusion steps")。
+- 结果(Table I,100 个上下文×每上下文 100 条轨迹,RTX 3090;S = 批内至少一条无碰撞):
+ - Panda Spheres(训练环境):DPrior 0.3 s / S 88% / 碰撞航点比 I 11.5% → MPD 1.1 s / S 100% / I 1.2%。
+ - Panda Spheres-Extra Obstacles(新障碍):DPrior 0.3 s / 78% / I 23.9% → MPD 1.1 s / 93% / I 12.5%;CVAE-Posterior(先采样后优化)0.8 s / 45%。
+ - Panda Shelf(训练环境):DPrior 100%/I 3.6% → MPD 100%/I 0.6%。
+ - PointMass3D Maze-Extra:DPrior 51% → MPD 82%(I 14.8%→3.1%)。
+ - 代价:引导使时间约 0.3 s → 1.0–1.1 s(≈3.5×),作者称主要开销在代价梯度而非网络(§IV-B)。
+- 真机(§IV-C):25 条无碰撞规划执行后 19/25 无碰撞,归因于球体碰撞近似误差。
+
+**MPD 期刊版(2412.19948)**
+- B 样条控制点空间扩散;**DDIM 15 步 + 二次时间表**;**只在最后 i_cost=3 步施加代价梯度,每步 M=4 次内梯度步,共 12 次代价梯度步**;用信赖域 δ=0.15 约束偏离先验均值(式 15),λ_prior∈[0.25,0.5](附录 B)。作者原话:高噪声水平下"this gradient produces little effect",所以只在末段引导(§III-F)。
+- 延迟(§IV-D, Fig.7):EnvSpheres3D-Panda,100 条轨迹总计 ≈0.56 s,其中扩散采样仅 0.057 s(≈3.8 ms/次网络前向),**其余几乎全是代价梯度**。
+- 新障碍下有效轨迹占比(§IV-D):EnvWarehouse-Panda,Dprior 18.4% → MPD 73.5%;vs 无信息 GP 先验+代价(≈CHOMP)成功率 67.8% → 96.0%。
+- **"先采样再优化"对照(与我们的"事后梯度投影"最接近)**:基线 Dprior+Cost 使用**相同数量**的代价优化步(§IV-B)。真机 Table I:Dprior 成功 0%;Dprior+Cost 成功 100%、有效占比 37.0%、多样性 27.95;MPD 成功 100%、有效占比 78.0%、多样性 59.50。§IV-E/Fig.11 解释:轨迹大段已在障碍内时,事后梯度"更难把它移出碰撞"。
+- 局限(§V):提到可用"每步投影到安全流形"替代分类器式引导,但"projection can be computationally expensive"——未实验。
+
+**EDMP(2309.11414)**
+- 在 MPD 基础上用 **12 个代价函数集成**(5 个相交体积 + 7 个扫掠体积),并行跑多条引导扩散,取最小碰撞代价(§III, Alg.1)。GPD 论文指出 EDMP 使用 T=256 去噪步(GPD §IV)。
+- 结果(Table I/II,MπNets 测试集,成功率%):EDMP Global/Hybrid/Both = 75.93/86.13/85.06;对比 MπNets(Hybrid 训练) 75.78/95.33/95.06。Table III:单引导平均 79.25% vs 集成 89.30%。
+- 失效模式(§III):SDF 型碰撞代价"在起终点之间有窄架子时挣扎";需"障碍膨胀"技巧才能诱出回撤行为(Fig.3)——即**局部极小值、需手工调代价**。
+
+**GPD(2501.18229)**
+- 在 Bernstein 系数(8 个控制点)空间扩散,梯度经 Bᵀ 预条件(式 5)使整条轨迹"像拉绳子一样"整体移动;T=64(EDMP 为 256)。
+- Table I(单代价引导,成功率% Global/Hybrid/Both,时间):PD(无引导多项式先验)32.11/40.38/41.54,0.22 s;MPD 51.33/62.27/67.12,7.32 s;EDMP-1G 53.11/66.50/68.88,7.95 s;**GPD-1G 65.50/72.89/73.00,0.8 s**。→ 在同一参数化下,引导比无引导 +33 个百分点(Global),延迟 ×3.6。
+- Table II:GPD-7G 81.94/90.88/90.24(0.85 s);GPDS(单引导+RRT-Connect 拼接)87/92.83/92.61(1.9 s);单独 RRT-Connect 83.33/90.83/90.60(7.14 s)。
+- 失效模式(§III-B, Fig.3):航点空间引导只把个别航点推出碰撞,整条轨迹仍不可行;高噪声步的引导被去噪"拉回先验"所压倒。
+
+**CAMPD(2510.14615)——反例:不用代价引导**
+- 无分类器引导(CFG),以障碍参数(球/长方体的位置尺寸)通过注意力条件化,无代价梯度(§III)。附录:T_train=25;DPM-Solver++ 推理仅 **T_inf=3 步**;输出加高斯滤波。
+- Table I(随机球环境,100 条/批):0.066 s / 批,S 97.5%(w=1),可行轨迹率 FTR 79.4–82.8%;对比 MPD 3.165 s、S 80.7%、FTR 59.6%(部分随机球)。CFG 强度 w=5 时 FTR 降到 67.9%、平滑性变差(**过强引导→离流形**)。
+- Table II(MπNet 测试集,N_batch=12):DDPM 25 步 成功 90.7%(7+20 ms,IK+规划);**DPM-Solver++ 3 步 w=1/2/5:86.9%/87.6%/78.9%(8+5 ms)**;N_batch=64:DDPM 98.3%,3 步 96.2%/97.2%/93.3%(8+7 ms);cuRobo 92.0%(N=12, 26 ms)/93.8%(N=64, 111 ms)。→ **少步(3 步)条件化生成器比 25 步只掉 ~1–4 个百分点**。
+
+**DiffusionSeeder(2410.16727)——扩散出种子 + 事后优化**
+- 深度图条件 DDPM,**DDIM 5 步**、12 条种子,6 ms(RTX 4090,含 ViT);然后 cuRobo 优化 N_iters 次(§4.3, §5)。
+- Table 1(部分观测):25 次迭代 85.1% / 15 ms 规划;50 次 85.8%;475 次 86.2%;cuRobo-100 77.9% / 207 ms。
+- **附录 7.8.3:在环代价引导(k=60, n=20 步/时刻,扫参最优)只把成功率从 80.6% 提到 81.1%**;作者解释:条件化模型已输出低代价区域的种子。
+- **附录 7.8.9(无优化器)**:纯扩散输出无碰撞率仅 ≈38%,最大 jerk ≈270 rad/s³,经 cuRobo 优化降到 ≈106。→ 事后优化是主要"纠错"手段。
+- 分布外(附录 7.8.1,窄通道):DiffusionSeeder 与 cuRobo 同为 52.4%。
+
+#### 2.2 问题逐条回答
+
+**Q1:1–2 步去噪时代价引导还有效吗?**
+- **[原文] 没有任何一篇在 1–2 步下测试过代价引导。** 最少的是:MPD 期刊版 15 步 DDIM 且只在最后 3 步引导(每步 4 次内梯度),DiffusionSeeder 5 步(引导仅 +0.5 pt),CAMPD 3 步但用的是 CFG 不是代价梯度,RTC 用 5 步(是前缀修复引导,不是碰撞代价)。
+- **[原文] 少步会让梯度引导变得不稳定**:RTC 附录 A.2——n=5 时引导权重 β 过大导致动作块发散、最大加速度上升(Fig.7),β 需夹到 5;作者明说图像修复常用 n=100,控制里 n=5 才需要夹紧。GPD/MPD 都说高噪声阶段的梯度基本无效。
+- **[推断]** 在 1 步生成器上,"引导"在数学上退化为:一次网络前向 + 在输出(或其 x̂₁ 估计)上做若干梯度步——等价于事后梯度投影;在 2 步时,只有第二步之前一次机会,与 MPD"仅末段 3 步引导、每步多次内迭代"的有效方案在结构上相同,即本质上也是"先验输出 + 局部优化"。所以对我们而言,"1–2 步 + 引导"与"1 步 + 事后投影"区别很小,选后者更简单。
+
+**Q2:相对无引导提升多少,代价多少延迟?**
+| 来源 | 无引导 | 有引导 | 延迟 |
+|---|---|---|---|
+| MPD-IROS Panda Spheres(训练环境) | S 88%, I 11.5% | S 100%, I 1.2% | 0.3→1.1 s / 100 条 |
+| MPD-IROS Panda Spheres + 新障碍 | 78%, I 23.9% | 93%, I 12.5% | 同上 |
+| MPD-期刊 Warehouse + 新障碍 | 有效 18.4% | 73.5% | 0.56 s,其中网络 0.057 s |
+| GPD(MπNets Global) | PD 32.11% | GPD-1G 65.50% | 0.22→0.8 s |
+| EDMP 集成 vs 单引导 | 79.25%(单) | 89.30%(12 个) | EDMP 8.22 s(GPD Table II) |
+| DiffusionSeeder(条件化模型) | 80.6% | 81.1% | 在环引导 n=20/步,额外开销未报 |
+| CAMPD(无代价引导) | — | 3 步 86.9–87.6% vs MPD 慢 ~48× | 66 ms vs 3.165 s / 100 条 |
+**规律 [原文+推断]**:引导的增益在"先验不知道障碍"(新障碍、分布外)时大(+15~+55 pt),在"先验已被环境条件化/训练环境已覆盖"时小(DiffusionSeeder +0.5 pt;MPD 训练环境主要是把碰撞航点比从 11.5% 压到 1.2%)。我们的环境是固定的、训练数据可完全覆盖 → 属于后一类。
+
+**Q3:失效模式**
+- 局部极小:EDMP §III(SDF 代价在窄架子间失败,需障碍膨胀、多代价集成);MPD-期刊 §I(优化方法依赖初始化);GPD Fig.3(逐航点推不出整段碰撞)。
+- 离流形 / 分布偏移:MPD-期刊式 15 用 δ 信赖域"防止偏离先验太远导致分布偏移";RTC A.2:β 过大 → 发散、jerk ↑;CAMPD:CFG w=5 → FTR 82.8%→67.9%、平滑性变差。
+- 高噪声阶段引导无效、被先验压倒(MPD-期刊 §III-F;GPD §III-B)。
+- 未经优化的扩散输出动力学质量差:DiffusionSeeder 纯输出 jerk ≈270 rad/s³、无碰撞率 ≈38%(附录 7.8.9)。
+- 分布外场景无优势:DiffusionSeeder 窄通道 52.4% = cuRobo。
+
+**Q4:能否用"对输出块的事后梯度投影"替代引导?**
+- **[原文] 反对证据**:MPD-期刊 Dprior+Cost(同等梯度步数)真机有效占比 37% vs MPD 78%,多样性 27.95 vs 59.50;CVAE-Posterior(先采样后优化)在 Panda+新障碍仅 45% vs MPD 93%。原因:先验样本大段穿过**训练时不存在**的障碍时,事后梯度难以把它推出来。
+- **[原文] 支持证据**:DiffusionSeeder(环境条件化先验 + 事后优化 25–50 次)85–86%,在环引导几乎无增益;CAMPD 条件化 3 步无引导即达 87–97%。
+- **[推断] 对我方的结论:可以替代,而且更合适。** 反对证据的前提是"推理时出现了先验没见过的障碍";我们的立柱是固定且已知的,先验在训练中就学会了绕柱的两种模式,事后投影只需修补小幅穿透/余量不足——正是事后局部优化擅长的。并且我们有解析胶囊距离,16×6=96 维块上做几次投影梯度步在 JS 中是亚毫秒级(未测)。唯一要防的是"整块已在柱子错误一侧"这类模式错误——投影修不了,应交给生成器多样本+安全层拒绝/回退。
+
+---
+
+### 3. 实时分块 RTC 与训练时前缀条件化
+
+#### 3.1 RTC 算法(2506.07339, §3, Alg.1)
+- 异步:执行当前块的同时生成下一块;推理延迟 d=⌊δ/Δt⌋ 内必然执行的前 d 个动作被"冻结",其余"修复"(inpainting)。约束 d ≤ s ≤ H−d(Fig.3)。
+- 修复方法:基于 ΠGDM 的伪逆引导(式 2–4):v ← v + min(β, (1−τ)/(τ·r_τ²))·(Y−¹)ᵀ diag(W) ∂¹/∂A^τ,**每个去噪步需一次向量-雅可比积(反向传播)**。β 为作者新增的权重夹紧,β=5。
+- 软掩码(§3.2,式 5):前 d 步权重 1,之后到 H−s 指数衰减,最后 s 步为 0;作者称在 d 小时"critical"。A.4:指数衰减最好,线性几乎一样;Diffuser 式"硬覆盖"修复更便宜、"仍有一些收益"但不如引导式。
+- 延迟估计:取最近 b=10 次延迟的最大值;s=max(d, s_min)。
+
+#### 3.2 所需推理步数与延迟
+- **[原文]** 仿真与真机都用 n=5(Table 4)。π0.5 上:每次去噪 14 ms→35 ms(2.5×),模型总延迟 76 ms→97 ms(Table 3);BID N=16 为 115–223 ms(Table 1)。
+
+#### 3.3 是否适用于 1 步生成器
+- **[原文]** 作者:仅适用于扩散/流策略(§6);未测 n=1。A.2:τ=0 时权重无穷大必须夹紧;n=5、β≥4.25 时夹紧只决定第一步权重。
+- **[推断]** n=1 时整个输出就由"τ=0 处夹紧的一步 + 一次 VJP"决定,引导强度完全由 β 人工设定,属于无依据的外推;Pokle 等从 τ>0 起步的变体作者未尝试。而且浏览器端推理(ONNX Runtime Web 等)做反向传播不方便。→ 对我们 **不推荐推理时 RTC**。
+
+#### 3.4 实测收益 vs 时间集成 / 朴素分块
+- **Kinetix 仿真(§4.1, Fig.5,H=8,2048 次/点)[原文定性,具体数值仅在图中,未读出]**:TE "across the board" 表现差,**即使 d=0**(多模态下有效动作的平均不一定有效);RTC 对延迟最鲁棒,领先 BID 且差距随 d 增大;硬掩码弱于软掩码(d 小时更明显);RTC 执行步长越短越好。
+- **真机(§4.2, Fig.6,π0.5,6 任务,480 回合)**:吞吐量在所有延迟下最佳,+100/+200 ms 时显著;RTC 对注入延迟"完全鲁棒",同步推理线性退化;**两种 TE 在 +100/+200 ms 下振荡到触发保护停机**;Fig.1:同样动作比同步快 20%,比 TE 更平滑;点蜡烛任务最终得分优势大。
+- **BID(2408.17355)**:N=16, K=3;相对 vanilla 闭环 +32%,与 EMA(=TE) 组合 +46%(§5.2, Fig.7);EMA 在 7 任务中 2 个下降,且最优衰减率因任务而异(附录 A.4);VQ-BeT 上 1→16 样本成功 49.1%→54.2%,时间 13.2→25.9 ms(Table 2)。RTC 论文称 BID 在仿真不如 RTC 且算力高很多。
+- **ACT 原文(2304.13705, §VI-A, Fig.8b)**:TE 对 ACT +3.3%,对 BC-ConvMLP +4%,对 VINN 下降;注意 ACT 测试时把 CVAE 的 z 设为 0(确定性解码,§IV),即 **TE 在"单峰确定性"预测上才有效**——这正是它在多模态扩散/流策略上失效的原因。
+
+#### 3.5 更简单的训练时前缀条件化是否有效(2512.05964)
+- 方法(§IV):训练时随机采样延迟 d,前缀用真值非噪声动作并把其流匹配时间设为 1,只对后缀算损失;需允许逐 token 不同时间步(adaLN 的 scale/shift/gate 逐 token);推理零额外开销(Alg.1 代码几行)。
+- 结果 **[原文]**:仿真中 d≥2 时优于推理时 RTC,差距随 d 增大而扩大;**d=0、1 时"very marginally worse"**(Fig.3,数值仅在图中)。真机 π0.6(盒子组装、意式咖啡):成功率与时长与推理时 RTC 持平,端到端延迟 108 ms(d≈5)vs 135 ms(d≈7)。
+- 局限 **[原文]**:只支持"硬"前缀(d 个动作),不能像软掩码那样软利用剩余重叠;需按预期延迟选训练延迟分布(仿真用 {0..4} 指数递减权重,真机 U[0,10])。
+- **[推断]** 对 1 步生成器天然适用:它只是"条件输入",与积分步数无关。
+
+#### 3.6 对我方设定的特殊考量 **[推断]**
+- 我们 H=16、s=3;若浏览器单次推理 <20 ms,则 d=0–1,硬前缀只有 0–1 个动作——恰好是训练时 RTC 相对最弱、软掩码最有价值的区间。建议:把上一块的**全部剩余重叠**(16−3=13 步)作为条件输入,并按 RTC 式 5 的衰减思路在训练中随机截断/加噪("软前缀"),或参考 Soft RTC(**[未验证]**)。这是对两篇论文的组合外推,需自己做消融。
+- **时间集成在我们场景有硬伤**:立柱左右绕行是典型双模态;两条各自无碰撞的块取平均可能正好穿柱(RTC Fig.2 正是此例)。安全层会拒掉,但会造成频繁回退/停顿。不建议用 TE。
+- 安全层与 RTC 互补:前缀条件化保证块间连续性(减少安全层因加速度跳变而拒绝),安全层保证已提交 3 步的硬安全。
+
+---
+
+### 4. 对我方设定的结论表
+
+| 问题 | 结论 | 证据强度 | 不确定性 |
+|---|---|---|---|
+| 1–2 步下用代价引导 | **不采用**;改为"生成器输出 + 事后解析梯度投影" | 无论文测过 1–2 步引导 **[推断]**;少步引导不稳定 [原文 RTC A.2] | 1 步下引导 vs 投影的差异未经实验 |
+| 引导的预期增益 | 固定已知环境下小(先验已学会绕柱);主要收益是降低穿透/余量不足比例 | DiffusionSeeder +0.5 pt;MPD 训练环境 I 11.5%→1.2% [原文] | 我方先验的碰撞率需实测 |
+| 引导延迟代价 | 论文中 3.5–50× 开销,几乎全在代价梯度 | MPD/GPD/CAMPD [原文] | 我方解析胶囊距离很便宜,开销会小得多 **[推断,未测]** |
+| 事后投影替代引导 | **可以**,前提是障碍在训练分布内 | 支持:DiffusionSeeder、CAMPD;反对:MPD Dprior+Cost 37% vs 78%(仅在新障碍下)[原文] | 投影修不了"走错侧"的模式错误,需多样本或安全层回退 |
+| 失效模式 | 局部极小、离流形/jerk、模式错误 | EDMP/GPD/RTC A.2/CAMPD/DiffusionSeeder [原文] | — |
+| 推理时 RTC(ΠGDM 修复) | **不推荐**:需 VJP(浏览器难)、仅在 n=5 验证、n=1 无依据 | [原文] + **[推断]** | 若改用少步(≥3–5)可重新评估 |
+| 训练时前缀条件化 | **推荐**,对 1 步生成器天然适用、零推理开销 | 2512.05964 [原文](d≥2 优于 RTC,d≤1 略逊) | 我方 d≈0–1,硬前缀很短;需加"软/全重叠"条件化并做消融 **[推断]** |
+| 时间集成 | **不推荐** | RTC 仿真 TE 全面差、真机触发保护停机;BID 中 EMA 不稳;ACT 仅在确定性单峰下 +3.3% [原文] | 若生成器近似确定性单峰,TE 危害会小 |
+| BID | 可作为对照/上限,但需 N≈16 批采样 + 弱模型 | +32%(+46% 配 EMA),时间约 ×2 [原文] | 浏览器批量推理的实际延迟未知 |
+
+### 5. 局限
+- 多篇关键数值只在图中(RTC Fig.5/6、训练时 RTC Fig.3/5、MPD-期刊 Fig.6、BID Fig.6/7),文本未给具体数字,本文只引用了定性结论。
+- 所有运动规划论文都是 7-DOF Panda、离线规划整条轨迹(H=32–64),而非 16 步闭环滚动块;成功率口径多为"批内至少一条成功",与我们单样本闭环不同。
+- 没有任何来源测试浏览器推理、1 步生成器 + 代价引导、或 50 Hz 下 d≈0–1 的 RTC。
+
+
+---
+
+# 四、后训练(APG/RL)与遗漏范式
+
+## 后训练(fine-tune)方案与遗漏范式评估
+
+> 范围:(A) 后训练方法(ELMP-APG、DPPO、ReinFlow、DRP/IMPACT、Neural MP TTO),以及 APG 与 RL 的对比;(B) 可能遗漏的范式(C-space 距离场、TD-MPC2、Diffusion Forcing、(VQ-)BeT、IBC、Mamba、Geometric Fabrics/RMPflow、cuRobo 式 GPU 轨迹优化做自监督精修)。
+> 我们的设定:6-DOF 机械臂;环境固定且完全已知(一根立柱,胶囊体碰撞,有解析距离);低维状态;50 Hz 闭环;16 步 action chunk;3–5M 参数;浏览器推理;**运行时不允许 teacher/planner**(teacher 只能离线用于预训练数据);单张 RTX 3090 训练;近立柱困难用例必须 30/30;必须保留左/右绕行的多模态。
+> 标注约定:**[原文]** = 已抓取全文并定位到章节;**[摘要]** = 只核对了摘要/检索摘录;**[未验证]** = 我的推断或背景知识,未在本次抓取的原文里核实。
+> 原文全文(HTML 及抽取的 txt)存放在 `/workspace/work/out/survey/src/.{html,txt}`。
+
+---
+
+### 0. 结论速览
+
+| 方法 | 结论 | 一句话理由 |
+|---|---|---|
+| ELMP 解析策略梯度(APG) | **采用(作为主后训练阶段)** | 我们的环境固定、距离解析可得、运动学 rollout 天然可微,正是 APG 的理想条件;不需要新增专家数据 |
+| DPPO | **借鉴思路**(若主干是扩散模型,用于"补最后几例") | 能直接优化稀疏的 0/1 成功率,探索沿数据流形进行;但样本效率低,而且奖励不对称时会塌缩到单一模式 |
+| ReinFlow | **借鉴/备选**(主干若为 flow/shortcut,优先于 DPPO) | 1–4 步去噪即可做 RL;墙钟时间比 DPPO 少 62.82%;推理仍是确定性的 flow,适合浏览器 |
+| DRP / IMPACT 迭代师生微调 | **采用其思路**(离线 teacher 重标注 = 离线 DAgger) | teacher 只在离线用,符合规则;论文里成功率 +45%;对"近立柱擦碰"这种失败最有效 |
+| Neural MP 测试时优化(TTO) | **视规则而定:借鉴**(运行时多采样 + 解析距离挑选) | 用 K 个 chunk 采样再用胶囊距离打分很便宜,还能保住多模态;但它算不算"运行时 planner"需要你们拍板 |
+| CDF(C-space 距离场) | **借鉴**(作为 APG 损失或策略输入特征) | 关节空间梯度是单位范数,比"任务空间 SDF×雅可比"条件更好;立柱固定,可以离线预计算 |
+| RDF / Neural-JSDF | **否决**(作为替代);Neural-JSDF 可作特征参考 | 我们已有精确的解析胶囊距离,学出来的距离只会更不准 |
+| TD-MPC2 | **否决**(可借鉴"学习的价值函数"来截断 BPTT) | 动力学已知,没必要学世界模型;运行时 MPPI(512 样本×6 次迭代)本质上是 planner |
+| Diffusion Forcing | **否决**(可借鉴"带代价的引导采样") | 优势在长序列和记忆,我们 16 步 chunk、低维、无部分可观测,用不上 |
+| VQ-BeT / BeT | **借鉴**(显式离散"左/右模式 token"+连续残差) | 显式离散化模式,最直接地保证左右多模态;单次前向推理 |
+| IBC(能量模型/隐式 BC) | **否决** | 无导数优化(DFO)推理只适合 ≤5 维,我们的 chunk 是 16×6=96 维 |
+| Mamba / SSM 策略 | **否决** | 优势在长历史和视觉/3D 主干;我们是低维、短历史;浏览器端选择性扫描算子支持[未验证] |
+| Geometric Fabrics / RMPflow(+学习组件) | **借鉴为离线 teacher / 安全层参考** | 单独用会陷入局部极小;DRP 证明"策略+fabric"作离线 teacher 很有效 |
+| cuRobo 式 GPU 轨迹优化做自监督精修 | **采用**(离线:以策略 rollout 为初值做 L-BFGS 精修再蒸馏) | 从策略样本出发精修,会留在同一同伦类(左/右),既保住多模态又补精度;离线使用符合规则 |
+
+---
+
+### (A) 后训练方法
+
+#### A1. ELMP — Efficient Learning for Motion Planning via Analytical Policy Gradients(arXiv 2607.00215,ETH RSL,2026-06-30)
+来源:https://arxiv.org/abs/2607.00215 ,全文 https://arxiv.org/html/2607.00215v1 **[原文]**
+
+**是什么**:两阶段训练。阶段 1 用约 60 万条 AIT* 专家轨迹做 BC(损失 = 动作 L2 + 碰撞球心 FK 点匹配,Eq.1)。阶段 2 用 APG 微调:把策略在可微运动学层里自回归展开 H 步,`q_{t+1}=clamp(q_t+Δq_t)`,然后对目标、碰撞、平滑三项损失做 BPTT(Alg.1,§III-C)。
+- 目标项:位置平方误差 + λ_rot·‖R_pred−R_tgt‖_F²(弦距离,避免四元数损失的梯度消失),**只作用在终端 q_H**(Alg.1 第 15–16 行)。
+- 碰撞项:`Σ_t Σ_k ReLU(ε_margin − Φ_env(x_k(q_t)))`,用机器人球体近似和解析的原语 SDF(盒子、圆柱),并对非相邻连杆加自碰撞铰链损失(Eq.4,§III-D)。
+- 平滑项:速度和加速度的二次惩罚(Eq.5)。
+
+**关键数字**:
+- 训练稳定性的处理(§IV-B):明确承认"长时域 BPTT 容易梯度消失或爆炸",对策只有 ① 用 BC 初始化作为稳定起点,② 梯度范数裁剪 ≤1.0。此外用 Adam,lr 1e-4 加指数衰减,16 位混合精度。**展开长度 H=69**,APG 训练 50 个 epoch(batch 48,DDP),BC 训练 500 个 epoch;硬件 6×RTX 3090;ε_margin=0.03 m。**没有截断 BPTT、没有学习的 critic、没有课程**;SHAC 只在结论里列为面向接触丰富系统的未来工作(§V)。
+- Tab.I(1800 道留出题):ELMP-BC → ELMP-APG,环境碰撞率 31.3% → 8.9%;平滑轨迹 92.6% → 99.1%;1 cm 内位置精度 70.4% → 89.0%;15° 内姿态精度 76.7% → 93.5%。同一套 APG 套到 MπNets 上,碰撞率也从 16.3% 降到 10.8%。
+- 数据效率(§IV-C,Fig.4):只用 1 万条专家轨迹预训练再做 APG,得到 72.0% 成功率、19.4% 碰撞率,**已经超过用满 60 万条的纯 BC**(57.9%、31.9%),相当于专家数据少 60 倍。APG 的增益在低数据区最大。
+- Tab.II:平均成功率 84.8%(cuRobo 86.1%,AIT* 76.7%,MπNets 50.1%,CuRobo-MPC 16.1%);冷启动 7.8 ms。在 Cubby(窄空间)上只有 72.7%,低于 cuRobo 的 88.0%:**在高度受限的几何里仍不如优化器**。
+- 新环境迁移(§IV-F):零样本 57.3% → APG 89.8%,在同一批题上高于 BC+专家数据的 85.0%。采样一道题 82 ms,AIT* 求一条专家轨迹 21.5 s;20 万道题采样需 4.5 CPU 小时,同规模专家数据需 1194 CPU 小时以上。
+- 加一项笛卡尔路径长度惩罚(ELMP-APG-Cartesian)后,末端路径从 0.85 m 缩到 0.63 m,碰撞率略升到 10.9%。说明换目标不需要新示范。
+- 真机(§IV-G):30 Hz MPC 式闭环,成功率 72.2%,碰撞率 25%(仿真是 8.9%)。差距归因于深度相机噪声,与我们无关,因为我们的环境完全已知。
+
+**对我们的适配:采用(作为主后训练阶段)**
+- 适配度极高。我们的胶囊体解析距离就是 ELMP 的 Φ_env(甚至更好:胶囊–胶囊距离精确、处处次可微)。环境只有一根立柱,不需要 PointNet,展开计算极轻。3–5M 参数的低维网络,在 1 张 3090 上跑 batch 数千条并行 BPTT 应该可行(ELMP 用 6 卡是因为 PointNet++ 处理 6272 点)。**单卡可行性是推断 [未验证]**。
+- 我们需要的改动:
+ 1. **展开单位是 chunk**:50 Hz、16 步 chunk。如果每 8 步重规划一次、一个回合 3–6 s,就是约 150–300 个控制步、20–40 次策略调用。BPTT 深度按策略调用次数算,比 ELMP 的 69 次调用更深或相当(ELMP 每步都调用策略)。**这些回合长度是我的假设,请按实际 episode 长度核对。**
+ 2. **梯度爆炸对策(ELMP 之外的补充,[未验证] 为背景知识)**:
+ - 截断 BPTT:每 k 次策略调用 detach 一次 q。
+ - 对 q_t 的梯度做逐步裁剪或衰减(γ-discount backprop)。
+ - 短窗口 + 终端价值(SHAC 式,ELMP §V 提到 SHAC)。
+ - 保留 BC 损失作为锚点(ELMP 原文没写联合 BC 损失,属于我的建议)。
+ - 积分步本身是 `q+Δq`,雅可比为 I + ∂π/∂q。只要策略对 q 的 Lipschitz 常数不大,爆炸风险主要来自网络而非动力学;可用谱归一化或 LayerNorm 控制。
+ 3. **铰链损失的盲区**:ReLU(ε−d) 在 d>ε 时梯度为 0。当 BC 策略的轨迹"冲着柱子中心"时,SDF 梯度只能侧推,**无法跨同伦类**(不会从"撞上"直接变成"绕左/绕右"),而且对称位置的梯度可能相互抵消。近立柱困难用例可能卡在局部极小,因此单靠 APG 不一定能到 30/30(推断)。
+ 4. **多模态风险**:若主干是扩散或 flow,APG 需要对采样链做重参数化反传(flow 用 1–4 步最可行)。梯度会把每个样本在它自己的模式内往外推,大体能保住左/右;但会压缩方差,让输出趋向确定性。如果立柱一侧代价更低,也会改变左右比例。需要监控左/右比例,并加 BC 或 KL 锚定(推断)。
+ 5. 我们的成功判据(30/30)是二值的,APG 优化的是稠密代理损失。代理与判据之间要对齐:ε_margin 设成略大于验收裕度,并对困难用例采样加权。
+
+#### A2. DPPO — Diffusion Policy Policy Optimization(arXiv 2409.00588)
+来源:https://arxiv.org/html/2409.00588 **[原文]**
+
+**是什么**:把去噪过程视为一个 MDP,嵌进环境 MDP,组成双层的 "Diffusion Policy MDP"。每个去噪步都是高斯似然,因此可以直接用 PPO(§4,Fig.3)。
+
+**关键数字和技巧**:
+- 只微调最后 K′ 个去噪步,或者改用 DDIM 微调(训练时 η=1,评估时 η=0,最少可到 5 步)(§4.3)。state 输入时预训练 20 步、微调最后 10 步(§5.3)。K′ 太小(如 3)会降低渐近性能(App C.2)。
+- 探索噪声:σ_k 下限 σ_min^exp 取 0.01–0.1,似然评估时 σ_min^prob=0.1(§4.3)。PPO 的 clip 比例按"被裁剪样本占 10–20%"来调,早期去噪步的 ε 用 0.1×(App)。
+- MLP 头比 UNet 更容易稳定微调;MLP 下 T_a0.3 else (1 if np.random.rand()<0.5 else -1)
+ Q=demo(s,g,mode)
+ if collide_path(Q): continue
+ D=np.diff(Q,axis=0); D=np.r_[D,np.zeros((H,2))]
+ for i in range(len(Q)-1):
+ O.append(np.r_[Q[i],g]); A.append(D[i:i+H].reshape(-1)/STEP)
+ return torch.tensor(np.array(O),dtype=torch.float32), torch.tensor(np.array(A),dtype=torch.float32)
+O,A=build(); print('samples',len(O),flush=True)
+AD=2*H
+def mlp(i,o,h=256): return nn.Sequential(nn.Linear(i,h),nn.SiLU(),nn.Linear(h,h),nn.SiLU(),nn.Linear(h,h),nn.SiLU(),nn.Linear(h,o))
+class MSE(nn.Module):
+ def __init__(s): super().__init__(); s.f=mlp(4,AD)
+ def loss(s,o,a): return ((s.f(o)-a)**2).mean()
+ def sample(s,o,k=1): return s.f(o).unsqueeze(1).expand(-1,k,-1)
+class WTA(nn.Module):
+ K=4
+ def __init__(s): super().__init__(); s.f=mlp(4,AD*s.K+s.K)
+ def out(s,o):
+ y=s.f(o); return y[:,:AD*s.K].view(-1,s.K,AD), y[:,AD*s.K:]
+ def loss(s,o,a):
+ p,l=s.out(o); e=(p-a[:,None]).abs().mean(-1); k=e.argmin(1)
+ return e.gather(1,k[:,None]).mean()+0.5*nn.functional.cross_entropy(l,k)
+ def sample(s,o,k=1):
+ p,l=s.out(o)
+ if k==1: return p.gather(1,l.argmax(1)[:,None,None].expand(-1,1,AD))
+ o_=l.argsort(1,descending=True); return p.gather(1,o_[:,:,None].expand(-1,-1,AD)) # 按概率排序
+class FM(nn.Module):
+ def __init__(s,steps): super().__init__(); s.f=mlp(4+AD+1,AD); s.steps=steps
+ def loss(s,o,a):
+ e=torch.randn_like(a); t=torch.rand(len(a),1); z=(1-t)*a+t*e
+ return ((s.f(torch.cat([o,z,t],1))-(e-a))**2).mean()
+ def sample(s,o,k=1):
+ B=len(o); oo=o.repeat_interleave(k,0); z=torch.randn(B*k,AD); dt=1/s.steps
+ for i in range(s.steps):
+ t=torch.full((B*k,1),1-i*dt); z=z-dt*s.f(torch.cat([oo,z,t],1))
+ return z.view(B,k,AD)
+class MF(nn.Module): # MeanFlow (Geng et al. 2025)
+ def __init__(s): super().__init__(); s.f=mlp(4+AD+2,AD)
+ def u(s,o,z,r,t): return s.f(torch.cat([o,z,r,t],1))
+ def loss(s,o,a):
+ B=len(a); e=torch.randn_like(a)
+ t=torch.rand(B,1); r=torch.rand(B,1); t,r=torch.maximum(t,r),torch.minimum(t,r)
+ eq=(torch.rand(B,1)<0.75); r=torch.where(eq,t,r)
+ z=(1-t)*a+t*e; v=e-a
+ fn=lambda z_,r_,t_: s.u(o,z_,r_,t_)
+ u,dudt=torch.func.jvp(fn,(z,r,t),(v,torch.zeros_like(r),torch.ones_like(t)))
+ tgt=(v-(t-r)*dudt).detach()
+ return ((u-tgt)**2).mean()
+ def sample(s,o,k=1):
+ B=len(o); oo=o.repeat_interleave(k,0); e=torch.randn(B*k,AD)
+ x=e-s.u(oo,e,torch.zeros(B*k,1),torch.ones(B*k,1)); return x.view(B,k,AD)
+def train(m,iters=6000,bs=512):
+ opt=torch.optim.AdamW(m.parameters(),1e-3,weight_decay=1e-4)
+ sch=torch.optim.lr_scheduler.CosineAnnealingLR(opt,iters)
+ for it in range(iters):
+ idx=torch.randint(0,len(O),(bs,)); l=m.loss(O[idx],A[idx])
+ opt.zero_grad(); l.backward(); opt.step(); sch.step()
+ return m
+def seg_collide(p,q):
+ for a in np.linspace(0,1,6):
+ if np.linalg.norm(p+(q-p)*a)0 for r in res])
+ br=np.mean([r['brakes'] for r in res]); up=np.mean([r['mode']>0 for r in res if r['ok']]) if ok>0 else float('nan')
+ return dict(reach=round(ok,3),collide_ep=round(col,3),brakes=round(br,1),frac_up=round(up,2))
+methods={'MSE':lambda:MSE(),'WTA4':lambda:WTA(),'FM10':lambda:FM(10),'FM1':lambda:FM(1),'MeanFlow1':lambda:MF()}
+which=sys.argv[1:] or list(methods)
+out={}
+for name in which:
+ torch.manual_seed(0); t0=time.time(); m=train(methods[name]()); tt=time.time()-t0
+ o=torch.tensor(np.r_[[-2,0],[2,0]],dtype=torch.float32)[None]
+ t1=time.time(); [m.sample(o,8) for _ in range(50)]; lat=(time.time()-t1)/50*1000
+ r={'train_s':round(tt),'infer_ms_k8':round(lat,2)}
+ r['hard_raw_k1']=evaluate(m,1,False); r['hard_safe_k8']=evaluate(m,4 if name=='WTA4' else (1 if name=='MSE' else 8),True)
+ r['easy_raw_k1']=evaluate(m,1,False,hard=False)
+ out[name]=r; print(name,json.dumps(r,ensure_ascii=False),flush=True)
+json.dump(out,open(f'/workspace/work/toy/res_{"_".join(which)}.json','w'),indent=1)