Changes

Summary

  1. Update orin-cleanup.jenkinsfile (details)
Commit 55370fabfc5c51dbb20cb75daa1bab20138fad5e by weilikang
Update orin-cleanup.jenkinsfile
The file was modifiedorin-cleanup.jenkinsfile

Summary

  1. feat: 添加ParallelObstacle和ParallelObstacleReport消息定义 (details)
  2. tos_msgs: PncConfiguration 新增堆场入口范围 access_lines 字段,添加 AccessLine 消息定义 (details)
  3. tos_msgs: AccessLine 字段 yard_id 重命名为 yard (details)
  4. feat:添加场桥和岸桥运动状态 (details)
  5. feat_out:增加雷达巡检消息 (details)
Commit cbe2305d5c6c686eaa127b2cc0d59df5b5bca47d by zhaojianfeng2
feat: 添加ParallelObstacle和ParallelObstacleReport消息定义

The file was addedguardian_msgs/msg/ParallelObstacle.msg
The file was modifiedguardian_msgs/CMakeLists.txt
The file was addedguardian_msgs/msg/ParallelObstacleReport.msg
Commit a6cc2eba4e6500eb50f7c134c69130ed5961609d by wuyanjun110
tos_msgs: PncConfiguration 新增堆场入口范围 access_lines 字段,添加 AccessLine 消息定义
The file was modifiedtos_msgs/CMakeLists.txt
The file was addedtos_msgs/msg/AccessLine.msg
The file was modifiedtos_msgs/msg/PncConfiguration.msg
Commit 2d6540ee99dacd1ead24c835cb63c9282bc40ec7 by wuyanjun110
tos_msgs: AccessLine 字段 yard_id 重命名为 yard
The file was modifiedtos_msgs/msg/AccessLine.msg
Commit 0a86996bd8e8ce67c530651964a740867ad58248 by wuyanjun110
feat:添加场桥和岸桥运动状态
The file was modifiedcloud_msgs/msg/CraneInfo.msg
Commit 45227b06b5264038899c3867327bc68c88a6c62e by zhaojianfeng2
feat_out:增加雷达巡检消息
The file was modifieddiagnose_msgs/CMakeLists.txt
The file was addeddiagnose_msgs/msg/InspectRequest.msg

Summary

  1. feat_out: adapt lidar (details)
Commit d659e45db47a03f71c2f6b080e60655734114506 by matao
feat_out: adapt lidar
The file was modifiednode/msf_localization_node.cpp
The file was modifiedsins/strapdown_imv.cpp
The file was modifiedsins/strapdown_truck.cpp

Summary

  1. fix: 支持 KEB 严格几何一致性验收 (details)
  2. fix: 提前构造动态上码头搜索起点 (details)
  3. fix: 按场景配置验收上码头车身净距 (details)
  4. feat: 支持末端直线清障并限定首末段豁免 (details)
  5. fix: 限定指定途经点的上码头提前策略 (details)
  6. fix: 保留直角上码头的路由终点搜索起点 (details)
Commit 9c86ba303cb7982edf31448c905ed9130e8ac3be by wuyanjun110
fix: 支持 KEB 严格几何一致性验收

增加可配置的连续运动学位置残差阈值和绝对误差豁免,保持默认行为。
严格场景支持无预热收尾优化,并向控制空间修正传递相同阈值。
允许释放固定段时显式保留终点约束,补充侧移、非法参数及固定段回归。

验证:65 项几何相关测试通过。
The file was modifiedssep/keb_optimizer/control_space_path_adapter.h
The file was modifiedssep/keb_optimizer/control_space_path_adapter.cc
The file was modifiedssep/keb_optimizer/tractor_trailer_keb_optimizer.h
The file was modifiedssep/keb_optimizer/tractor_trailer_keb_optimizer.cc
The file was modifiedssep/test/tractor_trailer_kinematic_weight_test.cc
Commit 0bdd9eb3d133ac600deb99ed6108b4fc79dfdcdd by wuyanjun110
fix: 提前构造动态上码头搜索起点

