Changes

Summary

  1. fix: 会车让行逆向道几何改用 guide 系断面, 钳制线改为逆向道近边界 (details)
  2. feat: HMI快照按钮触发发SNAP录包(关掉决策结果保存) (details)
  3. feat: 窄会车主动贴右让行(走廊左界钳到对向车近侧)+修急停判定两处笔误 (details)
  4. perf: 窄会车贴右就近查改单调游标(O(n²)→均摊O(n)), 诊断日志降频 (details)
Commit 336c09dfd3035a62ada742b79f001dbda066f0c3 by wuyanjun110
fix: 会车让行逆向道几何改用 guide 系断面, 钳制线改为逆向道近边界

坐标系纠错:
障碍物 sl_boundary 由 GenerateRefSlBoundary(guide_line) 生成, 是 guide 系,
原实现却拿它的 s 去查 reference_line().pnc_map_path() 的 ref 系逆向道表,
两系不重合时取到错误断面; 且硬编码主参考线, standby 断面直接查错线。
改为在 GenerateRoadBoundary 建表时用 point_info.s() 从该断面对应的那条
参考线取, 存进 BoundaryPt, 与 lane_left_l 同源, 消费侧全在 guide 系查。
顺带补 rev_s<0 早退(GetBoundaryFromS 对负 s 退化返回最远断面)。

钳制线纠错:
原钳到自车道左边线, 而"不借道"的硬线是逆向道近边界, 二者之间的本方向
其余车道与道间缝隙被白白没收; 本方向多车道时还会拦住合法的同向换道绕行。
改为 lane_left_l + reverse_lane_gap(自车道边线到逆向道近边界的距离),
承诺判据线同步取同一条, 否则同向换道会被误判成"已借逆向道"而撤销钳制。
地图两 road 重叠(gap<0)时该线比车道边线更靠右, 反而堵住侵入漏洞。

只搬差值(宽度、缝隙)不搬 near/far 绝对量: 差值的参考系零点相消, 绝对量
搬进 guide 系必须先减 point_info.l()。

SSEP 断面排除:
该段无对应参考线, lane_left_l 停在"半车宽+0.15"兜底值而本身是 left_l=10
的开阔区; meeting_yield 是帧级开关而 guide line 多段拼接, 不排除会把开阔
的 SSEP 段硬缩到贴车身。
The file was modifieddata/boundary/driving_corridor.cpp
The file was modifieddata/obstacle/decision/obstacle_decision.hpp
The file was modifieddata/obstacle/decision/obstacle_decision.cpp
The file was modifieddata/boundary/road_boundary.cpp
The file was modifieddata/map/pnc_map/pnc_map_path.cpp
The file was modifieddata/boundary/road_boundary.hpp
The file was modifieddata/map/pnc_map/pnc_map_path.hpp
Commit 2bc76bf271b37cbd6e4fb2c4eb1b0e65228db1bf by wuyanjun110
feat: HMI快照按钮触发发SNAP录包(关掉决策结果保存)

- DecisionReaction 加一次性标志 hmi_req_record_snap_(不序列化/不入FromHis)
- logic plan循环消费快照按钮标志并当场复位, 修从不复位每帧触发问题
- 快照按钮不再置 save_decision_result
- RosSinkRecordTrigger 按钮标志与自动条件一并发 SNAP Trigger
The file was modifiedsink/ros_sink_record_trigger.cpp
The file was modifieddata/decide/decide_reaction.hpp
The file was modifiednode/logic.cpp
The file was modifieddata/decide/decide_reaction.cpp
Commit bef81f367cafc8ae74ab8e77155a23d1478f14c7 by wuyanjun110
feat: 窄会车主动贴右让行(走廊左界钳到对向车近侧)+修急停判定两处笔误

- 走廊 Init 注入 narrow_hug: 距会车点 kHugLeadS 内把左界钳到"对向车近侧-余量",
  逼 DP/PJPO 贴右, 横向让出空间给对向车; 读 his 帧结果同时喂 DP 与 PJPO
- 判窄改用交互过滤前的几何净空(raw_l_intervals), 不再要求收窄锁存 active,
  避免"对向车已压上路径才判窄"(该刹车非靠边)的时机错位
- 逐断面存对向车近侧 l(narrow_hug_near_l_), 贴对向车而非道路右界免疫弯道 SL 畸变
- GenerateBoundary 贴右时右侧障碍源保留最小膨胀(kNarrowRightObsKeep), 防啃 og 点
- 缩跟车距离加距会车点门(kNarrowFollowLeadS), 与贴右提前量口径一致
- side_margin 默认 0.4→0.6
- 修 constrain_decider 两处: fabs(end_l()<=3.0) 括号错位; 横向切入判定
  M_2_PI(36°)误用应为 M_PI_2(90°), 致同向并行车误急停/斜插漏拦
The file was modifiedtasks/deciders/long_decider/constrain_decider.cpp
The file was modifieddata/boundary/driving_corridor.hpp
The file was modifiedcommon/util/express.cpp
The file was modifieddata/config/cfg_lat_plan.cpp
The file was modifieddata/constrain/longitude_constrain.cpp
The file was modifieddata/boundary/driving_corridor.cpp
Commit b3106e93ac9e3d2edae8c64ad2ea91fc7c15e877 by wuyanjun110
perf: 窄会车贴右就近查改单调游标(O(n²)→均摊O(n)), 诊断日志降频

- Init 内 his_hug/his_pb 逐断面线性扫描改只前进的单调游标: 二者沿行驶方向
  单调且与本帧 while 同向, start_s 单调推进→最近邻单调推进, 均摊 O(n);
  仅采信半个 interval 内最近点, 阈值语义与原线性扫描一致
- [narrow_hug]/[narrow_hug_dbg]/[narrow_meet] 三条诊断日志频率降到 EVERY_N 50
The file was modifieddata/boundary/driving_corridor.cpp