Progress:
Changes

Summary

  1. fix: 拒绝包含非连续车道链的任务路由 (details)
  2. fix: 统一搜索任务进度并保留跨场景初始直行状态 (details)
  3. fix: 避免精准倒车候选优化被搜索子阶段时限截断 (details)
  4. fix: 保留牵引车重规划时未完成的任务途经点 (details)
  5. feat: 解耦与底盘约定的最大角度值和keb规定的最大角度值 (details)
  6. fix: 复用直行出堆场开关控制入堆场弯道禁停 (details)
  7. fix: 补齐普通路由非末段终点停车防护 (details)
  8. fix: 修复 cluster 速度滤波残值误触发变道临停 (details)
  9. fix: 减少拖挂多段搜索的重复碰撞验收耗时 (details)
  10. feat: 同一停车任务沿用起点规则选定的曲率参数 (details)
  11. fix: 保留 IMV 禁止翻头时的起始操作头身份 (details)
  12. fix: 诊断窗口显示实际执行的横向规划器 (details)
  13. feat: 支持场景组合条件与 IMV 出库固定直行 (details)
  14. fix(map): 修正禁偏移区域从车道坐标到引导线坐标的转换 (details)
  15. feat(sidepass): 允许绕行合格静止机动车旁的居中两轮车 (details)
  16. fix(map): 过滤路口出入口连续共线边,避免道路边界异常收窄 (details)
  17. fix(traffic-light): 修正路口通行耗时计算并保持近线红转绿放行 (details)
  18. fix(sidepass): 补全两轮车预测运动检查与承诺退出条件 (details)
  19. fix: 修正 SSEP 曲率方向与控制转向约定 (details)
  20. fix: 修复多段路由换向点停车原因冲突 (details)
Commit ae2163483da602ea6cd0ee66626ed3fcab28fd67 by wuyanjun110
fix: 拒绝包含非连续车道链的任务路由

在路由扩展前校验所有 passage 的地图车道和 successor 关系,
避免将上游错误的跨车道连接直接拼为中心线。多路径接收失败时
清空部分结果,由现有路径解析失败流程拒绝新任务并保留原任务。

补充异常路由、合法换道和接收失败生命周期测试,以及 IGV03
原始任务字段专项验证。旧分支不支持整帧 encoding v10,专项仅
通过已核对兼容的 context 和 exact_numeric 解码恢复任务路由。

验证:130 项路由回归通过;现场 115 帧正常任务接收、329 帧异常
任务拒绝,15 帧无任务单列。clang-format 21.1.8 及 diff 检查通过。
The file was modifiedTesting/hmi_collision_render_test.cpp
The file was modifiedTesting/routing_transition_test.cpp
The file was modifieddata/map/pnc_map/routing_extension/routing_data.cpp
Commit 18f980d13dac11b925a60f7d862e59c6d26d5f05 by wuyanjun110
fix: 统一搜索任务进度并保留跨场景初始直行状态

抽取公共任务签名和进度失效清理,供初始直行与脱挂车出库倒车复用。
将初始直行锚点和完成状态独立保存在 SsepData,依据实际车辆位置更新,避免场景切换后重搜再次要求直行 2.5 米。
补齐旧请求迁移、Full/Compact 编解码和生命周期回归测试。

