Commit
97f1f432103592542d9adceecbbd2806990c777b
by wuyanjun110feat: 补齐规划地图显式 Proto Codec
|
 | data/semantic/semantic_description.hpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | data/vehicle/deviation_status.hpp |
 | common/time/time.hpp |
 | data/vehicle/request_routing_data.hpp |
 | data/plan/switch_data.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | data/map/pnc_map/routing_extension/routing_data.hpp |
 | data/object.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | data/plan/smooth_data.hpp |
 | replayer/scene_data/remaining_plan_proto_codec.hpp |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
Commit
40a5c6c5e6f7a30544a36b89d60ee22369f8a2e2
by wuyanjun110feat: 完善规划场景录制与回放链路
实现自动生成的全量 PlanFrame Proto 与面向带宽的 Compact Proto 编解码,移除新快照链路对 Boost serialize 的依赖。\n\n补齐在线快照、离线回放、算法 Candidate 重建、自动化回归、TagFS 接入、OTA backend SDK,以及按需图层和曲线所需的二进制传输合同。\n\n增加字段审计、合同生成、带宽约束、HMI 分类和端到端回归测试,并提供公共 task、launch 与团队使用文档。
|
 | replayer/live_bridge/live_scene_service_handler.hpp |
 | replayer/scene_importer/legacy_boost_plan_frame_decoder.cpp |
 | Testing/tagfs_adapter_test.cpp |
 | replayer/scene_importer/legacy_boost_plan_frame_decoder.hpp |
 | proto/pnc_scene/compact_replay_input.proto |
 | proto/pnc_scene/scene_chart.proto |
 | replayer/scene_data/compact_scene_archive_codec.cpp |
 | replayer/analysis_server/scene_channel_wire.cpp |
 | replayer/scene_data/live_compact_ingress.cpp |
 | replayer/algorithm_replay/profiles/full_stage.yaml |
 | proto/pnc_scene/scene_map_layer.proto |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | proto/debug.proto |
 | replayer/algorithm_replay/replay_history.cpp |
 | .gitignore |
 | replayer/scene_replay/scene_replay_proto.cpp |
 | Testing/assertion_pack_registry_test.cpp |
 | data/vehicle/parallel_driving_state.hpp |
 | scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp |
 | Testing/compact_scene_service_handler_test.cpp |
 | data/vehicle/cloud_pnc_config.hpp |
 | data/obstacle/perception_obstacle.hpp |
 | data/plan/guide_line.hpp |
 | tools/pnc_encoding_benchmark/main.cpp |
 | tools/pnc_proto_mapper/baseline/scene_replay_api_descriptor.pb |
 | replayer/algorithm_replay/async_generation_guard.hpp |
 | replayer/scene_data/replayer_data_process_adapter.cpp |
 | Testing/live_web_bridge_test.cpp |
 | replayer/scene_data/compatibility_registry.cpp |
 | tools/pnc_proto_mapper/bandwidth_lint.py |
 | replayer/analysis_server/binary_update_broker.hpp |
 | replayer/live_bridge/live_scene_service_handler.cpp |
 | replayer/scene_replay/recorded_scene_session.hpp |
 | Testing/cfg_scenarios_proto_codec_test.cpp |
 | data/dp_poly_path/dp_road_graph.hpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | replayer/live_bridge/pnc_live_web_bridge.cpp |
 | tools/pnc_proto_mapper/proto_only_lint.py |
 | replayer/algorithm_replay/assertion_pack_registry.hpp |
 | Testing/execution_profile_registry_test.cpp |
 | proto/pnc_scene/pnc_mapping_options.proto |
 | proto/scene_replay_api.proto |
 | replayer/scene_data/full_proto_custom_encoder.hpp |
 | data/vehicle/vehicle_destination.hpp |
 | replayer/algorithm_replay/candidate_frame_builder.cpp |
 | Taskfile.yml |
 | Testing/tagfs_clients_test.cpp |
 | proto/config.proto |
 | replayer/algorithm_replay/profile_collectors.hpp |
 | replayer/algorithm_replay/assertion_engine.hpp |
 | replayer/algorithm_replay/assertion_profile_loader.cpp |
 | replayer/scene_data/compact_snapshot_stream_decoder.cpp |
 | replayer/scene_data/proto_codec_gap.hpp |
 | data/obstacle/prediction_trajectory.hpp |
 | replayer/scene_data/versioned_compact_decoder.cpp |
 | tools/pnc_proto_mapper/generate_hmi_layer_catalog.py |
 | proto/pnc_scene/scene_envelope.proto |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/longitude_constrain_proto_codec.hpp |
 | Testing/async_generation_guard_test.cpp |
 | replayer/algorithm_replay/batch_regression_runner.cpp |
 | replayer/scene_data/vehicle_input_proto_codec.cpp |
 | replayer/algorithm_replay/experiment_analysis_coordinator.cpp |
 | .vscode/launch.json |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_replay/recorded_scene_session.cpp |
 | tools/pnc_proto_mapper/baseline/plan_frame_field_roles.json |
 | replayer/analysis_server/binary_update_broker.cpp |
 | scenarios/parking_scenario/parking_move_stage.cpp |
 | sink/ros_sink_snapshot_compact_scene.hpp |
 | proto/obstacle.proto |
 | data/map/reference/reference_segment.hpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | data/constrain/disable_stop_range.hpp |
 | proto/pnc_scene/full_plan_frame.proto |
 | replayer/scene_importer/legacy_scene_importer.hpp |
 | replayer/scene_replay/scene_replay_service.hpp |
 | replayer/sdk/replay_backend_c.cpp |
 | replayer/case_orchestrator/case_orchestrator.cpp |
 | replayer/analysis_server/compact_geometry_wire.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | proto/pnc_scene/compact_guide_line.proto |
 | replayer/algorithm_replay/profile_collectors.cpp |
 | replayer/replayer_data_process/load_snap_data.cpp |
 | replayer/algorithm_replay/generated/scenario_task_chains.json |
 | replayer/scene_data/remaining_plan_proto_codec.hpp |
 | data/config/cfg_stage.hpp |
 | replayer/algorithm_replay/profiles/lattice.yaml |
 | tools/pnc_proto_mapper/scaffold_mapping.py |
 | replayer/scene_replay/live_compressed_frame_ingress.hpp |
 | Testing/batch_regression_runner_test.cpp |
 | tools/pnc_proto_mapper/check_custom_encoders.py |
 | proto/decision.proto |
 | replayer/analysis_server/proto_http_router.cpp |
 | replayer/algorithm_replay/profiles/dp.yaml |
 | data/obstacle/obstacle.hpp |
 | tools/pnc_proto_mapper/test_build_boundaries.py |
 | Testing/legacy_scene_importer_test.cpp |
 | proto/data_path_compact.proto |
 | replayer/analysis_server/scene_replay_service_handler.cpp |
 | proto/trajectory.proto |
 | replayer/algorithm_replay/assertions/lateral_path.yaml |
 | proto/pnc_scene/scene_debug_layer.proto |
 | data/vehicle/vehicle_status.hpp |
 | replayer/algorithm_replay/assertion_profile_loader.hpp |
 | Testing/regression_report_test.cpp |
 | data/vehicle/container_compensate_info.hpp |
 | replayer/scene_replay/scene_replay_proto.hpp |
 | data/config/cfg_static.hpp |
 | replayer/scene_data/compatibility_registry.hpp |
 | Testing/report_artifact_bundle_test.cpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | data/vehicle/traffic_light_data.hpp |
 | replayer/algorithm_replay/profiles/keb_production_async.yaml |
 | tools/pnc_proto_mapper/test_hmi_taxonomy_lint.py |
 | proto/pnc_scene/compact_recorded_result.proto |
 | replayer/scene_data/compact_geometry_codec.hpp |
 | proto/common.proto |
 | .vscode/tasks.json |
 | proto/pnc_scene/experiment_parameter_patch.proto |
 | Testing/load_snap_data_compat_test.cpp |
 | data/common/guide_path.cpp |
 | replayer/algorithm_replay/profiles/keb.yaml |
 | proto/pnc_scene/scene_planning_layer.proto |
 | data/vehicle/vehicle_state.hpp |
 | replayer/scene_data/compact_geometry_codec.cpp |
 | tools/pnc_case/pnc_case_main.cpp |
 | replayer/scene_data/map_provider.hpp |
 | replayer/scene_data/compatibility_gateway.cpp |
 | data/config/cfg_hmi_layer_mapping.yaml |
 | replayer/case_orchestrator/pnc_case_cli.hpp |
 | tools/pnc_proto_mapper/audit_task_chains.py |
 | data/vehicle/cloud_lane_change_status.hpp |
 | data/ctrl/ctrl_data.hpp |
 | replayer/scene_data/replayer_data_process_adapter.hpp |
 | replayer/analysis_server/compact_scene_service_handler.cpp |
 | tools/pnc_proto_mapper/generator.py |
 | replayer/algorithm_replay/stage_task_replay_engine.hpp |
 | replayer/algorithm_replay/regression_report.cpp |
 | replayer/algorithm_replay/assertions/common.yaml |
 | replayer/algorithm_replay/candidate_frame_builder.hpp |
 | data/lattice/ogm_crash_data.hpp |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | replayer/analysis_server/config/analysis_server.lsg.proto_bag.yaml |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | replayer/analysis_server/README.md |
 | replayer/sdk/replay_backend_c.h |
 | Testing/live_bridge_app_test.cpp |
 | replayer/algorithm_replay/production_variant_runner.hpp |
 | proto/pnc_scene/compact_geometry.proto |
 | replayer/analysis_server/config/analysis_server.example.yaml |
 | scenarios/scenario.cpp |
 | scenarios/scenario_supervise.hpp |
 | replayer/scene_replay/scene_replay_web_page.hpp |
 | replayer/scene_data/vehicle_state_proto_codec.hpp |
 | replayer/analysis_server/compact_scene_service_handler.hpp |
 | data/plan/reference_line_info.hpp |
 | replayer/scene_replay/recorded_frame_pipeline.cpp |
 | tools/pnc_proto_mapper/baseline/compact_scene_descriptor.pb |
 | replayer/algorithm_replay/batch_regression_runner.hpp |
 | replayer/analysis_server/compact_geometry_wire.cpp |
 | replayer/scene_data/scene_payload_codec.hpp |
 | docs/pnc_algorithm_replay/proto_generation.md |
 | replayer/scene_replay/payload_codec.cpp |
 | tools/pnc_proto_mapper/baseline/plan_frame_descriptor.pb |
 | Testing/experiment_session_test.cpp |
 | replayer/analysis_server/proto_http_router.hpp |
 | tools/pnc_live_bridge/main.cpp |
 | replayer/scene_data/compact_replay_session.cpp |
 | replayer/case_orchestrator/case_orchestrator.hpp |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
 | replayer/scene_data/compact_snapshot_stream_decoder.hpp |
 | data/vehicle/veh_his_states.hpp |
 | proto/scene_payload.proto |
 | docs/pnc_algorithm_replay/compact_numeric_encoding_rules.md |
 | replayer/scene_data/recorded_frame_decoder.cpp |
 | tools/pnc_proto_mapper/sync_container_schema.py |
 | data/vehicle/lock_station_data.hpp |
 | replayer/scene_replay/README.md |
 | proto/obstacle_compact.proto |
 | tools/pnc_scene_importer/main.cpp |
 | proto/pnc_scene/compact_scene.proto |
 | replayer/scene_data/map_provider.cpp |
 | replayer/algorithm_replay/report_artifact_bundle.cpp |
 | replayer/sdk/planframe_compat.hpp |
 | replayer/algorithm_replay/async_generation_guard.cpp |
 | tools/pnc_replay_backend/ensure_ros_master.sh |
 | Testing/experiment_analysis_coordinator_test.cpp |
 | data/map/pnc_map/road_segments.h |
 | proto/map_data.proto |
 | replayer/tagfs/tagfs_clients.cpp |
 | scenarios/scenario.hpp |
 | proto/pnc_scene/compressed_frame_chunk.proto |
 | replayer/analysis_server/analysis_server_app.hpp |
 | replayer/algorithm_replay/experiment_session.cpp |
 | data/map/envelop/map_envelops.cpp |
 | replayer/scene_data/generated/trajectory_schema_inputs.json |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | launch/replay/regression_task.launch |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/replayer_data_process/replayer_data_process.hpp |
 | proto/pnc_scene/scene_input_layer.proto |
 | tools/pnc_proto_mapper/import_full_schema_mapping.py |
 | replayer/scene_replay/scene_replay_service.cpp |
 | replayer/algorithm_replay/production_variant_runner.cpp |
 | tools/pnc_replay_backend/publish_bundle.py |
 | replayer/scene_data/obstacle_proto_codec.hpp |
 | Testing/regression_task_api_test.cpp |
 | replayer/scene_data/versioned_compact_decoder.hpp |
 | proto/replay_v15.proto |
 | replayer/tagfs/tagfs_adapter.cpp |
 | data/plan/side_pass_data.hpp |
 | data/vehicle/lock_station_pts.hpp |
 | replayer/live_bridge/pnc_live_web_bridge.hpp |
 | replayer/algorithm_replay/execution_profile_registry.cpp |
 | replayer/scene_data/vehicle_state_proto_codec.cpp |
 | replayer/algorithm_replay/execution_profile_registry.hpp |
 | core/snapshot_async.cpp |
 | data/other/flow_control.hpp |
 | data/vehicle/cmd_feedback_state.hpp |
 | source/ros_source_replayer_snapshot.hpp |
 | replayer/algorithm_replay/stage_task_replay_engine.cpp |
 | scenarios/stage.cpp |
 | Testing/encoding_benchmark_test.cpp |
 | data/app/fsm_interface.hpp |
 | proto/pnc_scene/compressed_scene_payload.proto |
 | CMakeLists.txt |
 | replayer/scene_data/compact_custom_field_proto_codec.hpp |
 | data/obstacle/obstacle_decider_attr.hpp |
 | data/app/reaction/app_reaction.hpp |
 | replayer/algorithm_replay/generated_variant_config_patch.cpp |
 | Testing/planframe_compat_test.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/live_bridge/pnc_live_bridge_app.cpp |
 | replayer/logic.cpp |
 | proto/pnc_scene/compact_plan_frame_fields.proto |
 | data/vehicle/priori_bay_info.hpp |
 | tools/pnc_proto_mapper/full_schema_lint.py |
 | replayer/scene_replay/compressed_frame_ring_buffer.hpp |
 | proto/pnc_scene/scene_manifest.proto |
 | replayer/scene_data/obstacle_proto_codec.cpp |
 | tools/pnc_proto_mapper/audit_plan_frame_fields.py |
 | replayer/scene_data/vehicle_input_proto_codec.hpp |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/recorded_frame_decoder.hpp |
 | data/config/cfg_lat_plan.hpp |
 | replayer/scene_data/generated/container_schema_inputs.json |
 | replayer/scene_importer/legacy_scene_importer.cpp |
 | data/plan/start_point_data.hpp |
 | data/ctrl/lka_start_up.hpp |
 | replayer/scene_data/compact_scene_archive_codec.hpp |
 | replayer/scene_data/generated/hmi_layer_catalog.cpp |
 | replayer/scene_data/generated/state_schema_inputs.json |
 | replayer/algorithm_replay/generated_variant_config_patch.hpp |
 | replayer/tagfs/tagfs_adapter.hpp |
 | data/plan/guide_line_info.hpp |
 | offboard/bag_to_keb_scene/bag_to_keb_scene.cc |
 | proto/CMakeLists.txt |
 | replayer/scene_data/compact_replay_session.hpp |
 | Testing/scene_channel_wire_test.cpp |
 | replayer/analysis_server/scene_channel_wire.hpp |
 | proto/pnc_scene/scene_channel.proto |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/sdk/planframe_compat.cpp |
 | sink/ros_sink_snapshot_compact_scene.cpp |
 | tools/pnc_proto_mapper/test_proto_only_lint.py |
 | replayer/algorithm_replay/profiles/keb_lane_follow.yaml |
 | scenarios/lane_follow_scenario/lane_follow_stage.cpp |
 | replayer/scene_data/generated/plan_frame_mapping_scaffold.yaml |
 | replayer/algorithm_replay/experiment_session.hpp |
 | proto/scenario.proto |
 | replayer/live_bridge/config/live_bridge.example.yaml |
 | replayer/tagfs/tagfs_clients.hpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | data/vehicle/lane_detection.hpp |
 | replayer/algorithm_replay/replay_history.hpp |
 | replayer/analysis_server/analysis_server_app.cpp |
 | replayer/scene_data/compatibility_gateway.hpp |
 | data/vehicle/yard_occupy_info.hpp |
 | data/plan/ssep_data.hpp |
 | proto/trajectory_compact.proto |
 | scenarios/task_execution_policy.hpp |
 | Testing/linear_velocity_generator_test.cpp |
 | docs/pnc_algorithm_replay/examples/pnc_case_promote/request-lane-follow.yaml |
 | Testing/generated_variant_config_patch_test.cpp |
 | replayer/analysis_server/beast_analysis_server.hpp |
 | tools/pnc_proto_bag_server/main.cpp |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | replayer/scene_data/generated/plan_frame_member_inputs.json |
 | data/map/pnc_map/road_segments.cpp |
 | scenarios/into_yard_junction_scenario/into_yard_junction_first_stage.cpp |
 | scenarios/stage.hpp |
 | replayer/scene_data/proto_bag_scene_builder.cpp |
 | replayer/algorithm_replay/assertion_engine.cpp |
 | replayer/live_bridge/pnc_live_bridge_app.hpp |
 | Testing/analysis_server_app_test.cpp |
 | Testing/compatibility_registry_test.cpp |
 | data/app/app_data.hpp |
 | docs/pnc_algorithm_replay/examples/pnc_case_promote/request-ssep.yaml |
 | scenarios/scenario_supervise.cpp |
 | replayer/scene_data/cfg_scenarios_proto_codec.cpp |
 | replayer/scene_replay/recorded_frame_pipeline.hpp |
 | replayer/scene_data/hmi_layer_manifest.yaml |
 | data/constrain/block_data.hpp |
 | replayer/scene_data/legacy_location_repair.hpp |
 | replayer/scene_replay/scene_bundle_codec.hpp |
 | replayer/scene_data/legacy_location_repair.cpp |
 | tools/pnc_regression_task/pnc_regression_task_main.cpp |
 | tools/pnc_proto_mapper/sync_state_schema.py |
 | replayer/algorithm_replay/assertion_pack_registry.cpp |
 | replayer/scene_data/proto_bag_scene_builder.hpp |
 | common/util/hdmap_wrapper.cpp |
 | replayer/scene_data/longitude_constrain_proto_codec.cpp |
 | replayer/algorithm_replay/assertions/dp_reverse_meeting.yaml |
 | replayer/replayer_data_process/replayer_data_process.cpp |
 | Testing/compact_replay_session_test.cpp |
 | replayer/scene_replay/scene_bundle_codec.cpp |
 | replayer/scene_data/encoding_benchmark.cpp |
 | tools/pnc_proto_mapper/test_mapping_contract.py |
 | Testing/pnc_case_cli_test.cpp |
 | proto/pnc_scene/compact_recorded_debug.proto |
 | replayer/algorithm_replay/regression_report.hpp |
 | proto/vehicle.proto |
 | replayer/scene_data/cfg_scenarios_proto_codec.hpp |
 | replayer/algorithm_replay/assertions/longitudinal_trajectory.yaml |
 | replayer/algorithm_replay/report_artifact_bundle.hpp |
 | replayer/scene_data/scene_payload_codec.cpp |
 | proto/pnc_scene/live_compact_frame.proto |
 | replayer/algorithm_replay/profiles/wbca.yaml |
 | Testing/case_orchestrator_test.cpp |
 | proto/ssep_compact.proto |
 | data/vehicle/spreader_protect.hpp |
 | algorithm/wbca/linear_velocity_generator.cpp |
 | replayer/algorithm_replay/profiles/pjpo.yaml |
 | data/plan/path_data.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | tasks/task_factory.cpp |
 | replayer/analysis_server/scene_replay_service_handler.hpp |
 | replayer/case_orchestrator/pnc_case_cli.cpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | source/ros_source_replayer_snapshot.cpp |
 | tools/pnc_proto_mapper/hmi_taxonomy_lint.py |
 | tools/pnc_analysis_server/pnc_analysis_server_main.cpp |
 | Testing/beast_analysis_server_test.cpp |
 | replayer/scene_data/compact_proto_codec.hpp |
 | tools/pnc_proto_mapper/sync_config_schema.py |
 | data/plan/path_direction_data.hpp |
 | Testing/profile_collectors_test.cpp |
 | data/config/cfg_stage.cpp |
 | tools/pnc_proto_mapper/schema_lint.py |
 | tools/pnc_proto_mapper/sync_trajectory_schema.py |
 | replayer/algorithm_replay/experiment_analysis_coordinator.hpp |
 | plan/prepare/prepare_lane_constrain.cpp |
 | replayer/analysis_server/beast_analysis_server.cpp |
 | docs/pnc_algorithm_replay/schema_v1_decisions.md |
 | replayer/scene_data/generated/hmi_layer_catalog.hpp |
 | Testing/pnc_map_reflection_test.cpp |
 | replayer/scene_data/compact_proto_codec.cpp |
 | replayer/scene_data/config_proto_codec.hpp |
 | replayer/scene_replay/payload_codec.hpp |
 | docs/pnc_algorithm_replay/examples/pnc_case_promote/request-production-async.yaml |
 | replayer/scene_data/live_compact_ingress.hpp |
 | tools/pnc_proto_bag_to_scene/main.cpp |
 | proto/plan_data.proto |
 | replayer/scene_data/encoding_benchmark.hpp |
 | replayer/scene_replay/live_compressed_frame_ingress.cpp |
 | replayer/scene_replay/compressed_frame_ring_buffer.cpp |
 | docs/compact_proto_boost_removal.md |
Commit
2d7664732b48998ab378500f24b18c28d3e6422d
by wuyanjun110chore: 清理回放 Proto 合同格式
移除 SSEP Proto 中的尾随空白和文件末尾冗余空行,并同步刷新自动生成的 codec schema 标识与 descriptor,保证独立平台首次提交通过 diff 检查。
|
 | ssep/protos/ssep_scenario_type.proto |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | ssep/protos/params.proto |
 | ssep/protos/scene.proto |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | ssep/protos/object.proto |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | ssep/protos/path.proto |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
Commit
543a6afa4446906c89fc01de2a1e00ce530339eb
by wuyanjun110docs: 明确 PlanFrame 字段与压缩维护流程
新增字段保存决策、Full/Compact 映射、量化精度、自动生成、测试与发布操作手册。\n\n补充 Compact Proto 到 PlanFrame、ReplayerDataProcess 和诊断 SDK 的完整恢复链路及排障表,并将规范加入 AGENTS 协作约束。\n\n修正文档中 Full Proto decoder 是否自动生成的矛盾说明。
|
 | docs/pnc_algorithm_replay/proto_generation.md |
 | docs/pnc_algorithm_replay/compact_numeric_encoding_rules.md |
 | AGENTS.md |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
Commit
17a69428c8ca7a2728ee5461c81a136abacb57c5
by wuyanjun110feat: 支持回放服务运行时加载地图
Live Bridge 与 Proto Bag Server 允许省略启动地图配置,无地图时继续提供车辆、障碍物、OGM、路径和轨迹数据。\n\n新增 binary Proto 地图配置接口,前端可提交地图路径和逻辑 ID;接口配置为空时统一使用 /opt/senior/install/share/hdmap_interface/params/hdmap_interface.yaml。\n\n地图加载失败不再阻断非地图帧,并为离线 bag 缓存帧主动重发地图图层。
|
 | replayer/analysis_server/proto_http_router.hpp |
 | replayer/live_bridge/config/live_bridge.example.yaml |
 | replayer/live_bridge/live_map_runtime.cpp |
 | replayer/live_bridge/pnc_live_bridge_app.cpp |
 | replayer/live_bridge/pnc_live_bridge_app.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/live_bridge/live_map_runtime.hpp |
 | replayer/live_bridge/pnc_live_web_bridge.cpp |
 | Testing/beast_analysis_server_test.cpp |
 | Testing/live_bridge_app_test.cpp |
 | replayer/analysis_server/proto_http_router.cpp |
 | proto/scene_replay_api.proto |
 | replayer/live_bridge/live_scene_service_handler.hpp |
 | replayer/live_bridge/pnc_live_web_bridge.hpp |
 | replayer/live_bridge/live_scene_service_handler.cpp |
Commit
1b80e9fca5a0aa21eb3afdb9b06021c96815dddd
by wuyanjun110feat: 支持网页拖拽打开 Proto bag
Proto Bag Server 允许不传 --bag 空载启动,并提供有界 binary Proto 分块上传接口。\n\n浏览器上传按连续 offset 写入受控临时文件,完成后校验 rosbag 与当前 backend runtime/schema,再加载到独立 Replay Session;整包不会进入内存或使用 JSON/base64。\n\n保留命令行直接打开 bag 的原有方式,并补充分块、大小、临时文件清理和版本拒绝测试。
|
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | proto/scene_replay_api.proto |
 | replayer/live_bridge/live_scene_service_handler.cpp |
 | .vscode/launch.json |
 | replayer/live_bridge/bag_upload_session.cpp |
 | replayer/analysis_server/proto_http_router.hpp |
 | replayer/analysis_server/proto_http_router.cpp |
 | tools/pnc_proto_bag_server/main.cpp |
 | Testing/live_bridge_app_test.cpp |
 | replayer/live_bridge/live_scene_service_handler.hpp |
 | replayer/live_bridge/bag_upload_session.hpp |
Commit
57792b9620d5ac60b58c6811a81cb3cb9a806f29
by wuyanjun110fix: 固化拖拽 Bag Server 的运行时版本
为 pnc_proto_bag_server 注入与 backend 一致的 PNC version/commit,使空载启动后上传的 bag 能执行精确 runtime/schema 校验。
|
 | CMakeLists.txt |
Commit
eacc88be0b91aa605e4b2932c9cf233a11906657
by wuyanjun110fix: 补齐 PlanFrame SDK 版本身份
为 exact-version planframe compatibility SDK 注入 PNC version/commit,避免 CurrentPlanFrameCompatContract 返回 unknown。
|
 | CMakeLists.txt |
Commit
0cf8a38a0169529ec81d2b423944fee60a13819a
by wuyanjun110feat: 将 Proto Bag Server 纳入 OTA bundle
随算法 backend 发布支持空载与网页拖拽的 pnc-proto-bag-server,避免部署环境依赖 PNC worktree 构建目录。
|
 | tools/pnc_replay_backend/publish_bundle.py |
Commit
a144665d473e121ffb3130d80f4c557a9ea1db98
by wuyanjun110fix: 保留直接回放 Bag 的完整时间轴
Proto Bag Server 使用最多 20000 帧的离线有界缓存并关闭 Live 时间淘汰,避免长于 60 秒的 bag 丢失开头帧。
|
 | tools/pnc_proto_bag_server/main.cpp |
Commit
3c433b5a877a5a26f37f77ff45aee12f1488b984
by wuyanjun110fix: 按结构合同校验拖拽 Bag
空载 Proto Bag Server 从上传 bag 采用 source version/commit,仅对 RDP contract、Compact schema 和 encoding 保持严格匹配。\n\nLive ROS 模式仍要求显式且精确的 source identity,避免纯工具提交导致刚录制的兼容 bag 无法打开。
|
 | tools/pnc_proto_bag_server/main.cpp |
 | Testing/live_bridge_app_test.cpp |
 | replayer/live_bridge/pnc_live_bridge_app.cpp |
 | CMakeLists.txt |
Commit
7c978c079fdfe68cf6bc3b5145d0b705be58847d
by wuyanjun110feat: 冻结场景回放 encoding v3 基线
完成 PlanFrame Full/Compact Proto 自动生成与持久化审计,冻结 Boost v15 迁移证据和 encoding v3 带宽基线。
GuideLine 仅保留 mode 与 StartPointData,ReferenceLine 使用车体坐标 uint16;raw reference、junction、CenterLine、历史路径轨迹和 SSEP corridor 由回放链路确定性重建。
补齐 BlockData、VehicleState、PncLocalMap 索引恢复,修复 Proto bag 前导 Delta、全量构建链接、Compatibility Registry、Task 异常和 PathTimeGraph 空指针问题。
更新 Live/Bag/replayer 使用文档、OTA 合同与完整回归/带宽工具。
|
 | proto/pnc_scene/compact_replay_input.proto |
 | tools/pnc_encoding_benchmark/main.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/encoding_benchmark.hpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/vehicle_state_proto_codec.cpp |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
 | data/constrain/disable_stop_range.hpp |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | replayer/scene_data/generated/boost_nested_leaf_matrix.csv |
 | docs/pnc_algorithm_replay/schema_v1_decisions.md |
 | tools/pnc_proto_mapper/generator.py |
 | data/ssep/online_region_contour_creator_test.cpp |
 | replayer/scene_data/compatibility_registry.cpp |
 | replayer/analysis_server/config/analysis_server.example.yaml |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | tools/pnc_proto_bag_server/main.cpp |
 | CMakeLists.txt |
 | tools/pnc_proto_mapper/test_plan_frame_persistence_catalog.py |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/plan_frame_nested_persistence_review.yaml |
 | tools/pnc_proto_mapper/generate_plan_frame_persistence_catalog.py |
 | proto/pnc_scene/full_plan_frame.proto |
 | Testing/legacy_scene_importer_test.cpp |
 | replayer/live_bridge/config/live_bridge.example.yaml |
 | Testing/pnc_map_reflection_test.cpp |
 | proto/pnc_scene/compact_plan_frame_fields.proto |
 | replayer/replayer_data_process/replayer_data_process.cpp |
 | Taskfile.yml |
 | proto/plan_data.proto |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | proto/vehicle.proto |
 | replayer/scene_data/compact_proto_codec.cpp |
 | Testing/analysis_server_app_test.cpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | Testing/compatibility_registry_test.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | scenarios/stage.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/generated/boost_nested_omitted_leaves.csv |
 | replayer/scene_data/generated/boost_nested_serialization_audit.yaml |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | tools/pnc_proto_mapper/draft_persistence_policy.py |
 | replayer/scene_data/encoding_v3_bandwidth_baseline.yaml |
 | proto/pnc_scene/compact_guide_line.proto |
 | replayer/scene_data/compact_proto_codec.hpp |
 | replayer/algorithm_replay/production_variant_runner.cpp |
 | docs/pnc_algorithm_replay/usage.md |
 | docs/pnc_algorithm_replay/proto_generation.md |
 | proto/pnc_scene/compact_recorded_result.proto |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | data/constrain/temporary_stop_data.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/plan_frame_persistence_policy.yaml |
 | Testing/live_bridge_app_test.cpp |
 | docs/pnc_algorithm_replay/plan_frame_persistence_catalog.md |
 | tools/pnc_proto_mapper/audit_boost_nested_serialization.py |
 | Testing/pnc_case_cli_test.cpp |
 | replayer/scene_data/compatibility_gateway.hpp |
 | docs/pnc_algorithm_replay/compact_numeric_encoding_rules.md |
 | tools/pnc_proto_bag_to_scene/main.cpp |
 | tools/pnc_proto_mapper/test_encoding_v3_baseline.py |
 | replayer/scene_data/encoding_benchmark.cpp |
 | replayer/scene_data/generated/boost_compact_persistence_diff.yaml |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | offboard/bag_to_keb_scene/CMakeLists.txt |
 | replayer/scene_data/compact_custom_field_proto_codec.hpp |
 | Testing/encoding_benchmark_test.cpp |
 | data/map/reference/reference_road_section.hpp |
 | replayer/analysis_server/config/analysis_server.lsg.proto_bag.yaml |
 | replayer/replayer_data_process/replayer_data_process.hpp |
 | tools/pnc_proto_mapper/test_audit_boost_nested_serialization.py |
 | tools/pnc_proto_mapper/test_draft_persistence_policy.py |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | tasks/deciders/long_decider/time_path_graph_decider.cpp |
 | data/constrain/temporary_stop_data.hpp |
Commit
edfdfbbc033baea804605dbc473e5df76ea3062a
by wuyanjun110fix: 简化离线 bag 服务地图配置
Proto Bag Server 默认使用内置离线服务配置并自动定位 PlanFrame descriptor,不再要求传入 Live YAML。\n\n服务启动时强制忽略 YAML 中的地图路径,由 bag Anchor 提供地图标识、网页按需配置主机地图;同步更新 VS Code 启动项和使用文档。
|
 | .vscode/launch.json |
 | tools/pnc_proto_bag_server/main.cpp |
 | docs/pnc_algorithm_replay/usage.md |
Commit
dd7adad45f010a552e8833702b9d2fc068042af4
by wuyanjun110feat: 支持 Live Bridge 零配置启动
Live Bridge 默认内置 mapless 本地配置,自动采用当前 PNC runtime/schema/encoding 合同并定位 PlanFrame descriptor。\n\n保留 --config 及 bind、port、topic 覆盖能力;复用同一默认配置简化 Proto Bag Server,并同步 VS Code 启动项、回归测试和使用文档。
|
 | replayer/live_bridge/pnc_live_bridge_app.hpp |
 | CMakeLists.txt |
 | docs/pnc_algorithm_replay/usage.md |
 | replayer/live_bridge/pnc_live_bridge_app.cpp |
 | tools/pnc_live_bridge/main.cpp |
 | Testing/live_bridge_app_test.cpp |
 | tools/pnc_proto_bag_server/main.cpp |
 | .vscode/launch.json |
Commit
96f4f01f3f9348d724c8861202430b7475581cfc
by wuyanjun110docs: 统一回放服务零参数入口
补充 Live Bridge 与 Proto Bag Server 的零 YAML 命令、显式配置覆盖、端口冲突和直接开 bag 示例。\n\n将 VS Code Bag Server launch 拆为零参数空会话与启动时直接打开 bag 两个入口,避免要求用户输入空路径。
|
 | docs/pnc_algorithm_replay/usage.md |
 | .vscode/launch.json |
Commit
bb50c3eb8e4cd972ecd12a13d6ae6c61d2d76424
by wuyanjun110fix: 支持网页按地图包目录加载地图
Live Bridge 接受地图 JSON 或包含唯一 map_*.json 的地图包目录,并继续严格校验 Anchor logical ID、district/version 与 SHA256。\n\n地图不匹配错误补充期望 logical ID,新增目录解析回归测试并更新使用文档。
|
 | Testing/live_bridge_app_test.cpp |
 | replayer/live_bridge/live_map_runtime.cpp |
 | replayer/scene_data/map_provider.cpp |
 | docs/pnc_algorithm_replay/usage.md |
Commit
ddeab18ea19e4471b10d2a703a3b77e2d4da516b
by wuyanjun110feat: 提供受限地图文件浏览接口
新增 binary Proto 地图目录浏览端点,默认仅允许访问 /home/senior/maps 及其子目录,并阻止路径越界。返回目录、map_*.json 与可选地图包信息,供 Web 文件选择器使用。
|
 | replayer/live_bridge/live_scene_service_handler.cpp |
 | replayer/live_bridge/live_map_runtime.cpp |
 | replayer/live_bridge/live_scene_service_handler.hpp |
 | replayer/live_bridge/pnc_live_bridge_app.hpp |
 | proto/scene_replay_api.proto |
 | Testing/live_bridge_app_test.cpp |
 | replayer/analysis_server/proto_http_router.hpp |
 | replayer/live_bridge/pnc_live_bridge_app.cpp |
 | replayer/analysis_server/proto_http_router.cpp |
 | replayer/live_bridge/live_map_runtime.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
Commit
810eb76c74b62be8820ea2acf2098aae22573f43
by wuyanjun110feat: 完善场景回放数据合同与调试重建
补齐 PlanFrame Full/Compact 的配置、地图、路径、障碍物与跨帧状态强类型编解码,并为重几何采用车体坐标量化与外层 Zstd。
新增 Full custom codec、继承容器、嵌套 Boost 和高级调试回放合同审计,保留冻结 Proto 字段号及旧消息兼容 tombstone。
支持 KEB/Lattice 等调试图层从 canonical 输入确定性重建,补充字段覆盖、精度、隔离、带宽和回放回归测试。
|
 | replayer/algorithm_replay/production_variant_runner.cpp |
 | proto/pnc_scene/compact_replay_input.proto |
 | replayer/replayer_data_process/replayer_data_process.hpp |
 | tools/pnc_proto_mapper/sync_trajectory_schema.py |
 | Taskfile.yml |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | docs/pnc_algorithm_replay/proto_generation.md |
 | replayer/scene_data/full_custom_codec_exclusions.yaml |
 | Testing/assertion_pack_registry_test.cpp |
 | replayer/analysis_server/compact_geometry_wire.cpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/remaining_plan_proto_codec.hpp |
 | tools/pnc_proto_mapper/audit_debug_replay_contract.py |
 | data/map/reference/reference_segment.hpp |
 | replayer/scene_data/debug_visualization_replay_contract.yaml |
 | data/app/fsm/task_done_verification.hpp |
 | Testing/encoding_benchmark_test.cpp |
 | proto/pnc_scene/compact_guide_line.proto |
 | CMakeLists.txt |
 | tools/pnc_proto_mapper/audit_compact_inherited_containers.py |
 | proto/trajectory.proto |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/plan_frame_persistence_policy.yaml |
 | replayer/algorithm_replay/assertions/debug_observation.yaml |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | data/map/reference/reference_road_section.hpp |
 | replayer/scene_data/compact_nested_boost_contracts.yaml |
 | replayer/scene_data/generated/trajectory_schema_inputs.json |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | docs/pnc_algorithm_replay/usage.md |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/plan_frame_nested_persistence_review.yaml |
 | proto/pnc_scene/full_plan_frame.proto |
 | replayer/scene_data/full_proto_custom_encoder.hpp |
 | replayer/replayer_data_process/replayer_data_process.cpp |
 | proto/decision.proto |
 | tasks/plan/keb_path_optimize_task.cpp |
 | common/util/thr_helper.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
 | docs/pnc_algorithm_replay/plan_frame_persistence_catalog.md |
 | replayer/scene_data/obstacle_proto_codec.hpp |
 | replayer/scene_data/compact_custom_field_proto_codec.hpp |
 | replayer/scene_data/generated/state_schema_inputs.json |
 | replayer/scene_data/compact_proto_codec.cpp |
 | data/wbca/wbca_data.hpp |
 | data/config/cfg_dynamic.hpp |
 | data/boundary/driving_corridor.hpp |
 | proto/plan_data.proto |
 | data/plan/path_data.hpp |
 | proto/pnc_scene/compact_recorded_debug.proto |
 | proto/map_data.proto |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | Testing/scene_channel_wire_test.cpp |
 | replayer/scene_data/obstacle_proto_codec.cpp |
 | tools/pnc_proto_mapper/audit_full_custom_codecs.py |
 | Testing/pnc_map_reflection_test.cpp |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | docs/pnc_algorithm_replay/compact_numeric_encoding_rules.md |
 | proto/pnc_scene/compact_plan_frame_fields.proto |
 | replayer/algorithm_replay/profiles/debug_keb.yaml |
 | replayer/analysis_server/scene_channel_wire.cpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | data/vehicle/vehicle_state.hpp |
 | tasks/plan/keb_utils.hpp |
 | replayer/scene_data/compact_inherited_container_contracts.yaml |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | tasks/plan/keb_lane_follow_path_task.cpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | proto/config.proto |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | tools/pnc_proto_mapper/audit_compact_nested_boost_contract.py |
 | tasks/plan/keb_utils.cpp |
 | data/boundary/road_boundary.hpp |
 | tools/pnc_encoding_benchmark/main.cpp |
Commit
a557ee4cb96deba17c4f3d1da013b1a72da1ac9a
by wuyanjun110feat: 完善 Live 回放按需观测链路
保留浏览器选中的 Live 帧及其历史,使滚动缓存淘汰后仍可生成 FullFrame,并在按需请求时重建 Compact 中省略的观察字段。
为 Analysis Server 和回归任务补齐正常 ROS 生命周期,更新调试启动任务并覆盖选帧、无地图降级与持续采集回归。
|
 | Testing/live_web_bridge_test.cpp |
 | replayer/live_bridge/live_scene_service_handler.cpp |
 | Testing/live_bridge_app_test.cpp |
 | tools/pnc_analysis_server/pnc_analysis_server_main.cpp |
 | .vscode/launch.json |
 | replayer/live_bridge/pnc_live_web_bridge.cpp |
 | tools/pnc_regression_task/pnc_regression_task_main.cpp |
 | replayer/live_bridge/pnc_live_web_bridge.hpp |
 | replayer/live_bridge/pnc_live_bridge_app.cpp |
 | .vscode/tasks.json |
Commit
2162e2df544d9582ce4d1f1b8423194d9142d66d
by wuyanjun110fix: 修复 Replayer 实时模式卡顿与状态竞争
将实时模式切换请求交由工作线程应用,缩短帧队列锁持有时间并修正播放索引上报和边界处理。
在丢弃重入 UI 更新时及时释放生产者背压,补充 realtime 启动参数,并按实际加载类型报告地图与快照状态。
|
 | replayer/main.cpp |
 | replayer/logic.cpp |
 | hmi/replayer_hmi.cpp |
 | replayer/logic.hpp |
 | replayer/replayer_data_process/load_snap_data.cpp |
Commit
283c9fc9112dddbbbead9e26f929e2f08cb2f659
by wuyanjun110fix: 避免实时回放插入解码失败空帧
实时快照只有在 Compact 或旧格式完整解码成功后才进入播放队列,sequence gap 等失败不再产生零位姿 PlanFrame,从而消除界面闪空帧和后续 OpenCV 重建异常。
统一播放器时间格式化并处理零时间、毫秒进位和 localtime 失败,避免切换或退出阶段对短字符串执行 substr 导致崩溃。
增加本地 Replayer 构建入口和时间格式回归测试,并使用 2026-09-02-18-21-39.bag 完成实时播放验证。
|
 | Testing/scene_replay_foundation_test.cpp |
 | hmi/widget/player.hpp |
 | source/ros_source_replayer_snapshot.cpp |
 | Taskfile.yml |
 | hmi/widget/player.cpp |
 | replayer/logic.cpp |
 | source/ros_source_replayer_snapshot.hpp |
Commit
117b9bd75b69187ad1a289cc3bbb42384c28f53c
by wuyanjun110feat: 增加回放数据处理分步耗时统计
为 ReplayerDataProcess 各重建阶段增加基于 steady_clock 的具名耗时指标,并写入现有 plan_diagnose_ 性能面板数据源。\n\n每轮处理前清理旧的 RDP 指标,确保条件步骤关闭后不会显示历史值;作用域计时覆盖提前返回和异常路径。补充回归测试验证总耗时、关键阶段和旧指标清理。
|
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/replayer_data_process/replayer_data_process.cpp |
Commit
274c1f88d47433836aeff90bad764e47676c06e1
by wuyanjun110fix: 修复实时回放两秒跳帧与无效重算
实时订阅按队列顺序推进 Compact decoder,仅将最新完整帧交给重建和界面,避免丢失 delta 后等待 20 帧 anchor;无新帧时停止重复刷新和重建。\n\n新增 ReplayerComputationPolicy,按 HMI 勾选状态分别控制 OGM 线、预测碰撞、Path-Time Graph、OGM 碰撞、Driving Passage、KEB 等高耗时计算,并恢复 process_path_time_graph 参数的正确语义。\n\n新实时 writer 每帧携带 common/bootstrap 且不依赖 history,保证单帧可独立解析;补充静态合同、空历史回退、队列消费和策略映射测试。
|
 | replayer/replayer_data_process/replayer_data_process.hpp |
 | tools/pnc_proto_mapper/proto_only_lint.py |
 | replayer/replayer_data_process/replayer_data_process.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/replayer_data_process/replayer_computation_policy.hpp |
 | source/ros_source_replayer_snapshot.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | sink/ros_sink_snapshot_compact_scene.cpp |
 | tools/pnc_proto_mapper/test_proto_only_lint.py |
 | replayer/logic.cpp |
 | sink/ros_sink_snapshot_compact_scene.hpp |
Commit
3a4cd5022ccb8a79c45ce382f65385ae26977cf1
by wuyanjun110fix: 压缩实时回放公共与启动上下文
新增 v2 Live Compact envelope,将每帧自包含的 SceneCommon 和 SceneBootstrap 合并为 Zstd context payload,避免未压缩上下文导致实时带宽翻倍。
解码端、Live Bridge、bag 转换和 SDK 继续兼容 v1 裸上下文;补充协议边界、失败不污染状态、单帧解码和带宽统计验证。
|
 | tools/pnc_proto_bag_server/main.cpp |
 | replayer/scene_data/compact_snapshot_stream_decoder.cpp |
 | replayer/sdk/planframe_compat.cpp |
 | proto/pnc_scene/live_compact_frame.proto |
 | tools/pnc_encoding_benchmark/main.cpp |
 | tools/pnc_proto_bag_to_scene/main.cpp |
 | replayer/scene_data/proto_bag_scene_builder.cpp |
 | replayer/scene_data/live_compact_context_codec.hpp |
 | Testing/planframe_compat_test.cpp |
 | CMakeLists.txt |
 | tools/pnc_proto_mapper/proto_only_lint.py |
 | Testing/scene_replay_foundation_test.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/live_compact_context_codec.cpp |
 | tools/pnc_proto_mapper/test_proto_only_lint.py |
 | replayer/live_bridge/pnc_live_web_bridge.cpp |
 | replayer/scene_data/live_compact_ingress.cpp |
 | sink/ros_sink_snapshot_compact_scene.cpp |
Commit
7dae66f67d8e40f5cd7d3a5837483f348f5ab293
by wuyanjun110perf: 精简实时回放平滑启动状态
将 SmoothData 的当帧 discretized_path 和 anchor_pts 从 Compact Bootstrap 中移除,仅保留平滑判定所需跨帧状态;Full Proto 继续完整保存观察数据,旧 Compact 数据保持兼容读取。
补充 Bootstrap 字段带宽统计与 Full/Compact 边界测试,实测单帧从 53.53 KB 降至 31.36 KB。
|
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | tools/pnc_proto_mapper/generator.py |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/remaining_plan_proto_codec.hpp |
 | tools/pnc_encoding_benchmark/main.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | data/plan/smooth_data.hpp |
Commit
66ac64440010c5e64461e7852c88f2a1c1eb4014
by wuyanjun110fix: 收紧回放公共与启动状态边界
复查 Common 与 Bootstrap 字段用途,为带宽工具补充两类上下文的字段级统计。
SwitchData Compact 仅保留下一帧会复用的换道路径,排除只供 HMI 展示的 OGM 和障碍物安全区域;Full Proto 保持完整观察数据。
|
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/remaining_plan_proto_codec.hpp |
 | tools/pnc_encoding_benchmark/main.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
Commit
0880db33c3fdab37950dccb1909dbcda3eee795a
by wuyanjun110perf: 精简 SSEP 回放中间状态
Compact 不再保存可由 search/smooth path 重建的 ssep_path,并排除 SsepEC online/offline region 构造中间轮廓;最终 plan_region_contour 与下游直接消费的约束几何保持不变。
新增 SSEP 字段级带宽统计和 *_srl_ 镜像读取门禁。最新实录重编码后从 41.61 KB/帧降至 37.34 KB/帧。
|
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | tools/pnc_encoding_benchmark/main.cpp |
 | tools/pnc_proto_mapper/proto_only_lint.py |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | replayer/scene_data/compact_custom_field_proto_codec.hpp |
 | replayer/scene_data/compact_proto_codec.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/encoding_benchmark.cpp |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | tools/pnc_proto_mapper/test_proto_only_lint.py |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
Commit
a4cf39fe922a1d328c5a0aa64fbaa199ddca0f31
by wuyanjun110docs: 冻结实时回放带宽极限基线
以 2026-09-03 最新实录固化 Live v2 每帧独立解析合同、Common/Bootstrap 语义边界、已排除中间字段和复现方法。
将带宽门禁更新为实际 wire 不超过 40 KiB/帧、压缩 Context 不超过 6 KiB/帧;Boost 因合同不等价仅作信息对照。
|
 | replayer/scene_data/encoding_v3_bandwidth_baseline.yaml |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | docs/pnc_algorithm_replay/live_snapshot_bandwidth_baseline.md |
 | docs/pnc_algorithm_replay/usage.md |
 | tools/pnc_proto_mapper/test_encoding_v3_baseline.py |
 | docs/pnc_algorithm_replay/compact_numeric_encoding_rules.md |
Commit
6a5cbab51ee504373953920ec94b0e0f21f5e672
by wuyanjun110build: 支持回放 SDK 按需源码联编
新增嵌入式 PlanFrame SDK 构建模式,隔离 pnc_node、HMI 和无关回放目标,只编译兼容解码与 ReplayerDataProcess 所需源集。\n\n为嵌套 Ninja 构建提供独立 Proto/SSEP 静态库和源码工作区 CMake 包,并增加链接完整性与构建边界检查。
|
 | proto/CMakeLists.txt |
 | CMakeLists.txt |
 | replayer/sdk/cmake/workspace_bundle.json.in |
 | ssep/CMakeLists.txt |
 | replayer/sdk/cmake/pnc_replay_sdkConfig.cmake.in |
 | tools/pnc_proto_mapper/test_build_boundaries.py |
Commit
14df069da02e3b38cffebf2a9ac0d2a350130833
by wuyanjun110fix: 允许实时地图等待首帧身份
网页可在首个 Live anchor 到达前只配置地图路径,运行时进入 configured_waiting_for_scene;首帧到达后自动采用其 logical ID 并加载地图。\n\n补充首帧前配置、anchor 到达和默认接口路径回归测试。
|
 | Testing/live_bridge_app_test.cpp |
 | replayer/live_bridge/live_map_runtime.hpp |
 | replayer/live_bridge/live_map_runtime.cpp |
Commit
dbfe6370d366b07308076c8ed53fa779d698dc82
by wuyanjun110fix: 从 v2 实时上下文读取地图引用
Live Bridge 在地图 gate 前解压当前 anchor 的 context_payload,不再读取 v2 中已废弃且为空的 envelope.common,避免完整地图被误判为 reference incomplete。\n\n测试默认改用当前 v2 writer 格式,并保留历史 v1 anchor 兼容覆盖。
|
 | Testing/live_web_bridge_test.cpp |
 | replayer/live_bridge/pnc_live_web_bridge.cpp |
Commit
f36b6eacb8f8e3102a252dff8850e4a639a8c1ef
by wuyanjun110feat: 完善网页场景回放持久化与压缩
补齐 AppData2、路由响应和 active-stage 场景配置的强类型持久化,确保 Full Proto 与 Candidate 回放状态完整。\n\n为 GuideLine PathBoundary、纵向曲线、纵向约束和 Block Range 增加兼容式 Compact 编码,保留旧 Bag 解码并降低实时快照带宽。\n\n扩展逐成员带宽审计与嵌套 Codec 门禁,修复消融基准浅拷贝污染,并记录最新混合 Stage 实测结果。
|
 | docs/pnc_algorithm_replay/live_snapshot_bandwidth_baseline.md |
 | replayer/scene_data/plan_frame_nested_persistence_review.yaml |
 | tools/pnc_proto_mapper/draft_persistence_policy.py |
 | replayer/scene_data/generated/boost_compact_persistence_diff.yaml |
 | Taskfile.yml |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | replayer/scene_data/full_custom_codec_exclusions.yaml |
 | Testing/encoding_benchmark_test.cpp |
 | replayer/scene_data/encoding_benchmark.cpp |
 | replayer/scene_data/cfg_scenarios_proto_codec.cpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | replayer/scene_data/plan_frame_persistence_policy.yaml |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | proto/pnc_scene/compact_guide_line.proto |
 | proto/pnc_scene/compact_plan_frame_fields.proto |
 | proto/pnc_scene/full_plan_frame.proto |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | docs/pnc_algorithm_replay/plan_frame_persistence_catalog.md |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/compact_nested_boost_contracts.yaml |
 | replayer/scene_data/cfg_scenarios_proto_codec.hpp |
 | tools/pnc_proto_mapper/generator.py |
 | proto/scenario.proto |
 | replayer/scene_data/longitude_constrain_proto_codec.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/compact_custom_field_proto_codec.hpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/longitude_constrain_proto_codec.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | tools/pnc_proto_mapper/audit_app_data2_codec.py |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | CMakeLists.txt |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | proto/decision.proto |
 | docs/pnc_algorithm_replay/compact_numeric_encoding_rules.md |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | Testing/cfg_scenarios_proto_codec_test.cpp |
Commit
c5737d9170508d933df1242e40f67b36180186c0
by wuyanjun110fix: 放宽 BulkOut 两点判定的横向容差
将 BulkOut 正反向两点兜底容差设为 10 米,BulkIn 保持 5 米,避免首任务尚无搜索结果时横向调整导致漏判。保留纵向与航向约束,增加现场坐标、容差边界及反向判定回归。
|
 | Testing/ssep_path_corridor_test.cpp |
 | data/other/flow_control.cpp |
Commit
d8b7cd36575ec8e5c2d2e51fd8aaa6bd569f0021
by wuyanjun110fix: 统一双向 IMV 搜索包络的换向航向补偿
将搜索车头相对物理车头的翻转与 vehicle_state 的 reversing_mode 异或,覆盖搜索成功帧及多段换向前后的方向更新。包络匹配和换向点航向检查共用补偿逻辑,保留单向车型及终点退出约束。增加现场首点和连续两次换向回归。
|
 | Testing/ssep_path_corridor_test.cpp |
 | data/plan/ssep_data.cpp |
Commit
7fd59d17d329b575b55226408ae672cc88bf5697
by wuyanjun110fix: 通过通用参数保持 BulkOut 搜索的车头身份
新增 allow_start_heading_flip 参数,经 extra_params 和规划器工厂传递,默认保留旧行为并校验参数值。振石 BulkOut 调用端禁用起点航向翻转,同时保留途中双向搜索与末段前进约束。原始场景回放成功,生成前进、倒车、前进三段并通过碰撞检查。
|
 | ssep/scenarios/imv_general_planner.h |
 | ssep/scenarios/scenario_planner_factory.h |
 | data/ssep/forward_ec.cpp |
Commit
f910e31bc4994578e4510fe3a20c5d276aa751aa
by wuyanjun110fix: 清理无搜索阶段的错误重规划上下文
依据当前阶段实际配置的 SSEP_TASK 判断搜索能力,避免普通路口沿线规划误报连续路口搜索重规划。无搜索阶段在冷却判断前清理重规划原因、搜索请求和历史路径保留状态,防止 routing 换向后复用旧参考线。增加有无搜索任务及冷却期残留回归,现场 snapshot 的 24 帧恢复引导线匹配。
|
 | Testing/ssep_path_corridor_test.cpp |
 | tasks/deciders/other_decider/replan_decider.cpp |
Commit
240e9ad3c3576f5ede013925a1244a244107fec3
by wuyanjun110fix: 还原反向作业的 IMV 搜索物理车头朝向
禁止起点航向翻转时,根据反向作业模式还原起点 heading 并转换方向,使末段前进约束对应物理车头。构建和执行搜索统一转换,两段组合搜索在途经点后不重复翻转。首任务与反向作业两例现场回放通过,保留途中倒车能力。
|
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/scenarios/imv_general_planner.h |
Commit
3179fc951917edf5ecf75c6ba06ea5e73627ff2b
by wuyanjun110test: 增加 BulkOut 物理车头与路径质量回归
收录首任务和反向作业重搜两例共享场景,独立验证物理起点航向、末段实际前进、终点误差、换向连续性、运动几何、长度和耗时,并要求最终碰撞检查证据。通过仓库 Proto 解析实际回放输出,保留输入副本、日志及质量报告。增加十一项验收器正反例与非法配置检查,逐例汇总异常;两例完整质量回归通过。
|
 | ssep/test/local_regression/bulkout_reverse_quality.json |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/bulkout_initial_quality.json |
 | ssep/test/local_regression/test_path_quality.py |
 | ssep/test/local_regression/imv_bulkout_manifest.tsv |
 | ssep/test/local_regression/run_ssep_regression.py |
 | ssep/test/local_regression/path_quality.py |
Commit
ada6e49b3b74e5c4140b33c15f00c1578f4be1bb
by wuyanjun110fix: 为振石 BulkOut 搜索保留完整后方点云
从当前帧原始 OGM 点单独重建搜索线障碍,避免执行阶段的后方忽略状态污染多向重搜输入。执行 OGM 与原始点云保持不变,原始点云无效时拒绝构造不完整搜索环境。
|
 | plan/prepare/prepare_ogm.hpp |
 | data/ssep/forward_ec.cpp |
 | plan/prepare/prepare_ogm.cpp |
Commit
0a9d3633bedd56f4b094f6356afd89c515eb7143
by wuyanjun110feat: 统一振石 IMV 场景的搜索参数配置
复用现有场景 YAML 到 SsepInput.extra_params 链路,为 BulkOut、带途经点 BulkIn 和普通 BulkIn 提供场景级参数。IMVGeneral 通过通用方向、车头身份、碰撞裕量和方向代价参数构造搜索,不再使用振石专用构造开关;历史输入在规划入口转换为等价通用参数。显式参数会绕过不兼容的路径仓库与通用热启动,参数解析失败时明确返回错误。
|
 | data/ssep/forward_ec.cpp |
 | config/config_imv/ssep_port_scenarios_zhenshi.yaml |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | ssep/scenarios/imv_search_extra_params.h |
 | ssep/scenarios/imv_general_planner.h |
 | Testing/ssep_path_corridor_test.cpp |
 | data/ssep/ssep_ec.hpp |
 | data/ssep/ssep_ec.cpp |
 | ssep/scenarios/imv_extra_params_compat.h |
 | ssep/scenarios/imv_multi_segment_parking_planner.h |
 | CMakeLists.txt |
 | ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/ssep_planner.cc |
 | ssep/scenarios/imv_enter_station_planner.h |
Commit
129e2e17a7c53ebb43912738e23a831dabdb360f
by wuyanjun110test: 严格区分 SSEP 原样回归与参数实验
默认按录制输入中的 extra_params 回放,只有显式参数实验才应用质量配置覆盖,并在产物中记录模式和覆盖项。原始输入回放工具新增参数覆盖入口;解析失败、输入缺失、空目录和规划失败在严格模式下均返回非零。
|
 | ssep/test/local_regression/run_ssep_regression.py |
 | ssep/test/local_regression/test_raw_replay_cli.py |
 | ssep/test/local_regression/README.md |
 | ssep/offboard/scene_replay/replay_ssep_input_cli.cc |
 | ssep/offboard/ssep_input_provider.h |
 | ssep/offboard/ssep_input_provider.cc |
 | ssep/test/local_regression/test_replay_input.py |
Commit
ef96197a59beacebe0f4a91adcdc2299a8ea6d50
by wuyanjun110fix: 重搜期间复用成功路径并实时更新参考线
锁存当前路口最后成功的 SSEP 路径,每帧从完整缓存拼接实时参考线,保留物理末点并处理滚动地图起点裁剪。 普通路口构建失败时保留累计次数;重试耗尽后清理请求,有成功路径则继续拼接,无成功路径则恢复正常参考线更新。 退出搜索时清理等待状态和旧包络,补齐缓存路径的快照坐标转换及投影重建。 保持期间沿实时引导线进行局部规划,避免有限历史输出耗尽。
验证:参考线与重规划状态回归,以及纵向停车和连续性回归。
|
 | Testing/reference_line_replan_test.cpp |
 | tasks/deciders/other_decider/replan_decider.cpp |
 | data/plan/ssep_data.hpp |
 | tasks/plan/smooth_task.cpp |
 | tasks/other_tasks/stitch_path_to_reference_line.cpp |
 | data/plan/ssep_data.cpp |
 | tasks/other_tasks/stitch_path_to_reference_line.hpp |
 | tasks/other_tasks/create_reference_line.cpp |
 | tasks/deciders/search_decider/normal_junction_search_decider.cpp |
 | tasks/plan/keb_path_optimize_task.cpp |
Commit
70784b598274cb5b48d54cde4ae986b21a0794ea
by wuyanjun110fix: 自适应调整 KEB 固定尾段优化范围
预检 IMV LaneFollow 的固定尾段,必要时在当前段终点范围内有界前移滚动目标,最多检查四个候选且只求解一次。 检查热启动固定尾段,边界不合法时回退冷启动;最终输出保留完整边界校验。 按实车匹配点计算允许前移距离,同步在线、GUI/CLI 提取、离线回放及 HMI 实际目标;新 KebScene 显式保存前移上限,兼容旧数据。 添加固定段与终点范围回归,并将出堆场 103 帧原始数据登记到共享回归清单。
验证:固定尾段单元测试、完整 KEB 回归清单和 pnc_node 构建。
|
 | CMakeLists.txt |
 | offboard/keb_path_opt_cli/README.md |
 | offboard/keb_path_opt_cli/local_regression/keb_regression_manifest.tsv |
 | offboard/keb_path_opt_cli/keb_simulator.cc |
 | tasks/plan/keb_utils_core.hpp |
 | algorithm/plan/keb_optimizer.hpp |
 | tasks/plan/keb_utils.cpp |
 | proto/keb_scene.proto |
 | offboard/keb_path_opt_cli/local_regression/README.md |
 | Testing/keb_fixed_tail_test.cpp |
 | tasks/plan/keb_lane_follow_path_task.cpp |
 | offboard/bag_to_keb_scene/bag_to_keb_scene.cc |
 | algorithm/plan/keb_optimizer.cpp |
 | replayer/replayer_data_process/replayer_data_extraction.cpp |
 | tasks/plan/keb_utils_core.cpp |
Commit
fae88de2856a95acf2e39668796bd56902ac66a4
by wuyanjun110test: 归档出堆场内圈出口碰撞待修复案例
登记异常和正常对照场景及原始搜索输入,记录共享数据路径和 SHA-256。 明确内圈允许通行,问题是出口处车身碰撞;不得以必须走大圈或路径长度作为验收标准。 记录添加超视距障碍物的规避方案,将算法问题保留为 deferred,不纳入仅校验搜索成功的必过清单。
验证:四个原始文件校验一致,两份场景均可解析。
|
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/imv_out_yard_pending_cases.json |
Commit
06f22cb96e630a15ea10919166754fc049aa7903
by wuyanjun110fix: 统一分段路径衔接判定并修复双向 IMV 漏换向
将方向计算和 openspace 入口统一为同向接续、直接换向与搜索衔接三类。 双向 IMV 在纵向间隙不超过 1 米、横向偏差不超过 0.1 米、反向角偏差不超过 5 度时直接换向,修复 T304 因端点相距约 0.914 米而漏换向的问题。 补齐缺失的 openspace 连接点并优先保留已有途经点,增加独立回归目标,覆盖方向初始化、段末停车、阈值边界和任务生命周期。 为显式 10/11 掉头途经点与几何换向的优先级添加 TODO,当前保持原行为。
|
 | data/map/pnc_map/routing_extension/routing_transition.hpp |
 | data/map/pnc_map/routing_extension/routing_data.cpp |
 | data/map/pnc_map/routing_extension/routing_data.hpp |
 | CMakeLists.txt |
 | data/config/cfg_static.hpp |
 | Testing/routing_transition_test.cpp |
Commit
7087555b29af0107f6256b7f266e17f05fe74284
by wuyanjun110fix: 修复重合端点的 openspace 建区退化
端点重合时使用车道法向确定平行搜索框朝向,避免搜索范围错误依赖全局坐标轴。 上下引桥连接线为零长度时,按车道航向直接构造扩展走廊,避免无效子多边形在合并时被丢弃。 新增普通车型重合端点及上下引桥旋转回归。最终 12 项衔接回归与 14 项地图保护回归通过,pnc_node 集群构建成功。
|
 | data/map/pnc_map/routing_extension/routing_data.cpp |
 | Testing/routing_transition_test.cpp |
Commit
894b6ed6a27b45f3857ca3a7d22f86f0e76c6f73
by wuyanjun110feat: 新增津西区域识别并接入搜索配置
依据津西 map_jx_20260903_v1.1.1 地图包围盒确定区域中心, 沿用 WHBULK 的 3000 米识别半径,并在枚举末尾新增 JIN_XI。
将津西接入 WHBULK 同类前进通道、参考线、途经点采样及 终点通道兜底分支,并支持 TT/CAR 的通用搜索器回退选择。
验证:地图全部 4633 个坐标点被覆盖,与现有 32 个区域不重叠; git diff --check 及工程 task 的 pnc_node 编译通过。
|
 | data/config/cfg_region.hpp |
 | data/ssep/forward_ec.cpp |
 | data/config/cfg_region.cpp |
 | data/ssep/ssep_ec.cpp |
Commit
856a59b68229c3791c2ed2f23b449f8fba2e9fcf
by wuyanjun110refactor: 移除振石出场硬编码参数及旧开关兼容
删除 enable_zhenshi_bulkout_mode 的兼容转换及前进搜索中 振石 BulkOut 的参数补充,搜索参数直接由 YAML 显式配置。 缺项采用 planner 通用默认值,历史输入也不再自动展开旧开关。
同步删除旧开关测试并更新参数配置说明,保留通用参数校验。
|
 | data/ssep/forward_ec.cpp |
 | Testing/ssep_path_corridor_test.cpp |
 | ssep/test/local_regression/README.md |
 | ssep/scenarios/imv_extra_params_compat.h |
 | ssep/ssep_planner.cc |
Commit
5363de0da861e2496b85339ca2ec110a7dc11a08
by wuyanjun110fix: 统一搜索场景参数生命周期并保护配置优先级
在公共场景匹配入口和 Reset 中清理旧 planner 与参数, 避免未匹配、空配置和重复请求携带上次动态拉直参数。
以匹配标记保护 YAML 选择,场地及车型默认仅用于未匹配回退; 保留 CAR 换向、低贝位和远程引导等运行时切换。 输出参数整组替换并清理旧远程引导线,投影失败时保留 YAML 且停止无效拉直计算。快照版本升级并兼容旧版读取。
新增覆盖九类搜索的 47 项回归和逐场景检查文档。 验证:47 项测试、pnc_node 编译及 git diff --check 通过。
|
 | docs/ssep_scenario_config_lifecycle.md |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | data/config/cfg_static.hpp |
 | data/ssep/ssep_ec.hpp |
 | data/ssep/ssep_ec.cpp |
 | data/ssep/into_yard_junction_ec.hpp |
 | data/plan/ssep_data.hpp |
 | data/ssep/forward_ec.hpp |
 | CMakeLists.txt |
 | data/ssep/forward_ec.cpp |
 | data/ssep/into_yard_junction_ec.cpp |
 | data/ssep/open_space_ec.hpp |
 | data/ssep/open_space_ec.cpp |
Commit
dc8e39e0db33c03dd603121d395be1510ae6361b
by wuyanjun110refactor: 统一 KEB 路径优化的请求与结果处理
将同步和异步优化收敛到共享的请求快照、求解和结果写回流程,后台线程不持有 Task 或 PlanFrame。 拆分 SSEP 前置处理、重搜保持与 PJPO 兜底,保留 generation 失效保护和完整输出历史。 检查路径投影写回结果,删除未使用成员、失效注释和无效的局部路径匹配。
|
 | tasks/plan/keb_path_optimize_task.cpp |
 | tasks/plan/keb_path_optimize_task.hpp |
Commit
24f5045653dc407ae8c50c9ebc5f22c13df50e1a
by wuyanjun110feat: 支持直行堆场路口 KEB 并保持切换路径连续
NORMAL_FOLLOW 使用 guide line 路口终点构建无 SSEP 的 KEB 输入,延伸距离保留为 0 米。 首次异步等待时放行有效历史路径拼接;末端在区域切换前复用原路口输出,避免无轨迹停车。 远处后续路口不抢占末端复用目标,进入下一路口后正常更新目标;失效输入和真实求解失败仍保留错误处理。 补充选择器、终点、方向、异步等待、末端复用及 Reset 生命周期回归,兼容无 SSEP 的回放可视化输入。
验证:pnc_node 和相关测试目标构建通过,74 项规划回归通过,回放基础测试通过 202/203 项。 已知未解决项:既有 EncodingBenchmarkTest.ReportsSameGroupBoostAndCompactAblations 字节数重复性测试仍失败。
|
 | tasks/plan/keb_path_optimize_task.cpp |
 | tasks/plan/keb_utils.cpp |
 | tasks/plan/keb_utils.hpp |
 | Testing/ssep_path_corridor_test.cpp |
 | tasks/plan/keb_path_optimize_task.hpp |
 | scenarios/task_condition_evaluator.cpp |
Commit
0942ec2b21bc9056d0fc2a74d0640ffed7b3c828
by wuyanjun110refactor: 统一 KEB 路径优化的请求与结果处理
将同步和异步优化收敛到共享的请求快照、求解和结果写回流程,后台线程不持有 Task 或 PlanFrame。 拆分 SSEP 前置处理、重搜保持与 PJPO 兜底,保留 generation 失效保护和完整输出历史。 检查路径投影写回结果,删除未使用成员、失效注释和无效的局部路径匹配。
|
 | tasks/plan/keb_path_optimize_task.cpp |
 | tasks/plan/keb_path_optimize_task.hpp |
Commit
abaf5d01dcb656c9138007e91f34fede7bca4eef
by wuyanjun110feat: 支持直行堆场路口 KEB 并保持切换路径连续
NORMAL_FOLLOW 使用 guide line 路口终点构建无 SSEP 的 KEB 输入,延伸距离保留为 0 米。 首次异步等待时放行有效历史路径拼接;末端在区域切换前复用原路口输出,避免无轨迹停车。 远处后续路口不抢占末端复用目标,进入下一路口后正常更新目标;失效输入和真实求解失败仍保留错误处理。 补充选择器、终点、方向、异步等待、末端复用及 Reset 生命周期回归,兼容无 SSEP 的回放可视化输入。
验证:pnc_node 和相关测试目标构建通过,74 项规划回归通过,回放基础测试通过 202/203 项。 已知未解决项:既有 EncodingBenchmarkTest.ReportsSameGroupBoostAndCompactAblations 字节数重复性测试仍失败。
|
 | tasks/plan/keb_path_optimize_task.hpp |
 | scenarios/task_condition_evaluator.cpp |
 | tasks/plan/keb_utils.cpp |
 | Testing/ssep_path_corridor_test.cpp |
 | tasks/plan/keb_path_optimize_task.cpp |
 | tasks/plan/keb_utils.hpp |
Commit
afebc431763585ce073f664189aed383c2c5aae6
by wuyanjun110fix: 固定回放带宽基准的默认配置
规划配置消融每轮创建栈临时对象,历史构造函数未初始化的标量会使 Proto 字节数波动。 改为复制静态只读默认配置,利用静态初始化清零并保留各配置构造函数的显式默认值。
保留重复测量原始字节数必须相等的断言;回放主回归通过,问题用例连续运行 5 次通过。
|
 | replayer/scene_data/encoding_benchmark.cpp |
Commit
50a59f5f3a4b6e322f4aa51ff24c9c7ebf46126c
by chenranAnticipate speed constraints in platoon CACC trajectories
|
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | Testing/platoon_lattice_test.cpp |
Commit
c042c821f0da0eb00dd8cf9a6e54ce439c54bb03
by wuyanjun110fix: 恢复快照走廊默认状态与历史起点
Compact 省略可重建走廊时保留原生重建范围,显式 Full 字段仍按保存值恢复。 历史起点判断改读当前引导线匹配值,避免读取尚未初始化的本帧缓存。 补齐 Full/Compact、Recorded/Candidate、历史复用及可选真实 bag 回归。
|
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | data/boundary/driving_corridor.cpp |
 | Testing/compact_driving_corridor_restore_test.cpp |
 | CMakeLists.txt |
Commit
2b491858a30362fb1c709ff8dc3b82ad8ec110b2
by wuyanjun110perf: 局部计算道路边界带并保持像素结果
在已栅格化墙的包围盒及保守影响余量内计算临时距离,输出保留完整栅格范围。 融合边界带比较与位运算,保持严格阈值、距离算法和按位 mask 语义。 补充全图参考的逐像素回归,并同步数据头文件审计指纹。
|
 | data/boundary/road_wall_band.cpp |
 | Testing/road_wall_band_equivalence_test.cpp |
 | CMakeLists.txt |
 | data/boundary/driving_corridor.cpp |
 | data/boundary/road_wall_band.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
Commit
79a36e860d0b7f430c6dcfae684dbf104f41e028
by wuyanjun110perf: 精简占用距离场构建的内存操作
将复制、反相及阈值处理合并为等价阈值操作,省去完整距离和标签输出写入前的清零。 写入前释放旧 Mat 引用,保持历史帧和快照浅拷贝隔离。 逐像素验证距离、标签、来源及边界带标志,覆盖尺寸变化、ROI 和共享输出。
|
 | Testing/ogm_distance_equivalence_test.cpp |
 | CMakeLists.txt |
 | data/obstacle/ogm.cpp |
Commit
ea146ed8a0eb5bcc9d1e15f1dc71f3b2bc9a277a
by wuyanjun110perf: 精确复用相同输入的占用距离场
增加线程局部单项缓存,保留数据上限为 32 MiB,以完整灰度和有效边界带逐字节确认输入。 连续两次相同输入后缓存结果,命中时深拷贝输出;输入变化或缓存分配失败时完整计算。 补充缓存失效、输入和输出污染、历史隔离、坐标元数据及线程交错回归。
|
 | data/obstacle/ogm.cpp |
 | Testing/ogm_distance_equivalence_test.cpp |
Commit
56fcf5d5797119577bcc2573e4a078c1bf635722
by wuyanjun110perf: 移除 DP 无效计算和临时节点分配
删除没有读取方的每边临时链表写入,保留现有成员和清理逻辑。 动态障碍列表为空时跳过时间循环,保留末尾权重缩放及 NaN、Inf、负零语义。 补充公共代价接口回归,验证空间代价和硬约束标志不变。
|
 | data/dp_poly_path/dp_road_graph.cpp |
 | data/dp_poly_path/trajectory_cost_test.cpp |
 | data/dp_poly_path/trajectory_cost.cpp |
Commit
5318c3acfa7bc1055972b55c5c7b6a31208d8306
by wuyanjun110test: 固化 DP 优化的结果一致性与耗时基准
为可选真实 bag 回归增加逐帧结果和耗时导出,覆盖完整 DP trace、路径、候选代价与边界。 记录两轮等价优化方法、缓存边界、验证命令及 108 帧精确对比结果。 保持规划覆盖和精度,通道与 DP 平均耗时由 78.8 ms 降至约 22 ms;相关回归和构建已通过。
|
 | Testing/compact_driving_corridor_restore_test.cpp |
 | docs/pnc_algorithm_replay/dp_corridor_performance.md |
Commit
ee002d6158972184eeca7d9c13c37ad785331919
by chenranAdd leader PNC launch with 30 km/h speed override
|
 | launch/pnc_leader.launch.py |
Commit
b2527bbde7a5a30c69610f3dd362307ad30ff7ca
by wuyanjun110test: 初始化碰撞边界回归的车辆尺寸
碰撞越界回归直接使用未加载的 CfgStatic,部分上层车身尺寸未初始化,偶发产生负长度包围盒并中止测试。 通过 Proto decoder 提供明确的车身尺寸;无效投影测试使用静态零初始化配置。
验证:CrashHelperGuardTest 连续 20 轮通过,routing_map_guard_test 和相关专项回归通过。
|
 | Testing/routing_map_guard_test.cpp |
Commit
650a67ae1c42c64154490dba5c0911063d648f44
by wuyanjun110fix: 统一搜索生命周期并保留待消费人工请求
九类 SearchDecider 复用构建失败计数、显式重启和帧末收尾,避免 EC Reset 刷新失败预算。 仅在新进入 UNUSE 时结束失败请求,保留等待原有终态门控消费的人工重规划上下文,避免命令脉冲消失后请求被旧搜索失败清掉。 保持各场景重启条件、fallback 顺序和历史输出策略,以及原有成功完成清理时序。 补充九类参数化、普通路口跨帧与 REQUEST/RUNNING/FINISH 人工请求回归,记录生命周期说明。
验证:8 组专项 CTest 通过;pnc_node、pnc_replayer 和回放主测试构建通过。
|
 | tasks/deciders/search_decider/search_decider_lifecycle.cpp |
 | tasks/deciders/search_decider/into_yard_junction_search_decider.cpp |
 | tasks/deciders/search_decider/reverse_search_decider.cpp |
 | tasks/deciders/search_decider/seaside_junction_search_decider.cpp |
 | docs/ssep_search_lifecycle.md |
 | tasks/deciders/search_decider/out_yard_junction_search_decider.cpp |
 | tasks/deciders/search_decider/search_decider_lifecycle.hpp |
 | Testing/search_decider_lifecycle_test.cpp |
 | CMakeLists.txt |
 | tasks/deciders/search_decider/normal_junction_search_decider.cpp |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | tasks/deciders/search_decider/open_space_search_decider.cpp |
 | tasks/deciders/search_decider/bridge_junction_search_decider.cpp |
 | Testing/reference_line_replan_test.cpp |
 | tasks/deciders/search_decider/ex_lane_change_search_decider.cpp |
Commit
17ad1640bc31f74e6ddab67771868645ab7e241f
by wuyanjun110fix: 统一地图区间投影并保留合并端点
Region、禁停区和减速带同时投影并裁剪两端,避免短区间混用车道累计 s 与实际路径 s,投影后恢复起点排序。 跨车道合并禁停区和减速带时保留最外侧几何端点,避免包含子段或首段端点截断合并范围。 补充 38 项区间投影、裁剪、无效输入、合并边界和停车线回归,并同步源码审计 hash。
验证:routing_map_guard_test 及相关 8 组专项 CTest 通过;生成文件与 Proto 兼容性检查通过。
|
 | data/map/pnc_map/pnc_map_path.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | Testing/pnc_map_overlap_test.cpp |
 | CMakeLists.txt |
 | data/map/pnc_map/pnc_map_path.hpp |
Commit
49b79f589bdc32a873cd4b298543d9b1cb87d8a3
by wuyanjun110fix: 统一 KEB 与 SSEP 的闸口点云过滤
将闸口掩码和拖挂车辆半宽计算抽到 sidepass_utils,供 DrivingCorridor、KEB 和 OGM 轮廓提取共用。
在轮廓提取前过滤临时栅格,保留原始 OGM、采样点和碰撞索引。Prepare 使用历史 guide 与当前车辆位姿;历史 guide 无效时不过滤,不从参考线重建兜底。回放在引导线恢复后刷新车体及 UTM 轮廓。
补充 15 项闸口过滤回归,覆盖上下层、开关、历史位姿、无 guide、原始碰撞输入保留和刷新生命周期;同步生成审计输入指纹。
验证:pnc_node 和 pnc_replayer 通过 icecream -j60 多机编译;polygon_sl_projector 78 项、ssep_path_corridor 74 项测试通过,生成物检查通过。
|
 | data/boundary/sidepass_utils.hpp |
 | CMakeLists.txt |
 | data/boundary/driving_corridor.cpp |
 | data/boundary/sidepass_utils.cpp |
 | replayer/replayer_data_process/replayer_data_process.hpp |
 | plan/prepare/prepare_ogm.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | tasks/plan/keb_utils.cpp |
 | replayer/replayer_data_process/replayer_data_process.cpp |
 | plan/prepare/prepare_ogm.hpp |
 | Testing/keb_gate_filter_test.cpp |
Commit
f357bcdcb91c19fea619b4fa788f033396e4f9d7
by wuyanjun110fix: 收紧闸口点云过滤默认横向缓冲
将未配置 gate_sidepass_filter_lateral_buffer_m 时的默认值由 0.5 m 调整为 0.3 m,减少车身边界之外额外清除的点云范围。显式配置仍优先于默认值。
|
 | data/config/cfg_safe_const.cpp |
Commit
2e3c53e6a82bb958e566997de5338c4332a7fde3
by wuyanjun110fix: 修复沟点轮廓包络与边缘点丢失
独立生成沟点轮廓,恢复稀疏点簇连接并沿完整占用格边界包住原始点。 按凸包锚点分段简化,逐段校验原始点包含关系,保留明显凹口。 临时栅格四侧补一格并同步中心,防止最近格心落格丢弃边缘点。 补充真实快照、小数坐标、边缘及减段回归;102 项测试通过,多机编译完成。
|
 | plan/prepare/prepare_ogm.hpp |
 | CMakeLists.txt |
 | plan/prepare/prepare_ogm.cpp |
 | Testing/roadside_contour_test.cpp |
 | tasks/plan/keb_utils.cpp |
Commit
3236b25aa5c2cbbe4ae141dda3c374ac0615ae08
by wuyanjun110feat: 完善 KEB 障碍约束配置及回放
起终点清障独立配置,默认保留起点障碍、清除终点占用区域;沟点层保持不清障。 增加默认零值的沟点前后与左右内缩,统一优化和精确碰撞校验使用的几何。 将三车型的沟点代价参数归入 OptParam,构造时复制可选沟点车身几何。 同步 Full、Compact、离线场景与 CLI 参数传递,保留显式 false 和旧场景默认语义。 补充配置持久化、车身内缩和清障组合测试;协议生成、兼容性检查及多机编译通过。
|
 | ssep/keb_optimizer/rigid_truck_keb_optimizer.cc |
 | ssep/keb_optimizer/rigid_truck_keb_optimizer.h |
 | tasks/plan/keb_lane_follow_path_task.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | ssep/maps/ogm_builder.cc |
 | ssep/keb_optimizer/imv_keb_optimizer.cc |
 | config/config_imv/plan.yaml |
 | CMakeLists.txt |
 | proto/keb_scene.proto |
 | tasks/plan/keb_utils_core.hpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | algorithm/plan/keb_optimizer.cpp |
 | ssep/keb_optimizer/imv_keb_optimizer.h |
 | ssep/maps/ogm_builder.h |
 | algorithm/plan/keb_optimizer.hpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | offboard/bag_to_keb_scene/bag_to_keb_scene.cc |
 | data/config/cfg_lat_plan.hpp |
 | offboard/keb_path_opt_cli/keb_simulator.cc |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/replayer_data_process/replayer_data_extraction.cpp |
 | tools/pnc_proto_mapper/sync_config_schema.py |
 | tools/pnc_proto_mapper/test_config_schema_presence.py |
 | tasks/plan/keb_path_optimize_task.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | Testing/keb_roadside_footprint_test.cpp |
 | proto/config.proto |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | offboard/keb_path_opt_cli/closed_loop_utils.cc |
 | Testing/keb_obstacle_visibility_test.cpp |
 | Testing/keb_roadside_config_test.cpp |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | tasks/plan/keb_utils_core.cpp |
 | data/config/cfg_lat_plan.cpp |
Commit
300b1ca727764e2d652d0994e6bc9e01d3912ed6
by wuyanjun110chore: 调整沟点硬安全间距默认值
ROS 参数未显式配置时,将沟点硬安全间距默认值从 0.05 m 调整为 0 m。 单独记录此调参,便于独立审查和回退。
|
 | data/config/cfg_lat_plan.cpp |
Commit
45fbd05d800b5f04df7e9156c7c56ccbbcdb2f88
by chenranPreserve stitched acceleration across braking and recovery
Keep the unified initial acceleration for normal and FSM fallback. Preserve inherited braking within physical limits and diagnose exceptional start adjustments. Remove the obsolete acceleration-clear/restore path and cover the revised stop behavior.
|
 | data/plan/start_point_data.hpp |
 | Testing/jerk_limited_stop_test.cpp |
 | tasks/plan/lattice_task.cpp |
 | algorithm/lattice/fsm_safety_brake.hpp |
 | algorithm/lattice/jerk_limited_stop.hpp |
 | data/plan/start_point_data.cpp |
Commit
57eac5ba7f0d9fd8234826e02495d20a665cf084
by chenranNormalize numerical stop endpoints without erasing acceleration
Apply terminal speed normalization at the exact endpoint as well as the hold segment. Preserve real nonzero terminal acceleration and add a regression.
|
 | data/lattice/lattice_trajectory1d.cpp |
 | Testing/jerk_limited_stop_test.cpp |
Commit
a20026508d3e1064b0023657af9fa6e6b41b1275
by chenranAdd platoon safety and response configuration
Load and validate headway, braking recovery, response and gap-preview settings. Version the replay serialization while retaining older snapshot defaults.
|
 | data/config/cfg_platoon.cpp |
 | data/config/cfg_platoon.hpp |
Commit
9f67a4e7930a7c5af80300d78b086a00d3ec15b8
by chenranContinue predicted leader braking until standstill
Keep negative estimated acceleration beyond the nominal prediction-duration cutoff, controlled by continue_leader_braking. Test sustained braking and the disabled behavior.
|
 | Testing/platoon_follow_target_builder_test.cpp |
 | algorithm/platoon/platoon_leader_predictor.cpp |
Commit
e78f387aa20fadc91864cf35ae2df181ef3c34fd
by chenranSmooth projected leader motion with consistent derivatives
Fit nonnegative leader velocities within acceleration bounds and reject excessive position correction. Derive interpolated position, speed and acceleration from one model, with a misaligned-motion regression.
|
 | algorithm/platoon/platoon_follow_target_builder.cpp |
 | data/platoon/platoon_follow_target.cpp |
 | algorithm/platoon/platoon_reference_smoother.hpp |
 | Testing/platoon_follow_target_builder_test.cpp |
Commit
54569c422e514eb9fd91c38f3203b997400f4d7f
by chenranGuard platoon candidates with braking reserve and recovery hold
Assess measured headway and braking clearance before mode selection and validate candidate response rollouts. Retain leader obstacle checks during fallback, cap recovery speed, and latch protection across planning stages. Add safety and recovery regressions.
|
 | CMakeLists.txt |
 | algorithm/lattice/platoon_safety.hpp |
 | algorithm/lattice/lattice.cpp |
 | algorithm/lattice/platoon_response.hpp |
 | tasks/plan/lattice_task.cpp |
 | Testing/platoon_safety_test.cpp |
 | algorithm/lattice/lattice.hpp |
Commit
176f859fb89471859bdc4ffada0ab1631997a40c
by chenranPreserve CACC stop feasibility at low-speed splices
Allow brake-release jerk up to the physical bound when an inherited splice requires it. Compare endpoint roundoff in velocity units, normalize stop residue, and report detailed infeasibility diagnostics.
|
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
Commit
26c475b97c41772612ff7e647d9c1511cc141246
by chenranUse vehicle response feedback and braking preview in CACC
Keep output stitching separate from measured-state response prediction. Preview gap and braking reserve before accepting commands, and continue braking when extrapolating a short leader reference. Add measured-feedback, stop-recovery and recorded-failure regressions.
|
 | Testing/platoon_response_test.cpp |
 | Testing/data/platoon_130937_README.md |
 | Testing/platoon_lattice_test.cpp |
 | Testing/data/platoon_130937.txt |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | Testing/platoon_safety_test.cpp |
 | CMakeLists.txt |
Commit
bd62bf24d58dc54c5c0af734886eed6425f3c855
by chenranShow platoon headway history with fixed target-centered axes
Replace the separate platoon gap and phase tabs with headway traces in platoon history. Display available headway alongside its minimum and fix the gap/headway axis ranges around configured targets.
|
 | hmi/widget/lattice_plan_detail.hpp |
 | hmi/widget/lattice_plan_detail.cpp |
Commit
5261d92a5131222c52f4c73b4d7ac8ae8e0e65db
by chenranDocument platoon safety and response-model behavior
Describe configuration, safety and recovery lifecycle, continuity rules, diagnostics, regression coverage and model limitations.
|
 | docs/platoon/safety_fallback.md |
Commit
36dbddf7269c44be373058fbc7c99355e61674df
by wuyanjun110fix: 隔离 SSEP 异步搜索的任务输入与结果
发起搜索时复制配置、输入和场景信息,避免后台线程读取已切换任务的当前帧。 记录搜索所属任务,丢弃旧任务晚到结果;接收成功但执行目标尚未切换时使用新任务 ID。
补充旧任务结果丢弃、接收过渡帧及同任务重搜结果发布回归。
|
 | Testing/routing_transition_test.cpp |
 | tasks/plan/ssep_task.cpp |
 | tasks/plan/ssep_task.hpp |
Commit
b4ee1eea7754b5ba523373bf35b170d0da295408
by wuyanjun110fix: 修复起点偏移 open space 任务接收与车头交接
先初始化接收路由的偏移信息,再校验方向,修复 VV086 任务因首车道航向差超过 90 度被提前拒绝。 正常车道校验保留当前定位及历史执行车头,维持停车换头规则。
双向 IMV 的 10/11 保留指定车头、12 允许初搜自动选择;搜索期间跟随当前分段,接回路由继承末段方向,重搜临时失去分段时保持执行方向。 修正指定车头重搜姿态及前后轴轮角对应关系,并在新任务接收后失效旧搜索结果和 EC。
补充 VV086 几何、正常车道方向组合、搜索方向生命周期和输入约束回归。刷新测试访问声明对应的头文件审计校验值,未改变协议字段。
验证:routing、SSEP 与地图边界三组回归通过,pnc_node 构建成功。
|
 | CMakeLists.txt |
 | Testing/routing_transition_test.cpp |
 | data/ssep/open_space_ec.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | tasks/deciders/search_decider/open_space_search_decider.cpp |
 | data/vehicle/request_routing_data.cpp |
 | data/ssep/ssep_ec.cpp |
 | data/map/pnc_map/routing_extension/routing_data.cpp |
 | Testing/ssep_path_corridor_test.cpp |
 | data/vehicle/request_routing_data.hpp |
Commit
7a633a6c2a6da54393c4e30b80a2f6564018bdb4
by chenranReplace platoon CACC generator with time-headway MPC
|
 | algorithm/lattice/lattice.cpp |
 | algorithm/lattice/platoon_safety.hpp |
 | algorithm/platoon/platoon_follow_target_builder.hpp |
 | data/platoon/platoon_info.hpp |
 | Testing/data/platoon_100156.txt |
 | algorithm/lattice/platoon_trajectory_evaluator.cpp |
 | hmi/widget/lattice_plan_detail.hpp |
 | algorithm/lattice/platoon_trajectory_evaluator.hpp |
 | data/platoon/platoon_follow_target.cpp |
 | Testing/platoon_test_safety.hpp |
 | data/platoon/platoon_info.cpp |
 | data/config/cfg_platoon.hpp |
 | Testing/platoon_response_test.cpp |
 | Testing/data/platoon_100156_README.md |
 | algorithm/lattice/platoon_response.hpp |
 | algorithm/platoon/platoon_follow_target_builder.cpp |
 | Testing/platoon_follow_target_builder_test.cpp |
 | data/config/cfg_platoon.cpp |
 | algorithm/lattice/lattice.hpp |
 | config/platoon.yaml |
 | docs/platoon/time_headway_mpc.md |
 | algorithm/lattice/platoon_trajectory1d_generator.hpp |
 | docs/platoon/safety_fallback.md |
 | Testing/platoon_lattice_test.cpp |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | Testing/platoon_safety_test.cpp |
 | hmi/widget/lattice_plan_detail.cpp |
Commit
a3093405ca03a62d8d95ab6cdedec3a399a16d1d
by chenranFix platoon MPC entry convergence and terminal braking feasibility
|
 | Testing/data/platoon_054525_entry.txt |
 | Testing/data/platoon_054525_entry_README.md |
 | Testing/platoon_response_test.cpp |
 | docs/platoon/time_headway_mpc.md |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
Commit
ef3e97bb28b9121339d560811f73e8eb505f941d
by chenranFix platoon MPC speed-limit exits and response safety alignment
|
 | Testing/platoon_response_test.cpp |
 | Testing/data/platoon_065928_constraints.txt |
 | algorithm/lattice/platoon_response_safety.hpp |
 | Testing/data/platoon_065928_constraints_README.md |
 | algorithm/lattice/platoon_response.hpp |
 | algorithm/lattice/lattice.cpp |
 | data/vehicle/vehicle_chassis.cpp |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | Testing/platoon_safety_test.cpp |
 | Testing/platoon_test_safety.hpp |
 | docs/platoon/time_headway_mpc.md |
 | algorithm/lattice/platoon_qp_polish.hpp |
 | algorithm/lattice/platoon_trajectory1d_generator.hpp |
Commit
735a09688c39fe8c65023d8ee19c7343dcb60cfa
by wuyanjun110fix: 修复 ARM 回放共享库链接 CUDA 静态库失败
为 ssep_gpu_lib 开启 POSITION_INDEPENDENT_CODE,使 CUDA 宿主代码使用 -fPIC,修复 ARM 上链接回放共享库时的重定位错误。顶层 CMAKE_CXX_FLAGS 不覆盖 .cu 编译。
已通过 CMake 配置、diff 检查及 x86 CUDA 静态库链接共享库最小验证;ARM 完整构建待服务器复验。
|
 | ssep/CMakeLists.txt |
Commit
14cc7c2a27e9f93b3d29381690576332b2a91810
by chenranImprove platoon MPC convergence at speed ceilings
|
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | Testing/platoon_response_test.cpp |
 | docs/platoon/time_headway_mpc.md |
 | Testing/data/platoon_083648_constraints.txt |
 | algorithm/lattice/platoon_qp_polish.hpp |
 | Testing/data/platoon_083648_constraints_README.md |
Commit
9afb96bdbecf221d1126368f67f4668e40164b7a
by chenranRemove persistent platoon safety latch
|
 | docs/platoon/time_headway_mpc.md |
 | data/config/cfg_platoon.cpp |
 | algorithm/lattice/lattice.cpp |
 | algorithm/lattice/lattice.hpp |
 | Testing/platoon_safety_test.cpp |
 | algorithm/lattice/platoon_safety.hpp |
 | config/platoon.yaml |
 | data/config/cfg_platoon.hpp |
Commit
db7140a64f1543a7dd6f93ca5b9660d9145d73dd
by wuyanjun110build: 默认仅构建和安装 PNC 线上程序
新增默认关闭的 PNC_BUILD_OFFLINE_TOOLS 开关,默认构建和安装仅保留 node、replayer、scene_vis_server。离线对象库按消费者依赖编译,开发目标仍可显式构建,开启开关可恢复全量工具和 SDK 安装。
保留测试独立开关及 embedded SDK 的 compat 构建路径,补充线上构建任务和发布目录说明。已验证三个线上目标构建、全新暂存安装、开关切换及测试依赖;telediagnostic 依赖链已静态核对,未重编整个工程。
|
 | docs/pnc_build_profiles.md |
 | CMakeLists.txt |
 | Taskfile.yml |
Commit
ffc82d3f0353a69ab1d90f9268c5f2aedeb37f56
by wuyanjun110fix: 同路口重搜先停稳并从当前定位构建起点
仅对当前路口内同任务重搜进入 TO_MOTIONLESS,连续搜索与 fallback 保留原流程。 等待请求跨输入异常与阶段重置保留,由停止线负责停车,停稳后再构造环境。 统一定位起点与轮角校验,同步状态编码、场景回放生成物及生命周期回归。
|
 | data/ssep/open_space_ec.cpp |
 | tasks/deciders/search_decider/bridge_junction_search_decider.cpp |
 | data/ssep/out_yard_junction_ec.cpp |
 | data/app/fsm/motion_fsm/motion_fsm.cpp |
 | data/ssep/normal_junction_ec.cpp |
 | common/util/express.cpp |
 | tasks/deciders/search_decider/seaside_junction_search_decider.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | data/ssep/seaside_junction_ec.cpp |
 | proto/plan_data.proto |
 | tasks/deciders/search_decider/reverse_search_decider.cpp |
 | data/ssep/ssep_ec.cpp |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | tasks/deciders/search_decider/open_space_search_decider.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | data/ssep/bridge_junction_ec.cpp |
 | tasks/other_tasks/stitch_path_to_reference_line.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | data/ssep/ssep_ec.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | Testing/search_decider_lifecycle_test.cpp |
 | data/plan/ssep_data.cpp |
 | docs/ssep_search_lifecycle.md |
 | data/ssep/into_yard_junction_ec.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | tasks/deciders/search_decider/search_decider_lifecycle.hpp |
 | tasks/other_tasks/stitch_trailer_path_to_ref_line.cpp |
 | Testing/routing_map_guard_test.cpp |
 | tasks/deciders/search_decider/out_yard_junction_search_decider.cpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | tasks/deciders/long_decider/constrain_decider.cpp |
 | data/vehicle/deviation_status.cpp |
 | tasks/deciders/search_decider/into_yard_junction_search_decider.cpp |
 | tasks/deciders/search_decider/search_decider_lifecycle.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | tasks/deciders/other_decider/replan_decider.cpp |
 | tasks/deciders/search_decider/ex_lane_change_search_decider.cpp |
 | tasks/deciders/search_decider/normal_junction_search_decider.cpp |
 | data/ssep/ssep_common.hpp |
 | Testing/ssep_path_corridor_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
Commit
2c9028f468748a19e17b8d322b8c23c2971ba8b7
by wuyanjun110fix: 保留车后弯道并平滑拼接 SSEP 参考线
保持准确搜索首点与前方路径,优先沿历史和原参考线补足后视范围。 逐步调整车后连接锚点并校验去重后的实际接缝,移除整段搜索头切线兜底。 加入任务 52851 几何 fixture、大偏移、短历史、弯道及换头回归。
|
 | tasks/other_tasks/stitch_path_to_reference_line.hpp |
 | Testing/fixtures/stitch_52851_offset_replan.hpp |
 | docs/ssep_search_lifecycle.md |
 | Testing/reference_line_replan_test.cpp |
 | tasks/other_tasks/stitch_path_to_reference_line.cpp |
Commit
2d26dfb54d41917a06e60f1ab9c36ad017017bad
by wuyanjun110fix: SSEP 重搜期间复用有效 KEB 历史路径
校验任务、方向、姿态及剩余长度,补齐车辆至优化首点的历史前缀后写回。 新 SSEP 完成但尚未成功接入时继续保持,接替后释放旧优化输出;失效时按原策略兜底。 补充连续等待、前缀接头、输入失效和新结果接替回归。
|
 | tasks/plan/keb_path_optimize_task.hpp |
 | docs/ssep_search_lifecycle.md |
 | Testing/ssep_path_corridor_test.cpp |
 | tasks/plan/keb_path_optimize_task.cpp |
Commit
1124716aaedfe26f79f04c4f26944358b3442658
by wuyanjun110fix: 优化 SSEP KEB 首段转向状态变化率
IMV General 保持既有首点姿态、曲率和 beta,允许首 pinch 与 beta_dot 在限值内优化。 初始导数收紧到合法范围,其他调用默认保留首点全固定行为。 仅调整 KEB 优化,不修改轮角传输、操作头转换或粗搜索接口,并覆盖正反向及默认兼容测试。
|
 | ssep/keb_optimizer/imv_keb_optimizer.cc |
 | docs/ssep_search_lifecycle.md |
 | ssep/keb_optimizer/keb_problem.cc |
 | Testing/imv_keb_start_derivatives_test.cpp |
 | CMakeLists.txt |
 | ssep/keb_optimizer/keb_problem.h |
 | ssep/keb_optimizer/imv_keb_optimizer.h |
 | ssep/scenarios/imv_general_planner.h |
Commit
6eaa935cf44922198166c78bd32fb915f258657c
by chenranExtract MPC solver into algorithm/platoon and remove lattice forwarding files
|
 | algorithm/platoon/platoon_response_safety.hpp |
 | algorithm/platoon/platoon_safety.hpp |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | algorithm/lattice/platoon_response_safety.hpp |
 | algorithm/lattice/long_target_calculator.cpp |
 | algorithm/platoon/speed_limits.hpp |
 | Testing/jerk_limited_stop_test.cpp |
 | Testing/platoon_response_test.cpp |
 | data/platoon/platoon_follow_target.cpp |
 | algorithm/platoon/platoon_qp_polish.hpp |
 | data/platoon/platoon_follow_target.hpp |
 | tasks/plan/lattice_task.cpp |
 | algorithm/platoon/command_history.hpp |
 | algorithm/lattice/platoon_trajectory1d_generator.hpp |
 | algorithm/lattice/platoon_qp_polish.hpp |
 | algorithm/platoon/jerk_limited_stop.hpp |
 | algorithm/lattice/stop_profile_planner.hpp |
 | Testing/platoon_safety_test.cpp |
 | algorithm/platoon/mpc_config.hpp |
 | Testing/platoon_mpc_core_test.cpp |
 | algorithm/lattice/longitudinal_curve_validator.hpp |
 | algorithm/lattice/lattice.hpp |
 | algorithm/platoon/longitudinal_mpc.cpp |
 | algorithm/lattice/platoon_safety.hpp |
 | algorithm/platoon/platoon_response_safety.cpp |
 | algorithm/platoon/curve_kinematics.hpp |
 | algorithm/platoon/platoon_response.hpp |
 | docs/platoon/time_headway_mpc.md |
 | algorithm/lattice/lattice.cpp |
 | algorithm/lattice/jerk_limited_stop.hpp |
 | CMakeLists.txt |
 | algorithm/platoon/leader_reference.cpp |
 | algorithm/platoon/leader_reference.hpp |
 | algorithm/lattice/platoon_response.hpp |
 | algorithm/platoon/longitudinal_mpc.hpp |
Commit
385069cb37efe2b4eb4542d42ee4452ba09d69da
by chenranExtract independent QP solver from longitudinal MPC
|
 | algorithm/platoon/qp_solver.hpp |
 | Testing/platoon_qp_solver_test.cpp |
 | algorithm/platoon/longitudinal_mpc.cpp |
 | CMakeLists.txt |
 | algorithm/platoon/qp_solver.cpp |
 | docs/platoon/time_headway_mpc.md |
Commit
1798a3c066eb3392e36fec0354766a879046c895
by chenranSplit longitudinal MPC generation into maintainable cycle stages
|
 | algorithm/platoon/longitudinal_mpc_internal.hpp |
 | algorithm/platoon/longitudinal_mpc_rollout.cpp |
 | CMakeLists.txt |
 | docs/platoon/time_headway_mpc.md |
 | Testing/platoon_mpc_core_test.cpp |
 | algorithm/platoon/longitudinal_mpc_qp.cpp |
 | algorithm/platoon/longitudinal_mpc.hpp |
 | algorithm/platoon/longitudinal_mpc_validation.cpp |
 | algorithm/platoon/longitudinal_mpc.cpp |
 | algorithm/platoon/longitudinal_mpc_prepare.cpp |
Commit
346364987e2bf062f83a9eb97dd645007633bc21
by chenranConsolidate MPC stages into longitudinal_mpc.cpp
|
 | algorithm/platoon/longitudinal_mpc_prepare.cpp |
 | algorithm/platoon/longitudinal_mpc_rollout.cpp |
 | algorithm/platoon/longitudinal_mpc.cpp |
 | algorithm/platoon/longitudinal_mpc_internal.hpp |
 | CMakeLists.txt |
 | docs/platoon/time_headway_mpc.md |
 | algorithm/platoon/longitudinal_mpc_qp.cpp |
 | algorithm/platoon/longitudinal_mpc_validation.cpp |
Commit
0d27b36cc302441a7459936d3fbfd470973ec750
by chenranMerge MPC cycle stages into LongitudinalMpc
|
 | algorithm/platoon/longitudinal_mpc.cpp |
 | algorithm/platoon/longitudinal_mpc.hpp |
 | docs/platoon/time_headway_mpc.md |
Commit
d75778feffec805a3ef4323aede4f58cb33feed9
by wuyanjun110feat: 新增可配置的倒车优先拖挂停车策略
通过 ReversePriority 显式启用独立搜索器和规划器,修复假途经点、零米及短距离拉直、短路径起点偏移。 首轮允许双向搜索且不限制前进调整次数,换向代价逐次翻倍,按累计代价和换向次数进行支配剪枝。 保持用户倒车曲率限制,加强优化几何约束,并在输出前检查完整车头和挂车的连续扫掠碰撞。 区分原始线段、独立栅格占用和 access 清除语义,保留旧场景默认行为。
验证:56 项 C++ 测试通过,pnc_node 和离线回放程序构建通过,两份现场及短距离回放通过。
|
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/scenarios/tractor_trailer_parking_collision.h |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | ssep/maps/ogm.cc |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | ssep/data_structures/ssep_input.cc |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | ssep/scenarios/tractor_trailer_parking_curvature.h |
 | ssep/scenarios/tractor_trailer_parking_maneuver.h |
 | Testing/search_decider_lifecycle_test.cpp |
 | ssep/maps/ogm_builder.cc |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.h |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h |
 | data/ssep/forward_ec.cpp |
 | ssep/keb_optimizer/keb_problem.h |
 | ssep/ssep_planner.cc |
 | ssep/keb_optimizer/cost_features/parking_geometric_curvature_constraint.h |
 | ssep/test/parking_collision_provenance_test.cc |
 | config/config_truck/ssep_port_scenarios_jinxi.yaml |
 | ssep/test/ssep_planner_test.cc |
 | ssep/keb_optimizer/cost_features/tractor_trailer_kinematic_constraint.h |
 | ssep/offboard/ssep_planner_wrapper.cc |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.cc |
 | ssep/maps/ogm.h |
 | docs/ssep_scenario_config_lifecycle.md |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | data/ssep/ssep_ec.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | ssep/test/CMakeLists.txt |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
Commit
f33a41d5c3a2946198b43893290ca8246a18ea2e
by wuyanjun110test: 收录金玺拖挂停车场景并完善物理质量回归
将两份现场记录和两个短距离合成场景登记为正式回归清单,按共享数据目录保存原始文件及 SHA-256 来源记录。 扩展统一运行器,显式应用场景参数且保持源数据不变,支持不限路径段数的 TT 停车验收。 独立检查运动方向、起终点两航向、曲率及完整车身扫掠碰撞,修复近直线微小转角的数值退化。 增加参数覆盖、源文件校验、异常输出和旧运行器兼容性测试,并记录运行方式。
验证:全部 50 项 Python 测试及统一清单 4 个场景回放通过,归档文件 SHA-256 前后保持一致。
|
 | docs/ssep_jinxi_20260911_parking.md |
 | ssep/test/local_regression/test_parking_collision_quality.py |
 | ssep/test/local_regression/tt_reverse_priority_manifest.tsv |
 | ssep/test/local_regression/run_ssep_regression.py |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/test_parking_maneuver.py |
 | ssep/test/local_regression/tt_reverse_priority_cases.json |
 | ssep/test/local_regression/tt_reverse_priority_tail0_quality.json |
 | ssep/test/local_regression/test_tt_parking_regression.py |
 | ssep/test/local_regression/run_tt_single_parking_case.py |
 | ssep/test/local_regression/parking_collision_quality.py |
 | ssep/test/local_regression/tt_parking_quality.py |
 | ssep/test/local_regression/tt_reverse_priority_tail1_quality.json |
 | ssep/test/local_regression/test_parking_geometric_curvature.py |
Commit
305301f0c49544be3a54b31813341cc713c933e7
by chenranGroup platoon MPC implementation under mpc directory
|
 | algorithm/platoon/platoon_response_safety.cpp |
 | algorithm/platoon/mpc/mpc_config.hpp |
 | algorithm/platoon/longitudinal_mpc.hpp |
 | algorithm/platoon/mpc/command_history.hpp |
 | algorithm/lattice/platoon_trajectory1d_generator.hpp |
 | algorithm/lattice/lattice.cpp |
 | algorithm/platoon/mpc/platoon_response_safety.cpp |
 | algorithm/platoon/platoon_response_safety.hpp |
 | algorithm/platoon/mpc/qp_solver.hpp |
 | Testing/platoon_response_test.cpp |
 | algorithm/platoon/mpc/platoon_response_safety.hpp |
 | algorithm/platoon/qp_solver.hpp |
 | Testing/platoon_mpc_core_test.cpp |
 | algorithm/platoon/mpc/platoon_response.hpp |
 | algorithm/platoon/qp_solver.cpp |
 | algorithm/platoon/command_history.hpp |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | algorithm/platoon/mpc_config.hpp |
 | algorithm/platoon/curve_kinematics.hpp |
 | algorithm/platoon/mpc/qp_solver.cpp |
 | CMakeLists.txt |
 | algorithm/platoon/mpc/longitudinal_mpc.hpp |
 | algorithm/platoon/mpc/platoon_qp_polish.hpp |
 | algorithm/platoon/platoon_response.hpp |
 | Testing/platoon_qp_solver_test.cpp |
 | algorithm/platoon/longitudinal_mpc.cpp |
 | docs/platoon/time_headway_mpc.md |
 | algorithm/platoon/platoon_qp_polish.hpp |
Commit
1971b35c269c36f285a9ec802041eaf02ae39800
by liuhongshuofix: 规划帧时间被发布时刻替换问题
|
 | sink/ros_sink_trajectory.cpp |
Commit
12bb70597490c8c5d24c3fa732b290224948b355
by wuyanjun110feat: 支持配置低安全阈值区域前后余量
低安全阈值区域交集判定默认向车头前方扩展 5 米、车尾后方扩展 0.5 米,支持独立 ROS 参数配置,负值按 0 使用。
同步 Full 与 Compact 配置合同、编解码和生成产物,确保 Recorded 与 Candidate 回放恢复相同余量;补充默认值与非默认值回放测试。
验证:工程任务入口编译通过,生成物及 Proto 兼容性检查通过;回放基础测试合计 241 项通过,1 项因缺少可选 bag 跳过。
|
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | data/config/cfg_safe_const.cpp |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | data/config/cfg_safe_const.hpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | config/config_imv/plan.yaml |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | plan/prepare/prepare_status.cpp |
 | proto/config.proto |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
Commit
b413d88eaddcf42f4cfa888ec9f8a63298a0728e
by wuyanjun110fix: 允许无途径点的充电任务从行驶进入对准
Travel2Align 不再无条件排除 TO_CHARGE;充电任务存在 parking 或 bulk 途径点时继续禁止进入,均不存在时按原有目标有效性、对准距离等条件判断。
验证:通过工程 task 指定的 pnc-build.sh 构建 pnc_node,暂存 diff 检查通过。
|
 | data/app/fsm/task_fsm/task_fsm.cpp |
Commit
35ddf42fe25dd19dac7c4200f2e72eab9db6f83c
by wuyanjun110fix: 修复禁搜路口及重搜等待期间的场景退出
搜索场景退出与入口共用准入判断,目标禁搜时保留旧路径收尾, 同类型区域也检查搜索终点、偏离及路径失效条件。
重搜清空原始路径后,使用有效活动缓存或已下发路径判断退出, 保留结果消费和失败回退机会,避免引用更早路口的备份终点。 补充岸边路径结构与规划器切换校验,并刷新头文件审计指纹。
新增 102 个场景退出回归用例;完整回归目标 241 项通过、 13 项按条件跳过,pnc_node 构建通过。
|
 | data/scenario/scenario_planner_action.cpp |
 | data/scenario/scenario_planner_condition.cpp |
 | Testing/scenario_search_exit_test.cpp |
 | data/scenario/scenario_planner_condition.hpp |
 | CMakeLists.txt |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
Commit
4b80487e9d0b1e2727a74894101e6d7e6f17e245
by wuyanjun110fix: 禁止禁搜目标触发连续路口自动重搜
普通及桥梁连续路口重搜复用搜索准入条件,在冷却判断前 拦截禁搜目标的自动请求,避免地图变化等后续判定绕过。 保留正在执行的重搜上下文、活动路径及人工重搜语义。
新增 17 个回归用例,覆盖禁搜路口配置、功能开关、冷却残留、 地图变化绕过和活动路径保持。完整回归目标 241 项通过、 13 项按条件跳过,pnc_node 构建通过。
|
 | Testing/continuous_junction_replan_test.cpp |
 | tasks/deciders/other_decider/replan_decider.cpp |
 | CMakeLists.txt |
Commit
278505d8b8fa6b93f61a18676976cbecddff8859
by wuyanjun110fix: 非最右侧车道缩小龙门吊判断阈值
使用上一帧 PNC local 已匹配的 section 和 current_idx 判断车辆 是否处于最右侧车道,不再进行实时车道匹配。 同侧龙门吊在车辆处于内侧车道时缩小阈值;保留逆向一侧及 特殊区域的原有缩阈值规则,多项条件命中只扣减一次。
每帧复用车道判断结果和历史车道列表,补充桥腿轮廓及地图数据 缺失时的防御检查。新增基于 PNC local section 的回归测试, 覆盖车道索引边界、前后帧车道差异、逆向及重复扣减条件。
验证:20 项龙门吊阈值回归测试全部通过,pnc_node 构建通过。
|
 | CMakeLists.txt |
 | Testing/crane_lane_policy_test.cpp |
 | plan/prepare/prepare_objs.cpp |
 | plan/prepare/prepare_objs.hpp |
Commit
771e5d3b0bc2e22b93f582ca535bb211e4aa132b
by wuyanjun110fix: 兼容不同来源版本的快照显示
为远望新增 Recorded 显示策略,解除输入 PNC 版本和提交号与 SDK 构建身份的硬绑定,仍按实际 schema 和 encoding 选择解码器并检查数据完整性。
沿用当前地图解析,允许显示阶段保留无法匹配的历史车道引用;重建失败时从原始 Proto 重新解码记录数据,避免输出部分重建帧。来源或 anchor 上下文变化时重置历史,并保持 Candidate 与严格地图校验隔离。
验证:SDK 与远望构建通过,18 项 SDK 测试通过;本地链路覆盖来源差异、地图差异、失效车道和字段增删。
|
 | replayer/scene_data/pnc_map_decode_scope.hpp |
 | replayer/sdk/planframe_compat.hpp |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
 | replayer/sdk/planframe_compat.cpp |
 | Testing/planframe_compat_test.cpp |
 | replayer/scene_data/live_compact_ingress.cpp |
Commit
5cb8bd106e64e63319a6df43fd84c06e068d4604
by wuyanjun110docs: 固化正式 Proto 基线的字段增删兼容规则
以 schema 1 / encoding 3 为正式上线基线,在文档生成器中固定兼容约束并同步生成目录和字段变更流程。
明确字段号不可复用、删除需 reserved、新增须定义缺省行为,禁止原地更改类型、单位、坐标系和语义;区分快照显示兼容与 native ABI、Candidate 合同。开发期 encoding 2 不纳入范围。
验证:生成器一致性检查及 2 项生成测试通过。
|
 | docs/pnc_algorithm_replay/plan_frame_persistence_catalog.md |
 | docs/pnc_algorithm_replay/proto_generation.md |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | tools/pnc_proto_mapper/generate_plan_frame_persistence_catalog.py |
Commit
2b1fd33f571c66ae26ac740e7fd6e8ab5c30183f
by chenranfeat(platoon): follow leader lane-change anchors
|
 | sink/module.cpp |
 | tasks/deciders/lat_decider/switching_bounds_decider.cpp |
 | data/platoon/platoon_info.cpp |
 | data/scenario/scenario_planner_action.cpp |
 | Testing/platoon_follow_target_builder_test.cpp |
 | data/config/cfg_platoon.cpp |
 | launch/pnc_test.launch.py |
 | algorithm/platoon/platoon_leader_predictor.cpp |
 | data/plan/switch_data.cpp |
 | Testing/platoon_lane_change_test_peer.hpp |
 | plan/prepare/prepare_platoon.cpp |
 | data/lattice/path_time_graph.hpp |
 | sink/ros_sink_platoon_lane_change.hpp |
 | algorithm/platoon/platoon_leader_predictor.hpp |
 | sink/ros_sink_platoon_lane_change.cpp |
 | data/config/cfg_platoon.hpp |
 | data/plan/switch_data.hpp |
 | CMakeLists.txt |
 | Testing/platoon_lane_change_test.cpp |
 | config/platoon.yaml |
 | data/platoon/platoon_info.hpp |
 | docs/platoon/lane_change.md |
 | Testing/platoon_lane_change_collision_test.cpp |
 | plan/scenarios/prepare_scenario.cpp |
Commit
41d5a6d7891609dfdc014c4a1e3f32f235d668a3
by chenrandebug(platoon): trace lane-change slowdown and exclude leader from acceptance checks
|
 | Testing/platoon_lane_change_collision_test.cpp |
 | docs/platoon/lane_change.md |
 | tasks/deciders/long_decider/constrain_decider.cpp |
 | data/plan/switch_data.cpp |
Commit
6908e3236f394f2c8c3112d1482169148cf920f3
by wuyanjun110fix: 限制纵向候选校验采样量以防止规划长时间阻塞
对超过 10000 个采样点的候选在计算前整条拒绝,记录预算失败原因,并改用有界整数索引采样。拒绝非法采样步长,保留完整停车时域的动态约束检查。
补充超长滑行停车、采样预算边界、非法步长和极短曲线回归,补齐旧用例的有效采样配置,并刷新数据头文件审计哈希。
验证:pnc_node 编译通过,84 项纵向停车相关回归全部通过。此提交修复已确认的计算量风险,不代表洋浦 VV079 现场卡住根因已完全闭环。
|
 | Testing/jerk_limited_stop_test.cpp |
 | data/lattice/longitudinal_curve_validator.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
Commit
0423ad64a4b577e7722f273fd79688e44b4e2a34
by chenranfix(platoon): stabilize lane-change tracking and braking MPC
Cover the final partial path interval and avoid duplicate resampled endpoints. Preserve configured platoon lane-change speed caps through fallback and retain leader identity during lane-change acceptance checks.
Keep warm starts and optimization updates forward-feasible, generate a bounded continuation beyond accepted history, and stop reusing rejected full proposals. Preserve stitched initial states, solver deadlines, and nonlinear safety checks.
Remove verbose trajectory, projection, and recurring slowdown/MPC trace dumps; retain concise failure diagnostics. Add regression coverage and document validation, including the outstanding recorded-reference required=inf failure.
|
 | algorithm/platoon/mpc/longitudinal_mpc.hpp |
 | algorithm/platoon/platoon_reference_smoother.hpp |
 | plan/prepare/prepare_platoon.cpp |
 | algorithm/lattice/lattice.cpp |
 | data/plan/switch_data.cpp |
 | Testing/platoon_qp_solver_test.cpp |
 | data/plan/path_data.cpp |
 | Testing/platoon_lane_change_collision_test.cpp |
 | Testing/platoon_follow_target_builder_test.cpp |
 | Testing/platoon_mpc_core_test.cpp |
 | docs/platoon/lane_change.md |
 | Testing/platoon_lane_change_test.cpp |
 | data/common/path.cpp |
 | algorithm/platoon/platoon_follow_target_builder.cpp |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | tasks/deciders/long_decider/constrain_decider.cpp |
 | Testing/platoon_lane_change_test_peer.hpp |
 | algorithm/platoon/mpc/qp_solver.cpp |
 | algorithm/platoon/mpc/qp_solver.hpp |
Commit
0c94d6c281820d47727c0227f613484f1f175853
by chenranfix(platoon): stabilize MPC and record replayable failure CSVs
|
 | Testing/data/platoon_mpc/leader_braking.csv |
 | tools/platoon_mpc_replay.cpp |
 | docs/platoon/bend_mpc_replay_results.csv |
 | Testing/platoon_failure_csv_test.cpp |
 | algorithm/lattice/platoon_trajectory1d_generator.hpp |
 | Testing/data/platoon_mpc/bend_entry.csv |
 | Testing/data/platoon_mpc/insufficient_reserve.csv |
 | Testing/data/platoon_mpc/bend_speed_limit.csv |
 | algorithm/platoon/mpc/platoon_qp_polish.hpp |
 | docs/platoon/bend_mpc_replay.md |
 | Testing/platoon_mpc_core_test.cpp |
 | algorithm/lattice/platoon_failure_csv.cpp |
 | Testing/data/platoon_mpc/stationary_release.csv |
 | Testing/platoon_failure_case_test.cpp |
 | Testing/data/platoon_mpc/uncontrollable_limit.csv |
 | docs/platoon/failure_csv.md |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | Testing/data/platoon_mpc/release_roundoff.csv |
 | Testing/data/platoon_mpc/release_boundary.csv |
 | algorithm/lattice/platoon_failure_csv.hpp |
 | algorithm/platoon/mpc/longitudinal_mpc.hpp |
 | algorithm/platoon/mpc/failure_case.hpp |
 | algorithm/platoon/mpc/failure_case.cpp |
 | tasks/plan/lattice_task.cpp |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | CMakeLists.txt |
 | algorithm/lattice/lattice.hpp |
Commit
f47ea47a12219065662c119cd7e2da63c9d8cfac
by chenranfix: set leader vehilce speed limit as 70km/h
|
 | launch/pnc_leader.launch.py |
Commit
638ea1300b20d655b3437e6444715cda33cba346
by wuyanjun110fix: 修复远望 Compact 快照 ZIP 加载失败
ZIP 入口优先使用 Compact 解码器,保留旧版 Boost/zlib 快照兼容。兼容有无填充的 Base64,校验 JSON 和编码格式,失败时清空已加载帧并记录帧序号及原因。
新增新旧格式 ZIP、序号间断、损坏数据及缺少锚点等回归用例。replayer 编译通过,9 项兼容性测试通过,T809 现场 ZIP 的 113 帧全部加载成功。
|
 | Testing/load_snap_data_compat_test.cpp |
 | replayer/replayer_data_process/load_snap_data.cpp |
Commit
5aeffd335215cfaaa2bd6d6ad27334cf30e70c7e
by chenranfix(platoon): suppress autonomous lane changes while enabled
|
 | data/plan/switch_data.cpp |
 | docs/platoon/lane_change.md |
 | Testing/platoon_lane_change_test_peer.hpp |
 | Testing/platoon_lane_change_test.cpp |
Commit
28c2e74cca8d10752f853b5211742747e5a77830
by chenranrefactor(platoon): use linear MPC with frozen braking gap targets
|
 | Testing/platoon_lattice_test.cpp |
 | Testing/platoon_qp_solver_test.cpp |
 | algorithm/platoon/mpc/failure_case.cpp |
 | Testing/platoon_response_test.cpp |
 | algorithm/platoon/mpc/platoon_response_safety.hpp |
 | docs/platoon/failure_csv.md |
 | data/config/cfg_platoon.cpp |
 | config/platoon.yaml |
 | Testing/platoon_test_safety.hpp |
 | docs/platoon/linear_mpc_latest_csv_verification.md |
 | algorithm/platoon/mpc/mpc_config.hpp |
 | algorithm/platoon/mpc/platoon_qp_polish.hpp |
 | algorithm/platoon/mpc/qp_solver.cpp |
 | data/config/cfg_platoon.hpp |
 | docs/platoon/linear_mpc_replay.md |
 | docs/platoon/bend_mpc_replay.md |
 | Testing/platoon_failure_case_test.cpp |
 | Testing/platoon_failure_csv_test.cpp |
 | algorithm/platoon/mpc/longitudinal_mpc.hpp |
 | CMakeLists.txt |
 | algorithm/platoon/mpc/platoon_response.hpp |
 | tools/platoon_mpc_replay.cpp |
 | Testing/platoon_mpc_core_test.cpp |
 | Testing/platoon_safety_test.cpp |
 | algorithm/lattice/platoon_trajectory1d_generator.hpp |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | docs/platoon/safety_fallback.md |
 | algorithm/lattice/lattice.hpp |
 | docs/platoon/time_headway_mpc.md |
 | algorithm/lattice/lattice.cpp |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | algorithm/platoon/mpc/failure_case.hpp |
 | algorithm/platoon/mpc/platoon_response_safety.cpp |
 | algorithm/platoon/mpc/qp_solver.hpp |
Commit
c2d41c5955603b7b0fe01cb0b35576df1b0ea0bc
by jiayifeifix:修复局部地图重建时导致的搜索失败次数误累计
|
 | tasks/deciders/search_decider/open_space_search_decider.cpp |
Commit
d7d6aba19ef018ee18e0aa0baa488e5529fa8570
by chenranfix(platoon): recover inherited response and reserve stopping room
|
 | Testing/platoon_lattice_test.cpp |
 | Testing/data/platoon_mpc/live_near_stop_release.csv |
 | Testing/platoon_response_test.cpp |
 | docs/platoon/linear_mpc_replay.md |
 | Testing/data/platoon_mpc/live_stop_boundary.csv |
 | Testing/data/platoon_mpc/live_delayed_speed_entry.csv |
 | Testing/platoon_failure_csv_test.cpp |
 | Testing/data/platoon_mpc/live_braking_release.csv |
 | Testing/data/platoon_mpc/live_response_jerk.csv |
 | Testing/platoon_mpc_core_test.cpp |
 | docs/platoon/time_headway_mpc.md |
 | docs/platoon/linear_mpc_latest_csv_verification.md |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
Commit
a123f64089f3e5b0d9a8fcda0f7a38d3cd4206e0
by chenranfix(platoon): recover speed overshoot during input delay
|
 | Testing/data/platoon_mpc/issued_speed_ceiling_2.csv |
 | Testing/data/platoon_mpc/issued_speed_ceiling_5.csv |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | Testing/data/platoon_mpc/issued_speed_ceiling_1.csv |
 | docs/platoon/time_headway_mpc.md |
 | Testing/data/platoon_mpc/issued_speed_ceiling_4.csv |
 | Testing/data/platoon_mpc/issued_speed_ceiling_0.csv |
 | docs/platoon/issued_speed_ceiling_recovery.md |
 | Testing/platoon_response_test.cpp |
 | Testing/platoon_mpc_core_test.cpp |
 | Testing/data/platoon_mpc/issued_speed_ceiling_3.csv |
 | algorithm/platoon/mpc/platoon_qp_polish.hpp |
 | Testing/platoon_failure_csv_test.cpp |
Commit
0196f15c47efea92947853dcc34dd65ee7858ef3
by chenranfeat(hmi): display current and braking-adjusted platoon headway
|
 | hmi/draw/draw_path.cpp |
Commit
11ca02a8b8ff42c8e53f9f3d3f9df0cdc325868d
by wuyanjun110fix: 统一 Abseil 对象库编译依赖
通过导入目标向 PNC、回放及 SSEP 对象库传递 Abseil 头文件和编译要求,避免安装更新后头文件与链接库版本不一致。
验证:使用分布式编译成功构建 pnc_node 和 pnc_replayer。
|
 | ssep/CMakeLists.txt |
 | CMakeLists.txt |
Commit
fa8231b1b6c9d51a1d5a9fce5b2a12231bf19aef
by wuyanjun110feat: 支持倒车接货顺序途经搜索与姿态约束
复用 ForwardEC 和 Bulk Stage,在任务终点停车后启动分段搜索,维护顺序途经点进度并支持换向及手动重搜索;保留 PARK_LOCK 的有效路径和引导线。
加入 YAML 搜索引导线、途经点可视化、车头及挂车姿态约束和 KEB 最终验收,优化首段预算与起始姿态适应能力。修复车挂路径配对失效、普通搜索结果发布及精确障碍物回放,补齐 Full/Compact 合同与配套测试。
验证:分布式构建 pnc_node、pnc_replayer 通过;任务与搜索生命周期测试通过;SSEP 搜索测试及现场场景回归通过。
|
 | ssep/scenarios/ordered_search_via_validation.h |
 | data/other/reverse_pickup.hpp |
 | data/ssep/forward_ec.hpp |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | ssep/CMakeLists.txt |
 | tasks/deciders/search_decider/forward_search_decider.hpp |
 | ssep/offboard/ssep_planner_wrapper.cc |
 | hmi/draw/draw_map.cpp |
 | tasks/plan/reversing_truck_path_task.cpp |
 | data/app/fsm/task_command_type.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | tasks/deciders/search_decider/search_decider_lifecycle.hpp |
 | ssep/data_structures/ssep_input.cc |
 | ssep/test/ssep_planner_test.cc |
 | ssep/offboard/generate_scene_data/transform_to_body_frame_cli.cc |
 | Testing/reverse_pickup_stage_selector_test.cpp |
 | data/plan/path_direction_data.cpp |
 | data/vehicle/vehicle_destination.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | proto/pnc_scene/compact_replay_input.proto |
 | scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp |
 | ssep/common/utils/scene_frame_visualization.cc |
 | data/app/fsm/task_fsm/task_fsm.cpp |
 | data/ssep/forward_ec.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | ssep/coarse_search/motion_primitive_sampler/reeds_shepp_path.h |
 | ssep/ssep_planner.cc |
 | data/app/fsm/task_command_type.cpp |
 | tasks/plan/ssep_task.hpp |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | config/config_truck/scenario.yaml |
 | tools/pnc_proto_mapper/generator.py |
 | Testing/path_pair_validation_test.cpp |
 | replayer/scene_data/cfg_scenarios_proto_codec.cpp |
 | ssep/data_structures/search_via_point.h |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/keb_optimizer/keb_problem.h |
 | ssep/data_structures/search_guide_match.h |
 | ssep/offboard/servers/scene_vis_html_template.cc |
 | replayer/scene_data/compact_custom_field_proto_codec.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | ssep/offboard/main_test/main_ssep_input.cc |
 | ssep/test/CMakeLists.txt |
 | replayer/algorithm_replay/generated/scenario_task_chains.json |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | ssep/param_loader/search_guide_loader.h |
 | CMakeLists.txt |
 | docs/pnc_algorithm_replay/plan_frame_persistence_catalog.md |
 | ssep/protos/params.proto |
 | data/ssep/ssep_activation.cpp |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.cc |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_replay/scene_replay_service.cpp |
 | ssep/offboard/scene_replay/replay_scene_frame_cli.cc |
 | data/other/flow_control.cpp |
 | ssep/coarse_search/evaluator/bidirectional_kinematic_heuristic_computer.h |
 | Testing/scene_replay_foundation_test.cpp |
 | ssep/scenarios/scenario_planner_factory.h |
 | Testing/reverse_pickup_lifecycle_test.cpp |
 | proto/config.proto |
 | scenarios/bulkload_scenario/bulkload_ssep_forward_stage.hpp |
 | ssep/maps/ogm_builder.h |
 | data/config/cfg_stage.hpp |
 | replayer/scene_data/plan_frame_persistence_policy.yaml |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | Testing/routing_transition_test.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | plan/pilot/pilot_update.cpp |
 | ssep/ssep_planner.h |
 | config/config_truck/ssep_search_guides.yaml |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | ssep/data_structures/ssep_input.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/config_proto_codec.hpp |
 | docs/reverse_pickup_search.md |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
 | ssep/param_loader/param.h |
 | data/config/cfg_ssep.cpp |
 | scenarios/bulkload_scenario/bulkload_move_forward_stage.cpp |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.h |
 | ssep/param_loader/search_guide_loader.cc |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | config/config_truck/ssep_port_scenarios_jinxi.yaml |
 | Testing/cfg_scenarios_proto_codec_test.cpp |
 | tasks/plan/ssep_task.cpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | ssep/test/scene_replay_obstacle_inputs_test.cc |
 | Testing/search_decider_lifecycle_test.cpp |
 | ssep/data_structures/search_guide.h |
 | data/config/cfg_ssep.hpp |
 | proto/pnc_scene/compact_plan_frame_fields.proto |
 | Testing/ssep_path_corridor_test.cpp |
 | data/plan/ssep_data.hpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | ssep/protos/scene.proto |
 | data/config/cfg_stage.cpp |
 | proto/plan_data.proto |
 | replayer/scene_data/config_proto_codec.cpp |
 | data/other/reverse_pickup.cpp |
 | data/plan/path_data.cpp |
 | ssep/test/search_guide_loader_test.cc |
 | ssep/maps/ogm_builder.cc |
 | ssep/coarse_search/motion_primitive_sampler/reeds_shepp_path.cc |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | data/app/reaction/app_reaction.cpp |
 | data/plan/ssep_data.cpp |
 | replayer/scene_data/compact_proto_codec.cpp |
 | data/app/fsm/task_fsm/task_park_fsm/park_fsm_transition/bulk_transition.cpp |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | data/ssep/ssep_ec.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
Commit
8efd7a6dfd64463a69c7007abf34f08b8432ef7b
by wuyanjun110test: 增加 SSEP 现场场景和起始姿态扰动回归
归档近期顺序途经搜索案例清单、输入校验信息及质量结果,增加位置、车头角和挂车角扰动生成器,校验途经顺序与精确障碍物碰撞。回放构建支持显式 Release 配置并补充 task 入口。
验证:6 个现场案例与 11 个姿态扰动案例通过,Python 回归测试 58 项通过。
|
 | ssep/test/local_regression/tt_ordered_pose_cases.json |
 | ssep/test/local_regression/tt_ordered_via_manifest.tsv |
 | Taskfile.yml |
 | ssep/test/local_regression/tt_ordered_pose_results.json |
 | ssep/test/local_regression/generate_pose_regression.py |
 | ssep/test/local_regression/test_pose_regression.py |
 | ssep/test/local_regression/tt_ordered_via_cases.json |
 | ssep/test/local_regression/tt_ordered_pose_manifest.tsv |
 | ssep/offboard/scene_replay/CMakeLists.txt |
 | ssep/test/local_regression/tt_parking_quality.py |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/parking_collision_quality.py |
 | ssep/test/local_regression/test_parking_collision_quality.py |
 | ssep/test/local_regression/tt_ordered_via_quality.json |
 | ssep/test/local_regression/test_tt_parking_regression.py |
Commit
b13c2d4f89eb42836b3753b9c6d7c87261c7c603
by chenranfix(hmi): exclude standstill gap from current headway
|
 | hmi/draw/draw_path.cpp |
Commit
84b7b5309baa1aeca0c9b656b9a758af6ce9c2af
by chenranfix(platoon): recover speed-boundary constraints without losing continuity
|
 | Testing/data/platoon_mpc/limit_aligned_origin.csv |
 | Testing/data/platoon_mpc/limit_active_precision_a.csv |
 | Testing/data/platoon_mpc/limit_committed_entry.csv |
 | Testing/data/platoon_mpc/limit_bend_braking.csv |
 | Testing/platoon_lattice_test.cpp |
 | Testing/platoon_qp_solver_test.cpp |
 | docs/platoon/time_headway_mpc.md |
 | Testing/data/platoon_mpc/limit_active_precision_b.csv |
 | docs/platoon/speed_boundary_recovery.md |
 | Testing/platoon_failure_csv_test.cpp |
 | Testing/data/platoon_mpc/limit_inherited_acceleration.csv |
 | Testing/data/platoon_mpc/limit_stop_release.csv |
 | algorithm/platoon/mpc/platoon_qp_polish.hpp |
 | Testing/platoon_mpc_core_test.cpp |
 | Testing/platoon_response_test.cpp |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | algorithm/platoon/mpc/qp_solver.cpp |
 | docs/platoon/issued_speed_ceiling_recovery.md |
 | Testing/data/platoon_mpc/limit_post_delay_entry.csv |
 | Testing/data/platoon_mpc/limit_active_precision_c.csv |
Commit
ad252560237ce635cae82a55310beda37d002dd7
by wuyanjun110fix: 区分搜索输入等待与环境构造失败
九类搜索在输入不可用时等待,构造失败清理半成品并继续重试,保留等停请求及搜索回退进度;仅实际搜索失败耗尽回退后进入 UNUSE。 补齐 Forward 在 IDLE 收到人工重搜时的策略准备,避免沿用旧拉直状态,并限制同一请求只重置一次。 更新生命周期文档、生成指纹及输入恢复、计数饱和和终态回归测试。
|
 | data/ssep/ex_lane_change_ec.cpp |
 | tasks/deciders/search_decider/search_decider_lifecycle.hpp |
 | tasks/deciders/search_decider/ex_lane_change_search_decider.cpp |
 | tasks/deciders/search_decider/ex_lane_change_search_decider.hpp |
 | tasks/deciders/search_decider/seaside_junction_search_decider.hpp |
 | tasks/deciders/search_decider/bridge_junction_search_decider.cpp |
 | Testing/reference_line_replan_test.cpp |
 | data/ssep/open_space_ec.cpp |
 | tasks/deciders/search_decider/reverse_search_decider.hpp |
 | data/ssep/seaside_junction_ec.hpp |
 | data/ssep/into_yard_junction_ec.hpp |
 | tasks/deciders/search_decider/out_yard_junction_search_decider.cpp |
 | data/ssep/out_yard_junction_ec.hpp |
 | tasks/deciders/search_decider/seaside_junction_search_decider.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | tasks/deciders/search_decider/search_decider_lifecycle.cpp |
 | data/ssep/forward_ec.hpp |
 | data/ssep/bridge_junction_ec.cpp |
 | tasks/deciders/search_decider/open_space_search_decider.hpp |
 | data/ssep/normal_junction_ec.cpp |
 | tasks/deciders/search_decider/normal_junction_search_decider.hpp |
 | data/ssep/seaside_junction_ec.cpp |
 | tasks/deciders/search_decider/out_yard_junction_search_decider.hpp |
 | data/ssep/open_space_ec.hpp |
 | tasks/deciders/search_decider/into_yard_junction_search_decider.hpp |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | data/ssep/ex_lane_change_ec.hpp |
 | data/ssep/into_yard_junction_ec.cpp |
 | data/ssep/bridge_junction_ec.hpp |
 | Testing/search_decider_lifecycle_test.cpp |
 | data/ssep/normal_junction_ec.hpp |
 | data/ssep/reverse_ec.cpp |
 | tasks/deciders/search_decider/normal_junction_search_decider.cpp |
 | data/ssep/reverse_ec.hpp |
 | docs/ssep_search_lifecycle.md |
 | tasks/deciders/search_decider/bridge_junction_search_decider.hpp |
 | tasks/deciders/search_decider/reverse_search_decider.cpp |
 | data/ssep/forward_ec.cpp |
 | tasks/deciders/search_decider/into_yard_junction_search_decider.cpp |
 | tasks/deciders/search_decider/open_space_search_decider.cpp |
 | data/ssep/out_yard_junction_ec.cpp |
 | tasks/deciders/search_decider/forward_search_decider.hpp |
Commit
205596008a5ca6391020ebfe64226b05827da5a5
by wuyanjun110fix: 修复任务切换后搜索状态卡在 FINISH
九类搜索使用与异步结果一致的有效任务 ID,在任务交接时失效旧构造器及发布快照,防止输入异常后恢复旧状态。 异步 future 提交当帧立即发布运行标志,避免下一帧新请求误过线程门禁后被丢弃。 补充跨任务结果回收、连续切换、异常输入恢复和提交帧运行状态回归,保留同任务重搜及倒车取货结果复用。
|
 | tasks/deciders/search_decider/open_space_search_decider.cpp |
 | tasks/plan/ssep_task.hpp |
 | tasks/deciders/search_decider/reverse_search_decider.cpp |
 | docs/ssep_search_lifecycle.md |
 | Testing/reverse_pickup_stage_selector_test.cpp |
 | Testing/search_decider_lifecycle_test.cpp |
 | tasks/deciders/search_decider/normal_junction_search_decider.cpp |
 | tasks/deciders/search_decider/out_yard_junction_search_decider.cpp |
 | tasks/deciders/search_decider/seaside_junction_search_decider.cpp |
 | tasks/deciders/search_decider/search_decider_lifecycle.cpp |
 | tasks/deciders/search_decider/bridge_junction_search_decider.cpp |
 | tasks/deciders/search_decider/ex_lane_change_search_decider.cpp |
 | tasks/deciders/search_decider/search_decider_lifecycle.hpp |
 | Testing/routing_transition_test.cpp |
 | tasks/plan/ssep_task.cpp |
 | tasks/deciders/search_decider/into_yard_junction_search_decider.cpp |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
Commit
03968a21f9e470b48d375582b47f7e7d0234fdab
by wuyanjun110fix: 选择堆场 KEB 前检查引导线覆盖路口终点
VV087 对位快照同地图重建中,引导线长 83.5 米,直行出场路口终点为 83.6313 米;原选择器选中 KEB 后因终点越界持续输入失败。 非明确进出场区域的几何接管共用完整终点构造检查,目标不可用时走后续配置规划器,保留明确进出场区域的输入异常保护。 增加终点等长及两侧边界测试,并验证 KEB、PJPO 和恢复 KEB 的选择过程。
|
 | Testing/ssep_path_corridor_test.cpp |
 | scenarios/task_condition_evaluator.cpp |
Commit
3cbfb23cc7b803b6f1f58cee679b5622da03f5e5
by chenranfix(hmi): use aligned MPC state for current headway
|
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | hmi/draw/draw_path.cpp |
Commit
0a23a436b1a2c784156b86f7242f470f71a00cd3
by wuyanjun110feat: 添加 Abseil 安装脚本及文档以对齐车端基准
|
 | scripts/install_vehicle_abseil.sh |
 | scripts/install_vehicle_abseil.md |
 | CMakeLists.txt |
Commit
e53a2f2a35a3cbc597043bd6deada98e313940e4
by wuyanjun110docs: 补充 Abseil 验证结果与回滚步骤
记录 GCC 9.4 使用车端基准 Abseil 全量构建 pnc_node 成功,并补充手工恢复动态库后刷新 ldconfig 缓存的步骤。
|
 | scripts/install_vehicle_abseil.md |
Commit
c361c63f6d79341524ac0ec29e22c86cba545039
by chenrandocs(platoon): document manager VehicleInfo interface in Chinese
|
 | docs/platoon/platoon_manager_vehicle_info_interface_zh.md |
Commit
8b650864538e80ace19cee1cd7b1023e53ddf34e
by chenrandocs(platoon): link interface guide to its Confluence child page
|
 | docs/platoon/platoon_manager_vehicle_info_interface_zh.md |
Commit
a36934e85bffe55be33b1efeaeb407f300affa31
by chenrandocs(platoon): publish linear MPC design report in Chinese
|
 | docs/platoon/linear_mpc_design_report_zh.md |
Commit
ca5ce322943abbb463f2a8a144923ca7aadc62eb
by wuyanjun110fix: 修复地图轮廓异步任务循环引用导致的内存泄漏
异步任务仅持有计算输入并返回结果,使用 packaged_task 和分离线程解除状态与 future 的循环引用。重置及丢帧不等待任务,计算结束后自动释放资源,保留正常跨帧结果传递和主备轮廓行为。
补充任务生命周期及真实轮廓集成回归,更新测试构建入口和头文件校验摘要。本轮实现已通过 17 项回归及 12800 次任务丢弃压力测试;提交前恢复到当前分支并复核生成校验。
|
 | Testing/map_envelops_async_test.cpp |
 | data/map/envelop/map_envelops.cpp |
 | Taskfile.yml |
 | CMakeLists.txt |
 | Testing/async_union_region_state_test.cpp |
 | data/map/envelop/async_union_region_state.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
Commit
428687dfb7b596f3f36a84df1de6d7068279a55d
by wuyanjun110build: 添加快照内存修复的分布式编译任务
允许显式指定与当前编译器匹配的 icecc 工具链及并行槽位,统一构建生命周期测试、回放集成测试和 PlanFrame 兼容 SDK。
|
 | Taskfile.yml |
Commit
97e9bff2e15a18a6e3def9a2bd2531f12aba5608
by chenranfeat(platoon): project leader history inside car and truck WBCA
|
 | algorithm/wbca/truck_wbca_manager.cpp |
 | CMakeLists.txt |
 | algorithm/wbca/car_wbca_manager.cpp |
 | algorithm/wbca/wbca_manager.cpp |
 | algorithm/wbca/wbca_manager.hpp |
 | Testing/wbca_leader_history_test.cpp |
 | tasks/plan/path_optimization_task.cpp |
Commit
543d6b7225856f87fd96ba74103edca04777d4ce
by wuyanjun110fix: 扩大津西区域识别范围以覆盖当前地图
保留原区域中心,将半径由 3000 m 调整为 5100 m,覆盖当前地图最远角点并预留边界余量,避免地图内任务无法识别为津西场景。
|
 | data/config/cfg_region.cpp |
Commit
d373a30e14dc6b33299c4d02b740ecfaa06afd48
by wuyanjun110fix: 支持无一次规划的倒车接货任务进入散货场景
无路由任务使用车头后轴到 a 点的实际距离与停稳状态判断入场,不再依赖无效的路由终点距离。有路由任务保留原有门控。补充任务 46809 坐标及边界、无效状态回归;64 项任务回归通过。
|
 | data/other/reverse_pickup.cpp |
 | Testing/reverse_pickup_lifecycle_test.cpp |
 | docs/reverse_pickup_search.md |
Commit
2073156e538df55510cff697edb0ddb7920bef45
by wuyanjun110perf: 减少双向搜索启发计算和 RS 候选分配
提前过滤已被支配的节点,减少重复启发计算;使用固定数组保存最短 RS 候选,保持候选顺序和搜索代价语义。补充支配节点过滤回归测试。
|
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h |
 | ssep/coarse_search/motion_primitive_sampler/reeds_shepp_path.cc |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
 | ssep/coarse_search/motion_primitive_sampler/reeds_shepp_path.h |
 | docs/reverse_pickup_search.md |
 | ssep/test/ssep_planner_test.cc |
Commit
11bc0c0a24736bcc26c206a3e74fdfdd76fb81bf
by wuyanjun110fix: 改善有序倒车搜索的引导匹配和起始控制约束
允许沿引导线执行端点有限延长匹配,保留横向门限并优先匹配附近记录路径。仅释放输入缺失且初值超限的首曲率,保持实测姿态和已知控制量。调整优化预算并补充引导匹配、控制边界及现场回归用例。
|
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.h |
 | ssep/test/ssep_planner_test.cc |
 | ssep/test/local_regression/tt_ordered_via_manifest.tsv |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.cc |
 | ssep/test/local_regression/README.md |
 | docs/reverse_pickup_search.md |
 | ssep/test/local_regression/tt_ordered_via_cases.json |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | ssep/keb_optimizer/keb_problem.h |
 | ssep/data_structures/search_guide_match.h |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
Commit
72a81e9cd47956e18d6e1757524379f47dbbc745
by wuyanjun110feat: 支持多段停车历史重规划并完善路径验收
换向和普通人工重规划保留同任务未执行的历史路径,先尝试历史初值,失败后使用软引导搜索并回退无引导搜索;强制拉直仍不使用历史路径。统一停车优化的倒车曲率比例,修复短末端采样,并增加整车及扫掠碰撞验收。裁剪后验收失败时尝试通过验收的原始路径,补充生命周期、引导和现场回归用例。
|
 | ssep/test/local_regression/README.md |
 | ssep/data_structures/search_guide_match.h |
 | ssep/ssep_planner.cc |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/scenarios/stitching_replanner.h |
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
 | ssep/test/local_regression/tt_multi_short_tail_manifest.tsv |
 | data/plan/ssep_data.hpp |
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc |
 | ssep/data_structures/path.cc |
 | ssep/scenarios/tractor_trailer_single_segment_parking_planner.h |
 | data/plan/ssep_data.cpp |
 | ssep/test/local_regression/tt_multi_collision_manifest.tsv |
 | ssep/test/ssep_planner_test.cc |
 | tasks/deciders/other_decider/replan_decider.cpp |
 | data/ssep/ssep_ec.cpp |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | ssep/test/local_regression/tt_multi_ratio_manifest.tsv |
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.h |
 | Testing/ssep_path_corridor_test.cpp |
Commit
b6df521ba88bd09ef1af16e5addec34c81a40d88
by wuyanjun110fix: 修复静止出堆场搜索起点落在车后
当停止线回退起点不在当前车位前方时,复用实车位姿和轮角构造搜索起点,并记录起点切换日志。避免车辆越过预设起点后重新下发任务仍从车后搜索。
验证:pnc_node 编译及构建附带检查通过,git diff --check 通过。
|
 | data/ssep/out_yard_junction_ec.cpp |
Commit
b746a56e3ced35563c7bb27d6c9f6f84f63d8012
by chenranAdd WBCA platoon mode with leader geometry and issued trajectory timing
|
 | data/platoon/platoon_info.hpp |
 | plan/prepare/prepare_platoon.cpp |
 | source/ros_source_platoon_vehicle_info.cpp |
 | algorithm/wbca/wbca_manager.hpp |
 | Testing/wbca_leader_history_test.cpp |
 | tasks/plan/path_optimization_task.cpp |
 | algorithm/wbca/wbca_manager.cpp |
 | data/platoon/platoon_info.cpp |
 | docs/platoon/wbca_platoon_mode.md |
Commit
e11598c8e5646cd77ee90036f203ba659b02285f
by chenranExtend WBCA platoon history route along reference line
|
 | algorithm/wbca/wbca_manager.cpp |
 | docs/platoon/wbca_platoon_mode.md |
 | Testing/wbca_leader_history_test.cpp |
Commit
ae161134773778488865f4ecc68570717a426bee
by wuyanjun110fix: 按目标路口触发连续入场重搜
在入场弯前复用搜索环境的停止线筛选规则,比较目标路口与历史 REUSE 搜索路口,避免经过多车道或冷却后漏搜。 同路口、已有请求、旧搜索未完成或输入不完整时不新建请求,保留原路径及即时重搜语义。 补充左右 S 弯、目标筛选、冷却恢复、重复抑制和缺失输入回归。
验证:pnc_node 编译成功;完整回归 344 项通过、45 项跳过,无失败(包含出场接管修复)。
|
 | docs/ssep_search_lifecycle.md |
 | tasks/deciders/other_decider/replan_decider.hpp |
 | tasks/deciders/other_decider/replan_decider.cpp |
 | Testing/continuous_junction_replan_test.cpp |
Commit
0c15dfca196f310fe06d3f4c1b87c511378a6ff4
by wuyanjun110fix: 补齐出堆场 S 弯和 U 弯区域识别
将出场 S 弯、U 弯的左右方向及弯前和弯中纳入区域判断,使入场等搜索场景按准入条件正常让出。 补充出场区域保持、切换到下一入场区域、禁搜及旧路径收尾回归,并记录接管规则。
验证:pnc_node 编译成功;完整回归 344 项通过、45 项跳过,无失败。
|
 | docs/ssep_search_lifecycle.md |
 | Testing/scenario_search_exit_test.cpp |
 | data/scenario/scenario_manager.cpp |
Commit
0691292c6f79f9e0eb84deb29008291648f1c06f
by chenranCapture replayable WBCA failures with time and position save limits
|
 | algorithm/wbca/path_optimization/path_optimization.cpp |
 | algorithm/wbca/wbca_manager.cpp |
 | tasks/plan/path_optimization_task.cpp |
 | data/wbca/grid_map/grid_map.hpp |
 | docs/platoon/wbca_platoon_mode.md |
 | algorithm/wbca/wbca_failure_csv.cpp |
 | tools/wbca_failure_replay.cpp |
 | data/wbca/grid_map/esdf_map.hpp |
 | algorithm/wbca/wbca_manager.hpp |
 | docs/platoon/wbca_failure_replay.md |
 | CMakeLists.txt |
 | Testing/wbca_failure_csv_test.cpp |
 | algorithm/wbca/wbca_failure_csv.hpp |
 | data/wbca/wbca_data.hpp |
 | algorithm/wbca/path_optimization/path_optimization.hpp |
Commit
2447e42b612d0ac60b67e1c2fee6158d0555706d
by chenranAllow WBCA platoon speeds below the reference road speed
|
 | docs/platoon/wbca_platoon_mode.md |
 | algorithm/wbca/wbca_manager.cpp |
 | Testing/fixtures/wbca_platoon_low_speed_failure.csv |
 | Testing/wbca_failure_csv_test.cpp |
 | Testing/wbca_leader_history_test.cpp |
Commit
403392c5fe40c01b11c1e76b61596db8b3ed0f5a
by chenranRestore WBCA platoon route endpoint to leader history
|
 | algorithm/wbca/wbca_manager.cpp |
 | Testing/wbca_leader_history_test.cpp |
 | docs/platoon/wbca_platoon_mode.md |
Commit
fd50a03cbeaec2b7c02db4cff1dab1e9b004bbea
by chenranInitialize platoon WBCA from current speeds and cap route spacing
|
 | docs/platoon/wbca_platoon_mode.md |
 | Testing/wbca_leader_history_test.cpp |
 | tasks/plan/path_optimization_task.cpp |
 | algorithm/wbca/wbca_manager.cpp |
 | algorithm/wbca/wbca_manager.hpp |
Commit
0c258afe2c9d613c98b69c16bae395d22b77812f
by chenranUse planning start velocity for platoon WBCA timing
|
 | docs/platoon/wbca_platoon_mode.md |
 | Testing/wbca_leader_history_test.cpp |
 | algorithm/wbca/wbca_manager.cpp |
Commit
51b43b6b58c029f448ad8b9106de3bb64a8e1367
by chenranRestore configured platoon WBCA route spacing
|
 | algorithm/wbca/wbca_manager.cpp |
 | docs/platoon/wbca_platoon_mode.md |
 | Testing/wbca_leader_history_test.cpp |
Commit
d17455e2c4c5f57b73335f87c580571a867c8784
by chenranOptimize platoon prefix and normal tail in parallel
|
 | algorithm/wbca/path_optimization/truck_path_optimization.hpp |
 | Testing/wbca_leader_history_test.cpp |
 | algorithm/wbca/path_optimization/car_path_optimization.cpp |
 | algorithm/wbca/path_optimization/truck_path_optimization.cpp |
 | algorithm/wbca/wbca_manager.hpp |
 | algorithm/wbca/wbca_manager.cpp |
 | docs/platoon/wbca_platoon_mode.md |
Commit
767696ece0de64a0c47e2a5829e974892aa3ea37
by chenranRefactor WBCA into configurable ordered segment pipeline
|
 | data/config/cfg_lat_plan.cpp |
 | docs/platoon/wbca_segment_pipeline_validation.md |
 | tasks/plan/path_optimization_task.cpp |
 | data/config/cfg_lat_plan.hpp |
 | Testing/wbca_leader_history_test.cpp |
 | docs/platoon/wbca_platoon_mode.md |
 | algorithm/wbca/wbca_manager.cpp |
 | algorithm/wbca/wbca_manager.hpp |
Commit
5642f6f33fe234070a4e0a6b8e62965737b6adf5
by chenranFix WBCA tail timing and shared articulation initialization
|
 | Testing/fixtures/wbca_segment_tail_timing_failure.csv |
 | Testing/fixtures/wbca_segment_short_seam_failure.csv |
 | algorithm/wbca/wbca_manager.cpp |
 | docs/platoon/wbca_segment_pipeline_validation.md |
 | Testing/wbca_leader_history_test.cpp |
Commit
ec6a7315335724e2b225da2483beec9eec830075
by chenranRemove unused WBCA local optimization mode
|
 | algorithm/wbca/imv_wbca_manager.cpp |
 | algorithm/wbca/imv_wbca_manager.hpp |
 | algorithm/wbca/wbca_manager.hpp |
 | algorithm/wbca/wbca_manager.cpp |
 | algorithm/wbca/CLAUDE.md |
Commit
b3e4653f9d9c898b6ccf178e4fdea6386fa97c01
by chenranfix(wbca): replace divergent history beyond direct-link prefix
|
 | docs/wbca_history_geometry.md |
 | algorithm/wbca/wbca_manager.cpp |
 | algorithm/wbca/wbca_manager.hpp |
 | Testing/wbca_smooth_continuity_test.cpp |
Commit
21c77160573d9a69b08b921ad9fc2a7f78c016e1
by chenranResample WBCA second segment from leader boundary to endpoint
|
 | docs/platoon/wbca_segment_pipeline_validation.md |
 | algorithm/wbca/wbca_manager.cpp |
 | Testing/wbca_leader_history_test.cpp |
Commit
202aa8a21799c5bff20a40ef9dbb0f77d0a8a2ed
by wuyanjun110refactor: 将测试构建配置集中到 Testing 目录
将测试目标和 GTest 依赖迁入 Testing/CMakeLists.txt,顶层保留测试开关和子目录入口。 保持测试名称、输出路径及 CTest 工作目录,同步适配构建边界检查。
验证:构建边界检查通过,原有测试定义归一化比对一致,回放基础测试通过。
|
 | Testing/CMakeLists.txt |
 | tools/pnc_proto_mapper/test_build_boundaries.py |
 | CMakeLists.txt |
Commit
4900b070373d7be5654cead2ca94773e2ee4a446
by wuyanjun110feat: 支持按路口 ID 禁用弯道前后提速
新增 disable_bend_speed_up_junction_ids 配置,命中路口沿用地图限速,空名单保持现有行为。 补齐 Full、Compact 和 Candidate 配置读写及兼容合同生成物,并添加配置说明。 新增限速专项测试,覆盖精确匹配、全局开关、短弯和反复更新恢复;补充回放与旧消息测试。
验证:通过 -j68 分布式构建;6 个限速用例通过;回放测试 259 个通过、2 个可选数据用例跳过;生成物及 Proto 兼容性检查通过。
|
 | data/plan/guide_line.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | data/config/cfg_func_sw.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | proto/config.proto |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | Testing/guide_line_speed_limit_test.cpp |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | data/plan/guide_line.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/config_proto_codec.cpp |
 | data/config/cfg_func_sw.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | Testing/CMakeLists.txt |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | docs/bend_speed_up_junction_config.md |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
Commit
0e2488992f0efd846cc82d2ff9c40763e2d33bf1
by wuyanjun110fix:解决西联Z型途经点导致的提前变道问题
|
 | data/map/reference/center_line.cpp |
Commit
c631484f4581fff526a32cfe7de6177d5444b200
by wuyanjun110fix: 修复 bulk 快照引导线重建和碰撞框绘制
限制弯道横向支路长度,并兼容旧快照记录的超长支路。中心线重建失败时沿用在线无效状态处理,继续构建引导线。
恢复世界坐标路径的投影缓存,补充碰撞轮廓索引检查,避免快照绘制异常中断刷新。增加路径投影、包络显示及现场快照回归测试。
|
 | Testing/CMakeLists.txt |
 | replayer/scene_data/compact_geometry_codec.cpp |
 | Testing/hmi_collision_render_test.cpp |
 | replayer/replayer_data_process/replayer_data_process.cpp |
 | Testing/compact_path_projection_test.cpp |
 | data/map/pnc_map/pnc_map.cpp |
 | hmi/draw/draw_collision_detection.cpp |
Commit
399b4e4ce4af1d1e9894fb29cf9d0c77081cdefb
by wuyanjun110build: 为优化构建保留调试符号并配置 LLDB 查找路径
在 Release 和 RelWithDebInfo 构建中启用调试信息,Clang 使用分离调试符号。为 VS Code 调试入口配置 build 目录搜索路径。
|
 | CMakeLists.txt |
 | .vscode/launch.json |
Commit
d9bd27bd5353cad1c8e06248135cd4845f656dcf
by wuyanjun110fix(build): 恢复 Release 现场发布的编译配置
Release 保持默认构建类型,不再自动附加调试符号及分离调试信息。调试参数仅对 Debug 和 RelWithDebInfo 生效。
|
 | CMakeLists.txt |
Commit
cc8562509eab44abf5636024201d226e900befbf
by chenranUse qpOASES for platoon MPC quadratic programs
Replace the custom active-set and OSQP solver paths with qpOASES QProblem, using the control module's MPC preset and termination tolerance. Accept successful library solutions directly, remove external KKT and MPC post-solve validation, and retain separate lattice safety checks.
Remove obsolete solver options, diagnostics and custom-polishing tests; update the solver tests, linkage and MPC documentation.
Validation: PNC, replay and test targets build successfully. Core tests pass 40/40; lattice tests pass 106/132. The 118-capture trial solves 41 cases, with 76 timeouts and one solver-reported infeasible case.
This is the qpOASES trial, not a fix for the remaining timeout or duplicate constraint cycling issues. No running planners were restarted.
|
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | algorithm/platoon/mpc/platoon_qp_polish.hpp |
 | CMakeLists.txt |
 | algorithm/platoon/mpc/qp_solver.cpp |
 | Testing/platoon_qp_solver_test.cpp |
 | algorithm/platoon/mpc/qp_solver.hpp |
 | docs/platoon/time_headway_mpc.md |
 | Testing/platoon_response_test.cpp |
Commit
41584d5d806680b17697bd92d592b69dbc26b4bb
by chenranGate platoon following by ego path and mitigate MPC timeouts
|
 | plan/prepare/prepare_platoon.cpp |
 | tools/platoon_mpc_replay.cpp |
 | docs/platoon/qpoases_timeout_replay.md |
 | Testing/platoon_lattice_test.cpp |
 | Testing/platoon_safety_test.cpp |
 | algorithm/lattice/condition_sampler.cpp |
 | plan/prepare/prepare_platoon.hpp |
 | Testing/platoon_qp_solver_test.cpp |
 | data/config/cfg_platoon.cpp |
 | data/config/cfg_platoon.hpp |
 | tools/platoon_mpc_batch_replay.py |
 | algorithm/platoon/mpc/qp_solver.cpp |
 | config/platoon.yaml |
 | Testing/platoon_lane_change_test.cpp |
 | Testing/platoon_failure_csv_test.cpp |
 | docs/platoon/qpoases_timeout_replay_results.csv |
 | docs/platoon/time_headway_mpc.md |
Commit
675478c9fb0a41ff880dbf9d15691dcb1ecc6c05
by wuyanjun110fix: 限制搜索地图范围并校验 OGM 分配尺寸
搜索工作空间每边限制为 3000 米,保留每侧 10 米扩边。统一检查普通与 Proto 构造入口的范围、分辨率及栅格索引容量,在分配前拒绝异常输入。补充边界、UTM、扩边和溢出回归测试。
|
 | ssep/maps/ogm_config_utils.h |
 | ssep/maps/ogm.cc |
 | ssep/maps/ogm_limits.h |
 | Testing/ssep_path_corridor_test.cpp |
 | ssep/maps/ogm_config_utils.cc |
Commit
5de9ede7b0ef7ce9a53a87446f936cad038663f7
by wuyanjun110fix: 阻止取消任务后重启搜索或接收旧结果
统一搜索决策器的有效任务门禁,在环境构建前清理取消和无任务请求。SsepTask 在 Execute、Reset、提交和消费路径作废旧结果,保留后台 watcher 防止重叠提交。覆盖取消、同 ID 恢复、任务切换和新任务恢复的回归测试。
|
 | Testing/reference_line_replan_test.cpp |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | tasks/plan/ssep_task.hpp |
 | tasks/deciders/search_decider/search_decider_lifecycle.hpp |
 | tasks/deciders/search_decider/out_yard_junction_search_decider.cpp |
 | tasks/plan/ssep_task.cpp |
 | tasks/deciders/search_decider/bridge_junction_search_decider.cpp |
 | Testing/routing_transition_test.cpp |
 | tasks/deciders/search_decider/reverse_search_decider.cpp |
 | tasks/deciders/search_decider/open_space_search_decider.cpp |
 | tasks/deciders/search_decider/seaside_junction_search_decider.cpp |
 | Testing/search_decider_lifecycle_test.cpp |
 | tasks/deciders/search_decider/normal_junction_search_decider.cpp |
 | tasks/deciders/search_decider/ex_lane_change_search_decider.cpp |
 | tasks/deciders/search_decider/into_yard_junction_search_decider.cpp |
Commit
f77cf0272d003a7fdba607e9c35676e7d7d0fba7
by wuyanjun110fix: 补齐牵引车泊车规划器的粗路径输出
单段、多段及拉直模式规划记录优化前的粗路径,供搜索结果展示使用。每次规划和拉直失败回退时清空旧记录,避免展示上一轮或失败分支的路径。
|
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
 | ssep/scenarios/tractor_trailer_single_segment_parking_planner.h |
Commit
00794a2712bad54f003f16d5d29ac13b8c7c8c7e
by wuyanjun110fix: 在环境构建阶段统一途经点判定与显示
IMV 和牵引车泊车使用最终环境姿态及实际搜索参数判定途经点,同步有效点至搜索输入和界面,并兼容旧录包入口。接收新任务时保留新任务自己的途经点显示。采样前排除非有限姿态及超范围起终点,补充场景与绘图回归测试。
|
 | ssep/common/utils/imv_pass_point.h |
 | data/ssep/ssep_ec.cpp |
 | ssep/scenarios/planner_utils.cc |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | plan/prepare/ssep_input_params.hpp |
 | hmi/draw/draw_map.cpp |
 | Testing/hmi_collision_render_test.cpp |
 | hmi/draw/draw_ssep.cpp |
 | ssep/ssep_planner.cc |
 | ssep/scenarios/scenario_planner_factory.h |
 | data/ssep/ssep_activation.cpp |
 | ssep/scenarios/planner_utils.h |
Commit
fa7825775cefad3a2023020aacd4c5b98ef2ffd2
by chenranRevise platoon braking reserve and leader deceleration limits
|
 | Testing/platoon_failure_case_test.cpp |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | algorithm/platoon/mpc/failure_case.cpp |
 | algorithm/lattice/lattice.cpp |
 | algorithm/platoon/mpc/mpc_config.hpp |
 | docs/platoon/time_headway_mpc.md |
 | Testing/platoon_lattice_test.cpp |
 | Testing/platoon_failure_csv_test.cpp |
 | data/config/cfg_platoon.hpp |
 | Testing/platoon_safety_test.cpp |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | algorithm/platoon/platoon_safety.hpp |
 | data/config/cfg_platoon.cpp |
 | plan/prepare/prepare_platoon.cpp |
 | config/platoon.yaml |
Commit
36b6c645fdaa74947e48ace47702e028bbf13def
by chenranUse ego platoon deceleration limit for leader braking
|
 | Testing/platoon_lattice_test.cpp |
 | plan/prepare/prepare_platoon.cpp |
 | Testing/platoon_failure_csv_test.cpp |
 | config/platoon.yaml |
 | algorithm/platoon/mpc/failure_case.cpp |
 | algorithm/lattice/lattice.cpp |
 | algorithm/lattice/platoon_trajectory1d_generator.cpp |
 | Testing/platoon_safety_test.cpp |
 | algorithm/platoon/mpc/mpc_config.hpp |
 | Testing/platoon_failure_case_test.cpp |
 | data/config/cfg_platoon.hpp |
 | data/config/cfg_platoon.cpp |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | docs/platoon/time_headway_mpc.md |
Commit
a64dd4a6b8729a84db4812a0740662b1d14f2fa4
by wuyanjun110fix: 按优化路径目标投影修正 KEB 验收边界
动态约束验收使用目标在优化路径上的投影弧长,路沿间距与障碍物 碰撞验收使用重采样路径上的投影,避免混用参考线弧长造成误检或漏检。 保留完整延长段输出,同步覆盖 SSEP 与 Lane Follow 共用的优化入口。
新增路径缩短、路径加长及目标位于采样点之间的边界测试。 验证:工程 task 构建通过,KebFixedTailTest 共 7 项通过。
已知限制:全局最近投影在优化后回环邻近段可能存在歧义;当前测试 覆盖投影与裁剪边界,尚未覆盖实际验收调用链或原 bag 回放。
|
 | Testing/keb_fixed_tail_test.cpp |
 | algorithm/plan/keb_optimizer.hpp |
 | algorithm/plan/keb_optimizer.cpp |
Commit
9ef4fb30bc8ae80e1dc23ff06220570ce1812af8
by wuyanjun110fix: 按首次碰撞位置绘制车体并清理上层碰撞状态
使用路径弧长恢复碰撞区间内的插值比例,使 HMI 车体框与首次命中位置一致。补齐上层检测关闭、无命中及重置时的索引和距离清理,增加上下层绘制回归与快照诊断。
|
 | hmi/draw/draw_collision_detection.cpp |
 | Testing/hmi_collision_render_test.cpp |
 | data/lattice/ogm_crash_data.cpp |
Commit
a29f2da93480e3b9ce431f0aa1f82dca409796b9
by wuyanjun110feat: 按车型校验压缩启发表并支持多服务器生成
为车头轴距、挂车轴距、铰接偏移及前后曲率建立版本化元数据,区分前进后退可达状态并压缩存储。补充原子生成、加载缓存与参数匹配校验,以及多服务器任务和运行时打包脚本。通用双向搜索按车辆参数加载,停车搜索尚不消费该表。Python 15 项及启发表 14 项回归通过。
|
 | ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.cc |
 | ssep/test/trailer_heuristic_table_test.cc |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/test_package_generator_runtime.py |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/generate_shortest_path_heur_cli.cc |
 | ssep/coarse_search/evaluator/shortest_path_heur_table.h |
 | ssep/coarse_search/evaluator/trailer_shortest_path_heur_computer.cc |
 | ssep/coarse_search/evaluator/evaluator.h |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/README.md |
 | data/config/cfg_ssep.cpp |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/generate_tables_batch.py |
 | ssep/offboard/scene_replay/CMakeLists.txt |
 | ssep/test/CMakeLists.txt |
 | ssep/coarse_search/evaluator/trailer_heuristic_metadata.h |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/batch_jobs.example.json |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/shortest_path_expander.h |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/shortest_path_expander.cc |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/test_generate_tables_batch.py |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/package_generator_runtime.py |
Commit
8e42114286b5d15774764bd5907dd4f6d7f5bb53
by wuyanjun110feat: 从司机快照提取姿态引导线并生成核对图
导出人工驾驶车头和挂车轨迹,按档位、有效性和连续性选择倒车段,支持起终姿态匹配、重采样及 YAML 输出。提供可复用命令和路径可视化,9 项导出测试通过。
|
 | offboard/bag_to_keb_scene/snapshot_vehicle_trace.cc |
 | docs/ssep/driver_search_guide_export.md |
 | ssep/offboard/tools/export_driver_search_guides.py |
 | ssep/offboard/tools/export_trailer_search_guide.py |
 | ssep/offboard/tools/plot_driver_search_guides.py |
 | ssep/offboard/tools/test_export_driver_search_guides.py |
 | offboard/bag_to_keb_scene/CMakeLists.txt |
Commit
ce030599417433c0d9062c791983f1bca51b52cd
by wuyanjun110fix: 修正 SSEP 三点曲率计算的纵坐标读取
中间点误用 x 作为 y,导致曲率依赖世界坐标平移。改为读取 y,并补圆弧曲率、UTM 平移不变性及重载一致性回归,3 项测试通过。
|
 | Testing/ssep_path_curvature_test.cpp |
 | data/ssep/ssep_util.cpp |
 | Testing/CMakeLists.txt |
Commit
5d7ed8fa26b67931e904923c0535e8ad6979c176
by wuyanjun110feat: 增加停车分阶段优化并统一换挡与曲率校验
同步强化运动学和碰撞代价,仅保留通过完整验收且一致性改善的候选,失败阶段原地恢复状态与步长。统一牵引车出发方向及弯道换挡曲率初值,将真实机械上限与求解余量分开,并增加持续大曲率距离校验和碰撞位置诊断。新增初始化、倍率、恢复、曲率和阶段回归;统一 SSEP 72 项测试及四份现场快照通过。
|
 | ssep/scenarios/tractor_trailer_parking_collision.h |
 | ssep/keb_optimizer/cost_features/parking_geometric_curvature_constraint.h |
 | ssep/test/tractor_trailer_kinematic_diagnostics_test.cc |
 | ssep/test/CMakeLists.txt |
 | ssep/keb_optimizer/keb_utils.cc |
 | ssep/keb_optimizer/keb_problem.h |
 | ssep/test/tractor_trailer_sustained_curvature_test.cc |
 | ssep/scenarios/parking_staged_optimization.h |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/scenarios/tractor_trailer_sustained_curvature.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/test/keb_collision_weight_test.cc |
 | ssep/keb_optimizer/tractor_trailer_kinematic_diagnostics.h |
 | ssep/test/tractor_trailer_cusp_initialization_test.cc |
 | docs/ssep/parking_sustained_curvature.md |
 | ssep/keb_optimizer/keb_utils.h |
 | ssep/offboard/scene_replay/CMakeLists.txt |
 | docs/ssep/parking_staged_optimization.md |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
Commit
fa385029dd592461c18533baeaeb8e9962181c04
by wuyanjun110feat: 统一保存和回放带挂车姿态的搜索引导库
复用现有 YAML 引导库,支持车头及挂车姿态并校验点数、坐标和有限值。Full 保留原值,Compact 复用量化 XY 并无损保存姿态元数据,兼容旧 XY 引导线,支持 Candidate 独立恢复。同步独立 SSEP 快照与坐标转换,完成字段生成、兼容性检查及编解码回归。
|
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | ssep/test/local_regression/generate_pose_regression.py |
 | Testing/scene_replay_foundation_test.cpp |
 | proto/pnc_scene/compact_replay_input.proto |
 | ssep/param_loader/search_guide_loader.cc |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | ssep/test/local_regression/test_pose_regression.py |
 | ssep/data_structures/search_guide.h |
 | ssep/offboard/scene_replay/replay_scene_frame_cli.cc |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | ssep/test/search_guide_loader_test.cc |
 | replayer/scene_data/plan_frame_persistence_policy.yaml |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | ssep/offboard/ssep_planner_wrapper.cc |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | ssep/protos/scene.proto |
 | replayer/scene_data/compact_proto_codec.cpp |
 | ssep/data_structures/ssep_input.cc |
 | ssep/offboard/generate_scene_data/transform_to_body_frame_cli.cc |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
Commit
647f84a8e409d94048136ff98d919a3afe9a3538
by wuyanjun110feat: 自动匹配挂车参考路径引导停车搜索并接入分阶段验收
复用共享引导库,区分多段任务与倒车重搜索,按实际起点渐变适配挂轴参考并保留匹配区间顺序,防止重叠路径投影回退。引导失败回退普通搜索,记录粗路径,HMI 显示停车参考。接入可配置多步优化与持续曲率验收,明确真实机械上限。补匹配、进度、非法输入及重叠边界测试,四份现场快照回归通过。
|
 | ssep/scenarios/trailer_search_guide_progress.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.h |
 | ssep/test/trailer_search_guide_test.cc |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.cc |
 | docs/ssep/trailer_search_guide.md |
 | ssep/coarse_search/evaluator/trailer_search_guide.cc |
 | ssep/scenarios/tractor_trailer_single_segment_parking_planner.h |
 | ssep/coarse_search/evaluator/trailer_search_guide.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.h |
 | ssep/scenarios/search_guide_fallback_planner.h |
 | ssep/offboard/scene_replay/CMakeLists.txt |
 | ssep/data_structures/search_guide_match.h |
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
 | hmi/draw/draw_map.cpp |
 | ssep/ssep_planner.cc |
 | config/config_truck/ssep_port_scenarios_jinxi.yaml |
 | ssep/test/search_guide_scene_test.cc |
 | ssep/test/ssep_planner_test.cc |
 | data/ssep/ssep_ec.cpp |
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
Commit
868661bc704beda97ee046170900442506bbc4de
by wuyanjun110feat: 按停车场景控制指令重规划的拉直点生成
匹配当前请求场景读取 enable_command_replan_straighten,津西关闭自动拉直时保留任务途经点并清除残留拉直状态。覆盖开关关闭、开启和缺省行为回归。
|
 | config/config_truck/ssep_port_scenarios_jinxi.yaml |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | Testing/search_decider_lifecycle_test.cpp |
Commit
199428b11ed85db60ccd57733a5ab3d6040c674f
by wuyanjun110fix: 调整津西和中铁联集搜索通道构造
津西普通路口不构造默认终点通道,中铁联集出堆场不构造默认起点通道,沿用各场景重建前清空通道的流程。已完成 pnc_node 编译。
|
 | data/ssep/normal_junction_ec.cpp |
 | data/ssep/out_yard_junction_ec.cpp |
Commit
f64f308926a530239acc7205a5bbb19eaaaacb8d
by wuyanjun110fix: 将 SSEP 首段引导线向起点前延伸二十米
首段起点前的几何补线由十米增加为二十米,沿用原方向和半米采样间隔。已完成 pnc_node 编译。
|
 | data/plan/guide_line.cpp |
Commit
78c221b234cf8aacf42aac13c5d3935c249324c6
by wuyanjun110chore: 减少 IMV 运动学验收失败时的逐点日志
保留失败边和归一化误差日志,关闭整条路径的逐点打印,避免现场重复失败产生大量日志。
|
 | ssep/keb_optimizer/imv_keb_optimizer.cc |
Commit
b7390ea5f18ff317f0e6dc095eb3c0e264a0f0e1
by chenranOptimize platoon QP reuse and gate low-speed following
Retain qpOASES state for compatible problems and remove rows guaranteed by native variable bounds. Honor the configured MPC time budget without the 40 ms clamps. Add a configurable 0.5 m/s minimum ego speed for platoon eligibility, with diagnostics and backward-compatible config serialization.
Validate with distributed production builds, 46 core tests, 45 targeted eligibility/integration tests, and recorded CSV replay. Document remaining cold-start performance limitations and existing broader integration failures.
|
 | Testing/platoon_safety_test.cpp |
 | algorithm/platoon/mpc/qp_solver.cpp |
 | Testing/platoon_qp_solver_test.cpp |
 | Testing/platoon_failure_csv_test.cpp |
 | algorithm/platoon/mpc/qp_solver.hpp |
 | Testing/platoon_lattice_test.cpp |
 | algorithm/platoon/mpc/longitudinal_mpc.cpp |
 | Testing/platoon_mpc_core_test.cpp |
 | plan/prepare/prepare_platoon.hpp |
 | data/config/cfg_platoon.cpp |
 | Testing/platoon_lane_change_test.cpp |
 | data/config/cfg_platoon.hpp |
 | docs/platoon/qp_warm_start.md |
 | algorithm/platoon/mpc/longitudinal_mpc.hpp |
 | plan/prepare/prepare_platoon.cpp |
Commit
fdb289b855a8018d9a7302101bafe99deb354d19
by chenranPublish compact current trajectory and lane-change fields in PNCInfo
|
 | Testing/ego_trajectory_encoding_test.cpp |
 | data/platoon/platoon_info.cpp |
 | sink/ros_sink_platoon_lane_change.cpp |
 | docs/platoon/platoon_manager_vehicle_info_interface_zh.md |
 | sink/ros_sink_platoon_info.hpp |
 | sink/ros_sink_platoon_info.cpp |
 | sink/module.cpp |
 | docs/platoon/lane_change.md |
 | Testing/platoon_lane_change_collision_test.cpp |
 | sink/ego_trajectory_encoding.hpp |
 | Testing/platoon_lane_change_test.cpp |
 | CMakeLists.txt |
 | sink/ros_sink_platoon_lane_change.hpp |
Commit
fc82595f13ddc93bf540df4db32d17980c9648b5
by wuyanjun110refactor: 用任务选择组统一 Bulk SSEP 规划链
使用可选 SSEP_WAIT、TRAILER_REVERSE 和默认 FORWARD 组选择差异任务,公共任务只在 task 列表配置一次。 等待期间复用历史引导线和路径,继续执行现有纵向停车链;无 WAIT 配置保持正常任务执行。 删除 ssep_result_tasks 及冗余过滤,保留 Proto 字段号并同步回放合同与生成物,覆盖旧配置兼容和任务选择回归。
验证:最终改动集 346 项测试通过、2 项可选数据测试跳过;合同生成和兼容性检查通过,PNC 编译成功。
|
 | tasks/other_tasks/create_guide_line.cpp |
 | Testing/reverse_pickup_stage_selector_test.cpp |
 | data/config/cfg_stage.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/cfg_scenarios_proto_codec.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | docs/reverse_pickup_search.md |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/algorithm_replay/generated/scenario_task_chains.json |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | scenarios/bulkload_scenario/bulkload_ssep_forward_stage.hpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | Testing/path_pair_validation_test.cpp |
 | config/config_truck/scenario.yaml |
 | Testing/generated_variant_config_patch_test.cpp |
 | proto/config.proto |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | scenarios/bulkload_scenario/bulkload_ssep_forward_stage.cpp |
 | scenarios/task_condition_evaluator.hpp |
 | Testing/cfg_scenarios_proto_codec_test.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | data/config/cfg_stage.hpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | scenarios/task_condition_evaluator.cpp |
 | tasks/other_tasks/stitch_path_data_to_path.cpp |
Commit
e86593c17bb6ce216cdbe05e45c6bddd9b4e46fa
by wuyanjun110fix: 保留倒车历史回落的车头挂车配对
上一帧输出失效后,从 last_path 恢复 TT 倒车路径时使用成对转换,避免单路径转换丢失挂车历史。 配对缺失或匹配失败时清理完整输出;补充真实预处理到 WAIT 拼接的恢复、缺配对拒绝和前进路径回归。
|
 | docs/reverse_pickup_search.md |
 | Testing/path_pair_validation_test.cpp |
 | plan/prepare/prepare_default.cpp |
Commit
8131459bc5f1581d87871d05c08d3a63e876e603
by wuyanjun110fix: 修正非零自车路径起点的 OGM 约束位置
地面和上层碰撞约束在查询路径位置时加回 ego_match.s(),保留已按自车计算的碰撞距离,避免重复扣减。碰撞轮廓直接使用命中索引,避免固定采样距离推算造成偏移。
新增零与非零起点、正反向及上下层约束回归;RelWithDebInfo 构建和工程生成文件检查通过,pnc_routing_map_guard_test 全部 58 项测试通过。
|
 | Testing/routing_map_guard_test.cpp |
 | tasks/deciders/long_decider/constrain_decider.cpp |
Commit
a3271a566b889611d111a2ef05255397fc88c3e0
by wuyanjun110fix: 重搜索时移除已完成的停车途经点
按任务身份和实际换向进度记录停车途经点完成状态,跨重搜和路径清空保留, 取消、换任务或任务几何变化时失效。仅清除搜索请求中的旧途经点及其采样, 保留原始任务点、场景匹配、拉直和历史路径复用策略。
补充停车异步结果归属校验及单次消费,避免同 ID 任务点变更后接收旧结果。 新增 Full/Compact 原值持久化和旧消息兼容处理,并同步生成物及合同说明。
验证:117 项 SSEP 回归通过;拉直开关 true/false/缺省与途经点完成状态的 6 种组合通过;任务切换及 Full/Compact 回归已通过;生成物检查通过; pnc_node 已经项目分布式编译入口构建成功。
|
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | tasks/plan/ssep_task.hpp |
 | Testing/routing_transition_test.cpp |
 | data/plan/ssep_data.cpp |
 | data/other/parking_pass_progress.cpp |
 | plan/prepare/prepare_state.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | Testing/CMakeLists.txt |
 | proto/plan_data.proto |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | Testing/search_decider_lifecycle_test.cpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | Testing/parking_pass_progress_test.cpp |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | data/ssep/forward_ec.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | data/ssep/forward_ec.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | data/plan/ssep_data.hpp |
 | data/other/parking_pass_progress.hpp |
 | tasks/plan/ssep_task.cpp |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
Commit
58c0bd4539ab857f22a735775d14f6a3a5f1c864
by wuyanjun110fix: 完善多段停车暖启动验收与搜索兜底
停车重搜索优先对剩余历史路径进行多步优化,手动热启动和换向重搜均可进入;失败后才执行引导搜索与普通搜索。 移除已完成途经点后保留前进调整能力,允许多段停车双向起步,保持单段倒车及有序途经点约束。首步候选按实际方向执行碰撞检查,避免未知方向漏检或虚增换向代价。 统一历史路径方向、固定尾段运动学、机械及持续曲率、全车碰撞和端点验收。实测首控制保持固定,未知首曲率在多步优化中使用真实机械上限。
验证:57 项相关 C++ 回归通过,5 组现场回放通过,pnc_node 与回放工具分布式构建通过。
|
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/scenarios/tractor_trailer_parking_maneuver.h |
 | ssep/ssep_planner.cc |
 | ssep/test/ssep_planner_test.cc |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | ssep/scenarios/stitching_replanner.h |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
Commit
e117ac9fd5bdc34d2d983a644cf009fe394e6952
by wuyanjun110fix: 对齐停车回放挂车轮廓与实际障碍输入
修正网页当前、目标和路径挂车框的铰接偏移符号,补齐离线绘图的铰接偏移,统一车辆模型的参考点。 存在精确障碍输入时默认显示原始障碍线,将派生显示轮廓独立标注并允许切换;兼容旧快照显示。
验证:2 项执行生产 JavaScript 的几何与图层回归通过,可视化服务构建通过。
|
 | ssep/test/local_regression/test_scene_vis_obstacles.py |
 | ssep/common/utils/scene_frame_visualization.cc |
 | ssep/test/local_regression/test_scene_vis_geometry.py |
 | ssep/offboard/servers/scene_vis_html_template.cc |
Commit
6143bcb0a88322720d9a9cebaa94d13396afa6b7
by wuyanjun110fix: 按实际车道航向判断岸边平行连接
岸边道路接入非纵向道路时,改用驶出终点与驶入起点的车道航向判断形状,保留原有角度阈值,避免场区岸线配置与地图不一致时误判为交叉。
补充同向、反向、垂直及旋转场景回归,并覆盖潍坊默认岸线配置导致 A002 任务误分类的问题。
验证:路由回归 91 项通过;A002 任务仿真回放进入 PARALLEL,终点延伸 25 米且搜索成功。
|
 | data/map/pnc_map/routing_extension/routing_data.cpp |
 | Testing/routing_transition_test.cpp |
Commit
39b5eba2e4e5c710d7a272e42e21bb0e25de2e50
by wuyanjun110feat: 增加开放空间搜索模式与终点诊断日志
构造搜索终点时记录任务、形状模式、场景、搜索阶段、回退条件和车型;记录终点来源、参考线选择、延伸距离、目标 s、参考线长度及最终车道与坐标。
日志随搜索环境构造输出,便于区分模式覆盖与参考线长度不足。
验证:PNC 与专项测试目标编译通过;任务回放已采集修改前后模式和终点计算日志。
|
 | data/ssep/open_space_ec.cpp |
Commit
96062bb8b9e0ebb5de09c55f829327aa9bdb3f6f
by wuyanjun110feat: 支持津西自动换向出场及剩余路径重搜
津西拖挂车 BulkOut 使用 Auto 出场策略,优先纯前进,失败后在共用粗搜索预算内允许倒车调整,并要求最终前进接入。 增加方向状态区分和超时完整候选保留,保持旧场景行为。 重搜按执行索引裁剪历史,只匹配当前剩余段;无效历史回退完整搜索,指令重搜清除旧拉直状态。 补充配置、粗搜索、历史裁剪和在线重搜生命周期回归。
验证:相关测试 505 项通过、61 项按场景跳过;生成物和协议兼容性检查通过;pnc_node 分布式编译通过。
|
 | ssep/coarse_search/searcher_builders/tractor_trailer_general_searcher_builder.cc |
 | tasks/deciders/search_decider/forward_search_decider.cpp |
 | Testing/ssep_path_corridor_test.cpp |
 | Testing/CMakeLists.txt |
 | ssep/ssep_planner.cc |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_general_searcher_builder.h |
 | config/config_truck/ssep_port_scenarios_jinxi.yaml |
 | data/plan/ssep_data.cpp |
 | data/ssep/ssep_ec.cpp |
 | ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc |
 | ssep/test/ssep_planner_test.cc |
 | ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h |
 | data/plan/ssep_data.hpp |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | Testing/search_decider_lifecycle_test.cpp |
 | docs/ssep_scenario_config_lifecycle.md |
 | ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | ssep/scenarios/stitching_replanner.h |
Commit
58c22a82ed636a088416e5c9966bff51cfc233df
by wuyanjun110fix: 防止出场换向时提前退出 Bulk 场景
切段后等待当前路径和历史路径的末段信息一致,再使用历史引导线判断完成。 取消因终点无法投影或超出引导线范围而直接退出的逻辑;换向停车只有到达真正末点才允许结束出场。 保留无 SSEP 的原倒车出场分支,补充 9 项退出条件回归与现场原因说明。
验证:9 项 Bulk 退出回归通过;相关测试集 376 项通过、61 项按场景跳过;pnc_node 编译通过。
|
 | Testing/CMakeLists.txt |
 | data/app/fsm/task_fsm/task_travel/task_travel_fsm.cpp |
 | docs/ssep_search_lifecycle.md |
 | Testing/scenario_search_exit_test.cpp |
Commit
966a15a594920fd936694ca4d276c19ea7411cb1
by wuyanjun110fix: 按路径分段优化出堆场限速
根据原始段长和真实段尾投影计算沿程进度,剔除路径延长部分,每次切段后重新按起步档位提速。
为非最后一段提前添加 15、10、5 米低速区约束,最后一段接路时不额外降速;保留独立停车约束职责,匹配失效时保持起步档。
新增 8 项回归测试,覆盖换段、路径延长、倒车、弯路、短段、过终点和停车约束保留;构建及测试通过。
|
 | tasks/deciders/long_decider/constrain_decider.cpp |
 | Testing/CMakeLists.txt |
 | Testing/bulk_speed_limit_test.cpp |
Commit
fe57ba2ae116a729c218a2405d5bacaa4814d6db
by chenranfix: use received leader trajectories in auto-drive mode
|
 | algorithm/platoon/platoon_follow_target_builder.cpp |
 | algorithm/platoon/platoon_leader_predictor.cpp |
 | plan/prepare/prepare_platoon.cpp |
 | docs/platoon/platoon_manager_vehicle_info_interface_zh.md |
 | data/platoon/platoon_info.hpp |
 | Testing/platoon_follow_target_builder_test.cpp |
 | data/platoon/platoon_info.cpp |
 | algorithm/platoon/platoon_leader_predictor.hpp |
 | algorithm/platoon/vehicle_info_to_obstacle.cpp |
Commit
8d2254ca3442f45e7b69a312168204217a53177f
by wuyanjun110feat: 为 PNC 和回放界面增加全量 Proto 树形查看窗口
在两个 Qt 界面的显示菜单接入独立窗口,仅在打开或手动更新时请求 数据线程编码当前 Full Proto,避免逐帧刷新和跨线程读取可变规划帧。 无当前帧或更新失败时保留历史快照,并展示编码缺失信息。
支持对象和数组按需展开、全部折叠,以及忽略大小写的不连续字符 模糊搜索;搜索命中后自动展开父节点,提供前后跳转和快捷键。
补充树形展示、快照历史、搜索、快捷键和 64 位精度回归测试。 验证:pnc_node、pnc_replayer 构建通过,14 项相关测试全部通过。
|
 | hmi/widget/full_proto_detail.hpp |
 | node/main.cpp |
 | CMakeLists.txt |
 | node/logic.hpp |
 | Testing/full_proto_snapshot_test.cpp |
 | replayer/logic.cpp |
 | replayer/logic.hpp |
 | replayer/scene_data/full_proto_snapshot.hpp |
 | hmi/widget/full_proto_detail.cpp |
 | hmi/node_hmi.hpp |
 | Testing/CMakeLists.txt |
 | replayer/scene_data/full_proto_snapshot.cpp |
 | node/logic.cpp |
 | replayer/main.cpp |
 | Testing/full_proto_detail_test.cpp |
 | hmi/replayer_hmi.hpp |
 | hmi/replayer_hmi.cpp |
 | hmi/node_hmi.cpp |
Commit
c53cfc5da9ae336a7070f0f08e067ebd3ce5c51e
by wuyanjun110refactor: 统一场景数值参数解析
提取公共有限数及正数参数解析函数,保持缺省值和失败不写回语义。 IMV 场景及方向代价复用公共解析,补充数值边界回归测试。
验证:共享解析及 IMV 参数测试通过,增量分布式编译通过。
|
 | ssep/scenarios/imv_multi_segment_parking_planner.h |
 | ssep/scenarios/imv_search_extra_params.h |
 | ssep/scenarios/imv_general_planner.h |
 | ssep/test/ssep_planner_test.cc |
 | ssep/scenarios/imv_enter_station_planner.h |
 | ssep/scenarios/search_extra_params.h |
 | Testing/ssep_path_corridor_test.cpp |
Commit
6101fe90314cb6eaf505fce402f0d30c1d5e628e
by wuyanjun110fix: 支持 Auto 出场局部倒车调整并外置调参
保留纯前进优先,失败后按配置逐步增加初始倒车距离并尝试两侧姿态。 全部重试共用时间预算,最终路径检查后退位移、完整车体碰撞与机械曲率。 优化裕量和权重从场景 custom_params 读取,同步津西配置及通用参数命名。 补充初始方向、真实倒车距离、转向和参数校验回归测试。
验证:30 项 SSEP 测试及 6 项 IMV 参数测试通过;两个现场场景回放通过, 碰撞和曲率验收通过;主程序、回放及测试目标增量分布式编译通过。
|
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | ssep/test/ssep_planner_test.cc |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h |
 | config/config_truck/ssep_port_scenarios_jinxi.yaml |
 | ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc |
 | ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
Commit
95fdfbd553bb04a58ec73dfe4d00461845b79d62
by wuyanjun110refactor: 去除生成源码中重复的 Schema 哈希注释
保留 DO NOT EDIT 标记、运行时 schema 哈希和兼容性校验。 清理仅用于注释的生成器参数,减少字段变化导致的无关文件 diff。
验证:check-generated、check-proto-breaking 通过。
|
 | tools/pnc_proto_mapper/generator.py |
 | replayer/scene_data/generated/plan_frame_decoder.hpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | replayer/scene_data/generated/compact_typed_field_codec.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
Commit
b345ba5abc57b9fa1ef823badd1a6a2004fef669
by wuyanjun110feat: 支持 bulk 和 open space 参数限速框
在 CfgLongPlan 中按顶点数组加载限速框及统一速度,默认关闭。 投影 SL 包络后,在车身前缘距入口 10 米内添加限速约束, 限速位置保持框的 start_s,车身完全离开后释放,支持倒车和挂车尺寸。
通过 typed Proto 保存配置,保留 UTM double 精度并使用 Zstd 压缩, 支持 Full、Compact Recorded 和 Candidate 恢复以及旧消息默认关闭。
验证:15 个限速测试、完整 scene_replay_foundation_test、 check-generated 和 check-proto-breaking 全部通过。
|
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/config_proto_codec.cpp |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | proto/config.proto |
 | docs/bulk_open_space_speed_limit.md |
 | config/config_truck/plan.yaml |
 | tasks/deciders/long_decider/constrain_decider.cpp |
 | Testing/bulk_speed_limit_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | tools/pnc_proto_mapper/sync_config_schema.py |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | Testing/scene_replay_foundation_test.cpp |
 | data/config/cfg_long_plan.cpp |
 | data/config/cfg_long_plan.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | tasks/deciders/long_decider/constrain_decider.hpp |
Commit
140da468cc3a9f8c4d547901b1b10487f1d5cded
by chenranfeat: add standalone trailer detection bag-to-HTML converter
|
 | tools/trailer_detection_bag_to_html.py |
 | tools/trailer_detection_bag_to_html.md |
Commit
c73d19c7f1d584a2d1913bd103f110156f785379
by chenranfeat(plan): add configurable SSEP path heading refinement
|
 | tasks/plan/reversing_truck_path_task.hpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | config/config_truck/plan.yaml |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | Testing/scene_replay_foundation_test.cpp |
 | Testing/path_pair_validation_test.cpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | docs/ssep_path_tangent_refinement.md |
 | proto/config.proto |
 | tasks/plan/reversing_truck_path_task.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/config/cfg_func_sw.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | data/config/cfg_func_sw.hpp |
Commit
828c6df22a9994afa42583fecb0c52264e05fa9b
by wuyanjun110fix: 修正多车道场桥障碍物位置
按云端场桥位置选择单车道侧边或多车道桥腿间隙,覆盖 2 至 6 车道布局。保留原有纵向 min_s 与负 s 补偿,避免障碍物沿车道方向偏移。
|
 | plan/prepare/prepare_objs.cpp |
Commit
f67e4c414fa3d547ac8b45765f5afc7d9af46258
by chenranfix: preserve leader stop motion and separate trajectory freshness from coverage
|
 | Testing/platoon_response_test.cpp |
 | algorithm/platoon/leader_reference.cpp |
 | algorithm/platoon/platoon_leader_predictor.cpp |
 | data/platoon/platoon_info.hpp |
 | data/platoon/platoon_info.cpp |
 | algorithm/platoon/platoon_follow_target_builder.hpp |
 | algorithm/platoon/platoon_leader_predictor.hpp |
 | Testing/platoon_follow_target_builder_test.cpp |
 | algorithm/lattice/lattice.cpp |
 | algorithm/platoon/platoon_follow_target_builder.cpp |
Commit
e56ecb57a728d412ca05453a28b8db72cb48a05a
by chenranfix: MPC time budget 80ms
|
 | data/config/cfg_platoon.cpp |
Commit
aae9b08b9dbdb9a9bd90b4ee4ad741e8a7c9743b
by wuyanjun110fix: 修复换向点停稳后 Motion 状态机未进入停车态
车辆停稳且处于换向容差内时,核对历史有效停车终点和当前换向约束,进入 STOP_AUTO 并记录换向停车原因。保留急停、guardian 和其他停车约束的优先级。
换向约束仍在附近时保持停车,约束解除后恢复自动起步。增加真实 Motion FSM 回归,覆盖两份现场快照距离、停车保持与释放、无效条件以及停车优先级;63 项测试通过,本机 pnc_node 编译通过。
|
 | data/app/fsm/motion_fsm/motion_fsm.cpp |
 | Taskfile.yml |
 | Testing/routing_map_guard_test.cpp |
Commit
26c340c28d49d096a9032d56d846015b466b2263
by chenranfix: configure WBCA path length by ego speed
|
 | config/config_truck/plan.yaml |
 | data/config/cfg_lat_plan.cpp |
 | tasks/plan/path_optimization_task.cpp |
 | data/config/cfg_lat_plan.hpp |
 | tasks/plan/path_optimization_task.hpp |
 | Testing/wbca_leader_history_test.cpp |
Commit
de060180d215581d80a2752803d637cf323e3fed
by wuyanjun110feat: 在障碍物标注中显示跟踪帧数
在类型后显示 age 数值,未初始化值显示问号;将车速统一格式化为一位小数,保留旧快照的后续诊断信息。普通及变道不安全障碍物共用显示格式。
验证:pnc_node、pnc_replayer 编译通过,git diff --check 通过。
|
 | hmi/draw/draw_perception.cpp |
Commit
9400659a6fb905588498dc7aa6b40598beb1b89a
by wuyanjun110fix: 修正切入车辆跟车与绕行承诺
先更新本帧位置再识别切入和通行策略;切入优先解除绕行承诺,普通侧方避让及消抖旧标签不能建立新承诺。 切入完成后保持跟车,退回邻车道后释放跟车锁存。补充左右切入和承诺生命周期回归。 验证:分布式构建通过,polygon_sl_projector_test 共 126 项通过。
|
 | data/obstacle/decision/obstacle_decision_test.cpp |
 | data/obstacle/decision/obstacle_decision.hpp |
 | data/obstacle/decision/obstacle_decision.cpp |
Commit
cd45d025fff50ff766c0a72baf3f156e55b0b84a
by wuyanjun110fix: 避免切入收边强迫已越线车辆回归
移除切入来源侧固定 12 米收边,按实车和有效拼接起点的牵引车及挂车外廓判定越线。 已越线时保留来源侧原道路空间,避免截断向外连续转向;回到车道内后恢复限制。 验证:分布式构建和 126 项决策、边界回归通过,覆盖双侧切入、拼接点、挂车及 DP 采样范围。
|
 | data/boundary/driving_corridor_test.cpp |
 | data/boundary/driving_corridor.cpp |
Commit
fcde6e4ee2b22fd71b394e2a366faf60ec065fe9
by wuyanjun110fix: 在场景快照中恢复切入跨帧状态
为切入标志、来源方向及解除计数补充原值 Proto 编解码,Full、Compact 和 Candidate 均恢复。 同步字段合同与生成产物,采用 Proto 默认值,不增加观测有效性兼容状态。 验证:scaffold、generate、check-generated 和 breaking 检查通过,切入编解码及带宽测试通过。
|
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | data/obstacle/obstacle_decider_attr.hpp |
 | proto/obstacle.proto |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/obstacle_proto_codec.cpp |
Commit
581ea80168e914b83207df2d07a1e5913ad2dbce
by wuyanjun110feat: 显示障碍物切入状态和中文详细属性
在实时与回放 HMI 增加详细属性开关,单击障碍物显示位置、策略、承诺及切入生命周期。 切入目标增加橙色方向标注;暂停切换、目标消失及隐藏障碍物时同步更新面板。 验证:实时及回放程序分布式构建通过,HMI 10 项测试通过,2 项可选快照测试跳过。
|
 | Testing/obstacle_detail_render_test.cpp |
 | hmi/widget/replayer_pnc_mat.cpp |
 | hmi/common/obstacle_details.hpp |
 | hmi/node_hmi.cpp |
 | hmi/draw/draw_perception.cpp |
 | Testing/CMakeLists.txt |
 | hmi/replayer_hmi.cpp |
 | hmi/draw/draw_perception.hpp |
 | hmi/common/pnc_graphics_view.hpp |
 | hmi/common/pnc_graphics_view.cpp |
 | hmi/widget/pnc_mat.cpp |
Commit
c17d8ba11638dc92398af030030612ce6f13c89b
by wuyanjun110fix: 稳定编码基准的引导线消融默认状态
消融重置反复创建临时引导线对象,DP 标签未初始化导致 Compact 字节数随机波动。 整体、主备用及嵌套 DP 消融统一复制静态零初始化默认对象,保证同输入重复测量一致。
验证:分布式增量构建通过;三组回归共 417 项通过、4 项可选快照跳过;重复消融测试连续 10 次通过。
|
 | replayer/scene_data/encoding_benchmark.cpp |
Commit
440615906e0c9528d2857a14d6f758cea98c451d
by wuyanjun110fix: 将变道距离锁存推迟到进入变道状态
准备阶段按最新速度更新完成距离,进入 SWITCHING 时确定距离和起终点,持续变道时继承锁存几何,避免减速后仍沿用高速边界。
历史候选失效时清除未锁存几何,边界兜底同步更新安全检查距离;补充减速、状态切换、候选失效和重置回归。分布式编译及 19 项相关测试通过。
|
 | data/plan/switch_data.cpp |
 | tasks/deciders/lat_decider/switching_bounds_decider.cpp |
 | data/obstacle/cluster_lane_change_safety_test.cpp |
Commit
f6e9beb190e8b47a0160ccfa3511da7c45149e3e
by wuyanjun110feat: 支持普通变道到最外侧车道的独立速度配置
根据 mlt_center_lines 的目标索引是否为最后一条车道选择 switch_in_normal_outermost_km_h,未配置时继承 switch_in_normal_km_h,并同步普通路口变道准备距离计算。
补齐 Full/Compact/Candidate typed 配置及旧消息缺字段回退,新增速度选择、边界和回放兼容回归。合同生成与兼容检查通过,分布式编译通过;22 项变道测试通过,回放测试 285 项通过、2 项因缺少外部数据跳过。
|
 | config/config_imv/plan.yaml |
 | data/obstacle/cluster_lane_change_safety_test.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/config_proto_codec.cpp |
 | data/config/cfg_lat_decide.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | config/config_truck/config_truck_reverse/plan.yaml |
 | config/config_truck/plan.yaml |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | proto/config.proto |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | config/config_car/plan.yaml |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/plan/switch_data.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | data/config/cfg_lat_decide.hpp |
Commit
acb9f2343e96a0264c62697bdfa04d461ea8bb39
by wuyanjun110fix: 避免巡航负加速度误激活远端停车
停车激活评估不再把普通负加速度视为已进入终点制动,保留候选起点 v/a、硬制动可达性和已激活停车的连续性。
补充现场 bag 参数、连续重规划、目标移远、约束消失及近距离硬制动回归。
|
 | Testing/long_target_activation_test.cpp |
 | Testing/CMakeLists.txt |
 | data/constrain/long_target.cpp |
Commit
8fd5a80b8aae60764c9d37775d6826ab6cb4c672
by wuyanjun110fix: 解析校验长时域停车曲线以避免候选误拒绝
分段常 jerk 曲线检查完整时域端点、内部速度极值和分段边界,支持历史时间重基与终点保持;未知曲线继续保留采样预算保护。
补充远端停车及低速恢复回归,并在规划失败日志中输出首个前置候选拒绝原因。刷新本次头文件变化对应的审计哈希,不改变持久化字段。
|
 | algorithm/plan/lattice.cpp |
 | data/lattice/lattice_trajectory1d.cpp |
 | math/curve1d/curve1d.hpp |
 | math/piecewise_jerk/piecewise_jerk_traj.hpp |
 | Testing/CMakeLists.txt |
 | Testing/longitudinal_curve_validation_test.cpp |
 | data/lattice/longitudinal_curve_validator.hpp |
 | math/piecewise_jerk/piecewise_jerk_traj.cpp |
 | Testing/jerk_limited_stop_test.cpp |
 | data/lattice/lattice_trajectory1d.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
Commit
4470e60a991e108dc7e0629c4f1653e242a1f754
by wuyanjun110fix: 按时间插值消除低速轨迹起点锁存
时间匹配直接按时间比例插值,避免亚毫米制动轨迹被 1 cm 空间容差或 1 ms 时间容差截断;保留角度和 z 哨兵语义。
新增低速、静止、亚毫秒、分段端点和重复时间回归。三个修复合并验证:99 项纵向规划测试通过,pnc_node 分布式构建通过。
|
 | Testing/trajectory_point_interpolation_test.cpp |
 | Testing/CMakeLists.txt |
 | data/common/trajectory_point.cpp |
Commit
c463af0de6aa16dc8cb5d1088faaa3fc18bf8935
by wuyanjun110fix: 恢复回放帧配置并保护共享配置访问
逐帧同步 WBCA 等生产算法读取的配置单例,避免离线默认零速度覆盖录制配置。 回放重建与任务执行共用递归互斥锁,防止并发回放互相覆盖配置。 补充连续帧限速和相关配置恢复回归测试。
|
 | replayer/replayer_data_process/replayer_data_process.hpp |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/algorithm_replay/production_variant_runner.cpp |
 | replayer/replayer_data_process/replayer_data_process.cpp |
Commit
4b28b4a4fa1c8cdaccdc57a377777622248da7c3
by wuyanjun110fix: 提前准备会车右让空间并补齐预测尾点检查
会车预判覆盖纵向规划时域并检查真实预测尾点,自车与障碍物按同一时刻评估。 提前生成右让准备段,考虑实车及有效拼接车身占用,保留可行通道和车身保护。 按目标记录边界贡献,切入或换侧时撤销失效贡献并迁移代表位置,缺失保持迟滞。 持久化会车确认状态,完善 Full、Compact、Candidate 及边界与动态代价回归。
验证:分布式构建节点、回放器和测试目标;440 项常规测试通过;合同生成与兼容检查通过。 两份 bag 重建完成,提前右让时机未退后;新增尾点碰撞使部分录制状态帧无解,尚未完成闭环连续通过验收。
|
 | replayer/scene_data/plan_frame_nested_persistence_review.yaml |
 | data/obstacle/obstacle_decider_attr.hpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | data/boundary/driving_corridor.cpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | data/obstacle/decision/obstacle_decision_test.cpp |
 | proto/obstacle.proto |
 | data/obstacle/decision/obstacle_decision.hpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | data/dp_poly_path/trajectory_cost_test.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | Testing/scene_replay_foundation_test.cpp |
 | data/dp_poly_path/dp_road_graph.cpp |
 | Testing/compact_driving_corridor_restore_test.cpp |
 | data/obstacle/decision/obstacle_decision.cpp |
 | replayer/scene_data/obstacle_proto_codec.cpp |
 | data/boundary/driving_corridor.hpp |
 | data/constrain/longitude_constrain.cpp |
 | data/boundary/driving_corridor_test.cpp |
 | data/obstacle/obstacle_decider_attr.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | data/dp_poly_path/trajectory_cost.cpp |
 | data/dp_poly_path/trajectory_cost.hpp |
Commit
ebf79838cebf70c654ad674503a1cedbe50bb8c0
by wuyanjun110fix: 按任务终点与路口中点选择堆场规划器
使用当前行驶段剩余距离判断任务终点是否越过进出场路口中点,避免延长引导线和区域提前判定误触发 KEB。终点在中点或之前时按已开启的堆场 PJPO 开关选择 PJPO,超过中点时保留 KEB。
选择器与 KEB 目标构造共用终点检查,保留缺输入报错及带缓存路口的尾段复用。补充中点边界、规划器切换、换向段终点、无效输入与连续路口回归。分布式编译及 19 项相关测试通过。
|
 | scenarios/task_condition_evaluator.cpp |
 | tasks/plan/keb_utils.hpp |
 | tasks/plan/keb_utils.cpp |
 | Testing/ssep_path_corridor_test.cpp |
Commit
70146373ee82184f8d33a368003d6fc2f3c8eb94
by wuyanjun110fix: 合入禁停队列预测并修正整车范围与缓存退出
仅合入 6055d1444943aeae3754e02473b6ba418b9ab5cb,保留当前分支的信号灯禁停策略和 can_jump 语义。
路口与普通禁停区已扩展整车长度,预测匹配避免重复计入;岸桥保留挂车占用判断。通过点锚点缺失时按累计位移推进缓存,并在整段通过后退出。修复连续过期条目清理的迭代器失效。
按帧复用队列预测结果,保持原前车选择与预测参数;删除 use_func_disable_stop_debug_ 参数及专用日志。
为新增预测、滤波窗口、保持状态、路口缓存和入口偏移补齐 typed Full/Compact 合同及回放测试;统一显式空 Full codec 的生成与审计语义。
验证:分布式构建 pnc_node 和两个测试目标成功;routing_map_guard 78 项通过,scene_replay_foundation 288 项通过、2 项因缺可选样本跳过;其中 3 项本地服务测试解除端口沙箱限制后重跑通过。生成检查、Proto breaking 检查和持久化目录检查通过。
|
 | data/config/cfg_env_const.hpp |
 | Testing/disable_stop_queue_test.cpp |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/plan_frame_nested_persistence_review.yaml |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | Testing/CMakeLists.txt |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | data/constrain/disable_stop_range.hpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | proto/decision.proto |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | data/constrain/block_data.hpp |
 | data/constrain/temporary_stop_data.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | docs/pnc_algorithm_replay/plan_frame_persistence_catalog.md |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | proto/config.proto |
 | data/constrain/disable_stop_queue.hpp |
 | data/constrain/disable_stop_range.cpp |
 | data/constrain/temporary_stop_data.cpp |
 | tools/pnc_proto_mapper/audit_full_custom_codecs.py |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/plan_frame_persistence_policy.yaml |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | proto/pnc_scene/compact_plan_frame_fields.proto |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | data/constrain/block_data.cpp |
 | math/filter/median_filter.hpp |
 | Testing/disable_stop_regression_test.cpp |
 | replayer/scene_data/config_proto_codec.hpp |
 | CMakeLists.txt |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/config/cfg_env_const.cpp |
Commit
344373f6f048c4464359e98d3c30ed0af1229ce2
by wuyanjun110docs: 补充多分支 Proto 兼容与发布规范
明确固定 baseline 检查无法覆盖并行分支冲突,要求统一核对字段编号、对活跃发布版本检查描述符及双向读写,并记录发布物合同。将流程提醒加入 AGENTS.md,供后续代码修改遵循。
|
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | docs/pnc_algorithm_replay/proto_generation.md |
 | AGENTS.md |
Commit
de3f72d5741168549187d530d99818f0700baae7
by wuyanjun110test: 适配临时停车范围的障碍物参数
为凸包换道安全测试补齐 AddDisableRange 新增的障碍物映射参数,恢复测试目标编译。
|
 | data/obstacle/cluster_lane_change_safety_test.cpp |
Commit
67d43604b8c435034219db009741feec09406e3d
by wuyanjun110fix: 避免会车准备段过度收缩绕行空间
会车近侧目标保持在统一 SL 坐标系,移除按源段与当地安全右界差值平移目标的逻辑,避免将远处静态障碍缺口扩大到上游。保留源段可行性和当地完整车宽保护,并补充障碍缺口与借道宽度变化回归。
|
 | data/boundary/driving_corridor.cpp |
 | data/boundary/driving_corridor_test.cpp |
Commit
3673d874187d6c64feb572f3f1d9755df30c1caa
by wuyanjun110fix: 保留静止障碍物短时漏检后的绕行确认依据
保存最长 0.5 秒的同 ID 静止确认依据,恢复前核对类型、跟踪年龄、位置、尺寸及原始和滤波运动证据。仅恢复确认计数,绕行策略与承诺仍按当前场景计算,避免 OBJ 与凸包反复切换造成重复等待。
在 feat_proto_jinxi 登记 ObstaclesProto 字段 8,同步 Full、Compact 和 Candidate 编解码及缺字段默认行为,修复旧容器清单覆盖新字段登记的问题。新增生命周期、运动否决、合同兼容与带宽回归。
验证:分布式构建 pnc_node、pnc_replayer 及测试目标通过;162 项决策与走廊测试、290 项回放测试通过。453 场景 90 帧回放验证第 41、65、74 帧恢复即允许绕行,初次检测仍等待确认;合同生成及兼容检查通过。
|
 | Testing/scene_replay_foundation_test.cpp |
 | tools/pnc_proto_mapper/sync_container_schema.py |
 | data/obstacle/decision/obstacle_decision.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/container_schema_inputs.json |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | tools/pnc_proto_mapper/test_container_schema_registration.py |
 | data/obstacle/decision/obstacle_decision.cpp |
 | proto/obstacle.proto |
 | data/obstacle/obstacle.hpp |
 | data/obstacle/decision/obstacle_decision_test.cpp |
 | Testing/compact_driving_corridor_restore_test.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/obstacle_proto_codec.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
Commit
e146a0387c90cd0e721513f101f7f0fb507312e6
by wuyanjun110fix: 修复一次对准终点停车后未进入锁定状态
允许车辆已静止且因绝对终点停车进入 STOP_CTRL 时,在正向偏差不超过停车线接管阈值的情况下进入 ALIGN_LOCK,避免约 2 cm 剩余偏差使任务停留在 ALIGN_1ST。保留原有负偏差转换行为,并补充距离边界、静止条件和停车原因回归测试。
|
 | Testing/CMakeLists.txt |
 | data/app/fsm/task_fsm/task_align_fsm/task_align_fsm.cpp |
 | Testing/task_align_terminal_stop_test.cpp |
Commit
0cdb4d93c35b8ff0cf7cdd2ba49d8be835409ca0
by chenranfix(wbca): correct collision and distance cost gradients
|
 | algorithm/wbca/path_optimization/path_optimization.hpp |
 | algorithm/wbca/path_optimization/truck_path_optimization.cpp |
 | algorithm/wbca/path_optimization/truck_path_optimization.hpp |
 | Testing/wbca_failure_csv_test.cpp |
 | algorithm/wbca/path_optimization/path_optimization.cpp |
 | docs/platoon/wbca_failure_replay.md |
 | Testing/fixtures/wbca_truck_collision_gradient_7.csv |
 | Testing/fixtures/wbca_truck_collision_gradient_8.csv |
Commit
1e690475945ef9fb1b162332ff6e4d6e221df555
by wuyanjun110feat: 为 KEB 可视化标注最大航向偏差
在 HMI 的 SSEP/实时 KEB、独立 KEB 网页和场景网页中标注车头与挂车最大角差点、车框、点序号和角度。 按到达方向处理倒车和换向,使用挂车后轴几何;缺挡位时明确采用轴线差,IMV 按 beta 可用性标注。 补充 C++/JavaScript 回归和 HMI 图层登记,覆盖首点未知方向、换向后最大点、零值字段及退化路径。
|
 | replayer/scene_data/hmi_layer_manifest.yaml |
 | data/config/cfg_hmi_layer_mapping.yaml |
 | hmi/draw/keb_heading_deviation.hpp |
 | offboard/keb_vis_server/test_heading_diagnostics.js |
 | Testing/CMakeLists.txt |
 | hmi/draw/draw_keb_debug.hpp |
 | replayer/scene_data/generated/hmi_layer_catalog.cpp |
 | Testing/keb_heading_deviation_test.cpp |
 | ssep/offboard/servers/scene_vis_html_template.cc |
 | hmi/draw/draw_all.cpp |
 | hmi/draw/draw_keb_debug.cpp |
 | hmi/widget/pnc_mat_shared.cpp |
 | offboard/keb_vis_server/keb_vis_html_template.cc |
 | ssep/offboard/servers/test_heading_diagnostics.js |
Commit
ef78186a4b5cda1ac989eb14077fc05504d3bdf4
by wuyanjun110feat: 为场景网页增加搜索起终点车框开关
在图例中分别控制搜索起点和终点的车头框、挂车框及位置标记,默认保持显示。 兼容 Proto JSON 省略的零值坐标和朝向;已通过浏览器独立隐藏与恢复验证。
|
 | ssep/offboard/servers/scene_vis_html_template.cc |
Commit
220cf88ad8837fbca150f5f48ac4f59217bfea82
by chenranfix(wbca): correct path cost gradients
Differentiate trailer collision costs through the discrete integration across samples and segment durations. Correct the tractor collision Jacobian transpose and the initial-sample minimum-distance gradient.
Add a standalone finite-difference regression target covering forward and reverse coefficients and durations.
|
 | algorithm/wbca/path_optimization/path_optimization.cpp |
 | Testing/CMakeLists.txt |
 | Testing/wbca_cost_gradient_test.cpp |
 | algorithm/wbca/path_optimization/truck_path_optimization.cpp |
 | algorithm/wbca/path_optimization/path_optimization.hpp |
 | algorithm/wbca/path_optimization/truck_path_optimization.hpp |
Commit
7e0f45d37fb930216c00fea5b70932253bc88d4d
by wuyanjun110feat: 区分普通点与停车点的前向碰撞检查长度
为 SSEP 粗搜索、搜索后 KEB 和实时 KEB 分别配置普通点及换向/终点的前向额外长度,停车包络按驶入方向选择,并保留既有场景豁免行为。
补齐场景参数传播与实时配置回放合同,保留旧消息默认值及显式零值。修复 GPU 圆盘容量越界、长路径尾部截断和 KEB 非法几何/数量转换,拒绝无效参数而不缩小检测范围。
最终工作树验证:SSEP 229 项测试、6 例场景回归通过;RTX 4060 上 10 项 GPU 测试通过,Compute Sanitizer memcheck 报告 0 errors;主工程及实时配置入口测试通过。
|
 | ssep/scenarios/imv_enter_yard_planner.h |
 | tasks/plan/keb_lane_follow_path_task.cpp |
 | ssep/keb_optimizer/imv_keb_optimizer.cc |
 | ssep/keb_optimizer/keb_utils.cc |
 | ssep/scenarios/forward_collision_check_params.h |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | ssep/coarse_search/gpu_collision_disk_packing.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | ssep/scenarios/tractor_trailer_enter_yard_planner.h |
 | ssep/coarse_search/searcher_builders/imv_bidirectional_searcher_builder.h |
 | ssep/scenarios/imv_exit_parking_spot_planner.h |
 | ssep/scenarios/straddle_carrier_general_planner.h |
 | ssep/coarse_search/searcher_builders/imv_general_searcher_builder.h |
 | ssep/scenarios/stitching_replanner.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | ssep/coarse_search/evaluator/evaluator.h |
 | ssep/coarse_search/motion_primitive.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_bidirectional_searcher_builder.cc |
 | tasks/plan/keb_utils_core.cpp |
 | ssep/scenarios/imv_general_planner.h |
 | ssep/scenarios/truck_multi_segment_parking_planner.h |
 | ssep/coarse_search/evaluator/forward_collision_check_lengths.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_lane_change_searcher_builder.h |
 | data/config/cfg_lat_plan.hpp |
 | ssep/test/coarse_search_stop_clearance_test.cc |
 | ssep/coarse_search/motion_primitive_sampler/reverse_primitive_decorator.h |
 | ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.cc |
 | ssep/test/gpu_collision_test.cc |
 | ssep/scenarios/imv_multi_segment_parking_planner.h |
 | Testing/keb_gate_filter_test.cpp |
 | ssep/scenarios/imv_enter_station_planner.h |
 | ssep/coarse_search/searcher_builders/bulk_yard_in_out_path_searcher_builder.h |
 | ssep/coarse_search/searcher_builders/rigid_truck_general_searcher_builder.h |
 | ssep/ssep_planner.cc |
 | ssep/scenarios/tractor_trailer_enter_parking_spot_planner.h |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | ssep/coarse_search/evaluator/collision_cost_computer.h |
 | ssep/coarse_search/searcher_builders/imv_general_searcher_builder.cc |
 | ssep/coarse_search/evaluator/gpu_collision_cost_computer.cc |
 | ssep/scenarios/legacy_planner.h |
 | ssep/coarse_search/gpu_context.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.h |
 | ssep/keb_optimizer/rigid_truck_keb_optimizer.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.cc |
 | ssep/coarse_search/searcher_builders/truck_reference_following_searcher_builder.h |
 | ssep/coarse_search/motion_primitive_sampler/dir_change_path_extention_decorator.h |
 | ssep/coarse_search/searcher_builders/imv_bidirectional_searcher_builder.cc |
 | ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.h |
 | ssep/scenarios/truck_general_planner.h |
 | ssep/gpu/device_types.h |
 | ssep/test/gpu_collision_disk_packing_test.cc |
 | ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc |
 | ssep/scenarios/straddle_carrier_pick_vehicle_planner.h |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/scenarios/tractor_trailer_short_distance_planner.h |
 | ssep/coarse_search/geometric_searcher/bulk_yard_geometric_searcher.cc |
 | ssep/coarse_search/searcher_builders/tractor_trailer_lane_change_searcher_builder.cc |
 | ssep/gpu/collision/collision_checker.cuh |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | ssep/coarse_search/searcher_builders/tractor_trailer_general_searcher_builder.cc |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.h |
 | docs/ssep_stop_collision_extension.md |
 | ssep/test/CMakeLists.txt |
 | ssep/scenarios/truck_fuzzy_reversing_planner.h |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | data/config/cfg_lat_plan.cpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | ssep/coarse_search/searcher_builders/tractor_trailer_single_segment_parking_searcher_builder.h |
 | ssep/scenarios/truck_bulk_yark_in_out_planner.cc |
 | ssep/scenarios/two_stage_planner_composer.h |
 | ssep/scenarios/truck_accurate_reversing_planner.cc |
 | ssep/coarse_search/gpu_context.cc |
 | ssep/scenarios/tractor_trailer_single_segment_parking_planner.h |
 | ssep/coarse_search/searcher_builders/imv_multi_segment_parking_bidirectional_searcher_builder.cc |
 | ssep/keb_optimizer/rigid_truck_keb_optimizer.cc |
 | Testing/keb_roadside_config_test.cpp |
 | ssep/keb_optimizer/keb_problem.h |
 | ssep/scenarios/truck_u_turn_planner.h |
 | ssep/coarse_search/searcher_builders/truck_reference_following_searcher_builder.cc |
 | ssep/test/bidirectional_stop_collision_test.cc |
 | ssep/keb_optimizer/README.md |
 | ssep/scenarios/imv_pullover_planner.h |
 | ssep/scenarios/truck_remote_guided_escape_planner.h |
 | ssep/test/forward_collision_check_params_test.cc |
 | ssep/keb_optimizer/imv_keb_optimizer.h |
 | ssep/scenarios/truck_multi_seg_general_planner.h |
 | ssep/keb_optimizer/keb_utils.h |
 | ssep/scenarios/tractor_trailer_general_planner.h |
 | ssep/test/ssep_planner_test.cc |
 | proto/config.proto |
 | ssep/coarse_search/searcher_builders/truck_multi_segment_parking_bidirectional_searcher_builder.cc |
 | ssep/coarse_search/searcher_builders/bulk_yard_in_out_path_searcher_builder.cc |
 | ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc |
 | ssep/scenarios/tractor_trailer_lane_change_planner.h |
 | ssep/coarse_search/evaluator/trailer_collision_cost_computer.h |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_general_searcher_builder.h |
 | tasks/plan/keb_utils_core.hpp |
 | ssep/scenarios/scenario_planner_interface.h |
 | tasks/plan/keb_path_optimize_task.cpp |
 | ssep/test/keb_stop_collision_test.cc |
 | ssep/test/keb_normal_extension_test.cc |
Commit
680f27a422524859d41d0c66d9c02a2c36d2e9a0
by wuyanjun110feat: 支持拖挂车单向精确到达与可配置末端直线
在 TractorTrailerGeneral 中新增可选 ForwardPrecise 策略,沿用单向前进搜索,固定默认 3 m 的可配置尾段并校验精确终点位姿、运动学与连续车身扫掠。
增加尾段碰撞忽略开关,保留入口与此前路径检查;禁止路径库或历史拼接绕过精确到达约束。实时场景每帧保留显式尾段配置,退出策略后恢复动态距离。
补充策略、固定尾段、碰撞忽略与配置生命周期回归。津西记录验证终点 x/y、车头与挂车航向误差均为 0,完整 3 m 直线保留,独立扫掠无碰撞。
|
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/test/forward_precise_planner_test.cc |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_general_searcher_builder.h |
 | ssep/test/forward_precise_routing_test.cc |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/scenarios/tractor_trailer_general_planner.h |
 | ssep/coarse_search/searcher_builders/tractor_trailer_general_searcher_builder.cc |
 | ssep/scenarios/stitching_replanner.h |
 | ssep/test/keb_stop_collision_test.cc |
 | data/ssep/forward_ec.cpp |
 | docs/ssep_forward_precise_arrival.md |
 | ssep/ssep_planner.cc |
 | ssep/test/CMakeLists.txt |
Commit
fe6ed2265341e86db3400f32d2baa5bab7bab42c
by wuyanjun110fix: 统一拖挂车前置铰接点的运动学与碰撞模型
按铰接点位于后轴前方为正的定义,将 CPU/GPU 搜索、KEB 约束与验收、 路径递推统一为 +h,修正 GPU 碰撞几何并将启发式生成器版本升级为 g2。 补充独立轴心无侧滑、CPU/GPU 一致性及旧模型表拒绝测试。
验证:CPU 单测和启发表脚本通过;GPU +h 版本此前 12 项及 memcheck 通过。 原预算下 16:08:56 和旧 05:43:31 搜索失败仍保留,未放宽安全验收。
|
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/test_generate_tables_batch.py |
 | ssep/test/gpu_collision_test_kernel.cuh |
 | ssep/coarse_search/legacy_searchers/hybrid_a_star_tt.cc |
 | ssep/keb_optimizer/cost_features/tractor_trailer_kinematic_constraint.h |
 | ssep/test/trailer_heuristic_table_test.cc |
 | ssep/gpu/samplers/multi_curvature_sampler.cuh |
 | ssep/test/gpu_collision_test_kernel.cu |
 | ssep/keb_optimizer/keb_utils.cc |
 | ssep/offboard/path_drawing_tool/hermite_path_generator.cc |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/README.md |
 | ssep/test/tractor_trailer_kinematic_diagnostics_test.cc |
 | ssep/coarse_search/motion_primitive_sampler/trailer_heading_motion_primitive_decorator.h |
 | ssep/gpu/collision/collision_checker.cuh |
 | ssep/param_loader/param.h |
 | ssep/offboard/tools/tractor_trailer_shortest_path_heuristic_generator/generate_tables_batch.py |
 | ssep/coarse_search/evaluator/trailer_heuristic_metadata.h |
 | ssep/coarse_search/motion_primitive_sampler/multi_curvature_motion_primitive_sampler.cc |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
 | ssep/data_structures/path_utils.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/data_structures/type_definition.cc |
 | ssep/test/gpu_collision_test.cc |
Commit
dabfb7aea639e328d03c840c56ff0a2f4e903c42
by wuyanjun110fix: 补齐固定尾段入口的三点曲率约束
将三点中心覆盖到固定尾段入口,保留左侧可变点对连接曲率的约束。 检查右邻点存在,跳过真实换向和全固定三元组;新增入口、换向、 全固定及普通末端边界测试,不改变最终下发曲率验收。
验证:运动学与权重 75 项、规划 230 项测试通过。
|
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
Commit
a9134bdaec29e5e572101316101ffe33eb3ab13a
by wuyanjun110test: 收录津西航向偏差场景并补充挂车几何诊断
归档 10 份原始场景,提交相对路径、来源和 SHA-256;保留原始参数和预算。 新增非等距点切向统计及输入有效性测试,角度只观察,不添加拒绝门槛。 补充挂车轴心弦向诊断及失败边日志,记录实验性细化撤回依据和剩余问题。
撤回未提交的场景归一化、新软约束和多组合重试,保持原三次细化策略。 验证:新集 9/10、旧 TT 3/4、IMV 2/2;312 项 C++ 与 38 项相关 Python 测试通过,pnc_node 编译通过。失败保留为已知问题,不跳过或扩大预算。
|
 | ssep/test/local_regression/run_ssep_regression.py |
 | ssep/keb_optimizer/tractor_trailer_kinematic_diagnostics.h |
 | ssep/test/local_regression/test_tt_heading_quality.py |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | docs/ssep_hitch_model_validation.md |
 | ssep/test/local_regression/tt_heading_quality.json |
 | ssep/test/local_regression/tt_heading_cases.json |
 | ssep/test/tractor_trailer_kinematic_diagnostics_test.cc |
 | ssep/test/local_regression/tt_heading_quality.py |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/tt_heading_manifest.tsv |
Commit
20c61e00477176af12569a9d0937f5186ece1b4d
by wuyanjun110fix: 修正路径曲率与轮角导出的一致性
使用有向三点圆曲率及有效弧长中心插值,消除端点半曲率与加密后导数伪差。 保留入段换向控制语义,拒绝退化或非有限几何,并向调用方传播轮角计算失败。 同步停车质量检查,补充非等距圆弧、变化曲率及退化输入测试。
|
 | ssep/common/utils/common.hpp |
 | ssep/test/local_regression/tt_parking_quality.py |
 | ssep/test/local_regression/test_parking_geometric_curvature.py |
 | ssep/ssep_planner.cc |
 | ssep/common/utils/plotter.hpp |
 | ssep/test/consistent_path_profile_test.cc |
Commit
a821300c7f7c3cfef26fa2c9e4416b1b70a096d2
by wuyanjun110test: 补充三份津西拖挂航向偏差回归记录
将 23:46:31、23:49:23、23:51:37 三份原始记录加入清单,固定来源、大小及 SHA-256。 观察集扩至 13 例,保留原输入和预算;注明历史失败与当前验收的区别。
|
 | ssep/test/local_regression/tt_heading_cases.json |
 | ssep/test/local_regression/tt_heading_manifest.tsv |
 | ssep/test/local_regression/README.md |
Commit
1512ba285bc90202b09be2366440f674d5fdbef8
by wuyanjun110feat: 用几何约束与连续积分改善拖挂路径航向
统一使用前置铰接点连续模型,通过控制空间积分及真实双轴几何目标投影改善路径, 再以剩余预算精化连续运动学残差,替代单纯提高软约束权重的细化方式。 保留固定状态、机械界、途经点及完整碰撞验收,冻结原合法候选的控制变化上限; 分离最优原节点快照与实际输出诊断,保持原硬截止语义,不增加角度拒绝门槛。 共用 QP、回溯和验收,修复 OSQP 内部计时重置问题,补充碰撞约束生成和回归测试。
正式原始输入回放 13/13 成功,11/13 双角小于 1 度;两 General 最大误差仍为 1.741/3.589 度。部分无优化总期限的旧多段流程耗时增加,详见方案文档。 验证:173 项相关单测通过;主测试 238 项通过、13 项缺少历史数据;Python 68 项 执行完成(1 项跳过);IMV 2/2,倒车优先 3/4(保留原粗搜索节点上限失败)。
|
 | ssep/test/path_geometric_constraints_test.cc |
 | ssep/keb_optimizer/exported_control_constraints.h |
 | ssep/scenarios/stitching_replanner.h |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | ssep/test/geometry_heading_projection_test.cc |
 | ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h |
 | ssep/keb_optimizer/cost_features/tractor_trailer_kinematic_constraint.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/test/continuous_path_sampling_test.cc |
 | ssep/keb_optimizer/control_space_refiner.h |
 | ssep/keb_optimizer/control_space_refiner.cc |
 | ssep/keb_optimizer/keb_problem.h |
 | ssep/test/ssep_planner_test.cc |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/offboard/scene_replay/CMakeLists.txt |
 | ssep/keb_optimizer/control_space_path_adapter.h |
 | ssep/coarse_search/legacy_searchers/hybrid_a_star_tt.cc |
 | ssep/keb_optimizer/tractor_trailer_continuous_model.h |
 | ssep/keb_optimizer/continuous_path_sampling.h |
 | ssep/test/exported_control_constraints_test.cc |
 | docs/ssep_continuous_kinematic_correction.md |
 | ssep/data_structures/path_linear_constraint.h |
 | ssep/test/parking_collision_provenance_test.cc |
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
 | ssep/data_structures/body_collision_constraint.h |
 | ssep/keb_optimizer/path_geometric_constraints.h |
 | ssep/scenarios/tractor_trailer_single_segment_parking_planner.h |
 | ssep/test/control_space_refiner_test.cc |
 | ssep/scenarios/tractor_trailer_general_planner.h |
 | ssep/scenarios/tractor_trailer_parking_collision.h |
 | ssep/coarse_search/legacy_searchers/hybrid_a_star_tt.h |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | ssep/keb_optimizer/control_space_path_adapter.cc |
 | ssep/keb_optimizer/tractor_trailer_kinematic_diagnostics.h |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
 | ssep/CMakeLists.txt |
 | ssep/keb_optimizer/geometry_projection.h |
Commit
360391b024803eee5a54b2644bd2857fc4f7c321
by wuyanjun110fix: 为拖挂几何校正保留不可行初值的恢复预算
为已有合法后备路径的控制空间优化增加显式恢复策略。初始活动碰撞约束 违反、硬 QP 报不可行且尚无接受步时,返回后续几何校正;保留默认恢复、 纯端点恢复及迭代上限处理,不将局部线性不可行解释为原任务无解。
补充两种策略下的端点恢复回归;完整方案专项测试与原始场景回归通过。
|
 | ssep/keb_optimizer/control_space_refiner.h |
 | ssep/keb_optimizer/control_space_path_adapter.cc |
 | ssep/test/control_space_refiner_test.cc |
 | ssep/keb_optimizer/control_space_refiner.cc |
Commit
aecef14000c2b39339218150e10823591040263b
by wuyanjun110fix: 修正拖挂几何投影可行性边界并在接近目标时停止
物理残差零阶值采用原世界坐标验收运算,保留局部自动微分 Jacobian。 为场景合法但物理不可行的改善点增加可行性修正和合法基线回缩,核验 固定维、Subset、参数边界、步长及分段合同,全部候选仍通过原完整验收。 独立保存在硬截止内完成验收的最佳输出;统一以 1° 求解、1.01° 停止 可选改善,复用实际导出 Profile 指标,不增加角度拒绝门槛。
新增 UTM 浮点边界及参数合同测试,更新近目标停止断言和正式回归报告。 13 份原始场景全部成功,双角最大 1.002810°;两份困难 General 复跑一致。 专项 180 项通过,主测试 238 项通过;13 项仍因既有数据目录缺失而失败。
|
 | ssep/test/geometry_heading_projection_test.cc |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/keb_optimizer/continuous_path_sampling.h |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
 | docs/ssep_continuous_kinematic_correction.md |
 | ssep/keb_optimizer/keb_problem.h |
Commit
83f5c95769f2cda57552757f1bb042d943847da2
by wuyanjun110fix: 恢复自动出库首个合法候选并保留较优路径
为显式分阶段优化增加首合法候选恢复,同时约束原始及下发曲率、运动学和当前碰撞见证;只有完整验收通过才能保存,失败或硬超时恢复快照。自动出库按实际下发几何误差择优,保留合法兜底,接近目标只提前停止探索。原安全约束和总预算保持不变,实时 KEB 不变。
验证:分布式构建主程序、回放及测试;186 项专项和 242 项主测试通过,另 13 项缺少历史数据目录。新四份及原十三份记录全部成功,最大几何误差 1.00335 度。
|
 | ssep/keb_optimizer/continuous_path_sampling.h |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/keb_optimizer/exported_control_constraints.h |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.h |
 | ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h |
 | ssep/scenarios/tractor_trailer_parking_collision.h |
 | ssep/test/parking_collision_provenance_test.cc |
 | ssep/test/ssep_planner_test.cc |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/keb_optimizer/keb_problem.h |
Commit
e19e3de9acdd3229daaeb324af9e0aa3521f06cf
by wuyanjun110test: 收录四份自动出库恢复回归记录
保存三份失败记录及一份同环境成功对照的原始数据哈希,沿用原参数和预算进行回放;补充恢复机制、候选择优与十七份回归结果。原始记录已校验归档到共享回归数据目录。
|
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/tt_exit_feasibility_manifest.tsv |
 | docs/ssep_continuous_kinematic_correction.md |
Commit
c0e0eb362722a967ddad265892c635ba21cdc9ae
by wuyanjun110feat: 优化场景可视化目录浏览并支持多选下载
在场景查看页加入可折叠目录侧栏,支持点击文件查看、当前文件高亮和同目录勾选状态保留。统一目录样式,固定路径与下载操作栏,文件列表独立滚动。
新增多文件 tar 下载接口,校验文件类型、数量及总大小,支持中文、长文件名和同名文件。补充目录选择与下载失败恢复回归测试。
验证:服务编译、3 项场景可视化回归测试及 HTTP 下载联调通过。
|
 | ssep/offboard/servers/scene_vis_server.cc |
 | ssep/test/local_regression/test_scene_vis_directory.py |
 | ssep/offboard/servers/scene_vis_html_template.cc |
Commit
8aa962d184b5f0bb6aba2da6533313a200d1df7d
by wuyanjun110fix: 为有序途经点停车接入首合法候选恢复
分阶段停车使用原双地图生成恢复约束,保留固定尾段、精确终点、途经点及完整场景验收。解决初始曲率超限或运动学不可行后只能重复软权重优化的问题,不改变实时 KEB、权重或预算。
两份现场失败记录按原10秒预算回放成功,头挂最大几何误差分别为0.726/0.063度及1.067/1.048度;已有17例全部成功。分布式编译通过,主测试242项通过,13项缺少历史输入目录。补充原始数据哈希和回归清单。
|
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/tt_ordered_feasibility_manifest.tsv |
 | docs/ssep_continuous_kinematic_correction.md |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
Commit
aa270a365c0d6e630c1e88746acae4283316679c
by chenranfeat(wbca): add trailer-led reversing path optimizer
|
 | algorithm/wbca/path_optimization/reversing_truck_path_optimizer.hpp |
 | algorithm/wbca/path_optimization/reversing_truck_path_optimizer.cpp |
Commit
398e6a273420b68c794a5c7cd3c9b9fde1fb3842
by chenranfeat(wbca): integrate reversing truck manager with SSEP
|
 | data/plan/ssep_data.hpp |
 | tasks/deciders/search_decider/search_decider_lifecycle.hpp |
 | Testing/reversing_truck_path_optimizer_test.cpp |
 | tasks/plan/ssep_task.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | data/ssep/ssep_activation.cpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | docs/reversing_truck_path_optimizer.md |
 | hmi/draw/draw_wbca_rlt.cpp |
 | algorithm/wbca/reversing_truck_wbca_manager.hpp |
 | tools/reversing_wbca_replay.cpp |
 | data/other/reverse_pickup.cpp |
 | Testing/reversing_path_wbca_test.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | plan/prepare/prepare_status.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/full_custom_codec_exclusions.yaml |
 | data/vehicle/request_routing_data.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | data/plan_frame.hpp |
 | data/plan_frame.cpp |
 | data/plan/ssep_data.cpp |
 | replayer/scene_data/generated/plan_frame_member_inputs.json |
 | data/ssep/ssep_activation.hpp |
 | tasks/plan/reversing_truck_path_task.cpp |
 | algorithm/wbca/reversing_truck_wbca_manager.cpp |
 | tasks/plan/reversing_truck_path_task.hpp |
 | Testing/CMakeLists.txt |
Commit
d9ef30d021b2ff32d8b8349d610e0e35a56d3d02
by chenranfix(wbca): use nearby ego pose for reversing path start
|
 | algorithm/wbca/reversing_truck_wbca_manager.cpp |
 | tasks/plan/reversing_truck_path_task.cpp |
 | algorithm/wbca/reversing_truck_wbca_manager.hpp |
 | Testing/reversing_path_wbca_test.cpp |
Commit
0347725b412cb6a3b3f573e9d3c3644d76f90ad5
by wuyanjun110fix: 按已验收倒车路径更新途经点进度
实车在原途经点位置圆外但沿合法路径连续跨越时,使用路径投影与现有跟踪容差更新顺序进度。保留同任务同路径、倒车分段、头挂角和定位跳变检查,不追溯补记点后静止状态。新增现场坐标及边界回归,105 项测试通过。
|
 | data/other/reverse_pickup.cpp |
 | docs/reverse_pickup_search.md |
 | Testing/reverse_pickup_lifecycle_test.cpp |
Commit
e5fdd10ad41212911cbf5f22d43cdaebf0ab0f93
by wuyanjun110fix: 统一起终点清障与停车碰撞验收
沿用已有清障开关和范围,同步裁剪最终验收的障碍来源,保留区外残段、点云与Access分层语义及道路边界。原始场景输入继续完整保存。
新增32种清障组合回归及19:52:49自动出库案例。原始10秒预算回放约2.32秒成功,20份场景、60项几何及88项碰撞场景测试通过。
|
 | ssep/test/parking_collision_provenance_test.cc |
 | ssep/maps/ogm.cc |
 | ssep/maps/ogm.h |
 | ssep/scenarios/tractor_trailer_parking_collision.h |
 | ssep/maps/ogm_builder.h |
 | ssep/maps/ogm_builder.cc |
 | docs/ssep_stop_collision_extension.md |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/tt_exit_feasibility_manifest.tsv |
Commit
983b11a4254f00e262f730582d7e24f104063a6d
by wuyanjun110fix: 切换场景文件后自动滚动定位当前文件
目录加载后在下一绘制帧将当前文件滚动至可视区域中央,保留当前文件高亮。补充有当前文件和无当前文件时的滚动定位回归验证。
验证:场景服务编译及 3 项可视化回归测试通过。
|
 | ssep/offboard/servers/scene_vis_html_template.cc |
 | ssep/test/local_regression/test_scene_vis_directory.py |
Commit
e4a4e9091eb6108f8fa1a20d2a261e897a7c06bd
by wuyanjun110feat: 支持离线障碍物按坐标半径匹配
新增 Point 条件,按世界坐标和可配置非负半径匹配搜索起终点。 起点条件改为可选,省略时只判断必填的终点条件;配置后要求两端均匹配。 校验非法坐标和半径,保留未知旧式 type/id 条件不匹配且不影响其他障碍的行为。
补充 Full Proto 坐标与半径字段、生成物和配置说明,保持既有 Compact 配置合同。 增加可选起点、半径边界、非法配置、旧条件兼容及 Full 编码回归测试。
|
 | docs/ssep_offline_obstacles.md |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/ssep/ssep_ec.cpp |
 | data/ssep/offline_obstacles_loader.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | proto/config.proto |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | data/ssep/ssep_ec.hpp |
 | data/ssep/offline_obstacles_loader.hpp |
Commit
809874369f7a26a6acea801e5b7a545dcdef1314
by wuyanjun110fix: 保留场景目录点击文件后的滚动位置
按目录保存点击文件时的滚动偏移,页面重载后优先恢复原位置;无有效记录时仍定位当前文件。补充滚动位置保存、恢复及无效记录回退测试。
|
 | ssep/offboard/servers/scene_vis_html_template.cc |
 | ssep/test/local_regression/test_scene_vis_directory.py |
Commit
b5cc322584a93b6c6bf2267896278c93d7c06d0e
by wuyanjun110fix: 为精确终点搜索接入首合法候选恢复
保持实测起点、精确终点和既有验收上限,初轮无合法候选时使用现有有界恢复流程。末端直线豁免与最终碰撞验收保持一致。
新增起点碰撞不可通过移动位姿绕过的测试,归档22:16:36失败及22:18:33成功对照。两例与原20份场景通过,89项专项测试通过;记录原预算下角度精化随剩余时间变化的限制。
|
 | ssep/test/local_regression/tt_precise_feasibility_manifest.tsv |
 | docs/ssep_continuous_kinematic_correction.md |
 | ssep/test/local_regression/README.md |
 | ssep/scenarios/tractor_trailer_general_planner.h |
 | ssep/test/forward_precise_planner_test.cc |
Commit
d1ebee114e4c90e458f7b74330cbbed59be168ea
by wuyanjun110fix: 刷新倒车重搜接口的实车起点
停稳重搜起点接口复用既有起点构造,避免空实现返回成功并留下旧请求位姿。当前生产倒车分支未调用该重搜接口,此项为防御修复。新增连续请求更新头挂位姿和无效底盘拒绝测试。
|
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | data/ssep/reverse_ec.cpp |
Commit
ca51e8b514abe01ab149f3e2ef1d196c7a1cf960
by wuyanjun110fix: 合入变道途经点起终点横向约束
按目标参考线所选终点回查同一途经点记录,检查当前参考线起点横向距离;完整记录起点不合格时不退入仅终点触发。保留当前分支的动态变道准备距离。
验证:pnc_node 分布式构建通过。
Original-Commit: 624719ffd99ab23502c2006391c7bd76d87b4708 Original-Subject: fix:针对西联z型场景追加变道起终点横向约束
|
 | data/plan/switch_data.cpp |
Commit
15f24f39fbb148ff81013584f9bab47e9bd5168f
by wuyanjun110fix: 合入岸桥人工对位防遮挡跟车判断
旁车道近停作业车触发实时跟车检查,转换原始参考线和 GuideLine 坐标后判断最近前车对应的整车停车占用;共用现有 1 s 保持。保留当前队列预计算、整车范围匹配和缓存修复,并合并普通与禁停 ST 遍历。
补充旁车道条件、最近前车、坐标转换、挂车占用、速度边界与道路外排除回归。
验证:岸桥 6 项行为回归通过,pnc_node 分布式构建通过。
Original-Commit: 96885bd974a3ca884bb24971fd4ab9dcdd2263f7 Original-Commit: 6bd8ded81c8e490562765bb445295ea2324a6e62 Original-Subject: fix:岸桥人工车防遮挡逻辑 Original-Subject: fix:岸桥人工对位防遮挡逻辑更新
|
 | Testing/CMakeLists.txt |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/constrain/block_data.cpp |
 | data/constrain/block_data.hpp |
 | data/constrain/temporary_stop_data.cpp |
 | Testing/shore_crane_follow_stop_test.cpp |
Commit
f5895d79507ff3e817f49e75145f2abcb80e7186
by wuyanjun110fix: 合入 SS 优先解除进堆场等待策略
启动指令优先解除 3 m 内可跳过的进堆场等待;自动放行保留原停车线选择,延续当前不可跳过保护和历史 JUMP 行为。
补充 SS、自动请求、距离边界、任务标志、路口原因与连续解除回归。
验证:SS 7 项行为回归通过;完整禁停与路由回归 94 项通过。
Original-Commit: b1da3611f26e17062ede234d544aa8810091a5b7 Original-Subject: fix:ss优先解除堆高机禁停
|
 | data/constrain/temporary_stop_data.cpp |
 | Testing/temporary_stop_startup_test.cpp |
 | Testing/CMakeLists.txt |
Commit
2fb5bd802dd73fd3bdf2796aec92d03738061590
by wuyanjun110fix: 统一堆高机场终点跟车距离并修复配置回放
将终点前 50 m 的基础跟车距离选择移入 CfgLongPlan::GetSafeDistance,保留闸口、短距、变道和对位策略优先级;线上缺参及旧场景缺字段时继承堆场配置。
SafeDistance 增加带 presence 的独立障碍物跟车距离,旧消息继承普通跟车距离,显式 0 保留;补齐 Full、Compact Recorded/Candidate 和旧读端转发回归。原提交的 Proto 118 与当前散货限速字段冲突,按本地分支合同核对后改用未占用的 120,并同步生成描述符与审计文件。
验证:scaffold/generate/check-generated/check-proto-breaking 通过;pnc_node 分布式构建通过;回放测试 306 项通过、2 项缺可选样本跳过,统一距离测试 6 项通过。
Original-Commit: b1745de9fa1049a25cabf83797bc056266a2de32 Original-Subject: fix:低贝位堆高机场新增大车距参数
|
 | proto/config.proto |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | data/config/cfg_long_plan.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | replayer/scene_data/config_proto_codec.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | tools/pnc_proto_mapper/sync_config_schema.py |
 | Testing/CMakeLists.txt |
 | data/config/cfg_long_plan.hpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | Testing/stacking_safe_distance_test.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
Commit
d7b98d2e34368274dd5237eebfb80d26426cba56
by wuyanjun110feat: 增加默认关闭的岸桥防遮挡跟车开关
新增 use_func_shore_crane_follow_stop,默认关闭,支持 ROS 参数热更新。 门控岸桥人工对位时的实时前车跟车停车检测,保留既有预测策略。 补齐 Full/Compact 配置回放、旧包默认关闭及开关启停回归。
Related-Commit: 15f24f39fbb148ff81013584f9bab47e9bd5168f
|
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | proto/config.proto |
 | Testing/shore_crane_follow_stop_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/constrain/block_data.cpp |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | data/config/cfg_func_sw.cpp |
 | data/config/cfg_func_sw.hpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
Commit
f6a62de6082e1edeb84140d47ed4675b2e7f092b
by wuyanjun110fix: 平滑堆高机场终点跟车距离并保护地图索引
使用有效 PNC local map 当前路段判定堆高机场,修复路段和分段索引等于容器大小时的越界。 普通跟车从终点前 50 m 开始按 smoothstep 过渡整份 SafeDistance,到终点完全采用目标配置。 过渡仅由当前距离计算,不累积 getter 调用次数;保持高优先策略,复用闸口距离插值。 补充距离入口连续、弯道单调过渡、整档配置和索引边界回归。
Related-Commit: b1745de9fa1049a25cabf83797bc056266a2de32
|
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | Testing/CMakeLists.txt |
 | data/config/cfg_long_plan.cpp |
 | Testing/stacking_safe_distance_test.cpp |
 | data/map/reference/reference_road_section.cpp |
Commit
bb88788b89fc25801c3bc62dfdcbc9ad25ada5f7
by wuyanjun110fix: 支持拖挂出库禁止倒车并恢复前进可行路径
Auto 出库增加 allow_reverse_adjustment 参数;关闭时仅搜索前进路径, 使用完整原始预算,并在最终验收中拒绝倒车方向。
前进优化失败时在同一预算内释放额外固定尾段,保留粗搜索首末位姿硬约束。 粗搜索提前检查不可释放的终点车身碰撞;单层 KEB 尊重显式终点约束模式。 首合法恢复 QP 向验收边界内预留数值裕量,最终物理和碰撞阈值保持原值。
归档原始出库记录及明确标注的禁止倒车派生记录,新增边界和方向回归。 验证:90 项搜索/碰撞专项、122 项运动学测试及 24 个场景回归通过。 本例单段前进成功,角度误差约 4.73°/1.75°,尚未稳定达到 1°。
|
 | ssep/coarse_search/multi_stage_hybrid_astar_search_engine.cc |
 | ssep/scenarios/tractor_trailer_exit_parking_spot_planner.h |
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/tt_exit_feasibility_manifest.tsv |
 | ssep/coarse_search/multi_stage_hybrid_astar_search_engine.h |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
 | ssep/test/ssep_planner_test.cc |
Commit
de9a82af60f6dd821942c41c6c56a43914537465
by wuyanjun110feat: 为 SSEP 场景增加双端位置触发条件
场景 start 条件读取当前有效车辆定位,end 条件读取当前有效任务终点, 支持 Point 的 UTM 坐标和可配置半径、Lane ID 及 YardArea 区域名称。 位置条件与既有任务条件按 AND 匹配,保持首匹配及原有起终点构造顺序。 共用离线障碍条件的解析和几何判断,按区域名称获取完整 YardArea 几何, 避免顶点距离预筛选漏掉大区域内部点。
两端位置条件沿现有 Full/Compact ReplayInput 以 typed double 保存, 缺字段保持无对应端限制,保留零半径与缺半径的区别,并更新生成合同。 津西示例增加指定起点半径 5 米的禁止倒车出库规则,优先于通用出库。
验证:78 项配置/生命周期测试和 312 项回放基础测试通过, 另 2 项可选外部 fixture 测试跳过;合同生成及 breaking 检查、pnc_node 编译通过。
|
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | data/ssep/offline_obstacles_loader.cpp |
 | data/ssep/ssep_scenario_config.hpp |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | data/ssep/ssep_ec.cpp |
 | data/ssep/ssep_scenario_config_loader.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | Testing/scene_replay_foundation_test.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | replayer/scene_data/config_proto_codec.cpp |
 | config/config_truck/ssep_port_scenarios_jinxi.yaml |
 | data/ssep/offline_obstacles_loader.hpp |
 | data/ssep/ssep_ec.hpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | docs/ssep_scenario_config_lifecycle.md |
 | proto/config.proto |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | data/ssep/ssep_scenario_config.cpp |
Commit
5dfd63b356cc12e0b1524887362c5d725a18d4f4
by wuyanjun110fix: 修复拖挂出库碰撞恢复与曲率边界收敛
碰撞恢复选取每段扫掠中穿透最深的见证,并生成严格分离余量,避免反复将碰撞推到下一采样点。 曲率生成目标略收紧到机械边界内,最终验收继续使用原机械上限。 软约束恢复遇到真实车身碰撞时提前进入联合恢复,明显收敛时在原请求截止和预留预算内延续迭代;超时回滚且完整验收保持不变。
验证:86 项碰撞测试、123 项运动学测试通过;29 个场景回归通过,新增 5 个出库失败案例均恢复成功,独立车身扫掠检查无碰撞。
|
 | ssep/keb_optimizer/tractor_trailer_keb_optimizer.cc |
 | ssep/scenarios/tractor_trailer_parking_collision.h |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
 | ssep/test/parking_collision_provenance_test.cc |
Commit
ccb50f2df494433f4a45e154aa8e6bf9b0ab95e7
by wuyanjun110test: 增加五个拖挂出库失败场景回归
归档 2026-09-30 的 16:11:29、16:14:04、16:32:44、16:33:07 和 16:39:14 原始记录,清单记录 SHA-256 并保留原始参数和搜索预算。 覆盖完整车身碰撞恢复、曲率边界及单段前进出库;16:14:04 校验仅一段路径。 几何航向误差继续统计,不新增拒绝门槛;16:11:29 挂车误差约 5.2 度仍需后续改善。
|
 | ssep/test/local_regression/tt_exit_feasibility_manifest.tsv |
Commit
90fc56dc64fd424ba1f5ac48866dd4f0a4b71d6f
by wuyanjun110fix: 保留圆弧基元曲率限幅的转向方向
修复负曲率超过上限时被错误翻转为正曲率的问题。 使用带符号限幅,并覆盖左右转参考圆弧的回归测试。
|
 | ssep/coarse_search/motion_primitive_sampler/arc_path_motion_primitive_sampler.cc |
 | ssep/test/coarse_search_stop_clearance_test.cc |
Commit
33461e4ad3de9bfca4aa7ab7c54f81ac540480f6
by wuyanjun110fix: 修复拖挂停车搜索优先级与任务换向进度
优先一次前进到参考倒车点后倒入,失败或出现闭环再尝试多段调整。 最后兜底阶段拒绝闭环候选后继续原搜索队列,保留搜索预算和完整车身验收。
显式传递真实任务换向标记,覆盖路径裁剪、拼接、下发、执行进度及现场记录, 避免局部调整提前消耗任务途经点。同步 Full/Compact 字段与旧数据缺省行为。
增加搜索候选继续扩展、闭环识别、任务换向和回放测试。 验证:265 项可运行 C++ 测试、23 项进度测试、2 项回放测试及 Proto 检查通过; pnc_node 和回放工具编译通过。13 项依赖缺失本地数据目录的场景测试未完成。
|
 | data/other/parking_pass_progress.hpp |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.h |
 | ssep/test/bidirectional_stop_collision_test.cc |
 | proto/plan_data.proto |
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc |
 | ssep/data_structures/type_definition.cc |
 | ssep/ssep_planner.cc |
 | data/other/parking_pass_progress.cpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/compact_geometry_codec.cpp |
 | ssep/test/ssep_planner_test.cc |
 | data/ssep/ssep_ec.cpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | ssep/protos/path.proto |
 | ssep/test/parking_approach_loop_test.cc |
 | ssep/test/CMakeLists.txt |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | ssep/data_structures/path.cc |
 | Testing/scene_replay_foundation_test.cpp |
 | ssep/scenarios/planner_utils.h |
 | data/plan/ssep_data.cpp |
 | ssep/test/bidirectional_candidate_validation_test.cc |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | ssep/scenarios/parking_approach_loop.h |
 | Testing/parking_pass_progress_test.cpp |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h |
 | data/ssep/ssep_activation.cpp |
 | proto/pnc_scene/compact_geometry.proto |
 | ssep/scenarios/planner_utils.cc |
 | ssep/data_structures/path.h |
 | ssep/data_structures/type_definition.h |
Commit
4a1c00ccd7c6c8fd01bc45edf32896c325282f68
by wuyanjun110test: 增加参考倒车点闭环与两段路径回归
记录五个参考倒车点场景及源文件哈希,独立验收任务换向和完整车身扫掠。 增加同档位闭环检查,明确拒绝旧绕圈结果,保留正常 U/S 形及跨换向退回。 18:59:44、19:00:26 单独要求两段完成,其他多段场景不统一限制换向次数。
验证:16 项 Python 测试及 5 个重点回放通过;19:00:36 额外复测通过, 头/挂航向误差约 0.63°/1.00°。
|
 | ssep/test/local_regression/tt_reference_cusp_quality.json |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/tt_reference_cusp_quality.py |
 | ssep/test/local_regression/test_tt_reference_cusp_quality.py |
 | ssep/test/local_regression/tt_reference_cusp_manifest.tsv |
 | ssep/test/local_regression/run_ssep_regression.py |
Commit
7b4622697a7a8fcecdfc90486054b945c5eb9713
by wuyanjun110fix: 支持离线障碍物仅按起点条件加载
允许 start 和 end 任一条件单独配置,同时配置时要求两者均匹配,继续拒绝缺少全部条件或显式空条件。修复仅配置 start 导致整份离线障碍物列表加载失败的问题。
补充混合条件加载、半径边界及无效配置回归测试,并更新配置文档。分布式编译通过,离线障碍物测试 7/7 通过;完整 SSEP 测试 78/79 通过,TractorTrailerPassPointSelectionUsesActualParameters 失败,失败路径不经过本次修改。
|
 | docs/ssep_offline_obstacles.md |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | data/ssep/offline_obstacles_loader.cpp |
 | data/ssep/ssep_ec.cpp |
Commit
3371203dfaaaacdb4608a45dc0d85533c5e405a3
by wuyanjun110fix: 修复 SSEP 倒超换向点后无法切段
换向线触发停车后,允许纵向越过不超过 2 米且横向偏差小于 1 米的车辆切换下一段。使用原始路径的末端切向,避免延长段和倒车航向翻转影响判定,保留停车及防连续跳段检查。
补充倒超恢复、距离边界、正反向、量化误差、异常路径和连续换向回归。147 项 SSEP 专项测试通过,pnc_node 编译通过;现场快照停车后的 244 帧均满足新几何恢复条件。
|
 | Testing/parking_pass_progress_test.cpp |
 | data/plan/ssep_data.cpp |
Commit
610888a71bc167e2dfdb5b706760c7b8839d220d
by chenranfeat(wbca): configure reversing corridor deviation allowance
|
 | replayer/scene_data/config_proto_codec.cpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | proto/config.proto |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | algorithm/wbca/reversing_truck_wbca_manager.cpp |
 | Testing/keb_roadside_config_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | data/config/cfg_lat_plan.hpp |
 | algorithm/wbca/reversing_truck_wbca_manager.hpp |
 | data/config/cfg_lat_plan.cpp |
 | tasks/plan/reversing_truck_path_task.cpp |
 | Testing/reversing_path_wbca_test.cpp |
Commit
178853c2cec1dc1855887fd36fe43b2a7ebbfa7f
by wuyanjun110fix: 修复拖挂停车起点派生占用与豁免生命周期
在停车约束建图中按真实头挂车身与整格相交恢复起点新增占用, 保留原始线段和已有实体,并正确处理挂接偏移及车体坐标。
保存临时豁免来源,仅允许匹配建图起点的完整路径使用; 车辆整体脱离后恢复约束,避免返回起点或分段验收重启豁免。 同步优化碰撞修复、地图克隆及重建的状态处理。
验证:50 项相关测试通过;新增两条离线约束的现场场景回放 及独立车身碰撞检查通过;并行编译与 diff 检查通过。
|
 | ssep/test/scene_replay_obstacle_inputs_test.cc |
 | ssep/scenarios/tractor_trailer_parking_collision.h |
 | ssep/test/parking_collision_provenance_test.cc |
 | ssep/maps/ogm_builder.cc |
 | ssep/maps/ogm.h |
 | ssep/maps/ogm_builder.h |
 | ssep/maps/ogm.cc |
 | ssep/maps/ogm_config_utils.cc |
Commit
3455c3d9997ff28b5f918899b0ded314c6715f31
by wuyanjun110fix: 保存任务 bag 的挂车姿态快照
复用 TrailerPosture 保存相对物理车头的挂角和有效标记,与 Target 使用同一时间戳。 在互斥锁下取得车头及挂车快照,异步保存按值捕获,避免姿态读取竞争。 验证:diff 检查通过;全量构建受现有 ssep/maps/ogm.h 的 cv::Mat 运算错误阻断。
|
 | source/ros_source_ads_target.cpp |
 | source/ros_source_ads_target.hpp |
Commit
49f604896aa26adb2186a24659bd0cb43e0e8791
by wuyanjun110fix: 调整中铁联集出场引导线起点后延距离
将中铁联集场景的起点后延距离由 25 米调整为 2 米,使默认起点位于基准停止线前 2 米。
|
 | data/ssep/out_yard_junction_ec.cpp |
Commit
8ef11502f052d1046e6cc554ceee839e0b67c3c2
by wuyanjun110fix: 补齐 HMI 虚拟障碍线操作与持久化诊断日志
记录右键操作的 Shift 状态、新增删除坐标、删除命中数量及初始化加载数量,统一使用 HmiVirtualObs 日志前缀,便于排查超视距线删除后再次出现的问题。
补充保存路径、失败原因及文件写入关闭结果检查,区分内存删除与文件保存结果。
|
 | plan/prepare/prepare_hmi_virtual_obs.cpp |
 | data/config/cfg_func_sw.cpp |
 | hmi/common/pnc_graphics_view.cpp |
Commit
4eedba65046c4305a667821bb80a0fbc6edd17f6
by wuyanjun110fix: 提前准备堆场途径点变道并保留起点门禁
堆场变道此前仅按固定距离进入准备,车辆从较高速度减速后已接近 出口路口,导致 ATTEMPT 阶段反复因变道路径越过路口而取消。
复用舒适减速度、载重限制和 jerk 曲线计算减速准备距离,并预留 状态等待距离。双向 IMV 的定位加速度按行驶方向换算。 保留原有起点附近的横向变道门禁与路口保护,补充路口取消原因日志。
新增减速准备、正反向加速度、无效参数和起点门禁回归测试, 27 项变道相关测试通过;同步更新数据头文件审计指纹。
|
 | data/plan/switch_data.cpp |
 | data/plan/switch_helper.cpp |
 | data/obstacle/cluster_lane_change_safety_test.cpp |
 | data/plan/switch_helper.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
Commit
6b98f901915cf71f2ff27c2afc06f4a16293feab
by wuyanjun110fix: 修复右键重复释放误删超视距线
按右键按下时的操作类型配对处理新增和删除,忽略无对应操作的释放及右键双击,避免取消短线时误删已有线且未触发保存。
取消绘制时仅清理本次临时线,保护待处理请求并忽略空列表删除,避免 Shift 变化或连续操作导致状态错乱。
新增 10 个 Qt 交互回归用例,覆盖测距双击、重复释放、Shift 切换、取消恢复及待处理请求保护。回归测试、pnc_node 分布式编译与 Proto 检查通过。
|
 | Testing/hmi_virtual_obs_interaction_test.cpp |
 | Testing/CMakeLists.txt |
 | hmi/common/pnc_graphics_view.hpp |
 | hmi/common/pnc_graphics_view.cpp |
Commit
7adda00e8acb9466ab1572f444ed62b94f03fe11
by wuyanjun110fix: 修复任务切换后沿用旧路口搜索路径
新任务通过连续性校验后重新检查路口规划器准入,清理不匹配的搜索路径、 备用路径和重搜上下文,避免旧引导线覆盖新路线。前置任务失败时也通过 ReplanDecider::Reset 完成清理,防止错过任务切换首帧。
基于 pnc_local_map 的实际连接和目标车道判断普通路口及入堆场搜索复用, 同路线换任务或车道索引重排不重新搜索。共用判定置于数据层,支持轻量 回放 SDK 独立链接,并同步头文件审计缓存及生命周期文档。
验证:pnc_node 和独立 embedded SDK 编译链接通过;参考线与搜索生命周期 回归测试 401 项通过、61 项跳过;git diff --check 通过。
|
 | tasks/deciders/search_decider/search_decider_lifecycle.hpp |
 | data/plan/ssep_task_context.hpp |
 | data/plan/ssep_task_context.cpp |
 | plan/scenarios/prepare_scenario.cpp |
 | data/plan/ssep_data.cpp |
 | docs/ssep_search_lifecycle.md |
 | tasks/deciders/other_decider/replan_decider.hpp |
 | Testing/scenario_search_exit_test.cpp |
 | data/map/reference/reference_road_section.hpp |
 | tasks/deciders/search_decider/search_decider_lifecycle.cpp |
 | data/map/reference/reference_road_section.cpp |
 | Testing/search_decider_lifecycle_test.cpp |
 | tasks/deciders/other_decider/replan_decider.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | Testing/reference_line_replan_test.cpp |
Commit
cc9da62d5fc49b59e7e38f30d79e2ef808910f15
by wuyanjun110fix: 将倒车接货终点到位阈值调整为 0.8 米
将终点位置容差与搜索途经点容差分离,允许停稳车辆在目标点 0.8 米范围内进入 PARK_LOCK,解决 AT001 场景距离约 0.559 米时无法锁定的问题。
补充现场偏差、半径边界、二维距离、停稳和朝向条件回归,48 项倒车接货相关测试通过。
|
 | data/other/reverse_pickup.cpp |
 | Testing/reverse_pickup_lifecycle_test.cpp |
Commit
84e522a37b53a560f2393f34260841ce9fe83301
by wuyanjun110fix: 修复静止对向车辆绕行许可反复撤销
对已确认静止且沿道路对齐的车辆使用车身朝向判断对向绕行准入, 避免静止时运动方向归为同向后持续进入跟车等待。 静止车辆靠边放行统一要求连续确认,并在短暂放行期间保留等待进度, 防止靠边证据抖动反复撤销绕行准备、清零久停计数。
新增五项连续帧回归,覆盖对向准入、靠边抖动、等待进度及运动、 切入和斜向退出。相关 175 项测试通过,pnc_node 与 pnc_replayer 分布式编译通过。 使用哈希匹配的津西 1.0.11 地图顺序重算 AT001 现场 bag 全部 460 帧,7480 持续获得许可,DP 全程左绕,所选节点无碰撞或越界标记。
|
 | data/obstacle/decision/obstacle_decision.cpp |
 | data/obstacle/decision/obstacle_decision_test.cpp |
Commit
d9e75b3754da247f7dadf9e36de80468fb7757aa
by wuyanjun110fix: 按实际时间确认静止车辆绕行等待
沿用既有帧数配置并按 10 Hz 换算等待时长,使用规划时间戳推进计时,避免决策频率和重复快照导致等待延长。静止对向车辆独立确认朝向,防止 bbox 短暂翻转或残留 REVERSE 状态提前放行。
补齐时钟及对向确认状态的跨帧继承、失效重置和 Full/Compact 回放合同,增加行为与协议回归测试、策略隔离重算诊断及说明。
验证:pnc_node 和 pnc_replayer 编译通过;184 项行为测试、321 项回放基础测试通过;现场 AT001 2026-10-07 bag 460 帧完整重算通过。协议生成、一致性及兼容检查通过。
|
 | data/obstacle/decision/obstacle_decision_test.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | data/obstacle/decision/obstacle_decision.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | data/config/cfg_lat_plan.hpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | docs/pnc_algorithm_replay/dp_corridor_performance.md |
 | proto/obstacle.proto |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | Testing/compact_driving_corridor_restore_test.cpp |
 | data/obstacle/obstacle_decider_attr.hpp |
 | replayer/scene_data/obstacle_proto_codec.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/obstacle/obstacle_decider_attr.cpp |
 | replayer/scene_data/generated/config_schema_inputs.json |
Commit
bf120db6bfe072f5b559374c753ec6df90fac77c
by chenranfeat: add WBCA debug tool and truck reversing configuration
Add browser visualization and C++ optimizer replay with editable parameters and server startup management. Introduce the REVERSING_TRUCK scene and dedicated configuration with normal-parameter fallback, typed replay persistence, and regression coverage. Ignore local artifacts.
|
 | algorithm/wbca/reversing_truck_wbca_manager.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | tasks/plan/reversing_truck_path_task.cpp |
 | tools/wbca_debug/tests/test_native.py |
 | tools/wbca_debug/worker.cpp |
 | config/config_truck/config_truck_reverse/plan.yaml |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | .gitignore |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | tools/wbca_debug/start_up.sh |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | Testing/CMakeLists.txt |
 | Testing/scene_replay_foundation_test.cpp |
 | data/config/cfg_lat_plan.cpp |
 | algorithm/wbca/reversing_truck_wbca_manager.hpp |
 | config/config_truck/plan.yaml |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | tools/wbca_debug/static/app.js |
 | Testing/reversing_path_wbca_test.cpp |
 | tools/wbca_debug/CMakeLists.txt |
 | tools/pnc_proto_mapper/test_config_schema_presence.py |
 | data/config/cfg_lat_plan.hpp |
 | tools/wbca_debug/static/index.html |
 | proto/config.proto |
 | Testing/reversing_truck_path_optimizer_test.cpp |
 | tools/pnc_proto_mapper/sync_config_schema.py |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | tools/wbca_debug/.gitignore |
 | tools/wbca_debug/stop_server.py |
 | tools/wbca_debug/server.py |
 | tools/wbca_debug/tests/test_startup.py |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | tools/wbca_debug/README.md |
 | tools/wbca_debug/tests/test_server.py |
 | tools/wbca_debug/static/style.css |
 | replayer/scene_data/config_proto_codec.cpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | algorithm/wbca/path_optimization/reversing_truck_path_optimizer.cpp |
Commit
941625f66f78deeb2c167af93984d7f2c5611ad3
by chenranfix: reversing wbca distance_thr 0.05
|
 | data/config/cfg_lat_plan.cpp |
Commit
ab4897ce845172ae7aed8b857e36603dca37ce9a
by wuyanjun110fix: 关闭大榭出场右转掉头终点右侧通道校准
在右转掉头出场前和出场内阶段禁用终点右侧通道校准,覆盖此前按场区和终点车道位置启用的校准标志。
|
 | data/ssep/out_yard_junction_ec.cpp |
Commit
1084b7392cc4b7b48e68e532845c75782e04ab75
by chenranfeat: fill reversing WBCA obstacle-to-corridor gaps
Close effective SSEP obstacle segments to the outward corridor boundary and retain the connected reference-side free region. Keep filled occupancy even where it overlaps the reference envelope, preserving source obstacles and clearing rules.
Add production SSEP-to-ESDF comparison and plotting tools, documentation, and regressions. Validated with distributed compilation and 46 passing WBCA tests.
|
 | Testing/reversing_path_wbca_test.cpp |
 | algorithm/wbca/reversing_truck_wbca_manager.cpp |
 | tools/wbca_debug/CMakeLists.txt |
 | tools/wbca_debug/plot_esdf_comparison.py |
 | tools/wbca_debug/README.md |
 | algorithm/wbca/reversing_truck_wbca_manager.hpp |
 | tools/wbca_debug/compare_ssep_esdf.cpp |
Commit
a2b8741034ea418943b6d1f0a9763741a5916f35
by wuyanjun110feat: 完善桥吊动静先验关联与场景回放保存
增加桥吊状态及方向输入、感知防抖与云端状态融合、唯一桥名绑定和 HMI 诊断。 保留短时漏检运动证据并校验目标身份,修复地图桥腿投影和动静防护扩张。 Compact 升级 encoding 5,增加桥坐标量化及云端相对时间,兼容读取 3/4/5 并隔离会话版本。
验证:基础回归及策略/HMI/兼容测试、T711 绑定探针通过,pnc_node 与 pnc_replayer 编译通过。
|
 | Testing/analysis_server_app_test.cpp |
 | replayer/scene_data/live_compact_ingress.hpp |
 | Testing/CMakeLists.txt |
 | replayer/scene_data/compatibility_gateway.hpp |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | Testing/crane_motion_history_test.cpp |
 | replayer/scene_data/compact_proto_codec.hpp |
 | Testing/legacy_scene_importer_test.cpp |
 | Testing/hmi_collision_render_test.cpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | replayer/scene_data/live_compact_ingress.cpp |
 | data/vehicle/crane_info.hpp |
 | hmi/draw/draw_perception.cpp |
 | data/vehicle/crane_info.cpp |
 | replayer/replayer_data_process/replayer_data_process.cpp |
 | data/obstacle/obstacle.hpp |
 | Testing/crane_lane_policy_test.cpp |
 | replayer/scene_data/compact_scene_archive_codec.cpp |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | proto/obstacle_compact.proto |
 | replayer/scene_data/compact_snapshot_stream_decoder.hpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | tools/pnc_proto_mapper/sync_container_schema.py |
 | Testing/obstacle_detail_render_test.cpp |
 | plan/prepare/prepare_objs.hpp |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | data/obstacle/obstacle.cpp |
 | replayer/scene_data/compact_proto_codec.cpp |
 | replayer/scene_data/versioned_compact_decoder.hpp |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | Testing/live_compact_version_test.cpp |
 | source/ros_source_crane_info.cpp |
 | replayer/scene_data/generated/container_schema_inputs.json |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | proto/pnc_scene/compact_replay_input.proto |
 | plan/prepare/prepare_objs.cpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | data/constrain/block_data.cpp |
 | replayer/scene_data/compact_snapshot_stream_decoder.cpp |
 | replayer/replayer_data_process/replayer_data_extraction.cpp |
 | replayer/scene_data/compact_replay_session.cpp |
 | Testing/pnc_case_cli_test.cpp |
 | proto/obstacle.proto |
 | hmi/common/obstacle_details.hpp |
 | replayer/scene_data/versioned_compact_decoder.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | Testing/planframe_compat_test.cpp |
 | replayer/scene_data/obstacle_proto_codec.cpp |
Commit
bf94c08ac70847527cfcdc04a0b14b512ef9f38f
by wuyanjun110fix: 回放会话切换时立即清除旧缓存和历史
将 ingress 与上层固定帧、缓存及双路历史在同一会话边界清空。 新会话首个 anchor 解码失败时,后续有效帧不再继承旧会话状态。 增加在线和离线回归,验证旧帧不可访问及新帧使用空历史。
|
 | replayer/live_bridge/pnc_live_web_bridge.cpp |
 | Testing/live_web_bridge_test.cpp |
Commit
acdd8c703edcb79ea4298d75955ec6136962a1c0
by wuyanjun110chore: 增加 Compact 嵌套数值字段审计与编码规则
递归检查 Compact schema 数值叶子和 message 引用边,冻结存量待审清单。 新增字段或签名及可达范围变化必须显式审查,pending 不代表压缩验收完成。 接入 Taskfile 和编译门禁,补充 9 项回归测试。 统一字段级编码规则并将具体字段合同记录移入附录,精简操作手册。
验证:check-generated、check-proto-breaking 和审计单元测试通过。
|
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | AGENTS.md |
 | docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md |
 | replayer/scene_data/compact_numeric_leaf_contract.csv |
 | Taskfile.yml |
 | tools/pnc_proto_mapper/audit_compact_numeric_leaves.py |
 | tools/pnc_proto_mapper/test_compact_numeric_leaves.py |
 | CMakeLists.txt |
 | docs/pnc_algorithm_replay/compact_numeric_encoding_rules.md |
Commit
1fab5aecef20d30f12ddebb95fbd1e9c7187eade
by chenranfix: use readable timestamps for reversing WBCA snapshots
|
 | algorithm/wbca/path_optimization/reversing_truck_path_optimizer.cpp |
Commit
c6d2c62428b7b2ea1bc71e6aa0823969d3c3d450
by chenranfeat: display trajectory bounding boxes in WBCA debug viewer
|
 | tools/wbca_debug/static/index.html |
 | tools/wbca_debug/README.md |
 | tools/wbca_debug/static/app.js |
Commit
733d4b8c0569aa43a9bbd21c0b101dd70fe47452
by wuyanjun110feat: 按道路边界收窄 OGM 精细采样区域
使用历史道路断面及规划扩宽范围生成连续掩码,按当前车辆位姿投影, 加入保护带与栅格误差余量,减少直行时道路两侧高密度采样点。 边界缺失、异常、端部及未覆盖路径保留原 12 m 路径带回退。 覆盖判定在保护带膨胀前执行,避免道路外路径被误判为已覆盖。
补充直道、弯道、位姿、异常边界、局部回退及上下层密度回归测试。 分布式编译和 22 个相关测试通过;指定 bag 前 50 帧离线 A/B 复验通过。
|
 | Testing/keb_gate_filter_test.cpp |
 | plan/prepare/prepare_ogm.cpp |
 | plan/prepare/prepare_ogm.hpp |
Commit
73b677e2e6a24f75328c27f72182986bf1f803f1
by wuyanjun110feat: 增加 Compact 精确数值编码与 SSEP 几何压缩
以静态生成的字段路径保存精确 float32、XOR 和相对时间列,保留未知列、生产帧基准及转发元数据。SSEP 几何按当前车体坐标分块量化,验证世界坐标误差不超过 2.5 mm。
writer 升级为 encoding 7,reader 兼容 3 至 7;修复未知列重复解码递归及非法锚点污染 Live 上下文的问题。补齐字段合同、生成器门禁及 Recorded/Candidate 回归。
验证:统一生成及 breaking 检查通过,分布式构建通过;470 项常规测试通过,真实 bag 前 50 帧精度和顺序/随机回放通过。
|
 | Testing/compact_future_numeric_compat_test.cpp |
 | replayer/scene_data/compact_scene_archive_codec.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | docs/pnc_algorithm_replay/compact_exact_numeric_coverage.csv |
 | Testing/compact_exact_numeric_test.cpp |
 | tools/pnc_proto_mapper/test_exact_numeric_codegen.py |
 | docs/pnc_algorithm_replay/compact_exact_numeric_validation.md |
 | replayer/scene_data/compact_proto_codec.cpp |
 | Testing/live_compact_version_test.cpp |
 | replayer/scene_data/compact_ssep_ec_geometry_codec.hpp |
 | sink/ros_sink_snapshot_compact_scene.cpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | CMakeLists.txt |
 | replayer/scene_data/compact_exact_numeric_codec.cpp |
 | tools/pnc_proto_mapper/generate_exact_numeric_codec.py |
 | replayer/scene_data/generated/compact_exact_numeric_visitor.cpp |
 | Testing/scene_replay_foundation_test.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md |
 | replayer/scene_data/compact_numeric_leaf_contract.csv |
 | replayer/scene_data/compact_ssep_ec_geometry_codec.cpp |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/compatibility_gateway.hpp |
 | proto/pnc_scene/compact_exact_numeric.proto |
 | replayer/scene_data/compact_exact_numeric_codec.hpp |
 | replayer/scene_data/live_compact_ingress.cpp |
 | replayer/scene_data/compact_replay_session.cpp |
 | replayer/scene_data/generated/compact_exact_numeric_visitor.hpp |
 | replayer/scene_data/versioned_compact_decoder.cpp |
 | Testing/CMakeLists.txt |
 | Taskfile.yml |
 | docs/pnc_algorithm_replay/compact_numeric_encoding_rules.md |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | proto/CMakeLists.txt |
 | replayer/scene_data/compact_snapshot_stream_decoder.cpp |
 | replayer/scene_data/compact_proto_codec.hpp |
 | Testing/compact_ssep_ec_geometry_test.cpp |
 | proto/pnc_scene/compact_replay_input.proto |
 | proto/pnc_scene/compact_scene.proto |
Commit
45f4c073763271b91cd47c1f66031a03caf3d634
by wuyanjun110test: 完善 Boost 与 Compact 带宽对照
对同一原始载荷分别统计 zlib 和 Zstd level 3 大小,避免压缩器差异混入序列化比较;修正 Boost binary archive 标签,并在 Compact 基准中编码 Common 精确数值列。
增加统计不随计时迭代数变化的回归,记录最新 bag 前 50 帧的带宽组成、字段边际贡献和 SSEP 优化收益。相关测试及真实样本验证通过。
|
 | replayer/scene_data/encoding_benchmark.cpp |
 | tools/pnc_encoding_benchmark/main.cpp |
 | Testing/encoding_benchmark_test.cpp |
 | replayer/scene_data/encoding_benchmark.hpp |
 | docs/pnc_algorithm_replay/compact_bandwidth_boost_comparison_20261008.md |
 | docs/pnc_algorithm_replay/compact_bandwidth_member_details_20261008.md |
Commit
94aa9badce3aa7df9845d38bc381aa62bee4efd9
by wuyanjun110fix: 兼容 OTA 旧版 protobuf 的字段描述符
统一兼容读取 proto3_optional,旧版运行时从 wire 字段恢复标记,避免代码生成和审计检查崩溃并保留 optional 语义。
调整测试数据构造并覆盖旧版兼容分支;完整 check-generated 检查链及协议兼容检查通过。
|
 | tools/pnc_proto_mapper/generate_exact_numeric_codec.py |
 | tools/pnc_proto_mapper/test_exact_numeric_codegen.py |
 | tools/pnc_proto_mapper/descriptor_compat.py |
 | tools/pnc_proto_mapper/schema_lint.py |
 | tools/pnc_proto_mapper/audit_compact_numeric_leaves.py |
Commit
aa3bfa60570332cfb0c9bf6719906a51bd605c2b
by chenranfeat: configure reverse-pickup goal heading offsets
|
 | data/ssep/forward_ec.cpp |
 | data/config/cfg_ssep.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | replayer/scene_data/compact_numeric_policy.yaml |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | data/config/cfg_ssep.cpp |
 | replayer/scene_data/plan_frame_persistence_policy.yaml |
 | proto/config.proto |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | Testing/scene_replay_foundation_test.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | replayer/scene_data/compact_proto_codec.cpp |
 | proto/pnc_scene/compact_replay_input.proto |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | config/config_truck/config_truck_reverse/ssep.yaml |
Commit
3cd7db960d7c2210d84a027b4522156a4e5ca1c0
by chenranfix: apply goal heading offsets to multi-segment parking
|
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_workflow.md |
 | config/config_truck/config_truck_reverse/ssep.yaml |
 | data/ssep/forward_ec.cpp |
Commit
a01f5c2ccda9de3ea28485564a5e30811279d96b
by wuyanjun110fix: 修复无界面模式下桥吊标注的 Qt 字体崩溃风险
云端和本地界面统一复用 OpenCV 绘制虚拟桥吊标注,移除 QPainter 及其 GUI 字体依赖。使用 ASCII 标注显示障碍物 ID、绑定状态、动静状态和停止确认状态。
新增独立进程回归,覆盖无 application、QCoreApplication 和 QApplication 三种环境,以及虚拟岸桥、场桥、空集合和其他障碍物。三项 CTest 通过,pnc_node 分布式构建通过。
|
 | Testing/cloud_obstacle_label_test.cpp |
 | hmi/draw/draw_perception.cpp |
 | Testing/CMakeLists.txt |
Commit
0a71c2d4aecbb9034ed993a33df9bb11b5aa71ea
by chenranfix: restrict straightening triggers to final reversing segment
|
 | data/vehicle/deviation_status.cpp |
 | Testing/scene_replay_foundation_test.cpp |
Commit
2ae401026d8e4d92144f624531ffe6209dc328b1
by wuyanjun110fix: 过滤 BulkIn 固定终点重叠障碍物
根据现有场景、目标引导线和末端直线距离判断终点是否固定, 过滤与终点完整头挂车身重叠的静态对象,并关联过滤对应头挂。 关联仅扩展一层,保留可调整终点场景的对象,避免跨帧残留障碍标志。
增加 15 项回归测试,覆盖车身姿态、头挂关联及固定终点判断边界。 分布式编译和过滤回归测试通过。
|
 | Testing/CMakeLists.txt |
 | Testing/bulk_goal_obstacle_filter_test.cpp |
 | data/ssep/forward_ec.cpp |
Commit
6251c424ee411adf5b3af4a815f18b0df524d036
by wuyanjun110fix: 约束牵引车停车路径的端点控制曲率
对每个行驶方向段增加四点端点曲率残差,与控制路径首尾外推公式一致,避免三点曲率合规但导出控制曲率超限。 保留换向点共用及固定尾段边界约束,覆盖非均匀采样、正负曲率和自动微分回归。
验证:128 项运动学与曲率测试通过,现场失败帧及相邻场景回放通过。
|
 | ssep/keb_optimizer/keb_problem.cc |
 | ssep/test/tractor_trailer_kinematic_weight_test.cc |
 | ssep/keb_optimizer/cost_features/parking_geometric_curvature_constraint.h |
Commit
d48112ba60721d6e10f0df8d4e3353e25a6c50bb
by wuyanjun110fix: 稳定 GPU 搜索候选队列的优先级顺序
有界队列的读取、删除和淘汰统一遵循搜索器传入的比较器,同代价按节点生成顺序处理,避免哈希表遍历顺序改变搜索分支。 补充等代价排序、自定义比较器及单项与批量操作一致性测试。
验证:RTX 4060 上目标帧重复 10 次均为一前一倒,输出路径完全一致;队列回归通过。
|
 | ssep/test/bounded_priority_queue_test.cc |
 | ssep/coarse_search/bounded_priority_queue.h |
 | ssep/test/CMakeLists.txt |
Commit
7a597f7c839fda04da7c8b747b8350013e0cfb8b
by wuyanjun110fix: 优先完成停车单次换向搜索再回退多段调整
一次换向搜索在单侧队列耗尽后允许另一侧继续连接已访问节点;参考点附近搜索失败后先放宽换向位置,再启用多段调整。 保留方向、连接碰撞及整段验收,并补充超时与匹配拒绝分类日志。 覆盖三种队列、两种扩展策略和任一侧先耗尽的回归,以及参考位置放宽后仍只换向一次的场景。
|
 | ssep/test/bidirectional_candidate_validation_test.cc |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
 | ssep/test/ssep_planner_test.cc |
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
Commit
067d54ce4ae9e7baa511b58e0a94333a5c953b03
by wuyanjun110fix: 换向后优先接续有效倒车路径并保留调整回退
有效纯倒车历史先在当前环境下重新优化验收,失败后优先纯倒车搜索,再按配置允许前进调整;各尝试共享请求截止时间并保留参考引导线。 历史路径补验显式搜索与优化前方包络,保持完整运动学、端点、曲率和扫掠碰撞检查。 补充当前障碍变化、重复规划、禁止调整和截止时间回归。
|
 | ssep/ssep_planner.cc |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | ssep/test/parking_history_collision_test.cc |
 | ssep/scenarios/stitching_replanner.h |
 | ssep/test/CMakeLists.txt |
 | ssep/test/ssep_planner_test.cc |
Commit
6f24df7ce3639516a96dd06b98fd69e734a3f9a3
by wuyanjun110docs: 记录 GPU 测试服务器及验证约定
记录已授权的 GPU 测试入口、独立工作目录要求和 CPU/GPU 后端结果区分,凭据不进入仓库。
|
 | AGENTS.md |
Commit
35331d19db1606b201da8507d1bc1ea9dba5ce23
by wuyanjun110fix: 保留正向 DP 参考并约束历史边界融合
正向 PJPO 使用 DP 已选参考,避免通道变宽时被边界中点牵引横移;短缺或无效 DP 保留引导线及通道中点回退。 将历史边界投影到当前引导线法向后融合,只收紧当前边界,并跳过方向变化、无效或不相交历史。
验证:17 项路径参考及边界专项测试通过;249 帧现场记录输入的 CPU DP/PJPO 独立帧对照均求解成功。新增可选 bag 回归入口,结果不作为闭环验证。
|
 | Testing/CMakeLists.txt |
 | Testing/path_bounds_reference_test.cpp |
 | tasks/deciders/lat_decider/path_bounds_decider.hpp |
 | Testing/pjpo_bag_regression_test.cpp |
 | tasks/deciders/lat_decider/path_bounds_decider.cpp |
Commit
a384e9210a1979458ac5b374906e9f6aa7308cb9
by wuyanjun110fix: 剩余停车优先纯倒车并统一历史回退预算
无途经点的剩余停车依次尝试带引导纯倒车、普通纯倒车和允许前进调整的兜底,缺少历史时同样生效。构建、搜索与优化共享请求绝对截止时间。 历史重优化最多占三分之一预算;失败后按剩余预算重建阶段,避免搜索尚未开始就过期。保留显式禁止调整、OrderedVia 和碰撞验收语义。
验证:停车相关 114 项测试通过;六帧 GPU 版本回放成功,18:04:32 从三段变为一段倒车。剩余倒车分支实际采用 CPU 搜索。预算分配仍可能压缩复杂调整场景的搜索时间。
|
 | ssep/test/CMakeLists.txt |
 | ssep/scenarios/search_guide_fallback_planner.h |
 | ssep/test/parking_search_stages_test.cc |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/test/ssep_planner_test.cc |
 | ssep/scenarios/tractor_trailer_reverse_priority_parking_planner.h |
 | ssep/ssep_planner.cc |
Commit
e4d57b5c54ce7716fb347acefd0bffb296ec6440
by wuyanjun110fix: 在单次停车换向中择优主挂车姿态
以输入途经点主挂车朝向及换向附近曲率变化评价粗搜索候选,限定额外时间、迭代和候选数量;多次调整兜底仍沿用首解策略。 评分前排除几何换向无效或绕圈路径,超时保留已验证粗候选,停止条件满足后不再扩展当前批次;单树终点命中时清理旧双树连接。
验证:114 项停车测试通过,六帧 GPU 版本回放及独立碰撞、机械曲率检查通过。18:01:54 实际 GPU 换向夹角从约 14.6 度降至 2.4 度,保留一前一倒;11:32:46 保持原四次换向。未提高平滑权重或放宽物理验收。
|
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h |
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
 | ssep/test/ssep_planner_test.cc |
 | ssep/test/bidirectional_candidate_validation_test.cc |
Commit
dea1739cc22e2186ef4ed491af976e6193fed47a
by wuyanjun110feat: 为双向 Beam 搜索保留可恢复候选
增加可选备用队列,在活动队列耗尽或快速尝试期限到达时恢复未扩展候选。 恢复沿用原搜索图、已访问状态及总截止时间,默认 Beam 行为保持不变。 覆盖同格更新、终点优先、清理生命周期和不重复根扩展等回归测试。
|
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.h |
 | ssep/coarse_search/bidirectional_hybrid_astar_search_engine.cc |
 | ssep/coarse_search/bounded_priority_queue.h |
 | ssep/test/bounded_priority_queue_test.cc |
 | ssep/test/bidirectional_candidate_validation_test.cc |
Commit
00aa2bf3aa1f4c22e17dce1aa96c606508df2be0
by wuyanjun110fix: 优化停车引导匹配并约束换向搜索
在配置的换向区域内匹配引导入口,并校验最终任务换向位置。 仅过滤与本次匹配引导车身扫掠范围重叠的静态对象,过滤后要求阶段与引导一致。 按作业约定忽略静态行人;换向姿态采用相对参考的软排序,保留必要夹角。 GPU 简单搜索使用有预算上限的 Beam 候选恢复及完整队列兼容兜底。 引导与普通分支比较共享搜索、优化和验收截止时间,到期保留已有可行解。
验证:PNC 与 GPU 回放编译通过,56 项相关 C++ 测试通过。 当前配置 21 例通过 18 例,3 个既有问题保持记录;35 个原输入均有解且段数与坐标不变。
|
 | ssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc |
 | ssep/common/utils/search_guide_body_sweep.h |
 | ssep/coarse_search/evaluator/trailer_search_guide.cc |
 | ssep/test/trailer_search_guide_test.cc |
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
 | data/ssep/forward_ec.cpp |
 | ssep/coarse_search/evaluator/trailer_search_guide.h |
 | ssep/scenarios/parking_reference_region.h |
 | ssep/scenarios/scenario_planner_factory.h |
 | ssep/scenarios/search_guide_fallback_planner.h |
 | ssep/test/ssep_planner_test.cc |
Commit
c5759f0ea4257941b03b86f319ec01f04396fc49
by wuyanjun110test: 固化停车场景回归并完善远端超时清理
新增 CPU、GPU 和当前 15 米配置清单,原始输入引用指定 NAS 回归目录。 显式记录配置覆盖及输入哈希,校验实际搜索后端、新策略日志和终点航向。 远端回放使用独立进程组与截止时间,覆盖传输超时、取消及子孙进程清理。 本地执行器有界清理进程组,避免继承输出管道导致超时后永久等待。 记录场景质量、已知失败及归档路径,不放宽原有验收条件。
验证:Python 运行 129 项测试,1 项因缺少本地数据跳过,其余通过。 21 例当前配置与35例原始输入均完成 GPU 服务器对照,实际后端分别记录。
|
 | ssep/test/local_regression/test_remote_replay_cli.py |
 | ssep/test/local_regression/remote_replay_cli.py |
 | ssep/test/local_regression/tt_recent_parking_cusp_gpu_quality.json |
 | ssep/test/local_regression/tt_recent_parking_cpu_manifest.tsv |
 | ssep/test/local_regression/tt_recent_parking_cusp_cpu_quality.json |
 | ssep/test/local_regression/run_ssep_regression.py |
 | ssep/test/local_regression/tt_recent_parking_cases.json |
 | ssep/test/local_regression/tt_recent_parking_gpu_manifest.tsv |
 | ssep/test/local_regression/tt_recent_parking_quality.py |
 | ssep/test/local_regression/test_recent_regression_backend.py |
 | ssep/test/local_regression/test_tt_parking_regression.py |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/test_configured_regression.py |
 | ssep/test/local_regression/tt_guide_filtered_gpu_manifest.tsv |
 | ssep/test/local_regression/tt_recent_parking_two_segments_quality.json |
 | ssep/test/local_regression/tt_recent_parking_pure_reverse_quality.json |
 | ssep/test/local_regression/test_tt_recent_parking_quality.py |
 | ssep/test/local_regression/tt_current_15m_input_overlay.json |
 | ssep/test/local_regression/tt_recent_parking_adjustment_quality.json |
 | ssep/test/local_regression/tt_recent_parking_configured_gpu_manifest.tsv |
Commit
f399a832e9fdcc31eda810061591a7a15d85f385
by wuyanjun110fix: 补充停车兼容搜索的起点半曲率采样
在引导匹配且限制换向范围的 GPU 完整队列重试中,将起点前进曲率从三档补充为五档,改善离散采样对初始航向的敏感性。搜索结束后清除临时采样器,保持后续扩展、碰撞验收和总搜索预算。
22:23:50 场景在当前 15 米配置下由五段降为一前一倒,换向夹角约 1.26 度。24 例配置回归无新增失败,保留三例既有失败;相关 C++ 和 Python 测试及 PNC、GPU 回放编译通过。
|
 | ssep/scenarios/tractor_trailer_multi_segment_parking_planner.h |
Commit
e63f42ff881e1ab34895c79561c80c52fbd814be
by wuyanjun110test: 固化津西夜间停车场景及起点采样回归
新增 22:50:56、22:51:50 和 22:23:50 的原始文件来源及哈希,固定当前配置套件的两段、单段倒车和连续单换向验收要求。原始数据引用持久 NAS 目录。
配置套件扩为 24 例,21 例质量通过、23 例搜索成功,三例既有失败保留。文档记录路径净空变化、GPU 实际执行后端及结果归档位置,并明确异常例的原始参数不属于已修复验收范围。
|
 | ssep/test/local_regression/tt_recent_parking_cases.json |
 | ssep/test/local_regression/README.md |
 | ssep/test/local_regression/test_configured_regression.py |
 | ssep/test/local_regression/tt_recent_parking_configured_gpu_manifest.tsv |
 | ssep/test/local_regression/tt_recent_parking_gpu_manifest.tsv |
Commit
34e4130ef1a4f64b5b09047a3504b1123540b0a3
by wuyanjun110feat: 增加 SSEP 全天场景巡检与多条件筛选界面
在可视化服务中增加目录巡检入口,按实际场景类型分类,支持多类别、状态、时间、换向次数、夹角及关键词组合筛选。逐例保留失败证据、未知状态与覆盖范围,复用嵌入模式查看完整路径。
支持导出所选原始场景及来源清单,供本地 skill 深入分析;车端仅执行只读初筛。增加独立端口启动选项、缺失输入和异常文件保护,以及接口、筛选、分析包和嵌入模式测试。
验证:275 个现场场景完成初筛;可视化程序编译通过,13 项相关测试及真实浏览器筛选与路径展示检查通过。
|
 | ssep/offboard/servers/scene_audit_html.h |
 | ssep/offboard/servers/scene_audit.h |
 | ssep/offboard/servers/scene_vis_html_template.cc |
 | ssep/test/local_regression/test_scene_audit_ui.py |
 | ssep/test/local_regression/test_scene_audit.py |
 | ssep/offboard/servers/scene_vis_server.cc |
 | ssep/test/local_regression/README.md |
Commit
f08a4edd489ccc91c4ad2797d5d25a2ad8bca142
by wuyanjun110fix: 修复障碍物与凸包切换导致的绕行占用中断
复用静止证据缓存,在 obj、TYPE_CLUSTER 和感知 ID 切换时保留当前观测与固定历史区域的交集。 支持拆框、合框的多片占用续期,DP 与 KEB 分片消费;严格的一对一策略恢复和未初始化限制保持独立。 复用凸包 tracker 的运动确认迟滞,并处理量化后的微小凹角;运动冲突同时禁止旧缓存续期和新缓存重建。 补充真实现场几何、运动撤销、缓存生命周期及 DP/KEB 回归,同步缓存合同说明与生成审计指纹。
验证:211 项决策、走廊和 KEB 测试通过,生成文件与 Proto 兼容性检查通过。
|
 | data/boundary/driving_corridor.cpp |
 | data/obstacle/decision/obstacle_decision_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/obstacle/decision/obstacle_decision.hpp |
 | data/obstacle/decision/obstacle_decision.cpp |
 | tasks/plan/keb_utils.cpp |
 | data/boundary/driving_corridor_test.cpp |
 | docs/pnc_algorithm_replay/plan_frame_field_contract_notes.md |
Commit
4b77e7e1763020ab188ac2d24fe674b3fc0d8bbd
by wuyanjun110test: 增加静止占用跨帧续接的场景回归
顺序重算时从历史推进障碍物决策和 runtime cluster tracker,避免每帧录制缓存掩盖续接问题。 增加帧范围选择、指定静止锚点逐帧续期断言,以及缓存、运动证据和占用片诊断输出。 使用现场 bag 与精确津西地图验证问题区间 246 帧,锚点持续续期且无占用中断。 该入口保留其他录制规划输入,用于局部决策和边界回归,不作为完整闭环验证。
|
 | Testing/compact_driving_corridor_restore_test.cpp |
Commit
7a56b34c30768cc83b9987c83da571d0d30351c4
by wuyanjun110fix: 修复静止绕行证据匹配中的非凸轮廓崩溃
统一校验 cluster 观测与跟踪轮廓,在计算 IoU 前重建非凸轮廓的凸包, 并检查凸性、有限坐标和有效面积,避免 ComputeOverlap 断言退出。 无效轮廓跳过静止证据匹配并限频记录,保留成熟度、IoU 阈值及唯一匹配约束。
补充观测、跟踪及双方非凸,以及空轮廓、零面积、NaN、Inf 回归。 验证:29 项静止绕行证据测试通过;津西 AT001 复现 bag 修复前触发同一断言, 修复后全部 610 帧 CPU 障碍物决策重算通过;pnc_node 构建通过。
|
 | data/obstacle/decision/obstacle_decision.cpp |
 | data/obstacle/decision/obstacle_decision_test.cpp |
Commit
b497f7f479b7d1322a192cb791e6ad9bf6371dd5
by wuyanjun110fix: 修复侧避栅格越界导致的走廊末端假收缩
按完整走廊扫描范围和道路墙扩展独立侧避栅格,并重画原始占用; 修正默认栅格宽度计算,避免转弯后走廊超出原感知范围。 距离与来源查询统一检查覆盖范围,图外返回 0/NONE,停止重复读取边缘道路墙。 扩容前检查像素索引及面积,异常几何清空当前图,避免溢出及旧图残留。
补充四向扩容、原图外真实点云/实体占用、异常几何和查询边界回归; 同步 OGM 头文件注释对应的生成审计指纹,不改变序列化字段。
验证:68 槽位 Icecream 集群编译通过;216 项走廊测试和 19 项 OGM/恢复测试通过。 AT001 2026-10-11 场景 960 帧 CPU 走廊/DP 回放通过;截图帧末端 27 个断面 假分隔消失,s=116~125 m 的真实障碍约束保持一致。
|
 | data/boundary/driving_corridor_test.cpp |
 | data/obstacle/ogm.hpp |
 | replayer/scene_data/generated/container_schema_inputs.json |
 | replayer/scene_data/generated/state_schema_inputs.json |
 | Testing/ogm_distance_equivalence_test.cpp |
 | data/obstacle/ogm.cpp |
 | data/boundary/driving_corridor.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
Commit
42db84b5c336772d0bbac5ebc3178d1c6587182d
by wuyanjun110fix: 防止前向搜索障碍过滤触发退化多边形崩溃
前向搜索直接过滤聚类障碍,避免使用其可能退化的包围盒。对其余候选静态障碍在重叠过滤前统一校验尺寸、有限坐标和实际面积;无效时记录限频诊断并拒绝本轮环境构建,避免断言退出或误删实体障碍。
补充聚类过滤、零尺寸、非有限坐标、面积阈值、大坐标退化及失败恢复回归。项目分布式构建通过,BulkGoalObstacleFilterTest 的 22 项测试全部通过。
|
 | data/ssep/forward_ec.cpp |
 | Testing/bulk_goal_obstacle_filter_test.cpp |
Commit
702c7f224ec69a8214a30645c1874c33f1bff59e
by wuyanjun110fix: 修正倒车对象停车线位置偏移
在 CreateStGraphConstrain 中按路径方向选择车头或车尾偏移, 修正倒车对象停车线仍使用车头偏移导致的位置错误。 沿用已有匹配点计算与 HMI 绘制流程,保留负停车余量和路径边界检查。
验证:pnc_node、pnc_replayer 分布式编译通过; obstacle_stop_constraint_stabilizer_test 回归通过。
|
 | tasks/deciders/long_decider/constrain_decider.cpp |
Commit
61c6c6cc095a165dc8ac730fb4338b2fd6238a64
by wuyanjun110feat: 云端短轨迹平滑补接引导线
保持代码默认长度为 64 米,按配置目标长度延伸不足的云端轨迹。 使用五次曲线衔接位置、切向和曲率,按几何弧长插值,支持倒车并保留停车限长。 修正挂车配对点插值并续算延长段航向;当前位置兜底、无效数据和生成失败不保留补接结果。 回退时清空历史车道与长度信息,刷新配置头文件对应的序列化审计摘要。
验证:19 项轨迹生成回归通过;使用 Icecream 三节点、68 槽编译。
|
 | data/plan/cloud_trajectory.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/config/cfg_env_const.hpp |
 | Testing/CMakeLists.txt |
 | Testing/cloud_trajectory_test.cpp |
Commit
5f32e34a4aff5812353716ac70ae4e18fde3571a
by wuyanjun110feat: 上报 SSEP 搜索起终点的云端轨迹下标
使用 reserved_uint8s[0/1] 保存当前搜索起终点在主云端轨迹中的下标。 255 表示无效,254 表示已驶过、超出展示范围或超过可编码下标范围。 按实际发布坐标匹配,结合 ego 位置与完整引导线处理历史保留点、倒车及 U 形弯道越界。 保护 float32 边界、无效消息和主备轨迹分隔,并清除失效搜索留下的旧下标。
验证:14 项下标编码回归通过;完整 33 项专项回归通过。
|
 | Testing/CMakeLists.txt |
 | sink/ros_sink_cloud_trajectory.cpp |
 | Testing/cloud_search_indices_test.cpp |
 | sink/ros_sink_cloud_trajectory.hpp |
Commit
810084baed68775234dd2852410f72b7bab54596
by wuyanjun110fix: 清理中值滤波器重置时遗留的删除记录
重置 DualHeap 时同步清空 delayed_,避免历史删除标记误删新窗口样本,造成滤波结果错误及空堆访问风险。
新增独立回归测试,覆盖重置后重复样本、跨帧复制、反复重置恢复及不同窗口的连续输入,并逐帧对照排序窗口中值。原实现对照用例失败,修复后 4 项测试通过,pnc_node 分布式构建通过。
|
 | Testing/CMakeLists.txt |
 | math/filter/median_filter.hpp |
 | Testing/median_filter_test.cpp |
Commit
c3109a22f4f6b3aac46840c71d0580f26e76614d
by wuyanjun110fix: 排除 KEB 的 cut-in 障碍物实体框
KEB 障碍物准入复用普通走廊筛选,移除 cut-in 对象的特殊准入,避免切入让速场景施加横向实体框约束。
更新注释及头文件审计指纹,补充历史绕行承诺、成熟度旁路和退出 cut-in 后恢复准入的回归断言。分布式编译通过,43 项相关回归测试通过。
|
 | data/obstacle/decision/obstacle_decision_test.cpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | tasks/plan/keb_utils.cpp |
 | data/obstacle/decision/obstacle_decision.cpp |
 | data/obstacle/decision/obstacle_decision.hpp |
Commit
b064d692a1b500df5f561fa141a12cb76cb90e2f
by chenranMigrate remaining Boost serialization to typed Protobuf
|
 | data/map/reference/reference_road_section.cpp |
 | data/app/cmd/cmd_reduce_safe_distance.hpp |
 | ssep/common/math/vec2d.h |
 | data/app/cmd/cmd_fsm/cmd_fsm.hpp |
 | core/hmi_sync.cpp |
 | tools/pnc_proto_mapper/proto_only_lint.py |
 | Testing/ssep_scenario_config_lifecycle_test.cpp |
 | CMakeLists.txt |
 | ssep/offboard/ssep_input_provider.cc |
 | ssep/offboard/generate_scene_data/CMakeLists.txt |
 | math/curve1d/quintic_polynomial_curve1d.hpp |
 | data/other/flow_control.hpp |
 | data/app/cmd/cmd_pover.hpp |
 | tools/pnc_proto_mapper/schema_lint.py |
 | common/util/error_code_data.hpp |
 | data/ssep/open_space_ec.hpp |
 | replayer/scene_data/generated/plan_frame_member_inputs.json |
 | data/snapshot_data.hpp |
 | math/curve2d/curve2d.hpp |
 | data/lattice/stop_planning_context.hpp |
 | data/app/cmd/cmd_estop.hpp |
 | data/plan/ssep_data.hpp |
 | data/plan/start_point_data.hpp |
 | math/curve1d/curve1d.hpp |
 | data/app/cmd/cmd_unlock.hpp |
 | Testing/legacy_scene_importer_test.cpp |
 | data/ssep/normal_junction_ec.hpp |
 | data/common/path.cpp |
 | data/ssep/trailer_parking_safety.hpp |
 | data/vehicle/cloud_lane_change_status.hpp |
 | data/config/cfg_hdmap.hpp |
 | replayer/scene_data/generated/config_schema_inputs.json |
 | math/util/box_2d.cpp |
 | replayer/scene_data/config_proto_codec.cpp |
 | data/ssep/offline_region_contour_loader.cpp |
 | data/ssep/ssep_ec.cpp |
 | ssep/offboard/main_test/main_test_park.cc |
 | io/serialization.hpp |
 | data/map/pnc_map/pnc_map.hpp |
 | tools/pnc_proto_mapper/audit_boost_nested_serialization.py |
 | docs/pnc_algorithm_replay/plan_frame_persistence_catalog.md |
 | ssep/data_structures/ssep_recursion_og.hpp |
 | replayer/scene_data/generated/plan_frame_field_roles.json |
 | data/config/cfg_static.hpp |
 | data/wbca/grid_map/esdf_map.hpp |
 | data/app/app_data.hpp |
 | data/app/cmd/cmd_force.hpp |
 | data/app/cmd/cmd_traffic_light.hpp |
 | data/common/sl_boundary.hpp |
 | data/app/cmd/cmd_cancel_safe.hpp |
 | replayer/sdk/planframe_compat.cpp |
 | math/curve1d/cubic_polynomial_curve1d.hpp |
 | data/app/cmd/cmd_set_target.hpp |
 | data/map/envelop/map_envelop.hpp |
 | data/obstacle/obstacle.cpp |
 | data/plan/path_data.hpp |
 | math/util/discrete_match_helper.hpp |
 | data/map/reference/bends_decider/bend_attr.hpp |
 | ssep/data_structures/type_definition.h |
 | data/ssep/ex_lane_change_ec.hpp |
 | replayer/scene_data/platoon_proto_codec.hpp |
 | data/vehicle/localization_estimate.hpp |
 | Testing/ssep_path_corridor_test.cpp |
 | common/util/switch_value_steady.hpp |
 | proto/offline_capture.proto |
 | replayer/replayer_data_process/load_snap_data.cpp |
 | data/config/cfg_env_const.hpp |
 | ssep/data_structures/ssep_output.hpp |
 | data/constrain/block_data.hpp |
 | math/piecewise_jerk/constant_jerk_traj.hpp |
 | data/app/cmd/cmd_lock.hpp |
 | data/constrain/disable_stop_range.hpp |
 | data/vehicle/vehicle_chassis.hpp |
 | data/vehicle/yard_occupy_info.hpp |
 | data/lattice/ogm_crash_data.cpp |
 | data/plan/guide_line_base.hpp |
 | data/app/reaction/app_reaction.hpp |
 | replayer/scene_data/full_proto_custom_encoder.cpp |
 | data/vehicle/vehicle_config.hpp |
 | math/filter/mean_filter.hpp |
 | Testing/fixtures/wbca_segment_short_seam_failure.csv |
 | data/constrain/longitude_constrain.hpp |
 | tools/pnc_proto_mapper/sync_config_schema.py |
 | data/obstacle/obstacle.hpp |
 | data/plan/cloud_trajectory.hpp |
 | data/vehicle/vehicle_status.hpp |
 | data/plan_frame.cpp |
 | io/persistence.hpp |
 | ssep/offboard/tools/executable/inference_ml_trajectory_cli.cc |
 | tools/pnc_proto_mapper/test_proto_only_lint.py |
 | replayer/scene_data/remaining_plan_proto_codec.cpp |
 | data/plan/ssep_data.cpp |
 | common/time/time.hpp |
 | data/config/cfg_system.hpp |
 | data/map/reference/reference_segment.hpp |
 | Testing/load_snap_data_compat_test.cpp |
 | data/common/point.cpp |
 | proto/pnc_scene/compact_plan_frame_fields.proto |
 | ssep/offboard/servers/CMakeLists.txt |
 | data/app/cmd/cmd_fsm/ifsm.hpp |
 | common/time/duration.hpp |
 | Testing/fixtures/wbca_segment_tail_timing_failure.csv |
 | data/ssep/trailer_parking_safety.cpp |
 | ssep/offboard/tools/executable/main_obstacle_publisher.cc |
 | data/decide/error_info.hpp |
 | replayer/scene_data/generated/plan_frame_encoder.cpp |
 | data/map/pnc_map/pnc_map_path.hpp |
 | math/piecewise_jerk/piecewise_jerk_traj.hpp |
 | data/vehicle/request_routing_data.cpp |
 | data/common/path_point.hpp |
 | data/vehicle/cloud_pnc_config.cpp |
 | math/util/vec_2d.cpp |
 | data/config/cfg_func_sw.cpp |
 | math/curve2d/icurve.hpp |
 | Testing/proto_persistence_test.cpp |
 | data/plan/guide_line.hpp |
 | data/ssep/ssep_ec.hpp |
 | replayer/scene_data/full_custom_codec_exclusions.yaml |
 | data/obstacle/cluster_motion_tracker.cpp |
 | data/constrain/disable_stop_range.cpp |
 | data/plan/switch_data.cpp |
 | Testing/obstacle_stop_constraint_stabilizer_test.cpp |
 | data/app/cmd/cmd_fright.hpp |
 | tools/pnc_proto_mapper/audit_full_custom_codecs.py |
 | data/vehicle/lane_detection.hpp |
 | Testing/platoon_follow_target_builder_test.cpp |
 | data/plan/start_point_data.cpp |
 | math/smoothing/qp_spline_interface.h |
 | sink/ros_sink_snapshot.cpp |
 | data/obstacle/prediction_trajectory.hpp |
 | data/common/sl_point.hpp |
 | proto/plan_data.proto |
 | data/ssep/out_yard_junction_ec.hpp |
 | ssep/offboard/generate_path_repository/CMakeLists.txt |
 | replayer/scene_data/plan_frame_field_roles.csv |
 | data/map/pnc_map/pnc_map_path.cpp |
 | math/curve2d/arc_curve2d.hpp |
 | data/plan/path_direction_data.hpp |
 | ssep/offboard/main_test/main_test_qhd.cc |
 | ssep/offboard/main_test/main_ssep_test.cc |
 | ssep/offboard/main_test/main_ssep.cc |
 | math/curve1d/quintic_polynomial_curve1d_rt.hpp |
 | data/vehicle/related_motion_tf.hpp |
 | replayer/scene_data/generated/plan_frame_descriptor.pb |
 | data/vehicle/vehicle_command.hpp |
 | data/app/cmd/cmd_right.hpp |
 | data/common/guide_path.hpp |
 | math/util/box_2d.hpp |
 | data/wbca/grid_map/grid_map.hpp |
 | ssep/coarse_search/evaluator/shortest_path_heur_table.h |
 | Testing/encoding_benchmark_test.cpp |
 | data/vehicle/vehicle_state.hpp |
 | replayer/scene_data/generated/container_schema_inputs.json |
 | data/config/cfg_func_sw.hpp |
 | data/app/cmd/cmd_nstop.hpp |
 | data/ctrl/ctrl_data.cpp |
 | data/vehicle/traffic_light_data.hpp |
 | data/app/fsm_interface.hpp |
 | data/vehicle/vehicle_destination.hpp |
 | data/ssep/reverse_ec.hpp |
 | data/app/cmd/cmd_remote.hpp |
 | scenarios/scenario_interface.hpp |
 | data/config/cfg_decision.hpp |
 | data/app/cmd/cmd_fleft.hpp |
 | replayer/scene_data/plan_frame_full_mapping.yaml |
 | data/app/cmd/cmd_remote_ctrl.hpp |
 | data/app/cmd/cmd_bend_left.hpp |
 | replayer/scene_data/plan_frame_persistence_policy.yaml |
 | replayer/scene_importer/legacy_boost_plan_frame_decoder.cpp |
 | data/map/reference/reference_road_section.hpp |
 | replayer/scene_data/generated/compact_typed_field_codec.cpp |
 | data/plan/smooth_data.hpp |
 | replayer/scene_data/encoding_benchmark.hpp |
 | data/ssep/bridge_junction_ec.hpp |
 | data/obstacle/reverse_lane_approach.hpp |
 | sink/ros_sink_snapshot.hpp |
 | ssep/data_structures/ssep_input.hpp |
 | math/filter/median_filter.hpp |
 | data/vehicle/deviation_status.hpp |
 | data/map/routing/destination.hpp |
 | data/vehicle/trailer_state.cpp |
 | ssep/offboard/main_test/main_test_zhoushan.cc |
 | data/app/cmd/cmd_align.hpp |
 | Testing/planframe_compat_test.cpp |
 | math/util/frenet_point.hpp |
 | data/config/cfg_long_plan.hpp |
 | data/app/cmd/cmd_update_config.hpp |
 | data/map/reference/bends_decider/bends_decider.hpp |
 | data/map/routing/routing_response.cpp |
 | Testing/platoon_safety_test.cpp |
 | Testing/fixtures/wbca_platoon_low_speed_failure.csv |
 | data/common/point.hpp |
 | data/plan/center_line_info.hpp |
 | data/plan/reference_line_info.cpp |
 | data/semantic/semantic_description.hpp |
 | Testing/scene_replay_foundation_test.cpp |
 | data/common/trajectory.hpp |
 | data/map/reference/center_line.hpp |
 | data/constrain/longitude_constrain.cpp |
 | data/decide/decide_reaction.hpp |
 | data/map/reference/reference_segment.cpp |
 | data/app/cmd/cmd_base.hpp |
 | data/config/cfg_dynamic.hpp |
 | math/curve1d/quartic_polynomial_curve1d.hpp |
 | data/lattice/lattice_debug_data.hpp |
 | data/config/cfg_safe_const.hpp |
 | data/vehicle/related_offset.cpp |
 | data/constrain/block_data.cpp |
 | data/constrain/pnc_junction.hpp |
 | data/ssep/ssep_activation.cpp |
 | data/obstacle/block.hpp |
 | ssep/offboard/main_test/main_ssep_input.cc |
 | data/ctrl/lka_start_up.hpp |
 | data/map/routing/routing_response.h |
 | data/semantic/semantic_description.cpp |
 | Testing/proto_roundtrip.hpp |
 | data/config/cfg_lat_decide.hpp |
 | data/lattice/lattice_trajectory1d.hpp |
 | math/util/vec_2d.hpp |
 | ssep/param_loader/param.h |
 | data/map/pnc_map/routing_extension/routing_data.hpp |
 | data/vehicle/crane_info.cpp |
 | data/vehicle/veh_his_states.hpp |
 | data/lattice/ogm_crash_data.hpp |
 | source/ros_source_replayer_snapshot.cpp |
 | core/snapshot_async.cpp |
 | math/smoothing/fem_pos_deviation_interface.h |
 | data/vehicle/station_manager.hpp |
 | replayer/scene_data/generated/compact_scene_descriptor.pb |
 | replayer/scene_data/generated/scene_replay_api_descriptor.pb |
 | Testing/fixtures/wbca_truck_collision_gradient_7.csv |
 | data/plan/side_pass_data.hpp |
 | io/proto_io.hpp |
 | ssep/protos/snapshot.proto |
 | replayer/scene_data/generated/full_custom_codec_coverage_audit.yaml |
 | data/app/cmd/cmd_startup.hpp |
 | data/platoon/platoon_info.hpp |
 | data/app/cmd/cmd_dead_lock_force_park.hpp |
 | replayer/scene_data/platoon_proto_codec.cpp |
 | data/map/pnc_map/routing_extension/routing_data.cpp |
 | data/wbca/wbca_data.hpp |
 | data/plan/reference_line_info.hpp |
 | data/vehicle/spreader_protect.hpp |
 | data/app/cmd/cmd_bend_cloud_decider.hpp |
 | data/app/cmd/cmd_fsm/fsm_base.hpp |
 | data/ssep/field_region_contour.h |
 | data/obstacle/perception_obstacle.cpp |
 | proto/config.proto |
 | data/config/cfg_platoon.hpp |
 | data/plan/guide_line_info.hpp |
 | data/plan/keb_visualize_data.hpp |
 | data/plan/switch_data.hpp |
 | proto/scenario.proto |
 | data/vehicle/parallel_driving_state.hpp |
 | Testing/jerk_limited_stop_test.cpp |
 | data/map/routing/birdge_position_ack.hpp |
 | data/semantic/semantic.hpp |
 | data/common/path.hpp |
 | data/vehicle/crane_info.hpp |
 | data/obstacle/ogm.cpp |
 | data/ssep/into_yard_junction_ec.hpp |
 | proto/CMakeLists.txt |
 | proto/platoon.proto |
 | data/app/fsm/stop_reason.hpp |
 | data/common/trajectory.cpp |
 | data/obstacle/block.cpp |
 | data/plan/predict_path.cpp |
 | data/boundary/path_boundary.hpp |
 | replayer/scene_data/generated/full_custom_cpp_member_inputs.json |
 | data/map/pnc_map/road_segments.h |
 | data/common/trajectory_point.hpp |
 | data/map/reference/reference_line.hpp |
 | data/vehicle/container_compensate_info.hpp |
 | algorithm/wbca/wbca_failure_csv.cpp |
 | data/plan/predict_path.hpp |
 | data/ssep/ssep_common.hpp |
 | docs/compact_proto_boost_removal.md |
 | math/curve1d/polynomial_curve1d.hpp |
 | proto/pnc_scene/full_plan_frame.proto |
 | ssep/test/trailer_heuristic_table_test.cc |
 | docs/platoon/wbca_failure_replay.md |
 | Testing/platoon_failure_csv_test.cpp |
 | data/plan/side_pass_data.cpp |
 | data/vehicle/veh_his_states.cpp |
 | ssep/data_structures/ssep_recursion_obstacle.hpp |
 | data/ssep/forward_ec.hpp |
 | replayer/scene_data/generated/trajectory_schema_inputs.json |
 | math/curve1d/quartic_bezier_curve1d.hpp |
 | ssep/CMakeLists.txt |
 | data/map/reference/bends_decider/bend_decider.hpp |
 | replayer/scene_data/compact_custom_field_proto_codec.cpp |
 | Testing/wbca_leader_history_test.cpp |
 | tools/pnc_proto_mapper/draft_persistence_policy.py |
 | data/app/cmd/cmd_left.hpp |
 | data/vehicle/lock_station_data.hpp |
 | data/wbca/wbca_data.cpp |
 | data/plan/guide_line_info.cpp |
 | data/app/reaction/app_reaction.cpp |
 | data/ctrl/ctrl_data.hpp |
 | data/obstacle/ogm.hpp |
 | data/vehicle/lock_station_pts.hpp |
 | data/vehicle/priori_bay_info.cpp |
 | data/plan_frame.hpp |
 | data/app/cmd/cmd_cancel_expand.hpp |
 | data/app/cmd/cmd_cancel_lock.hpp |
 | offboard/bag_to_keb_scene/bag_reader.cc |
 | math/util/polygon_2d.hpp |
 | tools/pnc_proto_mapper/baseline/boost_v15_evidence.json |
 | data/ssep/seaside_junction_ec.hpp |
 | data/hmi_frame.hpp |
 | ssep/test/CMakeLists.txt |
 | Testing/wbca_failure_csv_test.cpp |
 | data/dp_poly_path/dp_road_graph.hpp |
 | data/vehicle/trailer_state.hpp |
 | replayer/scene_data/generated/state_schema_inputs.json |
 | Testing/fixtures/wbca_truck_collision_gradient_8.csv |
 | data/map/routing/flip_seaside_map.hpp |
 | io/geometry_proto_persistence.cpp |
 | data/app/cmd/cmd_reversing.hpp |
 | math/curve1d/linear_polynomial_curve1d.hpp |
 | data/app/cmd/cmd_dead_lock.hpp |
 | data/dp_poly_path/dp_road_graph.cpp |
 | data/vehicle/related_offset.hpp |
 | data/plan/path_data.cpp |
 | math/util/polygon_2d.cpp |
 | replayer/scene_data/config_proto_codec.hpp |
 | data/config/iconfig.hpp |
 | data/config/cfg_calib_ssep.hpp |
 | data/app/cmd/cmd_bend_right.hpp |
 | data/vehicle/priori_bay_info.hpp |
 | data/obstacle/obstacle_decider_attr.hpp |
 | data/semantic/state.hpp |
 | Testing/platoon_lane_change_test.cpp |
 | data/vehicle/cloud_pnc_config.hpp |
 | data/semantic/vehicle.hpp |
 | math/curve1d/quartic_polynomial_curve1d_rt.hpp |
 | data/config/cfg_lat_plan.hpp |
 | data/ssep/field_junction_ec.hpp |
 | data/vehicle/cmd_feedback_state.hpp |
 | tools/pnc_encoding_benchmark/main.cpp |
 | data/constrain/longitude_data.hpp |
 | data/obstacle/cluster_motion_tracker.hpp |
 | data/vehicle/request_routing_data.hpp |
 | replayer/scene_data/generated/boost_compact_persistence_diff.yaml |
 | ssep/data_structures/map_element_polyline.h |
 | data/map/envelop/map_envelops.hpp |
 | ssep/offboard/main_test/main_test_diagonal.cc |
 | io/snapshot_proto_persistence.cpp |
 | data/vehicle/trailer_posture.hpp |
 | data/app/cmd/cmd_replan.hpp |
 | data/vehicle/vehicle_pose.hpp |
 | data/constrain/constrain_data.hpp |
 | data/obstacle/perception_obstacle.hpp |
 | ssep/offboard/CMakeLists.txt |
 | io/basic_proto_persistence.cpp |
 | algorithm/plan/pjpo.hpp |
 | replayer/scene_data/generated/plan_frame_decoder.cpp |
 | data/constrain/temporary_stop_data.hpp |
 | replayer/scene_data/encoding_benchmark.cpp |
 | data/constrain/long_target.hpp |
 | ssep/offboard/scene_replay/CMakeLists.txt |
 | ssep/data_structures/type_definition.cc |
 | data/scenario/scenario_manager.hpp |
 | data/config/cfg_station.hpp |
 | ssep/data_structures/proto_persistence.cc |
 | data/object.hpp |
 | data/constrain/disable_stop_scope.hpp |
 | data/obstacle/decision/obstacle_decision_test.cpp |
 | ssep/offboard/path_drawing_tool/CMakeLists.txt |
 | ssep/offboard/sdk/ssep_activation_impl.cc |
Commit
fa72c4184c220ae79f323005536e4272929b3527
by chenranfix: preserve actual distances for longitudinal terminal targets
|
 | algorithm/lattice/long_target_calculator.cpp |
 | Testing/jerk_limited_stop_test.cpp |
Commit
d91ca0e6bdcd735a27a0491bd255d7cd33e5d7c8
by chenranfix: restore GCC compatibility with vehicle Abseil archives
|
 | CMakeLists.txt |