审一个工厂数字孪生的决策:配对比较,连输掉的种子一起看

Factory Twin Lab 让闭环与影子模式共享全部扰动逐对比较:12 对中闭环主轴故障 0 比 11,但良品 10 对上升、2 对下降。怎样审查孪生的信息边界、决策权重与输掉的种子。

四步配对审查:两种模式共享同一种子的扰动和噪声;只读遥测,每 5 s 一次,丢包 2–3%,晚到 5 s;保守寿命低于 150 忙碌分钟时比较 14 方案,立即维护最优才维护;12 对中良品 10 升 2 降,主轴故障闭环 0、影子 11。

数字孪生“闭环后产量更高”这类结论,只有在能分离出“闭环”这一个变量时才值得看。noteflowai/robot-reel 仓库里的 Factory Twin Lab(本文依据提交 7a1f08f 的说明文档和方法与局限,证据等级 [O],即项目自述)给了一个可以照着做的审查方式:每次运行都成对进行,一次让孪生的指令真正下发,一次只记录不下发,两次共享全部扰动和传感器噪声;12 对的逐对数值保存在 seeds.json,包括闭环反而少产出的 2 对。

配对隔离了什么

实验里的“工厂”(plant)是一个完全模拟的厂区:一条六工位产线、三台 AMR、车间温控和园区能源,以 1 s 步长从 10:00 模拟到 13:00。数字孪生从这个厂区接收遥测,推断状态,比较候选动作,再发回指令。每个种子跑两种模式:

  • 闭环(closed):指令在发出 5 s 后到达厂区。
  • 影子(shadow):同一个孪生照常运行、记录同类决策,但什么都不发送。

随机数来自一个按种子、数据流和序号取值的计数器式生成器(counter-based generator),所以一对中的两次运行看到完全相同的扰动和噪声样本。文档据此把两者之差定义为“在这个模型里闭合回路的效果”。这句话的范围很窄:它不是对真实工厂的估计,而是对这一个模型、这一组参数的对照。

本站《物理AI实验室 0.1》把物理 AI 描述为一遍遍转“看、想、动”的闭环;这里是同一个闭环放大到车间尺度,而影子模式正好提供了“只看、只想、不动”的对照组。

孪生看到什么,怎么决定

审查一个孪生的决策,先要确认它的信息边界。文档写明孪生从不直接读取厂区状态,只用遥测:

步骤孪生做什么
感知每 5 s 收到 PLC、CNC、电表、车间气候和 AMR 位姿五组数据包;每组有 2–3% 的丢包概率,全部晚到 5 s,数值带噪声和舍入
同步用每组最后一个数据包镜像工位状态、缓冲区和 AMR 位姿,并记录每组数据的时效
估计用扩展卡尔曼滤波,根据振动模型 v = 2.4 + 5.5 w² + noise 跟踪 CNC 2 主轴不可观测的磨损 w 与磨损速率;初值取名义参数(初始磨损 0.45、名义速率、阈值 1.0),与每个种子的隐藏真值都不同
预测当保守(2σ)剩余寿命低于 150 个忙碌分钟时,每 5 分钟用自己的产线模型前向模拟 90 分钟,比较 14 个方案;每分钟预测当前和下一个计费时段
决策安排维护、降低进给、调高车间设定温度、限制 EV 充电

14 个方案是“立即维护、10、20、30、45、60 分钟后维护、不维护”七种时机,各自分降速和不降速。每个方案的价值为:预期良品数,减去提前维护浪费的主轴寿命(每单位磨损折 40 件),方案失败时再减 25 件。只有“立即维护”最优时才发出维护请求;降速开关只在收益超过 1.5 件时切换;需量控制分四级(设定温度 +1 / +2 °C、EV 充电桩限 50%),带滞回,并以 27 °C 以下为舒适约束。

这些权重(40、25、1.5)是为演示选定的。审查时应把它们当作决策的一部分记录下来:换一组权重,同样的遥测可能得出不同的维护时机。

精选班次:收益和代价一起列

文档展示的精选班次是种子 10(10:00–13:00):

影子(只给建议)闭环
良品182202
CNC 2 主轴故障1(维修 45 分钟)0(一次 15 分钟计划维护)
废品102
15 分钟需量峰值560.3 kW466.3 kW
超过 520 kW 的计费时段20
车间最高温度24.2 °C24.8 °C

最后一行是闭环的一项代价:闭环下车间最高温度高 0.6 °C。调高车间设定温度是孪生控制需量的手段之一,但文档没有拆分这 0.6 °C 的成因。闭环模式另外进行了 1 次 15 分钟的计划维护停机;这只是记录的一项代价,文档没有给出避免故障的完整成本。限制 EV 充电也是闭环控制的一项代价;Robot Reel 文档没有给出种子 10 的 EV 服务指标,工作台维护者针对导入的 v0.18.0 记录报告种子 10 的 EV 服务指标为 74%,不符合工作台的默认标准,但引用材料未证明这套记录与本文所引提交相同。一张只列收益的表会让读者看不到这些交换,审查时应要求两边都列。