验证:pnc_node 构建及 Proto 合同检查通过;1066 项测试通过,14 项可选数据测试跳过。尚未执行原始 bag 连续回放。
The file was modifieddata/plan/ssep_task_context.hpp
The file was modifiedTesting/scene_replay_foundation_test.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_descriptor.pb
The file was modifiedreplayer/scene_data/plan_frame_full_mapping.yaml
The file was modifiedreplayer/scene_data/generated/scene_replay_api_descriptor.pb
The file was modifiedproto/pnc_scene/compact_replay_input.proto
The file was modifiedreplayer/scene_data/generated/full_custom_codec_coverage_audit.yaml
The file was modifiedreplayer/scene_data/generated/plan_frame_encoder.cpp
The file was modifieddata/plan/ssep_task_context.cpp
The file was modifieddata/plan/ssep_data.hpp
The file was modifiedreplayer/scene_data/generated/plan_frame_field_roles.json
The file was modifieddocs/ssep_search_lifecycle.md
The file was modifiedreplayer/scene_data/generated/compact_scene_descriptor.pb
The file was modifiedTesting/routing_map_guard_test.cpp
The file was modifiedreplayer/scene_data/compact_numeric_policy.yaml
The file was modifiedTesting/ssep_scenario_config_lifecycle_test.cpp
The file was modifiedreplayer/scene_data/compact_custom_field_proto_codec.cpp
The file was modifiedTesting/parking_pass_progress_test.cpp
The file was addeddata/other/head_straight_progress.cpp
The file was modifiedreplayer/scene_data/plan_frame_field_roles.csv
The file was modifiedplan/prepare/prepare_state.cpp
The file was modifiedproto/plan_data.proto
The file was modifieddata/plan/ssep_data.cpp
The file was modifiedreplayer/scene_data/generated/compact_exact_numeric_visitor.cpp
The file was modifiedreplayer/scene_data/compact_numeric_leaf_contract.csv
The file was modifiedreplayer/scene_data/full_proto_custom_encoder.cpp
The file was modifieddata/ssep/ssep_ec.cpp
The file was addeddata/other/task_progress.hpp
The file was addeddata/other/head_straight_progress.hpp
The file was modifiedreplayer/scene_data/compact_proto_codec.cpp
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
Commit 09e90baa4f94b732f1dabfba5e5535f9b36e5217 by wuyanjun110
fix: 避免精准倒车候选优化被搜索子阶段时限截断

节点展开继续使用子阶段截止时间,已生成候选的净空检查、优化和延伸
改用本次调整请求的剩余总预算,避免仍有时间的有效候选被提前丢弃。
保留总时限、外层细网格重试预留以及碰撞和运动学硬约束。

验证:相关单元测试 30/30、已有刚性停车回归 21/21 通过。
现场 10 例在显式 1.5 米拉直实验下全部通过独立验收,最后两例复测通过;
保留 2 米、仅修预算的代表对照为 2/3 通过。未修改默认拉直距离或任务点。
The file was modifiedssep/scenarios/truck_accurate_reversing_planner.cc
Commit 60c1d9379949c885c603ce98f0325c0acc240701 by wuyanjun110
fix: 保留牵引车重规划时未完成的任务途经点

牵引车多段泊车拉直重规划复用任务途经点构造,避免以终点延伸的合成点覆盖尚未完成的任务点。保留任务点完成后及未配置任务点时的显式拉直行为。

增加威海现场坐标回归,覆盖重复重规划和任务点生命周期。分布式编译通过,相关 224 项测试全部通过;尚未验证完整泊车搜索。
The file was modifieddata/ssep/forward_ec.cpp
The file was modifiedTesting/parking_pass_progress_test.cpp
Commit 8623bcf5e4ec5086aafd1b04cac7432238486fdb by liuhongshuo
feat: 解耦与底盘约定的最大角度值和keb规定的最大角度值
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifiedreplayer/scene_data/generated/compact_scene_descriptor.pb
The file was modifiedreplayer/scene_data/generated/plan_frame_encoder.cpp
The file was modifiedalgorithm/decision/semantic_set_transformation_2.cpp
The file was modifiedreplayer/scene_data/generated/scene_replay_api_descriptor.pb
The file was modifieddata/plan/predict_path.cpp
The file was modifiedreplayer/scene_data/plan_frame_field_roles.csv
The file was modifiedreplayer/scene_data/generated/full_custom_codec_coverage_audit.yaml
The file was modifieddata/config/cfg_dynamic.cpp
The file was modifieddata/plan/start_point_data.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_descriptor.pb
The file was modifieddata/dp_poly_path/dp_road_graph.cpp
The file was modifieddata/plan_frame.cpp
The file was modifiedproto/config.proto
The file was modifiedreplayer/scene_data/generated/compact_exact_numeric_visitor.cpp
The file was modifiedTesting/scene_replay_foundation_test.cpp
The file was modifiedreplayer/scene_data/config_proto_codec.cpp
The file was modifieddata/config/cfg_dynamic.hpp
The file was modifiedreplayer/scene_data/generated/plan_frame_field_roles.json
The file was modifiedreplayer/scene_data/compact_numeric_leaf_contract.csv
The file was modifiedreplayer/scene_data/compact_numeric_policy.yaml
Commit 62885152c75772075c26f3f7e9f4e2c21b3670ae by wuyanjun110
fix: 复用直行出堆场开关控制入堆场弯道禁停

