工位俯拍识别装配节点,按 SOP 状态机逐步确认——漏装、漏步当场可见。
俯拍工位 · 部件/动作节点识别 · 工作流逐步打勾 · 本地边缘推理 · 检测记录可追溯
手工装配工位的质量风险,往往不在终点外观,而在过程:外壳、皮套、电路板、黑皮套、固定器、盖子是否按顺序到位, 有没有跳步、漏件、错序。传统抽检看结果,难以及时拦住过程差错;传统 AOI 又长于静态外观,难覆盖「动作—部件—顺序」这类变化频繁的过程任务。
| 现场痛点 | 为什么旧办法吃力 | 本方案切入点 |
|---|---|---|
| 节拍内要确认多步手顺 | 人眼盯岗不可持续,事后录像难复核 | 相机持续看过程,状态机逐步确认 |
| 换型 / 换工位后步骤变化 | 一工位一模型,重采重训跟不上 | 少样本配置目标,配方切换工作流 |
| 多工位并行,难统一管理 | 每台工控机一套方案,成本高 | 边缘智能体一拖多,多任务并行 |
| 视频外传与数据安全顾虑 | 上云推理链路长、合规阻力大 | 边缘 GPU 本地推理,只出事件与记录 |
把问题定义为「过程节点是否发生」,而不是「再训练一个专用外观模型」。 用视觉大模型看见部件与动作,用状态机判定顺序,用边缘侧实时输出——这样换步骤主要改配置,不必长期驻场训练。
以俯拍工位为主视角,识别装配过程中的关键节点:起点台面、外壳、皮套、电路板、黑皮套、固定器、盖子、终点台面。 右侧工作流随识别结果逐步打勾;异常可回看画面与检测记录。
| 节点示例 | 系统关注点 | 输出 |
|---|---|---|
| 起点 / 终点台面 | 工件是否进入 / 离开检测位 | 流程开始、结束事件 |
| 外壳 / 皮套 / 电路板 / 黑皮套 | 目标是否出现在工位区域 | 步骤完成标记 |
| 固定器锁付 / 盖子合盖 | 动作片段与电批交互是否发生 | 节点确认 / 异常提示 |
| 整段 SOP | 顺序是否完整、有无跳步 | OK / NG + 耗时记录 |
工位相机进流后,在边缘智能体完成本地推理;大模型负责「看见」,状态机负责「算不算做完」。 原始视频不出厂,现场只保留步骤结果与可复核片段。
装配品类、夹具、手顺会变。专用小模型每次换型都要重训,上线慢、难复制。 视觉大模型用 1–10 张样本即可配置新目标;状态机把「看见」编排成可验收的 SOP——改步骤是配置变更,不是重新立项训练。
过程点检的前提是稳定认出台面与各装配件。这里不用框回归硬凑,而用像素级语义分割: 每类目标 1–10 张现场样本即可设定,输出掩膜后做存在/面积判定。换型主要补样本,不必重训整套专用模型。
本页视频工位要认 7 类目标、走 8 步(桌子既是起点也是终点),与运行界面「检测记录」的列一一对应: 桌子 · 外壳 · 皮套 · 电路板 · 黑皮套 · 固定器 · 盖子。 台面用于判起点/终点在位,其余按装配顺序逐件确认。
| 分割类别 | 样本(示意) | 用途 | 判定 |
|---|---|---|---|
| 桌子(台面) | 3 张 | 起点 / 终点在位 | 掩膜出现 → E0 / E7 |
| 外壳 | 5 张 | 壳体上工装 | 掩膜面积 ≥ 阈值 → E1 |
| 皮套 | 6 张 | 部件到位 | 掩膜面积 ≥ 阈值 → E2 |
| 电路板 | 6 张 | 板件装入 | 掩膜面积 ≥ 阈值 → E3 |
| 黑皮套 | 6 张 | 部件到位 | 掩膜面积 ≥ 阈值 → E4 |
| 固定器 | 5 张 | 锁付确认 | 分割 + 电批动作 → E5 |
| 盖子 | 5 张 | 合盖完成 | 分割 + 动作确认 → E6 |
皮套与黑皮套形态相近、颜色不同,属于典型「同形异色」难点:靠像素级分割 + 颜色/位置约束区分, 比框回归稳;若现场光照变化大,补样本后点「迁移」即可,不必重训。
<工程>/SnapShots/E1.p 会自动回填给张量流的语义分割节点。分割只负责看见像素。业务要的是「外壳到位」「锁付完成」这类可判定事件。 事件清单本身在状态机里定义,判定逻辑在 GPU 事件编排器里搭:从原语库拖判定积木、配参数, 再用「与 / 或 / 非」组合成成立条件。改判定只动参数,不必重训模型。
E ∈ ℝ⁸(本工位 8 个事件),选中节点的参数为 P ∈ ℝ²(目标类别、检测区域),未选节点时为 P ∈ ℝ⁰。| 原语 | 类型 | 怎么配 | 本工位用在哪 |
|---|---|---|---|
| 物体存在 | GPU算子 | 目标类别(可多选)+ 检测区域;默认全图,可在预览窗口框围栏 | E0–E4、E6、E7 的部件在位 |
| 物体不存在 | GPU算子 | 必选 1 个类别,无则触发 | 漏装、工具未取走等 NG 条件 |
| 数量检测 | GPU算子 | 比较模式(小于 / 大于 / 区间 / 等于)+ 阈值 | E5 固定器锁付计数 |
| 速度检测 | GPU算子 | 运动速度阈值 | E5 电批动作确认 |
| 宽度检测 / 角度检测 | GPU算子 | 长短轴与长短轴比;参考角度与最大偏差 | 装反、装歪,按需加严 |
| 边沿事件 | GPU算子 | 取信号跳变而非持续状态 | 只在「刚发生」时触发一次 |
| 与 (AND) / 或 (OR) / 非 (NOT) | GPU算子 | 连线组合多个原语 | 「固定器存在 且 电批速度归零」 |
| 二值化 / 数据抵达 / 事件引用 | 判定算子 | 阈值化、等外设数据、引用别的事件结果 | 跨事件与外设联动 |
一个事件只做一件事;先稳分割再调阈值。 误报优先加防抖帧数,漏报优先降最小面积与检出置信度——这两个参数在语义分割节点上,不在原语里。 目标类别下拉直接引用标注工具里的类别;检测区域默认全图,需要时在预览窗口框围栏。 改手顺只改状态机,事件的判定逻辑不用动。
右侧工作流不是展示清单,而是 SOP 状态机:状态、事件、动作三份清单在这里定义, 再决定「处在哪个状态、收到哪个事件、跳到哪一步、同时执行什么动作」。 顺序强制不靠额外写 NG 规则,而是靠「非预期事件一律自环」:跳步不推进,缺步走不到终点。 需要报警或写记录时,把动作 (A) 挂在对应转移上。改手顺只改这份配置,不必重训分割模型。
E ∈ ℝ⁹(8 个事件加一个「空事件」),状态-动作张量 S-A ∈ ℝ⁸,动作默认为「∅ 空动作」。下半是同一份配置的「📊 规则表」视图:行为当前状态、列为事件,绿字格是目标状态,其余一律「↻ 自环」——原地不动。顺序强制就是这么来的:跳步不会推进,缺步永远走不到终点,不需要额外写 NG 规则。最后一步 E7 回到 S0,等下一件。| 状态 | 事件 | 绑定分割类别 | 判定原语 | 命中后 |
|---|---|---|---|---|
| S0 等待起点桌子 | E0 起点:桌子 | 桌子 | 物体存在 | → S1 |
| S1 等待外壳 | E1 外壳到位 | 外壳 | 物体存在 | → S2 |
| S2 等待皮套 | E2 皮套到位 | 皮套 | 物体存在 | → S3 |
| S3 等待电路板 | E3 电路板到位 | 电路板 | 物体存在 | → S4 |
| S4 等待黑皮套 | E4 黑皮套到位 | 黑皮套 | 物体存在 | → S5 |
| S5 等待固定器 | E5 固定器锁付 | 固定器 | 物体存在 与 速度检测 | → S6 |
| S6 等待盖子 | E6 盖子合盖 | 盖子 | 物体存在 | → S7 |
| S7 等待终点桌子 | E7 终点:桌子 | 桌子 | 物体存在 | → S0,等下一件 |
顺序强制:只有「当前状态 × 对应事件」这一格填了目标状态,流程才前进一步; 规则表里其余格子都是自环,所以未完成 En 就进不了 En+1。 跳步:后续部件先出现也只会自环,流程停在原地,运行界面上这一步就一直不打勾。 报警与记录:动作 (A) 挂在对应转移上,默认为「∅ 空动作」,需要报警或写记录时再挂。 全部判定在边缘侧完成,运行界面只做打勾与记录展示。
配置界面用张量流把节点连起来:相机 → 图像预处理 → 语义分割 → 事件探测 → 状态机。 判定逻辑不是单独的节点,而是「事件探测」里为每个事件搭的原语组合。 下面两张图是装配工位已挂载的配置,以及同一份配置跑起来时状态机逐步打勾的样子。
| 步骤 | 做什么 | 价值 |
|---|---|---|
| 1. 建工作流 | 按 SOP 列出 E0–E7 | 验收标准可视 |
| 2. 配语义分割 | 为桌子/外壳/皮套/电路板/黑皮套/固定器/盖子建类别并投 1–10 张样本 | 数分钟级看见部件 |
| 3. 定区域阈值 | 分割节点设面积下限、置信度、防抖帧;需要时在预览里框围栏 | 降低背景误触发 |
| 4. 挂状态机 | 建 S0–S7 与 E0–E7,规则表逐格定目标状态,其余自环 | 漏步、跳步当场可见 |
| 5. 运行验证 | 预览打勾后再发布到边缘侧 | 改配置不停线试跑 |
适合品类多变、步骤多变、需要过程防错的手工 / 半自动装配工位。 纯目视微观确认、深腔遮挡严重的微动作,需工艺配合或加近景相机,不宜作为稳定识别项硬上。