Changes

Summary

  1. refactor: 用任务选择组统一 Bulk SSEP 规划链 (details)
  2. fix: 保留倒车历史回落的车头挂车配对 (details)
  3. fix: 修正非零自车路径起点的 OGM 约束位置 (details)
  4. fix: 重搜索时移除已完成的停车途经点 (details)
  5. fix: 完善多段停车暖启动验收与搜索兜底 (details)
  6. fix: 对齐停车回放挂车轮廓与实际障碍输入 (details)
  7. fix: 按实际车道航向判断岸边平行连接 (details)
  8. feat: 增加开放空间搜索模式与终点诊断日志 (details)
  9. feat: 支持津西自动换向出场及剩余路径重搜 (details)
  10. fix: 防止出场换向时提前退出 Bulk 场景 (details)
  11. fix: 按路径分段优化出堆场限速 (details)
Commit fc82595f13ddc93bf540df4db32d17980c9648b5 by wuyanjun110
refactor: 用任务选择组统一 Bulk SSEP 规划链

使用可选 SSEP_WAIT、TRAILER_REVERSE 和默认 FORWARD 组选择差异任务,公共任务只在 task 列表配置一次。
等待期间复用历史引导线和路径,继续执行现有纵向停车链;无 WAIT 配置保持正常任务执行。
删除 ssep_result_tasks 及冗余过滤,保留 Proto 字段号并同步回放合同与生成物,覆盖旧配置兼容和任务选择回归。

验证:最终改动集 346 项测试通过、2 项可选数据测试跳过;合同生成和兼容性检查通过,PNC 编译成功。
The file was modifiedTesting/generated_variant_config_patch_test.cpp
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifiedreplayer/algorithm_replay/generated/scenario_task_chains.json
The file was modifiedproto/config.proto
The file was modifiedTesting/reverse_pickup_stage_selector_test.cpp
The file was modifiedtasks/other_tasks/stitch_path_data_to_path.cpp
The file was modifiedconfig/config_truck/scenario.yaml
The file was modifieddocs/reverse_pickup_search.md
The file was modifiedscenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp
The file was modifiedtasks/other_tasks/create_guide_line.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_descriptor.pb
The file was modifiedreplayer/scene_data/cfg_scenarios_proto_codec.cpp
The file was modifiedscenarios/bulkload_scenario/bulkload_ssep_forward_stage.hpp
The file was modifiedscenarios/task_condition_evaluator.hpp
The file was modifiedreplayer/scene_data/plan_frame_field_roles.csv
The file was modifiedTesting/cfg_scenarios_proto_codec_test.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_decoder.hpp
The file was modifiedreplayer/scene_data/generated/plan_frame_encoder.hpp
The file was modifiedreplayer/scene_data/generated/scene_replay_api_descriptor.pb
The file was modifiedreplayer/scene_data/generated/compact_scene_descriptor.pb
The file was modifiedTesting/path_pair_validation_test.cpp
The file was modifiedreplayer/scene_data/generated/compact_typed_field_codec.hpp
The file was modifieddata/config/cfg_stage.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 modifiedscenarios/task_condition_evaluator.cpp
The file was modifiedTesting/scene_replay_foundation_test.cpp
The file was modifieddocs/pnc_algorithm_replay/plan_frame_field_workflow.md
The file was modifiedreplayer/scene_data/generated/compact_typed_field_codec.cpp
The file was modifieddata/config/cfg_stage.hpp
The file was modifiedreplayer/scene_data/generated/plan_frame_decoder.cpp
Commit e86593c17bb6ce216cdbe05e45c6bddd9b4e46fa by wuyanjun110
fix: 保留倒车历史回落的车头挂车配对

上一帧输出失效后,从 last_path 恢复 TT 倒车路径时使用成对转换,避免单路径转换丢失挂车历史。
配对缺失或匹配失败时清理完整输出;补充真实预处理到 WAIT 拼接的恢复、缺配对拒绝和前进路径回归。
The file was modifieddocs/reverse_pickup_search.md
The file was modifiedTesting/path_pair_validation_test.cpp
The file was modifiedplan/prepare/prepare_default.cpp
Commit 8131459bc5f1581d87871d05c08d3a63e876e603 by wuyanjun110
fix: 修正非零自车路径起点的 OGM 约束位置

地面和上层碰撞约束在查询路径位置时加回 ego_match.s(),保留已按自车计算的碰撞距离,避免重复扣减。碰撞轮廓直接使用命中索引,避免固定采样距离推算造成偏移。

新增零与非零起点、正反向及上下层约束回归;RelWithDebInfo 构建和工程生成文件检查通过,pnc_routing_map_guard_test 全部 58 项测试通过。
The file was modifiedtasks/deciders/long_decider/constrain_decider.cpp
The file was modifiedTesting/routing_map_guard_test.cpp
Commit a3271a566b889611d111a2ef05255397fc88c3e0 by wuyanjun110
fix: 重搜索时移除已完成的停车途经点