仅对存在有效同向邻居的码头连接提前至 70 m 进入及准备备用地图。
上码头起点提前 42 m,并在路口和停止线选择后保留提前量及前视下限。
强化 bag 回归基准、首次有效构造和最终起点断言,作用域恢复全局配置。

验证:33 项路由测试及 2 项 bag 测试通过;196 帧重建成功,
首次有效构造提前约 6.30 s,同帧起点提前 19.85 m。
The file was modifiedTesting/routing_transition_test.cpp
The file was modifiedTesting/out_yard_bag_regression_test.cpp
The file was modifieddata/map/pnc_map/routing_extension/routing_data.cpp
The file was modifieddata/ssep/open_space_ec.cpp
Commit 85176f4206daa062aed8ce6dbeb111fd91cd208b by wuyanjun110
fix: 按场景配置验收上码头车身净距

从场景 custom_params 读取 minimum_obstacle_clearance,贯穿起点守卫、
粗搜索、优化及完整车身扫掠验收,禁止未经相同约束的历史路径复用。
保留原起终点局部清障,框外仍检查净距,起点整车深陷继续拒绝。
严格场景释放固定首尾段并保留终点约束,避免绕过几何验收。
更新源成员审计摘要,未修改 Proto 字段合同。

验证:61 项配置、清障及规划器测试通过;现场 CPU 场景回放成功。
The file was modifiedssep/scenarios/tractor_trailer_general_planner.h
The file was modifieddata/ssep/open_space_ec.hpp
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifiedssep/ssep_planner.cc
The file was modifiedTesting/ssep_scenario_config_lifecycle_test.cpp
The file was modifieddata/ssep/ssep_ec.hpp
The file was modifiedssep/test/forward_precise_planner_test.cc
The file was modifieddata/ssep/open_space_ec.cpp
Commit e9ff87baa59edeefdef653f3a67f93fd8d7e2220 by wuyanjun110
feat: 支持末端直线清障并限定首末段豁免

新增 terminal_collision_ignore_distance,默认关闭并限制在末端拉直距离内。
统一生产与 PB 回放建图参数,裁剪终点直线区域实体来源,保留区外障碍和道路约束。
取消粗搜索按整个拉直长度无条件跳过碰撞的行为。

复用公共运动分段规则:起点清障仅首段有效,终点清障仅末段有效,
中间段和共享换向点恢复原始来源、派生线与膨胀占用并检查连续头挂扫掠。
同步优化碰撞约束,并在抽稀分段后合并完整输出再次验收。

验证:clang-format 21.1.8、diff 检查、分布式生产及回放编译通过;
91 项分段回归及 97 项共享调用方测试通过。
威海录制 CPU 回放默认配置碰撞拒绝,显式 3 米和 8 米各输出 84 点;未执行 GPU 验证。
The file was modifiedssep/maps/ogm_config_utils.cc
The file was modifieddocs/ssep_stop_collision_extension.md
The file was modifieddata/ssep/ssep_activation.cpp
The file was modifiedssep/test/parking_collision_provenance_test.cc
The file was modifiedssep/ssep_planner.cc
The file was modifiedssep/scenarios/tractor_trailer_parking_collision.h
The file was modifiedssep/ssep_planner.h
The file was modifiedssep/coarse_search/searcher_builders/tractor_trailer_multi_segment_parking_bidirectional_searcher_builder.cc
The file was modifiedssep/maps/ogm.h
The file was modifiedssep/test/scene_replay_obstacle_inputs_test.cc
The file was modifiedssep/offboard/ssep_planner_wrapper.cc
The file was modifiedssep/maps/ogm_builder.h
The file was modifiedssep/offboard/main_test/main_ssep_input.cc
The file was modifiedssep/maps/ogm_builder.cc
The file was modifiedssep/maps/ogm_config_utils.h
Commit bc4b7564ad07e4879569912a6bc0e204e849fec5 by wuyanjun110
fix: 限定指定途经点的上码头提前策略

