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

2026 年 9 月 18 日状态更新:Robot Twin AI 目前基本停止维护,本文保留原阶段复盘。后续硬件投入转向 Atom-S,先推进小智对话与鲸鱼娘陪伴交互,详见新项目记录。

这件事的起点,是我手里那辆 STM32 小车。

既然 AI 已经能帮我写代码,那能不能再往前走一点:看看机器人哪里出了问题,比较几个方案,再告诉我哪个值得上车试?每次都直接改参数、跑一遍,变量太多,很难说清到底改对了什么。

听起来可以叫“数字孪生”。但往下做,先冒出来的都是具体麻烦:传感器有噪声,通信一批一批地到,时间戳记的未必是我想要的时刻。相机更直接,视频录下来了,标签却没认出几帧。前面的数据都没弄明白,后面画面再漂亮,也不知道在模拟什么。

所以先围着这辆小车做。控制器、传感器、通信、电机,它一样不少,规模又还在我能拆开查的范围里。真要研究仿真和现实差在哪儿,这些已经够折腾了。

从候选方案到实车验证

长期还是想让 AI 参与机器人研发。完整的设想大概长这样,不过当前只在验证其中很小的一段:

真实行为
  -> 问题或假设
  -> 算法、参数或硬件候选
  -> 数字孪生筛选
  -> 人工确认
  -> 受控实机验证
  -> 证据判断
  -> 接受或回滚
  -> 下一轮研究

这里最容易想多的地方,是以为有了仿真就能省掉实车。我的打算要小一些:在模型管得着的范围里先筛一遍,明显不合适的别上车,剩下的再用真实实验确认。模型到底管得着多大范围,本身也要测。

因此,每次实验都要把通过的条件和观测结果放在一起:软件路径连通、控制协议响应、车辆运动符合预期,需要各自的记录。

按硬件接口、数据和模型划分职责

目前我把系统理解成几层:

硬件
  -> Robot Adapter
  -> 数据、时间与状态
  -> Robot Twin Core
  -> 实验与评估
  -> AI Engineer
  -> 数据集与后续训练

其中,硬件层负责真实的传感器和执行器;适配层负责把 STM32、ESP-01S 和 TCP 的具体接口接入系统;数据、时间与状态层负责回答“这条数据是什么、什么时候产生、是否有效”;Robot Twin Core 才负责模型、状态估计和预测。

后面的 AI Engineer、经验数据集和自动研发循环属于长期方向。当前工作主要集中在前几层,以及它们之间的证据边界上。

各层已经验证的范围

层次 当前判断 已经能说明什么 还不能说明什么
V1-A 离线闭环 VERIFIED 控制器、车辆模型、虚拟传感器、预测和候选排序已经连成可重复的软件路径 不能说明模型已经完成真实标定
真实控制链路 VERIFIED,范围受限 一次受控硬件 Smoke 完成了参数下发、ACK、心跳、启动、停止和清理生命周期 不能说明小车在地面上的轮速、位移或循迹性能
相机与 AprilTag 观测 INSUFFICIENT EVIDENCE 已经可以记录视频、分析失败帧,并在部分运行中通过时间对齐门 不能说明已经获得连续、准确的真实位姿
ClockSync 与时间语义 VERIFIED,仅限软件契约 已经识别并修正了部分时间戳边界问题,记录也更加保守 不能说明物理时钟已经绝对同步
AI 自主改进 PLANNED 已经定义了候选筛选和人工确认的方向 没有经过真实验证的 AI 自动算法或硬件改进

表里的 VERIFIED 得连着后面的范围一起看。离线代码跑通,是电脑里的事;小车回了 ACK,是协议层的事。轮子有没有按预期转,还得拿别的观测来回答。

第一段:先在电脑里跑一遍

如果每次改一个 PID 参数都直接上车,我很难判断一次结果究竟来自参数本身、赛道状态、相机观测、通信延迟,还是车体和电机的差异。真实实验当然不可替代,但真实实验应该用来回答更具体的问题,而不是承担所有排错工作。

那就先把条件固定在电脑里:给定初始状态和赛道,控制器出动作,车辆模型往前算,虚拟传感器再给观测,最后比较不同候选。这是第一版探索性闭环,先确认这条路真的连起来了。

这一阶段的价值不是把模型伪装成真实车辆,而是先让候选方案比较具备确定的输入、输出和失败规则。

第二段:接上小车,事情就没那么简单了

接上真实小车后,问题换了个样子。命令能发,状态能回,但我要怎么知道车实际做了什么?

通信层可以确认一条命令有没有被解析、一个参数有没有返回 ACK、一个运行租约有没有超时。但如果没有轮速编码器、可靠的相机位姿和正确的时间对齐,就不能从这些回包推导出“车跑得更快”或“循迹更稳定”。

相机记录也有同样的问题。视频保存下来以后,要继续检查 AprilTag 的检测结果和姿态连续性,才能判断这份轨迹是否适合标定。

这组文章会记录什么

接下来的文章按项目推进顺序展开:

  1. 先让数字孪生在电脑里跑起来:V1-A 离线闭环
  2. 接入真实世界:通信、心跳和安全边界
  3. 相机能录下来,不代表机器人被正确看见
  4. 一次 ClockSync 失败如何暴露时间戳语义
  5. 把失败也写进系统:证据驱动的 Robot Twin 迭代

这些文章分别对应离线比较、受控接入、视觉观测和时间分析,保留各阶段的结果与未解决项。

已有路径与尚缺的实车数据

目前可重复的是离线候选筛选,以及带通信和安全生命周期的硬件接入。把这套结构用于真实标定、候选比较和经验积累,仍属于合理推测(INFERENCE);模型在实车上是否足够准确、AI 能否改善机器人,都缺少对应的验证。

当时计划在固定赛道上补齐相机和车辆标定,用独立 holdout 检查预测,再做时间边界明确的 baseline/candidate 实机对照。连续的具身智能闭环尚未形成。

当时准备怎么继续

当时排下来的顺序是:固定实验条件,保留 baseline,补相机与车辆标定,再用没参与调参的真实数据检查预测。过了这些步骤,才轮到挑候选、人工确认、上车对照。现在项目已基本停止维护,这里保留的是那一阶段的路线,后续投入方向见文首更新。

相关记录

  • CONTEXT.md:项目使命、分层路线和长期边界
  • PROJECT_STATE.md:当前证据分类
  • docs/PROJECT_PLAN.md:当前研发路线
  • docs/agent-context/CURRENT_STATUS.md:详细历史实验状态