Changes

Summary

  1. feat: 逆向车道快速接近凸包停车防护(cluster兜底) (details)
Commit 28af30520aeb0357dc8402873c33ae0904185c21 by wuyanjun110
feat: 逆向车道快速接近凸包停车防护(cluster兜底)

对向来车未被感知分类为obj、只输出TYPE_CLUSTER时, PNC纵向决策对它完全无反应:
cluster不进interested因而无decider_attr, FromHis跳过它因而无历史, ST按静态建
且不进path_time_obstacles_, 唯一影响是写OGM当前占用->只限速不停车。对"点云少+
速度快"的逆向来车, 等它进自车path时已无刹停距离。

cluster无id概念、前后帧id不对应, 因此判据做成不依赖id的标量时序:
- 逆向车道链: 自车已驶入转弯lane(无逆向邻车道)时沿参考线回退到弯道前直道作
  锚点, 再沿直道predecessor往上游延伸, 终止条件是"自车上游累计长度够不够",
  不是级数/链总长(单条lane就可能几百米, 按总长封顶会一次都延伸不进去)
- 冲突区: 自车走廊与对向道路判定带的重叠段, 不用两条中心线求交 —— 车体有
  宽度, 中心线不相交时车照样扫过去
- 判据: cluster投影到逆向链自身量弧长(不碰guide的SL, 规避弯道投影问题),
  帧级批量关联维持航迹, 两车占用冲突区的时间窗交叠即触发

防误停三道门: 路沿侧边界内缩、接近速度死区、航迹成熟度。
停止线保持2s防判据抖动导致点头; 车头横向切入对向道路超阈则整体释放 —— 进区
后再停等于横在对向道上挡路, 比抢过去更危险。

灰度use_reverse_approach_stop默认关, 12项参数均可rosparam调。
HMI"逆向车道接近"菜单画链/道路边界/判定带/冲突区/命中cluster, 状态行给出各道
门的通过情况。
The file was modifiedcommon/util/express.cpp
The file was modifiedhmi/node_hmi.cpp
The file was modifiedtasks/deciders/long_decider/constrain_decider.hpp
The file was modifiedhmi/widget/pnc_mat_shared.cpp
The file was modifieddata/config/cfg_safe_const.cpp
The file was addeddata/obstacle/reverse_lane_approach.cpp
The file was modifieddata/constrain/long_target.cpp
The file was modifiedhmi/draw/draw_all.cpp
The file was modifieddata/plan_frame.cpp
The file was modifieddata/app/fsm/stop_reason.cpp
The file was modifieddata/constrain/longitude_constrain.cpp
The file was modifieddata/config/cfg_hmi.cpp
The file was modifieddata/config/cfg_func_sw.cpp
The file was modifieddata/plan_frame.hpp
The file was modifieddata/constrain/longitude_constrain.hpp
The file was modifieddata/config/cfg_safe_const.hpp
The file was addeddata/obstacle/reverse_lane_approach.hpp
The file was modifiedhmi/draw/draw_constrain.cpp
The file was addedhmi/draw/draw_reverse_approach.hpp
The file was modifieddata/config/cfg_func_sw.hpp
The file was modifieddata/config/cfg_hmi.hpp
The file was modifiedtasks/deciders/long_decider/constrain_decider.cpp
The file was addedhmi/draw/draw_reverse_approach.cpp