1. 工程问题定义

在精密制造与自动化装配领域,一个反复出现的工程难题是:视觉系统能够“看见”目标的位置偏差,但运动平台却无法一次就把末端执行器送到理想位置。原因并不神秘——相机有标定误差,镜头有畸变,平台有反向间隙与螺距误差,工件来料本身也存在位姿散布。把这些误差源逐一消除既不经济也不现实,工程上更可行的思路是:让视觉测量与运动平台构成一个闭环,用测量结果去修正运动指令,使最终定位精度不再单纯依赖开环精度。

本节要解决的不是“如何写补偿算法”,而是先把问题边界划清楚:典型场景长什么样、精度瓶颈卡在哪里、实时性约束有多硬、系统边界应当划到哪一层。这四件事定义不清,后续的标定、建模、补偿与验证都会失去判断依据。

典型场景:从“看得见”到“放得准”

最典型的场景是贴装、点胶、锁付与对位贴合。以某类视觉对位贴装工位为例(以下参数为教学示例,非实测数据):相机固定安装于平台上方,向下拍摄工件上的两个Mark点;运动平台为XYθ三轴结构,X/Y行程200 mm,θ轴行程±5°,编码器分辨率1 μm。工艺要求贴装后中心偏差≤±15 μm,角度偏差≤±0.05°。视觉系统单帧处理耗时约25 ms,平台从收到指令到稳定到位约需80 ms。

这个场景的关键特征是:视觉给出的是“当前偏差”,平台需要执行的是“修正量”,而两者之间存在坐标变换、时延与运动误差。若直接把视觉偏差当作平台位移量下发,往往会因为手眼关系不准、平台反向间隙未补偿而出现“越补越偏”或“来回振荡”。因此,闭环补偿的核心任务是把视觉测量值转换为平台可执行的修正指令,并在多次迭代中收敛。

精度瓶颈:误差从哪里来

闭环补偿的精度瓶颈通常不是单一来源,而是多源误差的叠加。可以按“测量链—变换链—执行链”三条路径来梳理。

  • 测量链:相机内参标定残差、镜头畸变、光照变化导致的Mark点中心提取偏移、像素当量换算误差。典型情况下,单帧Mark点重复定位精度约±3~5 μm,但受光照影响可能劣化到±10 μm。
  • 变换链:手眼标定矩阵误差、相机与平台坐标系不平行、θ轴旋转中心与视觉中心不重合。若旋转中心偏差0.1 mm,在θ=1°时引入的末端位置误差约为1.7 μm,看似不大,但在多步迭代中会累积。
  • 执行链:反向间隙、丝杠螺距误差、导轨直线度、伺服跟随误差。反向间隙若为5 μm且未做单向逼近,则每次换向都会引入固定偏差。

这些误差中,测量链与变换链属于“可标定但难完全消除”,执行链属于“可补偿但需建模”。闭环补偿的价值在于:它不要求每一环都做到极致,而是通过测量反馈把残余误差压到工艺允许范围内。

视觉定位—运动平台闭环补偿系统边界与误差链 系统边界(闭环补偿作用域) 视觉测量 相机 + 镜头 + 光源 Mark点提取 误差:畸变/光照/像素当量 坐标变换 手眼标定矩阵 像素→平台坐标 误差:旋转中心/不平行 运动平台 XYθ 三轴 伺服 + 丝杠/导轨 误差:反向间隙/螺距 偏差量 修正指令 闭环反馈:平台到位后重新拍摄,计算残余偏差 实时性约束 单帧视觉处理 ≤ 25 ms | 平台运动到位 ≤ 80 ms | 单次迭代周期 ≤ 120 ms | 总节拍 ≤ 1.5 s 若迭代次数 > 3 次或单次超时,需降级为开环或报警 边界外:来料位姿散布、环境温漂、上游供料精度——不纳入闭环补偿,但影响收敛性

实时性约束:闭环不是无限迭代

闭环补偿最容易踩的坑是把“闭环”理解成“反复测、反复修,直到误差为零”。实际产线不允许无限迭代。以贴装节拍1.5 s为例,若单次视觉处理25 ms、平台运动80 ms、稳定等待15 ms,则单次迭代约120 ms。若允许3次迭代,总耗时约360 ms,加上上下料与点胶/锁付时间,仍在节拍内。但若迭代5次,则接近600 ms,节拍就会紧张。

因此实时性约束通常表现为三条硬指标:单次迭代周期上限、最大迭代次数、超时降级策略。工程上常见的做法是:第一次迭代用较大步长快速收敛,第二次用较小步长精修,第三次仅做验证;若第三次残余偏差仍超差,则判定为异常并报警,而不是继续迭代。这样既保证节拍,又避免“越补越乱”。

系统边界:哪些纳入闭环,哪些不纳入

系统边界决定了补偿算法的输入输出范围。建议把边界划在“视觉测量—坐标变换—运动平台”这三段之内,即:视觉给出Mark点偏差,变换模块将其转换为平台修正量,平台执行后再次拍摄验证。边界之外的因素,如来料位姿散布、环境温漂、上游供料精度,虽然会影响最终结果,但不直接纳入闭环补偿,而是通过来料一致性要求、环境温控或上游精度提升来管理。

这样划分的好处是:闭环补偿只处理“可测量、可执行、可验证”的误差,避免把不可控因素引入算法导致模型复杂化。同时,边界内每一段都有明确的误差指标与验证方法,便于后续逐段标定与补偿。

工程判断依据:若某误差源无法在单次节拍内被视觉测量到,或无法通过平台运动修正,则不应纳入闭环补偿,而应作为边界外条件管理。

从问题定义到可执行任务

把上述四件事说清楚后,本节的实际交付物是一份“闭环补偿问题定义表”。它不需要复杂字段,但必须能回答:测什么、怎么变、怎么动、多久完成、超差怎么办。以下为可直接参考的示例结构(参数为教学示例,实际项目需按工艺替换)。

项目示例内容判断依据
测量对象工件上两个Mark点中心坐标Mark点对比度≥30%,单帧重复性≤5 μm
变换关系像素坐标→平台XYθ坐标手眼标定残差≤10 μm,旋转中心偏差≤0.05 mm
执行对象XYθ平台修正位移与转角反向间隙≤5 μm,单向逼近策略
迭代周期≤120 ms/次,最多3次总节拍≤1.5 s
收敛判据中心偏差≤±15 μm,角度≤±0.05°连续两次测量均满足
超差处理第3次仍超差→报警并停线避免无效迭代与误贴装

这张表的意义在于:它把“视觉定位与运动平台闭环补偿”从一个模糊概念,变成了有输入、有变换、有执行、有判据、有降级路径的工程任务。后续章节的标定、建模、补偿与验证,都将围绕这张表展开。若这张表本身定义不清,后续所有算法都只是在错误的问题上做优化。

常见误区:把闭环补偿当成“万能精度提升器”。若视觉测量重复性本身差于工艺公差,或平台反向间隙大于修正步长,闭环只会振荡。此时应先解决测量与执行的基础精度,再谈补偿。