直行入堆场与出堆场共用 use_func_straight_out_yard_park 参数,保留各自总开关及转弯、穿堆场策略。

扩展回归覆盖入场、出场、穿场、转弯及开关恢复;修改已在 feat_daxie_proto 完成分布式编译,17 项禁停相关测试通过。
The file was modifiedTesting/disable_stop_regression_test.cpp
The file was modifieddata/constrain/disable_stop_range.cpp
Commit f86e45c7294f184fa67775f6d80a65bc9771dc45 by wuyanjun110
fix: 补齐普通路由非末段终点停车防护

普通 routing 在非 bulk in 场景使用当前段终点距离创建停止线,避免同向
分段路由索引未切换时丢失终点停车约束;保留 bulk in、SSEP 和混合
路径的末段判断,并过滤无效终点距离。越过终点后继续保留停车约束。

接收任务时对换向途经点连接同向路由记录错误日志,不改变任务、
操作方向或停车策略。补充录制负距离、连续重规划、真实换向、
bulk in 切换及无效数据回归,并修正双向 IMV 测试的车型子类型配置。
The file was modifiedTesting/routing_transition_test.cpp
The file was modifiedtasks/deciders/long_decider/constrain_decider.cpp
The file was modifiedTesting/bulk_speed_limit_test.cpp
The file was modifieddata/map/pnc_map/routing_extension/routing_data.cpp
Commit 3f75b855094641c5d375307be7180a5ab3050ef7 by wuyanjun110
fix: 修复 cluster 速度滤波残值误触发变道临停

动静确认改用当前有效刚体位移测量的速度累计证据,避免单次位移的
滤波残值在后续零位移测量中重复计为运动证据。预测与关联继续使用
滤波速度,并保留原有动静确认阈值及静止迟滞。

补充单次跳动后静止、持续运动目标仍触发碰撞风险的回归测试,
为连续 bag 回放增加 cluster 风险、轮廓和独立停车 Range 诊断。

验证:相关 100 项测试通过;津西 bag 使用指纹一致的 1.0.15 地图,
460 帧 CPU 子链连续回放中,修复前重现录制的 12 帧临停,修复后为 0。
验证覆盖跟踪、风险评估和 Range 创建,不包含完整车辆闭环。
The file was modifieddata/obstacle/cluster_motion_tracker.cpp
The file was modifieddata/obstacle/cluster_lane_change_safety_test.cpp
The file was modifiedTesting/compact_driving_corridor_restore_test.cpp
Commit 4bad66115966ad2e0f52c11bb72fb96e162c05c6 by wuyanjun110
fix: 减少拖挂多段搜索的重复碰撞验收耗时

为单次静态地图搜索构建碰撞线段空间索引,并按完整边几何缓存
normal 扩展检查结果;缓存有容量上限,超时不缓存,stop 仍独立验收。

窄换向偏好阶段没有有效候选且再次命中同一精确碰撞边时,提前转入
已有任务区域兜底,保留总请求时限、最终碰撞检查和换向区域上限。
增加索引等价性、缓存生命周期、超时及阶段切换测试。

验证:105 项相关单测通过,1 项原有禁用;Orin 两个现场场景共 6 次
实际 GPU 回放成功,独立碰撞检查为零。拖挂回归执行 37 条真实 GPU
测试,9 条原规则失败在修复前同样失败;另有途经点走向不符合业务
要求但被旧规则判过的案例,两版 273 个路径状态完全一致,仍待修复。
The file was modifiedssep/scenarios/forward_clearance_check.h
The file was modifiedssep/scenarios/tractor_trailer_multi_segment_parking_planner.h
The file was modifiedssep/test/forward_clearance_check_test.cc
The file was modifiedssep/test/ssep_planner_test.cc
Commit 9c065453895757fcf39346e2aa6265d24a24ccd1 by wuyanjun110
feat: 同一停车任务沿用起点规则选定的曲率参数

