90% 零碰撞为仿真阶段验收门槛,非最终产品目标——后续版本持续压低。内部加牌参考线(非验收门):med≤0.2m / p90≤0.5m,为实车定位/执行器滞后预留衰减余量。
V4.14 P1(44K 数据 / 300ep / 碰撞权重课程 2→8)已收官:碰撞 36%→13.6% 有效,但 med 卡死 0.90m 平台,距 0.3m 硬门差 3 倍。这正是立项调研(110 篇论文)预言的 Curse of Precision:单次前向的长程精度天花板在 0.2-0.4m 附近,超指数恶化——继续在"一次算准全程"这条路上加数据/调损失,边际收益已尽。
| 资产 | 状态 | V4.15 中的角色 |
|---|---|---|
| A组配方:轨迹级 Transformer + goal-frame + 物理损失 | ✅ P0 裁决胜出(5K 数据即 med 0.28m 开环) | 直接复用为滚动重规划的单步规划器 |
| 44K DAgger 专家数据 + warehouse 环境 + RK4 闭环评估器 | ✅ 全部就绪(169:/root/warehouse_v414/) | 训练/评估基础设施原样继承 |
| 单次前向口径 | ⛔ P1 实测撞天花板(med 0.90m) | 正式退役,切换闭环口径(用户 08-28 拍板"可以干") |
| ep40 best 权重(开环 0.72m / 碰撞 36%) | 已存 169:/root/v414_p0/p1_best.pth | 候选:作为规划器 warm-start(待 A/B 验证) |
单次前向(V4.14)
网络看一眼起点 → 吐出全程 40 航点 → 盲开到底。开环第 5 点偏 5cm,闭环执行到该处姿态已歪,后续 35 点全部建立在错误状态上——误差复利放大,P1 的 0.9m 平台很大一部分来自这里而非网络本身。
滚动重规划(V4.15)
t=0 算全程 → 只执行前 2~3 个航点 → 用 RK4 真实新状态(含偏差)重算 → 再执行几步 → 循环至入库。每次重算都吃进"我已经偏了"的事实,误差每 0.5s 被纠正一次,不复利。
state = start
while not done:
if pos_err(state) < eps: break # ① 终止:位置误差达标
if steps > MAX_STEPS: mark_timeout() # ② 终止:步数上限(防车位附近震荡死循环 → 记失败case)
traj = NN(state) # 同一个网络,单次前向
if collision_imminent(traj): mark_fail(); break # ③ 终止:检测到碰撞即停(记失败case)
state = rollout(state, traj[:K]) # 只执行前 K 步;执行层带转向角变化率 clip
类比:人开车瞄一眼终点打一把方向,开两秒再看实际位置修正——没有人是一次规划好全程方向盘角度然后闭眼开的。
为什么能破 0.3m 天花板:每段只要求"短视野内准"(这是网络擅长的),长程精度由"重算 + 反馈闭环"保证(这是控制论擅长的)。两条 0.4m 级的短程规划串联,好过一条 0.9m 的长程规划。
主指标不变:med ≤0.3m / p90 ≤0.6m / 零碰撞 ≥90%,全部按 闭环 rollout 终态 计算——与 V4.14 的评估器同一口径(300 条固定验证集、RK4 真动力学、OBB 碰撞检测),数字可直接与历史版本对比。
变的只有一件事:"单次前向出全程"的部署形态退役。V4.15 的网络仍是每次调用内部单次前向、无任何求解器,但执行层变为 N 次前向 + 反馈循环。运行时依然 禁 IPOPT / 禁解析兜底——"把网络做到绝"的红线不破。
依据:立项调研显示工业界(Apollo/毫末等量产方案)闭环重规划是 100% 共识路线;单次前向天花板 0.2-0.4m 是已发表结论,P1 用 44K 数据实测复核确认。
| 阶段 | 做法 | 关键点 |
|---|---|---|
| S1 · 闭环短视 BC | 数据切片重组织:以轨迹上任意中间状态为起点、以目标为终点的(状态→剩余轨迹)对。沿用 A 组配方(goal-frame + 物理损失) | 44K 轨迹切片后预计 200K+ 样本,零新增求解成本。让网络学会"从任何偏差状态救回目标" |
| S1b · DAgger 前置一轮(评审#1采纳) | S1 模型闭环 rollout 采集网络跑偏状态 → IPOPT 补解救场样本 → 并入数据集混训。第 2 轮是否执行由本轮闭环指标决定,不由流程教条决定 | 补解不后置到加牌阶段——第一轮 BC 必有分布偏移,前置一轮是标准 DAgger 动作 |
| S2 · 分层双指标评估(评审#2/#7采纳) | 验证集分层拆分,每轮同时输出:①专家切片测试集指标 ②闭环 rollout 生成状态子集的 med/p90。两套差异过大直接报警。扫 K∈{1,2,3,5} 同步统计单 episode 平均 NN 调用次数(精度-算力联合筛选) | 防"开环好看、闭环跑飞"(P1 best 偏置的教训);推理频次数据为产品化预留 |
| R1 · GRPO RL 后训练(主线收官) | S2 底子确认后(碰撞个位数、med 0.3-0.5m 级)启动。reward = -终端误差 - 碰撞罚 - 平滑罚;组采样 G=8-16 批 rollout 组内排名做 advantage(免 critic) | 文献实证最厚的精度倍增器(Swift/Nature 2023、REAP 2026 实车泊车"BC米级→RL厘米级")。护栏见下方"RL 防崩三件套" |
损失函数(S1 起生效):① 轨迹模仿 + 物理一致性(A组配方);② 碰撞 hinge-only(只罚实际碰撞样本——P1 课程抢容量教训);③ 障碍安全距离 margin 渐进损失(评审#3采纳):低权重(≈0.1×hinge)约束不紧贴障碍物行驶,降低扰动下碰撞风险——全程监控 med 不因 margin 项回退。
Checkpoint 择优(评审#4B采纳):硬门过滤——碰撞率>10% 的权重一律不存 best,过门权重中选终端 med 最小者。fallback:训练早期无权重过门时暂存 best-score(med 归一化+碰撞归一化加权),首个过门权重出现即取代。periodic checkpoint 全程保存(P1 丢 ep300 权重的教训)。
RL 防崩三件套(R1 起生效):① KL 锚定 BC(防破坏已学动力学);② 择优沿用硬门——碰撞>10% 的 policy 不保存;③ 小步长课程(碰撞罚 soft→hard 渐进收紧,REAP 配方)。
| # | 招 | 出处/实证 | 状态 | 对什么短板 |
|---|---|---|---|---|
| 1 | 滚动重规划(每 0.5s 用最新状态重新前向) | 工业界 100% 共识(Apollo/毫末/Tesla 复盘) | 本版主线 | 误差复利(P1 的 0.9m 平台主因) |
| 2 | DAgger 自举(偏差状态上 IPOPT 重解救场样本) | HG-DAgger/ExIt;专家是 IPOPT 全自动 | S1b 前置一轮 + 按指标追加 | 分布偏移(没见过自己犯错后的状态) |
| 3 | 多候选 + 解析打分(K=16-32 条候选→可微解析评分→argmax,GPU <10ms) | NVIDIA Hydra-MDP(NavSim 冠军) | E5 加牌(碰撞专项) | 碰撞率——但定位为"降低"而非"彻底解决":全部候选都可能带碰撞(评审#10),打分函数必须 A/B 消融验证(防选出抖动大/动力学不合理轨迹) |
| 4 | RL 后训练(GRPO 组采样批 rollout) | Swift(Nature 2023)/Song 2023/REAP 2026——"BC 米级→RL 后厘米级"实证最厚 | R1 主线收官 | med 精度 + 碰撞(reward 同时含两项) |
| 5 | 网络自迭代精化(训 refinement 算子:粗解→更优解;同伦链中间解=现成教材) | Berkeley Solution Smoothing:"蒸馏网络+1~2步 ≈ 求解器精度" | 储备(不做强依赖) | med 精度(增益项) |
| 6 | Sobolev 灵敏度蒸馏(蒸馏时连 ∂u/∂x 灵敏度一起学) | INRIA 2026:精化 0.22s vs 从头解 4.1s,闭环无 compounding error | 储备(不做强依赖) | 精化质量/收敛速度 |
#5/#6 仿真效果好但工程复杂度高、推理算力开销上涨——定位后期储备优化,主路径不强依赖(评审#11)。全部招数运行时零求解器:多步前向/多候选解析评分/滚动重规划均属"纯 NN 合法算子";禁 IPOPT/ACADOS/MCTS。
| 机制 | 设计 |
|---|---|
| 终止条件三件套 | ① 位置误差达标退出;② 最大迭代步数上限(超限记 timeout 失败,防车位附近震荡死循环);③ 检测到严重碰撞立即终止记失败。三类失败 case 全部落盘(见 failure case 沉淀) |
| 抖动双层抑制 | ① 轨迹前缀一致性软约束:新轨迹前若干航点对齐上一轮规划中尚未执行的轨迹段(软对齐——硬对齐会妨碍纠错);② 执行层转向角变化率 clip:硬件级保证,不依赖事后平滑 |
| failure case 数据集 | 极端奇异姿态失败 case(timeout/碰撞/死局)统一落盘 → 回流训练迭代(S1b 补解优先处理这批)→ 持续扩充模型边界(评审#17) |
| safety 语义(仿真阶段) | critic 报警 → 终止 episode + 记失败,即仿真的"刹车"。规则化 recovery(带碰撞检查的后退)属产品级系统,留实车化阶段(评审#8 简化采纳) |
| 类别 | 指标 | 说明 |
|---|---|---|
| 结果指标(验收) | med / p90(闭环终态) | 验收门 ≤0.3m / ≤0.6m;内部加牌参考线 ≤0.2m / ≤0.5m |
| 零碰撞率 | 验收门 ≥90%(仿真门槛,非产品目标,后续持续压低) | |
| 成功率(三终止条件分类统计) | 达标 / timeout / 碰撞 三分计数 | |
| 过程指标(强制新增) | 轨迹平滑度 | 方向盘角速度统计(σ 与峰值) |
| 平均最小障碍物安全距离 | 全程 min-clearance 分布 | |
| 单次泊车耗时 + NN 调用次数 | 精度-算力联合视图 | |
| 扰动测试(S3) | 分布内扰动 | 转向延迟 / 初始姿态噪声 / 模型失配三组 |
| OOD 大扰动专项 | 单独统计 OOD 失败率,识别分布外失效 |
| 风险 | 判据 | 对策 |
|---|---|---|
| 中间状态起点分布 ≠ 专家轨迹分布(网络没见过"被救"的状态) | S2 分层双指标:专家切片 vs 闭环 rollout 子集差异过大报警 | S1b 前置 DAgger 补解;failure case 优先回流 |
| 重规划频率不足 → 段间误差仍复利 | S2 扫 K 曲线:闭环 med 随 K 减小应单调改善 | K 调小(单次前向 <10ms 级,算力充足——NN 调用次数同步监控) |
| 闭环震荡 / 车位附近死循环 | 平滑度指标突变 / timeout 计数 | 前缀一致性软约束 + 转向角变化率 clip + 最大步数上限(三层已固化进执行层设计) |
| 碰撞率在闭环下恶化 | S2 闭环碰撞率 vs P1 开环 13.6% | margin 损失(S1 起低权重)→ R1 RL 碰撞罚 → 仍不过线上多候选牌(E5) |
| RL 训练崩坏 / 破坏 BC 动力学 | R1 训练中闭环指标回撤超阈值 | 防崩三件套:KL 锚定 + 硬门择优 + 小步长课程;任一失效即回退上一 checkpoint |
| 步 | 内容 | 环境 | 产出 |
|---|---|---|---|
| E1 | 切片数据管线 + S1 训练脚本(hinge-only + margin 低权重 + 硬门择优 + periodic ckpt)+ 闭环评估器升级(终止三件套 / 过程指标 / 双指标分层) | 169(开机后) | S1 权重 + 双指标基线回填本页 |
| E2 | S1b DAgger 前置一轮:闭环采集跑偏状态 → IPOPT 补解 → 混训;失败 case 落盘回流 | 169 | S1b 权重 + 补解前后指标对比 |
| E3 | S2 闭环评估:扫 K∈{1,2,3,5} + NN 调用次数统计 + 确定底子是否达标(碰撞个位数 / med 0.3-0.5m) | 169 | 最优 K + 底子判定 → R1 发车条件 |
| E4 | R1 GRPO RL 后训练(主线收官,防崩三件套护栏) | 169 | RL 后闭环指标回填本页 |
| E5 | 加牌门(仅剩一张):RL 后碰撞仍 >10% → 上多候选+解析打分(打分函数 A/B 消融先行);med 已过 0.3 但未到 0.2 参考线 → 视算力决定是否加 | 169 | 加牌后指标回填 |
| E6 | S3 扰动实验(分布内三组 + OOD 专项)→ 终局对决:V4.15 vs V4.13(2.02m)vs expert 同题 500 条全维度报告 | 169 | 验收硬门判定 |
169 当前已关机(2026-08-28)。开机后 E1 即可发车,P1 产物(数据/评估器/best.pth)全部在盘。周期预估:E1-E3 地基 1~2 天(含 S1b 补解),E4 RL 1-2 天,E5-E6 0.5-1 天。
Transformer 泊车项目 · V4.15 · 滚动重规划 · 上一版:V4.14(单次前向,已收官)