From 70654e45f73cb71770dfadfe81c15712df692b0e Mon Sep 17 00:00:00 2001 From: cbb <2625274797@qq.com> Date: Tue, 20 Oct 2026 01:03:45 +0800 Subject: [PATCH] =?UTF-8?q?docs(=E6=9C=AC=E6=9C=BA=E6=89=A7=E8=A1=8C?= =?UTF-8?q?=E6=B8=85=E5=8D=95):=20=E6=96=B9=E6=A1=88=20B=20=E5=88=9D?= =?UTF-8?q?=E7=89=88=E5=AE=9E=E6=B5=8B=EF=BC=88feat/abs-target=20=E5=88=86?= =?UTF-8?q?=E6=94=AF=EF=BC=89=E2=80=94=E2=80=94=E7=BB=9D=E5=AF=B9=E7=9B=AE?= =?UTF-8?q?=E6=A0=87=E6=A0=87=E7=AD=BE=20+=20=E8=AE=AD=E7=BB=83/=E6=89=A7?= =?UTF-8?q?=E8=A1=8C=E9=80=82=E9=85=8D=E5=AE=8C=E6=88=90=E5=B9=B6=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=89=8D=E7=BC=80=E5=A2=9E=E5=B9=BF=E6=B1=A1=E6=9F=93?= =?UTF-8?q?=EF=BC=9B=E5=AE=9E=E6=B5=8B=E4=B8=80=E6=AD=A5=E7=94=9F=E6=88=90?= =?UTF-8?q?=E8=AF=AF=E5=B7=AE=2031=C2=B0=EF=BC=884/8=20=E6=AE=B5=202.3?= =?UTF-8?q?=C2=B0/2.8=C2=B0=EF=BC=89=E3=80=81=E9=97=AD=E7=8E=AF=200%/100%?= =?UTF-8?q?=EF=BC=8C=E8=BF=87=E9=A2=84=E7=83=AD=205000=20=E6=AD=A5?= =?UTF-8?q?=E6=97=A0=E4=B8=8B=E9=99=8D=E8=B6=8B=E5=8A=BF=E2=80=94=E2=80=94?= =?UTF-8?q?=E6=AD=A4=E9=85=8D=E6=96=B9=E4=B8=8D=E6=88=90=E7=AB=8B=EF=BC=8C?= =?UTF-8?q?B=20=E8=8B=A5=E7=BB=A7=E7=BB=AD=E9=9C=80=E6=94=B9=20p=5Fedge/FK?= =?UTF-8?q?=20=E6=9D=83=E9=87=8D/=E5=8A=A0=E6=9D=83=E6=88=96=E6=8D=A2?= =?UTF-8?q?=E8=BE=93=E5=87=BA=E5=A4=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/本机执行清单.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/本机执行清单.md b/docs/本机执行清单.md index 83f050e..dda6bc2 100644 --- a/docs/本机执行清单.md +++ b/docs/本机执行清单.md @@ -220,3 +220,26 @@ reach **0%** / collision **79.0%** / ratio2s 0.574 / end 408 mm;`sign_flip_rat - 未扰动时 16 步累计目标误差仅 0.46°;状态偏移 3.19° 后目标偏离 4.86°(ρ=1.54)——**当前模型是"从当前状态外推增量",不是"指向参考位置"**。扰动微调让 ρ 更差(1.9–2.0),与开环退化一致。 - **结论:方案 B 不能靠改执行层实现,必须改训练标签**——把标签从"16 步增量"改为"16 步绝对目标关节角(参考轨迹位置)",让模型学"目标在哪"而不是"从这怎么走"。执行层每步朝目标走,偏移状态下即天然纠偏。 - 实施成本:改 `build_dataset.cjs` 标签口径(Y = 绝对目标),同步 FK/平滑/价值等基于增量的辅助损失、rollout 与 `ik-policy.js` 的增量假设,然后从头训练(约 1 小时)。属结构性改动,未擅自开始。 + +### 11. 方案 B 初版实测(分支 `feat/abs-target`,保存点 tag `pre-b-abs-target`) + +**改动**(全部在分支,main 未动): +- `build_dataset.cjs`:`ABS_TARGET=1` → Y = 16 步绝对目标关节角(/180 归一化),prefix 仍存增量(度),meta 记录 `abs_target`、签名加 `a1`。 +- `train.py`:读 `abs_target`;每单位动作=180°;FK 损失用绝对位置;平滑项换算到增量量纲;开环指标用第 16 步绝对位置;ckpt 记录 `abs_target`。 +- `closed_loop.py`:模型输出绝对目标 → 队列存目标序列、执行 `q=clamp(target)`、前缀由目标差分、安全层中点与 DLS 增量转绝对目标。 +- `ckpt.py` / `data.py`:abs_target 透传与一致性检查。 +- **过程 bug(已修)**:前缀噪声增广把 eps 直接加到绝对目标标签上(≈18° 污染,一半样本);改为累计偏移后第 r 步扣回。 + +**数据**:84 shard 重打 → 201 万样本、abs_target=1;标签连续(步间差 p50 0.30°、p99 1.8°、无 ±180 跳变)。 + +**训练结果**(从零 9950 步;p_neq 预热 5000 步): + +| step | ol_fk_mm | ol_best_mm | 闭环 success | 碰撞 | +|---|---|---|---|---| +| 4000 | 74.6 | 33.4 | 0 | 100% | +| 6000 | 140.4 | 70.3 | 0 | 100% | +| 8000 | 139.0 | 68.5 | 0 | 100% | + +- 一步采样动作误差 **31°**(4/8 段采样 2.3°/2.8°)——**绝对目标的一步流匹配映射没学会**;闭环 1 段 0%/100%、4 段 0%/100%(ratio2s 1.045)。 +- 过预热后 5000 步无下降趋势。可能原因:一步样本仅 `p_edge=10%`、`ada_p=1` 逆误差加权压制难样本、FK/平滑辅助项在绝对位置空间主导。 +- **结论:此配方不成立**。B 若继续,需改训练配方(p_edge↑、w_fk↓、ada_p=0)或换输出头(确定性回归);当前证据不支持继续投入。分支代码保留可复现。