通过 task_persistent_params 显式选择完整的三项停车曲率参数,
在实际提交搜索后绑定,同任务跨位置、途经点完成和倒车重搜保留。
任务身份或终点变化、取消、结束时清除,仅向停车规划器恢复参数。

补齐跨帧继承、Full/Compact/Candidate 类型化状态与缺字段兼容,
增加配置校验、生命周期及实际任务身份回放测试。

验证:146 项场景配置测试、46 项状态与配置回放测试通过;
生成文件、字段覆盖及 Proto breaking 检查通过。
The file was modifiedTesting/scene_replay_foundation_test.cpp
The file was modifiedTesting/ssep_scenario_config_lifecycle_test.cpp
The file was modifieddata/ssep/ssep_scenario_config_loader.cpp
The file was modifiedreplayer/scene_data/plan_frame_field_roles.csv
The file was modifiedreplayer/scene_data/compact_numeric_policy.yaml
The file was modifieddata/plan/ssep_data.hpp
The file was modifiedreplayer/scene_data/plan_frame_full_mapping.yaml
The file was modifieddata/plan/ssep_data.cpp
The file was modifiedreplayer/scene_data/compact_numeric_leaf_contract.csv
The file was modifieddata/ssep/ssep_ec.cpp
The file was modifiedproto/plan_data.proto
The file was modifiedreplayer/scene_data/generated/plan_frame_field_roles.json
The file was modifiedreplayer/scene_data/generated/plan_frame_encoder.cpp
The file was addeddata/ssep/parking_task_params.hpp
The file was modifiedtasks/plan/ssep_task.cpp
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifiedplan/prepare/prepare_state.cpp
The file was modifiedreplayer/scene_data/generated/compact_scene_descriptor.pb
The file was modifiedreplayer/scene_data/generated/compact_exact_numeric_visitor.cpp
The file was modifieddata/other/parking_pass_progress.cpp
The file was modifiedreplayer/scene_data/generated/full_custom_codec_coverage_audit.yaml
The file was modifiedreplayer/scene_data/compact_custom_field_proto_codec.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_descriptor.pb
The file was modifiedreplayer/scene_data/generated/scene_replay_api_descriptor.pb
The file was modifiedreplayer/scene_data/full_proto_custom_encoder.cpp
Commit 41636368c43329dddd33897cdeeb1da138d9a5f9 by wuyanjun110
fix: 保留 IMV 禁止翻头时的起始操作头身份

IMVGeneral 禁止起点翻头时保留当前操作模式,避免首次同点搜索丢失换向信息。补充首次搜索、换向和停稳重搜的输入及场景导出回归用例,并更新起点偏移任务退出后的预期。
The file was modifieddata/ssep/ssep_ec.cpp
The file was modifiedTesting/ssep_path_corridor_test.cpp
Commit 5c25d678b02ef79a686dade0330785c3a26bbda4 by wuyanjun110
fix: 诊断窗口显示实际执行的横向规划器

按任务实际执行情况记录规划器,逐帧清除历史记录;SSEP 原始路径直出时显示无横向规划器。
The file was modifiedscenarios/stage.cpp
The file was modifiedhmi/widget/diagnose.cpp
The file was modifiedscenarios/scenario.cpp
Commit c466a901055983a21871cb475392d8a6ef514795 by wuyanjun110
feat: 支持场景组合条件与 IMV 出库固定直行

兼容原有 OR 条件列表,增加 all/any、库区位置及 SSEP 首末中段条件,同步 Full/Compact 配置合同。

支持指定分段直接使用 SSEP 路径及 BulkOut 末段选择 KEB;IMV 沿物理车头直行并在重搜时保留剩余距离,两段式搜索不重复施加首段约束。

