本文回顾 2026 年 7—8 月的项目,包含后续整理与补充。实验数字和验证范围按原始项目记录陈述;文末仓库路径为记录索引。

改一组 PID,上车跑一遍,再换一组。这样当然能试,但两次跑得不一样,到底是不是参数的功劳?

这就是我先做 V1-A 的原因。电机状态、地面摩擦、赛道几何、传感器角度、通信时间、相机观测,全都可能掺一脚。还没把这些拆开,就说某组参数更好,我自己也没法信。

于是先退回电脑里,把输入、探索性车辆模型和评估规则固定下来。先看同样的条件下,不同候选究竟会算出什么。

阶段 1:固定输入,连通控制与预测

当前离线路径可以概括为:

初始姿态 + 赛道地图 + PID 候选
        -> 控制器
        -> 车辆模型
        -> 虚拟传感器
        -> 下一时刻姿态
        -> 预测与候选评估

它包含几个不同职责的组件:

  • 控制器根据当前位置和线路观测生成动作;
  • 车辆模型根据动作推进位置和姿态;
  • 虚拟传感器把模型状态转换成类似传感器的观测;
  • 预测器运行一个完整的候选场景;
  • 候选评估器把结果转换成可以比较的记录。

同一组输入经过这些组件后,会留下动作、状态和评估记录。这样可以检查参数是否真的影响了预测,以及失败在哪一步出现。模型与真实小车的差异,还要用实车数据测量。

阶段 2:先检查完成与丢线,再比较速度

排序很容易写,按时间从小到大排就行。但有个问题:一个方案冲得很快,中途直接丢线了,也算它赢吗?显然不行。所以排序之前,先过一遍资格检查:

  1. 先判断是否完成场景且没有 line loss;
  2. 只有完成且无丢线的候选才进入下一层排序;
  3. 合格候选按预测完成时间排序;
  4. 如果仍然相同,用候选 ID 做确定性的 tie-breaker;
  5. 当没有任何候选满足条件时,评估器不能选出一个“看起来最好”的方案,也不能报告 READY。

没有合格候选时保留失败结果,才能避免后续流程把一次排名误当成可上车的推荐。

跑下来是什么结果

当时留下的 V1-A 复验记录如下,测试数量也按那一轮记录保留:

检查项 结果 证据范围
闭环连通性 VERIFIED 控制器、plant、虚拟传感器、预测和评估器已经在同一离线路径中工作
候选排序 VERIFIED 不同 PID 候选可以产生不同的预测结果,line loss 候选会被降级
确定性 VERIFIED 相同输入可以产生相同的序列化输出
离线测试 VERIFIED V1 闭环、评估、标定和模型注册相关检查 74 passed;完整 simulation/digital_twin/tests 为 649 passed、5 skipped
真实校准 INSUFFICIENT EVIDENCE 还没有真实同步标定拟合和独立 holdout 验证

649 passed、5 skipped 看着不少,不过这是那一轮离线测试目录的结果。跳过的项目缺真实赛道图像或 homography 资料,不能算失败,也不能装作测过了。尤其不能拿这个数字去说实车已经验证完成。

这个模型到底“像不像”真实小车

到这里自然会问:电脑里能跑,搬到车上也能跑吗?目前还回答不了。

当前模型的参数和传感器是探索性的。它可以用于检查代码路径、比较候选、复现结果,但还没有回答下面这些真实问题:

  • PWM 到实际速度的映射是什么;
  • 转向动作会怎样改变车体速度和角速度;
  • 相机像素如何稳定映射到地面坐标;
  • 没有轮速编码器时,如何获得可审计的速度观测;
  • 模型在一组没有参与调参的真实 holdout 上是否仍然预测有效。

在这些问题测完之前,当前结果只适用于探索性车辆模型,不能直接预测真车的表现。

实车测试前,可以先排除哪些软件问题

这条离线路径已经能检查:

  • 候选是否能完整跑完场景;
  • 评估器是否会把失败候选误选出来;
  • 相同输入是否能复现相同结果;
  • 缺少 calibration 或 holdout 时,系统是否会错误报告 READY;
  • 一个候选的改变是否真的传递到了控制器和状态预测,而不是只改了配置文件。

这些在电脑里就能查的事,没必要留到车上一起出错。先排掉,下一次真实实验才更容易知道自己究竟在测哪一件事。

下一步需要独立实车数据

V1-A 已连通控制器、车辆模型、虚拟传感器、预测和候选评估,相同输入的离线输出也可以重复。它可以作为后续真实标定和 baseline/candidate 比较的起点,但这只是后续路线的判断;当前模型还不能证明真实车辆的速度、转向响应、轨迹和控制性能。

当时准备在固定赛道和明确标定条件下,用独立 holdout 检查预测,再挑选进入受控实机实验的候选。项目现已基本停止维护,这些步骤尚未完成,进度以总览中的状态更新为准。

相关记录

  • 项目总览
  • PROJECT_STATE.md:V1-A 的当前证据边界
  • docs/agent-context/CURRENT_STATUS.md:V1-A 离线复验记录
  • simulation/digital_twin/:数字孪生、预测器和测试路径