先让数字孪生在电脑里跑起来:V1-A 离线闭环
陈淮锐 · 项目时间:2026 年 7—8 月 · 网站收录 2026-09-17
GitHub · 0hello-bit/Robot_twin
本文回顾 2026 年 7—8 月的项目,包含后续整理与补充。实验数字和验证范围按原始项目记录陈述;文末仓库路径为记录索引。
改一组 PID,上车跑一遍,再换一组。这样当然能试,但两次跑得不一样,到底是不是参数的功劳?
这就是我先做 V1-A 的原因。电机状态、地面摩擦、赛道几何、传感器角度、通信时间、相机观测,全都可能掺一脚。还没把这些拆开,就说某组参数更好,我自己也没法信。
于是先退回电脑里,把输入、探索性车辆模型和评估规则固定下来。先看同样的条件下,不同候选究竟会算出什么。
阶段 1:固定输入,连通控制与预测
当前离线路径可以概括为:
初始姿态 + 赛道地图 + PID 候选
-> 控制器
-> 车辆模型
-> 虚拟传感器
-> 下一时刻姿态
-> 预测与候选评估
它包含几个不同职责的组件:
- 控制器根据当前位置和线路观测生成动作;
- 车辆模型根据动作推进位置和姿态;
- 虚拟传感器把模型状态转换成类似传感器的观测;
- 预测器运行一个完整的候选场景;
- 候选评估器把结果转换成可以比较的记录。
同一组输入经过这些组件后,会留下动作、状态和评估记录。这样可以检查参数是否真的影响了预测,以及失败在哪一步出现。模型与真实小车的差异,还要用实车数据测量。
阶段 2:先检查完成与丢线,再比较速度
排序很容易写,按时间从小到大排就行。但有个问题:一个方案冲得很快,中途直接丢线了,也算它赢吗?显然不行。所以排序之前,先过一遍资格检查:
- 先判断是否完成场景且没有 line loss;
- 只有完成且无丢线的候选才进入下一层排序;
- 合格候选按预测完成时间排序;
- 如果仍然相同,用候选 ID 做确定性的 tie-breaker;
- 当没有任何候选满足条件时,评估器不能选出一个“看起来最好”的方案,也不能报告 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/:数字孪生、预测器和测试路径