验证:foundation 541 项、routing 138 项、corridor 237 项通过;SSEP 相关 29 项通过,foundation 13 项可选测试跳过。
The file was modifiedreplayer/scene_data/compact_numeric_leaf_contract.csv
The file was modifiedssep/test/head_straight_distance_test.cc
The file was modifieddata/other/head_straight_progress.cpp
The file was modifiedproto/config.proto
The file was modifiedTesting/cfg_scenarios_proto_codec_test.cpp
The file was modifiedreplayer/scene_data/compact_numeric_policy.yaml
The file was modifieddocs/pnc_algorithm_replay/plan_frame_field_contract_notes.md
The file was modifiedreplayer/scene_data/generated/scene_replay_api_descriptor.pb
The file was modifiedTesting/ssep_path_corridor_test.cpp
The file was modifieddata/ssep/offline_obstacles_loader.cpp
The file was modifiedreplayer/scene_data/cfg_scenarios_proto_codec.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_encoder.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_field_roles.json
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifiedssep/scenarios/imv_general_planner.h
The file was modifiedTesting/reverse_pickup_stage_selector_test.cpp
The file was modifiedtools/pnc_proto_mapper/test_exact_numeric_codegen.py
The file was modifieddata/config/cfg_stage.hpp
The file was addeddata/ssep/location_condition.cpp
The file was modifiedscenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp
The file was modifieddata/ssep/offline_obstacles_loader.hpp
The file was modifiedtasks/other_tasks/stitch_path_data_to_path.cpp
The file was modifiedTesting/scene_replay_foundation_test.cpp
The file was modifieddata/ssep/ssep_scenario_config_loader.cpp
The file was modifiedtools/pnc_proto_mapper/generate_exact_numeric_codec.py
The file was modifiedscenarios/task_condition_evaluator.cpp
The file was modifiedreplayer/scene_data/generated/compact_exact_numeric_visitor.cpp
The file was modifiedreplayer/scene_data/generated/compact_scene_descriptor.pb
The file was modifiedreplayer/scene_data/generated/plan_frame_descriptor.pb
The file was modifiedssep/scenarios/scenario_planner_factory.h
The file was modifieddata/ssep/ssep_ec.cpp
The file was modifiedreplayer/scene_data/plan_frame_field_roles.csv
The file was addeddata/ssep/location_condition.hpp
The file was modifieddata/config/cfg_stage.cpp
The file was modifiedTesting/parking_pass_progress_test.cpp
The file was modifiedscenarios/task_condition_evaluator.hpp
Commit dccb10f976ff8a4e11c758ec1d710d0cf8d99b3a by wuyanjun110
fix(map): 修正禁偏移区域从车道坐标到引导线坐标的转换
The file was modifieddata/boundary/road_boundary.cpp
Commit 8e72ae7d875c12311da5e7732d260d8c24bf91ee by wuyanjun110
feat(sidepass): 允许绕行合格静止机动车旁的居中两轮车

- 按静止状态、跟踪成熟度、邻接距离及预测运动判断绕行资格
- 先确定机动车策略,避免两轮车准入依赖障碍物遍历顺序
- 保留横穿解除迟滞及条件失效后的绕行承诺撤销
- 保留静止两轮车预测,支持运动风险检查
The file was modifieddata/obstacle/decision/obstacle_decision.cpp
The file was modifieddata/obstacle/obstacle.cpp
Commit 6c0824c216a0f1640de2398a81eb76966667099b by wuyanjun110
fix(map): 过滤路口出入口连续共线边,避免道路边界异常收窄

路径穿过多边形边时,同时过滤两侧连续共线邻边,
避免入口被多个顶点拆段后残留边参与道路边界求交。

复用现有平行及共线判断,支持闭合首尾并跳过零长度边;
遇到转角停止扩展,不改变合并包络生成逻辑。
The file was modifieddata/boundary/road_boundary.cpp
Commit 260f1110c6038c9cbd1498a2535be0fefc9b3f00 by wuyanjun110
fix(traffic-light): 修正路口通行耗时计算并保持近线红转绿放行

