PAPER DEEP DIVE
自动驾驶场景生成综述
自动驾驶系统测试需要有效场景生成方法,综述现有场景生成技术和标准。
论文:AEGIS: Assay-Aware Protocol Validation and Runtime Monitoring for Open-Source Liquid Handling Robots
作者:Priyanka V. Setty, Arvind Ramanathan, Ian Foster, Rick Stevens(Argonne National Laboratory / University of Chicago)
来源:arXiv:2607.15620
1. 研究背景与动机
自动驾驶实验室(Self-Driving Laboratories, SDLs)正在重塑实验科学:预测模型提出实验、机器人平台执行、结果数据更新模型,形成持续闭环。然而这个闭环的科学完整性取决于每个湿实验步骤是否真正做到了协议意图——规模化时无人能逐孔审计。静默失败的湿实验运行不产生错误,而是产生不断复合的损坏数据,在后续模型更新中累积扩散。
图1:AEGIS 防御两种静默失败——协议代码中的 assay 级(语义)错误和运行时液体处理器的物理执行失败,二者都会作为坏数据传播到下游分析和预测模型。
关键问题在于:机器人本身是"生物学盲"(biologically blind)的——液体处理器执行给定的 Python 协议,对 assay 级意图毫无感知。两种截然不同的失败模式会静默腐蚀运行:
- Assay 级(语义)错误:通过所有语法检查的协议违规,例如 PCR 模板与无模板对照(NTC)之间重复使用枪头、稀释方向错误、药物只在处理孔等。
- 物理执行错误:部分排液(partial dispense)、气泡、枪头缺失等运行时故障,机器人自身日志不会标记。
2. AEGIS 双层架构
图2:AEGIS 双层架构。Layer 1 在运行前读取 OT-2 协议的 Python 源码,对策划好的规则数据库标记 assay 级违规;Layer 2 在执行中通过摄像头监控移液器,用基于正常轨迹图像训练的 PCA 世界模型对逐孔轨迹评分,并将模糊孔路由至视觉语言模型(VLM)仲裁暂停决策。
AEGIS 由两层守护组成:
- Layer 1(起飞前验证器):读取协议 Python 源码,对策划的 22 条 assay 规则进行检查,标记违规。
- Layer 2(运行时视觉监控):通过摄像头监控移液器,用 PCA 世界模型对逐孔轨迹评分,将不确定的孔路由至 VLM 仲裁暂停决策。
3. Layer 1:Assay 规则与验证器
Layer 1 将 22 条 assay 特定规则 形式化为机器可读 JSON schema,每条规则含标识符(如 PCR-2:"每次 PCR 模板与 NTC 之间使用新枪头")、自然语言陈述、严重级别、assay 范围和可选结构指标。规则覆盖 污染(枪头重用模式)、顺序(低到高标准、稀释方向)、完整性(master mix 存在、每步稀释后混匀)和 源/目标正确性(药物仅在处理孔、稀释液来自正确储液槽)。
验证器本身是 单次 LLM 调用,消费规则数据库、策划的 Opentrons API 参考和协议 Python 源码。LLM 在一个结构化提示中被要求输出:(i) 推断的 assay 家族及置信标签;(ii) 逐规则评估,列出违规孔并引用每条被违反的规则;(iii) 最终通过/失败判定。
设计是刻意 混合的(hybrid):规则告诉 LLM 检查什么;LLM 判断 如何在代码中检查。消融实验对比三种配置:完整混合(规则+LLM)、仅 LLM(移除规则数据库)、仅规则基线(无 LLM 的结构模式匹配)。五个后端跨越能力层级:OpenAI o4-mini、Claude Opus 4、GPT-4o、Claude Sonnet 4.5 和 NVIDIA Nemotron-3 Ultra 550B(开放权重)。
Layer 1 性能
在 24 协议基准测试(跨五个 assay 家族)上,调整后 $F_1$ 达 0.97,超过仅规则和仅 LLM 消融,五个后端一致。开放权重模型(Nemotron)与最佳专有模型持平,证明该方法不依赖付费 API。
4. Layer 2:运行时视觉监控
4.1 数据采集
Logitech 摄像头安装在 OT-2 载荷台前方,以 1 fps 捕获工作区,黑色纸板背景简化枪头分割。系统读取 Opentrons HTTP API 获取每个移液命令的完成时间戳并对齐捕获帧。离线评估收集了 64 条 p1000 孔轨迹:26 条物理正常和 38 条植入失败,跨三种试剂对比(红、黄、水)和四种故障类型(部分排液、无排液、无枪头、气泡)。每条轨迹由四个关键帧组成:吸液(aspirate)、移液(transit)、排液(dispense)、排液后(post-dispense)。
4.2 YOLOv8 枪头检测
图3:YOLOv8-nano 枪头检测。左:原始摄像头输入;右:微调检测器返回枪头紧密边界框(置信度如框上方所示)。检测区域被裁剪、填充并调整到固定画布供 PCA 世界模型使用。
YOLOv8-nano 在 69 个人工标注帧上微调,训练约 2 分钟,在留出划分上达到 mAP50 = 0.995。检测器仅做几何枪头定位,不判断孔是否正常或失败;轨迹解释留给 PCA 世界模型和 VLM。
4.3 PCA 轨迹世界模型
对每个孔,AEGIS 将 YOLO 裁剪的四关键帧枪头块(灰度,$48\times 48$ 每帧)拼接为一个 9,216 维轨迹向量。以 $k=15$ 分量的主成分分析(PCA)在正常轨迹上拟合,保留 97.7% 方差。重建误差 $\|x-\hat{x}\|_{2}^{2}$ 作为异常评分。选择线性 PCA 是刻意的:在 $n\sim 26$ 条正常轨迹、9,216 维下,更深的替代方案(自编码器、DreamerV3、IRIS)学习近似恒等重建,会同样忠实地重现失败;密度和边界方法(Isolation Forest、one-class SVM)会误定位正常流形并过度标记。
$$\text{anomaly score} = \|x - \hat{x}\|_{2}^{2}, \quad \hat{x} = \text{PCA reconstruct}(x)$$4.4 级联与 always-VLM 操作点
图4:Layer 2 实时级联。逐孔事件从摄像头和 OT-2 HTTP API 流入 PCA 分流,再路由至 VLM 仲裁暂停决策。
重建误差尺度在会话间因光照、摄像头配置和环境条件漂移约两倍。AEGIS 不重拟合 PCA 或重调全局阈值,而是每运行在前六孔(标准品、对照、归一化试剂,设计上物理正常)上标定级联。记录 PCA 评分 $c_{1},\ldots,c_{6}$,定义静默通过带为:
$$\text{band} = \mathrm{median}(c_{i}) \pm 0.7 \cdot \mathrm{MAD}(c_{i})$$对每个标定后孔,级联发出三种路由决策之一:
- 静默通过(Silent-pass):PCA 评分在运行内标定带内,不调用 API。
- 空白底(Blank floor):评分低于 $10^{-4}$,表示 YOLO 在一帧或多帧中未产生含枪头裁剪——无枪头和严重遮挡的主特征,路由至 VLM 确认。
- 灰区(Gray zone):标定带外的任何其他评分,轨迹连同 YOLO 裁剪帧路由至 VLM。
PCA 评分器永不允许单独触发机器人暂停。VLM 作为第二阶段验证器确认或拒绝每个 PCA 标记的孔,是任何暂停决策的唯一仲裁者:PCA 级联分流,VLM 决策。这一设计消除了因异常但有效的孔而中断正常运行的一类误报。
路由至 VLM 的孔进入 Claude Opus 4.7 视觉调用,接收四裁剪轨迹帧和试剂颜色感知系统提示。提示由三个视角(skeptical、routine、expert)进行三次独立评估,各自返回 {pass, fail} 及置信度和故障类型标签。聚合器应用 any-fail 规则:任一视角返回 fail 则整体判定 fail。
5. 方法架构流程
flowchart TD
subgraph L1["Layer 1: Pre-flight Validation"]
P["OT-2 Python Protocol"] --> R["22 Assay Rules DB"]
R --> V["LLM Validator\n(rules + API ref + code)"]
V --> V1{"Assay-level\npass/fail?"}
V1 -- fail --> H1["Halt before run"]
V1 -- pass --> R2["Proceed to run"]
end
subgraph L2["Layer 2: Runtime Visual Monitor"]
C["Camera @1fps"] --> Y["YOLOv8-nano\ntip detection"]
O["OT-2 HTTP API\ncommand timestamps"] --> F["4-keyframe trajectory\n(aspirate/transit/dispense/post)"]
Y --> F
F --> PCA["PCA World Model\nk=15, 9216-dim"]
PCA --> S{"Score routing"}
S -- silent-pass --> OK["No API call"]
S -- blank-floor --> VLM2["VLM gate\n(3-lens self-vote)"]
S -- gray-zone --> VLM2
VLM2 --> D{"Any-fail verdict?"}
D -- fail --> PAUSE["Pause OT-2 via HTTP API\n(effective halt ~13.3s)"]
D -- pass --> OK
end
R2 --> L2
6. 实验结果
6.1 Layer 1:协议验证
| 后端 | 类型 | 调整后 F1 |
|---|---|---|
| OpenAI o4-mini | 推理模型 | 0.97 |
| Claude Opus 4 | 前沿模型 | 0.97 |
| GPT-4o | 前沿模型 | 0.97 |
| Claude Sonnet 4.5 | 中端模型 | 0.97 |
| NVIDIA Nemotron-3 Ultra 550B | 开放权重 | 0.97(与最佳持平) |
6.2 Layer 2:离线评估(LOPO)
在无泄漏留一板外(leave-one-plate-out, LOPO)评估下,Layer 2 达到 平均精度(AP)0.887 [0.799, 0.949]、AUROC 0.804,操作点 $F_1$ = 0.708(精度 0.793,召回 0.639)。失败流行率 0.58。LOPO 结果与部署中色度级联召回 ~0.6 密切吻合,因此离线数字预测了部署性能。
图5:p1000 集上的逐轨迹 PCA 重建误差,按真值类别分组。无类标签参与训练时,正常轨迹集中在低重建误差,失败轨迹向高误差扩散。
逐故障模式分解显示清晰的剂量-响应:部分排液在枪头中留下的液体越多,越容易被捕获:
| 故障类型 | 召回率(LOPO) |
|---|---|
| 部分排液,25% 排出(75% 保留) | 3/3 (100%) |
| 部分排液,50% 排出 | 2/3 (67%) |
| 部分排液,75% 排出(25% 保留) | 1/3 (33%) |
| 无排液(No dispense) | 5/6 (83%) |
| 气泡(Air bubble) | 1/6 (17%) |
| 合计 | 23/36 (64%) |
检测本质上是颜色无关的(红和水均 8/12,黄 7/12),因为评分器关注枪头弯月面和轨迹几何而非流体颜色。小枪头(p20)通道标记了前视监控的分辨率极限:AP 0.771,AUROC 0.666,$F_1$ 0.468——p20 枪头占像素太少,弯月面和保留液体线索接近传感器底限。
6.3 实时演示
在物理 OT-2 上端到端演练级联,每种条件连续五次运行:
| 故障 × 试剂 | 默认级联 | always-VLM |
|---|---|---|
| 部分排液 × 红染料 | 3/5 [0.23, 0.88] | 5/5 [0.57, 1.00] |
| 部分排液 × 黄染料 | 3/5 [0.23, 0.88] | 5/5 [0.57, 1.00] |
| 部分排液 × 水 | 0/5 [0.00, 0.43] | 1/5 [0.04, 0.62] |
| 无吸液 × 红 | 3/5 | 2/5 |
| 无枪头 × 红 | 5/5 | 5/5 |
有效停止延迟(失败排液到 OT-2 实际停止)为 $13.27\pm 0.47$ s($n=9$ 次暂停运行):监控侧延迟约 9.5 s(4 s 帧刷新等待 + 5.5 s VLM 调用),加上 OT-2 在下一协议边界(弃枪头)应用暂停。级联分流将每板 VLM 成本控制在 $1.63,而 always-VLM 基线为 $10.33。
图6:从失败排液到 OT-2 有效停止的延迟分解。监控侧延迟 ~9.5 s,OT-2 在下一协议边界应用暂停,演示协议有效停止延迟 13.27±0.47 s。
7. 关键洞察与
观测向量定义
$$ \mathbf{o}_{t}=\left[\boldsymbol{\omega}_{t},\;\mathbf{g}_{t},\;\mathbf{c}_{t},\;\boldsymbol{\theta}_{t},\;\dot{\boldsymbol{\theta}}_{t},\;\mathbf{a}_{t-1}\right]^{\top} $$
目标关节位置
$$ \boldsymbol{\theta}_{t}^{\mathrm{target}}=\boldsymbol{\theta}^{\mathrm{default}}+\mathbf{a}_{t} $$
PD控制力矩
$$ \boldsymbol{\tau}_{t}=K_{p}(\boldsymbol{\theta}_{t}^{\mathrm{target}}-\boldsymbol{\theta}_{t})-K_{d}\dot{\boldsymbol{\theta}}_{t} $$
局限- 检测是故障模式相关的,这是级联有两阶段的原因:部分排液是 VLM 优势(保留柱是直接线索),无吸液是 PCA 模式(排液后空枪头对 VLM 模糊但移液帧不模糊),无枪头通过 BLANK_FLOOR 确定性捕获。将一切路由至 VLM 会丢失无吸液,仅信 PCA 会丧失精度。
- 透明试剂失败有两个原因:几何的(透明流体在透明枪头中侧视几乎无对比)和分辨率的(消费级摄像头在枪头上放太少像素)。稳健修复是运行后俯视板视图(预期 Layer 3)。
- 级联改进是多因子的:重新设计同时改变了标定计数、静默通过带和故障孔位置,因此增益应读为联合效果。
8. 总结
AEGIS 是首个统一开源液体处理器的起飞前 assay 感知验证与运行时视觉监控的系统。其双层架构以混合规则+LLM 验证器在协议层面达到 0.97 的调整后 $F_1$,以 PCA 分流+VLM 仲裁级联在运行时达到 0.887 AP 和 0.71 操作点 $F_1$,有效停止延迟 $13.27\pm 0.47$ s,每板 VLM 成本仅 $1.63。核心设计模式——廉价分流配昂贵验证器,两层均不可单独停机——可推广至任何有强但不完美的廉价模型和更强但易错的 LLM 门控的部署。作者在 MIT 许可下发布了 24 协议基准、22 条规则、YOLO 权重、轨迹数据集和实时演示工具,为任何社区 OT-2 配置添加守护层降低了门槛,使得新的开源自动驾驶实验室几乎没有理由在完全开环下运行。