仅对 UTM (308844.028240, 2181447.135336) 半径 1 米内的有效途经点启用提前。
场景进入和备用地图准备保留多车道码头条件,搜索起点明确限定 UP_SEASIDE。
其他途经点恢复原场景距离和起点选择,避免直角上码头等场景过早进入搜索。

补充位置范围、距离边界、上下码头及起点对照回归,并刷新头文件生成校验指纹。
验证:分布式编译、121 项回归测试和生成文件/Proto 兼容性检查通过。
The file was modifiedreplayer/scene_data/generated/full_custom_cpp_member_inputs.json
The file was modifieddata/ssep/open_space_ec.cpp
The file was modifieddata/map/pnc_map/routing_extension/routing_data.cpp
The file was modifieddata/ssep/ssep_util.hpp
The file was modifiedTesting/routing_transition_test.cpp
The file was modifieddata/ssep/ssep_util.cpp
Commit c6c7a9156f303e695a8188cfa01a5687b90b4012 by wuyanjun110
fix: 保留直角上码头的路由终点搜索起点

普通直角上码头成功投影当前路由段终点后,禁止后续场内停止线覆盖起点选择。
指定途经点的特殊提前逻辑及其他场景的停止线规则保持原行为。

新增真实参考线、路口和成对停止线回归,覆盖 YARD/STACKER 共 12 组选择条件。
验证:分布式编译及全部 122 项回归测试通过;新 bag 与日志确认录制使用停止线起点。
未执行该 bag 的完整闭环搜索回放。
The file was modifiedTesting/routing_transition_test.cpp
The file was modifieddata/ssep/open_space_ec.cpp

Summary

  1. fix: 自动恢复重建 V4L2 流泄漏 pinned 内存,恢复加次数上限 (details)
  2. fix: 相机流基类补虚析构,自动恢复用尽后改为退避重试 (details)
  3. fix: V4L2 流重建持续失败时照样计无图、报 211、触发恢复 (details)
  4. fix: senior_cam_recfg 复位期间不重建/不读 V4L2 流 (details)
  5. fix: 自动恢复/重建/重试路径整体收口(并发、卡死、交接、重复初始化) (details)
Commit e787ee2de53c1debfb7d70e0da1c7bfe7a124922 by lanxiaosong
fix: 自动恢复重建 V4L2 流泄漏 pinned 内存,恢复加次数上限

- V4l2Stream 缓冲是 cudaHostAlloc 分配的 USERPTR,释放时却按 mmap 方式 munmap+free,
  每次重建流(自动恢复)漏 4×4MB 锁页内存,进程 RSS 看不出来。改为 REQBUFS(0, USERPTR)
  后 cudaFreeHost;InitUserp 重入、中途失败、析构时也释放。本机复现:旧方式每次重建系统可用
  内存少 16.2MB,新方式 0。洋浦 VV067 10-19 左前 190 长期无图,恢复 1317 次把主机内存耗尽,
  预测卡顿报 631310。
- 自动恢复:自上次出帧以来最多 10 次,用尽后停止复位(211 照报),相机重新出帧 30 帧后清零;
  senior_cam_recfg 不存在或不可执行时不再触发恢复(以前每次 system 返回 32512 仍重建流)。
The file was modifiedsrc/camera/v4l2_stream.h
The file was modifiedsrc/camera/camera_driver_cuda.cpp
The file was modifiedsrc/camera/v4l2_stream.cpp
The file was modifiedsrc/camera/camera_driver_cuda.h
Commit c39a7865fe2059810968a2dbe3aad328f4bb67e8 by lanxiaosong
fix: 相机流基类补虚析构,自动恢复用尽后改为退避重试