按当前速度、额定加减速度和路口限速计算通行时间。
保持已生效的停车要求,避免减速末段因制动距离豁免撤销停车。
原始停止线一米内经历红转绿后允许放行,不再要求车辆静止。
同步停车保持和放行状态的 Full/Compact 编解码及字段合同。
The file was modifiedreplayer/scene_data/compact_custom_field_proto_codec.cpp
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifiedreplayer/scene_data/compact_numeric_policy.yaml
The file was modifiedreplayer/scene_data/generated/compact_scene_descriptor.pb
The file was modifiedreplayer/scene_data/generated/plan_frame_encoder.cpp
The file was modifiedreplayer/scene_data/plan_frame_field_roles.csv
The file was modifiedTesting/scene_replay_foundation_test.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_descriptor.pb
The file was modifiedreplayer/scene_data/generated/compact_exact_numeric_visitor.cpp
The file was modifieddata/constrain/disable_stop_range.hpp
The file was modifiedreplayer/scene_data/generated/plan_frame_field_roles.json
The file was modifiedreplayer/scene_data/generated/scene_replay_api_descriptor.pb
The file was modifiedproto/config.proto
The file was modifieddata/constrain/block_data.cpp
The file was modifieddata/constrain/block_data.hpp
The file was modifieddata/constrain/disable_stop_range.cpp
The file was modifiedreplayer/scene_data/compact_numeric_leaf_contract.csv
The file was modifiedproto/decision.proto
Commit 95a60bf56ca2cdd45d5a0a78b4366ee817697ad6 by wuyanjun110
fix(sidepass): 补全两轮车预测运动检查与承诺退出条件

检查原始预测的全部分支,避免零初速 C2V 和非优选运动预测被忽略。未靠边目标仅在本帧满足相邻静止例外时豁免承诺硬退出,不以通用 ALLOW 代替安全判定。

适配两阶段决策与现有取消任务后机动车标签恢复流程,补充正常静止例外、两类预测运动和类型策略关闭时边界缺失的回归。
The file was modifieddata/obstacle/decision/obstacle_decision_test.cpp
The file was modifieddata/obstacle/decision/obstacle_decision.cpp
Commit 3dcd53eb0eb9d4786209096a235efda466d0dd3b by wuyanjun110
fix: 修正 SSEP 曲率方向与控制转向约定

按路径点序计算左正右负的有符号曲率,消除旧叉积阈值导致的方向反转和采样间距依赖,避免左转路径原地打轮时先向右打。

在倒车分段和挂车参考路径转换处显式转为车头方向曲率,保持与控制原地转向及 MPC 前馈公式一致。重复点返回零曲率,不足五点时清理旧曲率,防止重复计算翻转缓存。

补充魏桥现场样本、左右转、前后换向、不同采样间距、退化点、短路径重复计算及挂车参考方向回归。

验证:clang-format 21.1.8;Icecream 分布式构建成功;pnc_ssep_path_corridor_test 共 244 项通过。
The file was modifieddata/plan/ssep_data.cpp
The file was modifiedTesting/ssep_path_curvature_test.cpp
The file was modifieddata/ssep/ssep_ec.cpp
The file was modifieddata/ssep/ssep_util.cpp
Commit 5d58b8d53e668e7395fb0a3b03e5ed975d12ed95 by wuyanjun110
fix: 修复多段路由换向点停车原因冲突

先建立本帧操作头换向停车约束,仅在该约束匹配有效且距离有限时,
抑制普通路由非末段重复的绝对终点停车线,避免 ABSOLUTE_SIGN_STOP
抢占停因后阻止路由释放当前段。保留末段、同向和换向投影失败时的
终点停车防护,并修正操作头数组的边界判断。

新增换向停因及路由释放、模式进入持续退出、无效路由、投影失败恢复
和约束匹配失效的回归;测试只隔离外部地图查询,执行生产约束和停因逻辑。

验证:分布式编译通过,38 项单测通过,clang-format 21 修改范围检查通过。
东方特钢 309 bag 使用精确地图加载成功,但输入恢复报
standby_index_seed_missing,未执行到修复逻辑,现场回放验收尚未完成。
The file was modifiedtasks/deciders/long_decider/constrain_decider.cpp
The file was modifiedTesting/bulk_speed_limit_test.cpp
The file was modifiedTesting/CMakeLists.txt