按任务身份和实际换向进度记录停车途经点完成状态,跨重搜和路径清空保留,
取消、换任务或任务几何变化时失效。仅清除搜索请求中的旧途经点及其采样,
保留原始任务点、场景匹配、拉直和历史路径复用策略。

补充停车异步结果归属校验及单次消费,避免同 ID 任务点变更后接收旧结果。
新增 Full/Compact 原值持久化和旧消息兼容处理,并同步生成物及合同说明。

验证:117 项 SSEP 回归通过;拉直开关 true/false/缺省与途经点完成状态的
6 种组合通过;任务切换及 Full/Compact 回归已通过;生成物检查通过;
pnc_node 已经项目分布式编译入口构建成功。
The file was modifiedreplayer/scene_data/compact_custom_field_proto_codec.cpp
The file was modifiedreplayer/scene_data/generated/scene_replay_api_descriptor.pb
The file was modifiedreplayer/scene_data/generated/compact_typed_field_codec.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_encoder.cpp
The file was modifiedreplayer/scene_data/generated/full_custom_codec_coverage_audit.yaml
The file was modifieddocs/pnc_algorithm_replay/plan_frame_field_workflow.md
The file was modifiedreplayer/scene_data/plan_frame_field_roles.csv
The file was modifiedreplayer/scene_data/generated/plan_frame_decoder.cpp
The file was modifiedreplayer/scene_data/generated/compact_scene_descriptor.pb
The file was modifiedreplayer/scene_data/generated/compact_typed_field_codec.hpp
The file was modifiedreplayer/scene_data/generated/plan_frame_descriptor.pb
The file was modifiedproto/plan_data.proto
The file was addeddata/other/parking_pass_progress.cpp
The file was modifieddata/ssep/forward_ec.hpp
The file was modifiedtasks/plan/ssep_task.cpp
The file was addedTesting/parking_pass_progress_test.cpp
The file was modifiedreplayer/scene_data/generated/plan_frame_decoder.hpp
The file was modifiedtasks/plan/ssep_task.hpp
The file was addeddata/other/parking_pass_progress.hpp
The file was modifiedTesting/scene_replay_foundation_test.cpp
The file was modifieddata/ssep/forward_ec.cpp
The file was modifiedreplayer/scene_data/full_proto_custom_encoder.cpp
The file was modifiedTesting/search_decider_lifecycle_test.cpp
The file was modifieddata/plan/ssep_data.cpp
The file was modifieddata/plan/ssep_data.hpp
The file was modifiedreplayer/scene_data/generated/plan_frame_field_roles.json
The file was modifiedplan/prepare/prepare_state.cpp
The file was modifiedTesting/CMakeLists.txt
The file was modifiedTesting/routing_transition_test.cpp
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifiedreplayer/scene_data/generated/plan_frame_encoder.hpp
Commit 58c0bd4539ab857f22a735775d14f6a3a5f1c864 by wuyanjun110
fix: 完善多段停车暖启动验收与搜索兜底

停车重搜索优先对剩余历史路径进行多步优化,手动热启动和换向重搜均可进入;失败后才执行引导搜索与普通搜索。
移除已完成途经点后保留前进调整能力,允许多段停车双向起步,保持单段倒车及有序途经点约束。首步候选按实际方向执行碰撞检查,避免未知方向漏检或虚增换向代价。
统一历史路径方向、固定尾段运动学、机械及持续曲率、全车碰撞和端点验收。实测首控制保持固定,未知首曲率在多步优化中使用真实机械上限。

验证:57 项相关 C++ 回归通过,5 组现场回放通过,pnc_node 与回放工具分布式构建通过。
The file was modifiedssep/test/ssep_planner_test.cc
The file was modifiedssep/keb_optimizer/tractor_trailer_keb_optimizer.cc
The file was modifiedssep/scenarios/scenario_planner_factory.h
The file was modifiedssep/ssep_planner.cc
The file was modifiedssep/keb_optimizer/tractor_trailer_keb_optimizer.h
The file was modifiedssep/scenarios/stitching_replanner.h
The file was modifiedssep/scenarios/tractor_trailer_parking_maneuver.h
The file was modifiedssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc
The file was modifiedssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h
Commit e117ac9fd5bdc34d2d983a644cf009fe394e6952 by wuyanjun110
fix: 对齐停车回放挂车轮廓与实际障碍输入

修正网页当前、目标和路径挂车框的铰接偏移符号,补齐离线绘图的铰接偏移,统一车辆模型的参考点。
存在精确障碍输入时默认显示原始障碍线,将派生显示轮廓独立标注并允许切换;兼容旧快照显示。

验证:2 项执行生产 JavaScript 的几何与图层回归通过,可视化服务构建通过。
The file was addedssep/test/local_regression/test_scene_vis_geometry.py
The file was addedssep/test/local_regression/test_scene_vis_obstacles.py
The file was modifiedssep/common/utils/scene_frame_visualization.cc
The file was modifiedssep/offboard/servers/scene_vis_html_template.cc
Commit 6143bcb0a88322720d9a9cebaa94d13396afa6b7 by wuyanjun110
fix: 按实际车道航向判断岸边平行连接