接 e787ee2(REVIEW-00050 审查意见):
- IBaseCameraStream 没有虚析构,unique_ptr<IBaseCameraStream> 替换/释放时 ~V4l2Stream 不执行,
  V4L2 流重建失败(InitCapture 失败、is_init_success_=false)那条路径的 fd 和 pinned 缓冲仍会漏。
  补 virtual ~IBaseCameraStream();重建失败后歇 1s 再重试,避免无间隔反复开关设备。
- 恢复次数用尽后不再永久停止:改为每 600s 试一次(链路恢复后要 recfg 重新配置解串器才能出图),
  只打一次退避日志;相机出 30 帧后清零。
- senior_cam_recfg 不存在时只跳过本次(日志只打一次),补装后下次到阈值自动生效。
The file was modifiedsrc/camera/camera_driver_cuda.h
The file was modifiedsrc/interface/base_camera_stream.h
The file was modifiedsrc/camera/camera_driver_cuda.cpp
Commit 02a5ebf1bc7f7c080694b8ea58da40f6f5bf0c23 by lanxiaosong
fix: V4L2 流重建持续失败时照样计无图、报 211、触发恢复

接 c39a786(REVIEW-00051):重建失败分支以前直接 return,不计无图次数、不调 TryAutoRecovery,
recfg 后流起不来(STREAMON/QBUF 失败)时 211 不报、600s 退避重试也走不到,相机静默无图。
把读失败处理抽成 OnReadFail()(无图计数、满 50 停推流、满 150 报 211、无图计时、TryAutoRecovery),
ReadBuffer 返回空和重建失败共用。
The file was modifiedsrc/camera/camera_driver_cuda.h
The file was modifiedsrc/camera/camera_driver_cuda.cpp
Commit 3b396841f5ae1fe8ae6c4cedccf64540e3a29142 by lanxiaosong
fix: senior_cam_recfg 复位期间不重建/不读 V4L2 流

接 02a5ebf(REVIEW-00052):重建持续失败时触发的恢复,recfg 和 5s 等待期间采集线程仍每秒
open/S_FMT/STREAMON 一次设备,可能和 i2c 重配并发。恢复进行中且流待重建时,只计无图并歇 1s,
等恢复线程结束再重建一次。
The file was modifiedsrc/camera/camera_driver_cuda.cpp
Commit c785145a2f2bd9dd64f5f449f94670dde6707894 by lanxiaosong
fix: 自动恢复/重建/重试路径整体收口(并发、卡死、交接、重复初始化)

在 e787ee2~3b39684 基础上把「读失败→恢复→重建流」和「启动初始化失败→重试」两条路径整体梳理:
- 恢复进行中采集线程一律不读、不重建设备,只计无图;恢复线程先置重建再清 is_recovering_。
- senior_cam_recfg 加 timeout 30s,i2c 卡住不会让恢复永远不结束。
- 析构先等恢复线程(它捕获了 this)。
- 重新暂停推流/触发恢复时复位 rtsp_reopen_handed_off_,修相机反复断开后 RTSP 永不重开。
- 启动初始化失败的相机:Init 完整成功后才置 is_init_flag_(改原子量),之前采集线程不碰设备
  但照样计无图、可触发 recfg;Init 在恢复期间直接返回失败,开设备与触发复位用 device_mutex_ 互斥;
  ImageReader 只初始化一次,不再每秒重建 CUDA 资源。
- Init 不再同步 OpenWriter(NVENC 可能无限阻塞),writer 由推流线程首帧时打开,阻塞只影响推流。
- DQBUF 失败后歇 10ms,设备异常时不再空转刷日志。
- 重建流时清空指向旧缓冲的 current_image_buffer。
The file was modifiedsrc/camera/camera_driver_cuda.h
The file was modifiedsrc/camera/camera_driver_cuda.cpp
The file was modifiedsrc/camera/v4l2_stream.cpp