12 对全看:包括输掉的两对

在 12 对种子上,文档报告:

  • 主轴故障:闭环 0 次,影子 11 次。
  • 超限计费时段:闭环 0 个,影子 8 个。
  • 良品数:10 对上升,2 对下降;平均 +11.1,范围 −3 到 +20。

平均 +11.1 本身会掩盖那两对。提交 7a1f08f 的文档与 METHODS.md 说明,产出下降的种子 3 和 11 在影子模式下都发生了主轴故障,但发生得晚:45 分钟维修只有 13.6 和 14.5 分钟落在 3 小时窗口内。因此闭环模式的 15 分钟计划维护比晚发生的故障损失更多产出。这是这套演示参数和 3 小时窗口里的交换,不能推广为真实工厂的维护收益。

这与本站《EvalArc:分数变高了,智能体哪里退步了》讨论的问题相同:平均值上升不代表每一项都变好,需要逐项看。本站《Robot Reel》的介绍文章讲的是同一仓库里 SmolVLA 的配对压力实验,Factory Twin 是另一个实验,把配对方法用在了决策回路上。

复核:重放,而不是相信

每对结果都能重新执行。文档称模拟只涉及整数和 IEEE-754 运算,Python 标准库即可逐位(bit for bit)重跑;--verify 用记录的遥测重放孪生,要求估计值和决策完全一致,这也检验了“孪生只用遥测”这一点。

下面是上游文档写明的步骤,本站没有执行。以下两种方式都要求能够调用 robot-reel 命令;本文引用的资料没有列出安装及程序版本绑定步骤,因此这些命令不是完整的环境复现指南。第一种是离线实验:下载并解压项目站点的 experiment.zip 或 GitHub Release 中的 robot-reel-factory-twin-experiment.zip。METHODS.md 示例中的 --output 指向解压后的实验文件夹(示例里名为 factory-twin);上游资料没有说明应在哪个目录下运行这些命令:

robot-reel factory-twin --output factory-twin --verify              # 精选的一对
robot-reel factory-twin --output factory-twin --verify --all-seeds  # 全部 12 对

第二种是在仓库提交 7a1f08f 的检出目录中运行,按 docs/factory-twin.md 的 Reproduce 一节,输出目录为 docs/factory-twin:

robot-reel factory-twin --output docs/factory-twin --verify              # 精选的一对
robot-reel factory-twin --output docs/factory-twin --verify --all-seeds  # 全部 12 对

PyPI 上未指定版本的 robot-reel 包、项目站点的 experiment.zip 和标记为 latest 的 GitHub Release 都没有固定到提交 7a1f08f,内容可能与本文引用的版本不同;第二种方式的检出目录固定了本文引用的源文件和记录数据,但没有固定实际调用的 robot-reel 可执行程序。

METHODS.md 称这两条命令只需要 Python 3.12 和标准库。

审查时可读的文件:seeds.json 存全部 12 对;trace-closed.json 和 trace-shadow.json 存精选种子的每个样本,包括厂区真值、原始遥测包、孪生快照、带证据和预测的决策日志,以及预测与厂区实际结果的对照。一次维护决策可以从日志里的证据一路追到它当时的预测,再与真值对比。

三维场景和飞行镜头用 Blender 制作,但 Blender 只按记录的样本回放关键帧,不做物理计算;robot-reel factory-twin --verify 只核对 Blender 检查回执的输入哈希,不会重跑 Blender。影片是展示,不是证据。

局限 / 注意

  • 整个厂区是模拟的。厂区参数和孪生的代价权重都是为演示选定的,没有针对任何真实工厂校准。文档明确说这些数字只能说明回路按描述工作,不能当作节省的估计。
  • 在这个模型里闭合回路有效,不代表在真实工厂里能省钱,也不代表这些指令可以安全地控制真实设备。
  • 12 对里良品数有 2 对下降,结论不能简化为“闭环总能提高产量”。
  • 本文没有重跑上述命令。上游自带的检查、以及能否下载到发布文件,都不等于独立复现;以上数字均为项目文档自述。
  • PyPI 包、项目站点的 experiment.zip 和 latest Release 这些下载渠道都没有固定到提交 7a1f08f,可能与本文引用的文档不一致;提交 7a1f08f 的检出目录只固定了源文件和记录数据;实际调用的程序版本还需要另行确认。
  • PAI Design Workbench 项目报告了托管工作台的只读评审验收:导入 Robot Reel v0.18.0 的固定记录,先冻结标准再逐种子比较。默认标准拒绝方案,因为种子 3、11 产出下降,种子 10 的 EV 服务指标为 74%,未通过默认标准。引用的工作台文档未定义这个指标的计算方式或给出其阈值,不能把 74% 当作充电电量的比例。该轮托管验收未重跑工厂仿真,也未验证真实设备控制;这是工作台维护者的验收记录,不是本文作者的独立复现。引用的验收记录也未证明 v0.18.0 的文件与本文所引提交 7a1f08f 相同。

链接