岸边道路接入非纵向道路时,改用驶出终点与驶入起点的车道航向判断形状,保留原有角度阈值,避免场区岸线配置与地图不一致时误判为交叉。

补充同向、反向、垂直及旋转场景回归,并覆盖潍坊默认岸线配置导致 A002 任务误分类的问题。

验证:路由回归 91 项通过;A002 任务仿真回放进入 PARALLEL,终点延伸 25 米且搜索成功。
The file was modifieddata/map/pnc_map/routing_extension/routing_data.cpp
The file was modifiedTesting/routing_transition_test.cpp
Commit 39b5eba2e4e5c710d7a272e42e21bb0e25de2e50 by wuyanjun110
feat: 增加开放空间搜索模式与终点诊断日志

构造搜索终点时记录任务、形状模式、场景、搜索阶段、回退条件和车型;记录终点来源、参考线选择、延伸距离、目标 s、参考线长度及最终车道与坐标。

日志随搜索环境构造输出,便于区分模式覆盖与参考线长度不足。

验证:PNC 与专项测试目标编译通过;任务回放已采集修改前后模式和终点计算日志。
The file was modifieddata/ssep/open_space_ec.cpp
Commit 96062bb8b9e0ebb5de09c55f829327aa9bdb3f6f by wuyanjun110
feat: 支持津西自动换向出场及剩余路径重搜

津西拖挂车 BulkOut 使用 Auto 出场策略,优先纯前进,失败后在共用粗搜索预算内允许倒车调整,并要求最终前进接入。
增加方向状态区分和超时完整候选保留,保持旧场景行为。
重搜按执行索引裁剪历史,只匹配当前剩余段;无效历史回退完整搜索,指令重搜清除旧拉直状态。
补充配置、粗搜索、历史裁剪和在线重搜生命周期回归。

验证:相关测试 505 项通过、61 项按场景跳过;生成物和协议兼容性检查通过;pnc_node 分布式编译通过。
The file was modifiedssep/ssep_planner.cc
The file was modifiedssep/coarse_search/searcher_builders/tractor_trailer_general_searcher_builder.cc
The file was modifieddata/plan/ssep_data.cpp
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifiedTesting/search_decider_lifecycle_test.cpp
The file was modifiedssep/coarse_search/multi_stage_hybrid_astar_search_engine.h
The file was modifieddocs/ssep_scenario_config_lifecycle.md
The file was modifiedssep/scenarios/stitching_replanner.h
The file was modifiedssep/coarse_search/searcher_builders/tractor_trailer_general_searcher_builder.h
The file was modifiedconfig/config_truck/ssep_port_scenarios_jinxi.yaml
The file was modifiedTesting/ssep_scenario_config_lifecycle_test.cpp
The file was modifiedssep/test/ssep_planner_test.cc
The file was modifiedTesting/ssep_path_corridor_test.cpp
The file was modifiedssep/scenarios/scenario_planner_factory.h
The file was modifiedssep/scenarios/tractor_trailer_exit_parking_spot_planner.h
The file was modifiedTesting/CMakeLists.txt
The file was modifieddata/ssep/ssep_ec.cpp
The file was modifiedssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc
The file was modifiedtasks/deciders/search_decider/forward_search_decider.cpp
The file was modifieddata/plan/ssep_data.hpp
Commit 58c22a82ed636a088416e5c9966bff51cfc233df by wuyanjun110
fix: 防止出场换向时提前退出 Bulk 场景

切段后等待当前路径和历史路径的末段信息一致,再使用历史引导线判断完成。
取消因终点无法投影或超出引导线范围而直接退出的逻辑;换向停车只有到达真正末点才允许结束出场。
保留无 SSEP 的原倒车出场分支,补充 9 项退出条件回归与现场原因说明。

验证:9 项 Bulk 退出回归通过;相关测试集 376 项通过、61 项按场景跳过;pnc_node 编译通过。
The file was modifiedTesting/scenario_search_exit_test.cpp
The file was modifieddata/app/fsm/task_fsm/task_travel/task_travel_fsm.cpp
The file was modifiedTesting/CMakeLists.txt
The file was modifieddocs/ssep_search_lifecycle.md
Commit 966a15a594920fd936694ca4d276c19ea7411cb1 by wuyanjun110
fix: 按路径分段优化出堆场限速

根据原始段长和真实段尾投影计算沿程进度,剔除路径延长部分,每次切段后重新按起步档位提速。

为非最后一段提前添加 15、10、5 米低速区约束,最后一段接路时不额外降速;保留独立停车约束职责,匹配失效时保持起步档。

新增 8 项回归测试,覆盖换段、路径延长、倒车、弯路、短段、过终点和停车约束保留;构建及测试通过。
The file was modifiedtasks/deciders/long_decider/constrain_decider.cpp
The file was modifiedTesting/CMakeLists.txt
The file was addedTesting/bulk_speed_limit_test.cpp