Commit
92088627602c301bd21d516bfa3654bcba0cc818
by wuyanjun110fix: 极限变道弯道tunnel沿参考线折线化, 补挂车offtracking裕量与急弯降级
极限变道的 tunnel 约束原本用单条长直线段近似弯曲车道, 弦误差为 L^2*kappa/8
(40m 直线在 R=100m 弯道上偏 2.0m), 而 end tunnel 的 HARD 管道半宽只有车道半宽
加 5cm(约2m), 弯道上管道与真实车道几乎不重叠, 起点/终点被墙关在外面, 导致
搜索必然失败。
- 折线化: 新增 AppendOffsetPolylineTunnel(沿参考线 2m 等 l 偏移折线) /
AppendCrossLineTunnel(等 s 断面法向封口线) / CalcMaxCurvature(theta 差分
带符号曲率), 替换四处弦近似: ConstructStartTunnel 两条侧墙+横切线、
ConstructEndTunnel 左右管道+后端封口、ConstructObsTunnel、
GetRealObstacleTunnel。横向量统一为 SL 约定(左正右负), 与旧
GetParallelLine "线段方向右侧为正"、且纵向线反向构造致法向翻转的隐式约定等价
- 弯道裕量: end tunnel 补挂车 offtracking(L^2*kappa/2, 上限 1.2m, 按曲率符号
只放宽弯道内侧, 仅带挂车型); 后向管道长度按曲率收缩(kappa>0.01 起, 最短 8m)
- 急弯兜底: kappa>0.02(R<50m) 且端约束为 HARD 且带挂时降级为 SOFT, IMV 不降级
- 顺带修: s 超出参考线长度时线段退化的隐患; SL 法向外推在 |l|*kappa 接近 1 时
跨过曲率中心翻折成幽灵墙, 按局部曲率钳制横向跨度; 曲率采样改用插值的
GetReferencePoint, 避免最近离散点致曲率被静默低估为 0
灰度 use_func_lc_tunnel_curvature_fit / use_func_lc_tunnel_curvature_margin,
cfg_func_sw 序列化 version 15。replay 与实车均未验证。