机器视觉飞拍检测

https://www.cnblogs.com/Ares-zhang/p/17345633.html

作用

机械手取料后飞拍纠偏(最常用) :机械手抓取零件,不停止、保持运动路过相机视野,动态拍照算出吸嘴 / 夹爪上物料的 X/Y/θ 偏差,在放料前实时修正机器人轨迹。

飞拍检测原理

飞拍就是使用硬件比较输出或精准输出端口在极短时间内触发相机拍照,而被测物品在拍照过程中仍处于运动状态,与此同时被测物品通过图像处理软件计算出其位置的偏移量,执行机构获取视觉输出的偏移量后再做出相应的动作指令。

视觉飞拍功能不仅需要有硬件比较输出或精准输出功能做高速精准触发控制,而且要求相机的拍照响应时间快、曝光时间短、帧率高,软件处理时间要短。

飞拍与停拍的对比

视觉停拍:传统的视觉定位采取停拍的方式,即工件按照既定的轨迹运动,当运行到拍照点时,运动轴速度减为0停下来进行拍照、图像采集、运算处理、纠偏,待视觉系统处理完成后,继续完成接下来的轨迹运动,v-t图如下。

视觉飞拍:针对传统的视觉停拍,而造成生产效率不够高的问题。在某些生产效率高的应用场合,使用到视觉飞拍功能的很多。即机构按照既定的轨迹运动,当运行到拍照位时,运动轴不停止运动,瞬间完成高速抓拍的功能。

整个过程中移动机构不停止,从而节省机构运行时间,满足效率,并且能保证运行精度。

a.在精度保证的同时,可以不减速,v-t图如下。

b.在精度不足的情况下,可以略微降速,分段运行,但速度不降为0,v-t图如下。

方案

1. 相机选型(结合你前面快门对比)

  • 优先全局快门 CMOS:高速运动无果冻畸变,适合机械手飞拍、盘面动态振料识别;缺点噪声略高。
  • 备选全局复位释放(Global Reset Release) :低噪声,同样无运动畸变;必须搭配频闪闪光灯,柔性上料高速场景很适合精密小件。
  • ❌ 卷帘快门:只适合低速,高速飞拍会严重果冻变形,一般不推荐。

曝光策略:极短曝光 + 频闪光源(50~200μs),用光源闪光冻结运动,降低对相机快门压力,消除运动模糊;频闪和相机触发信号硬件同步,抖动控制在微秒级。

2. 触发方式(3 种主流)

  1. PSO 位置同步输出(运动控制器硬件触发,工业首选)
    运动控制器实时读取机械手伺服编码器位置;预先设定触发坐标,当轴走到该位置,硬件直接输出触发信号给相机 + 频闪灯,不受软件延时影响,抖动极小。SCARA/Delta/PPU 机械手柔性上料最常用(正运动、倍福等控制器支持)。
  2. 光电传感器触发(简易方案)
    光电 / 光纤传感器检测吸嘴 + 物料进入相机视野,IO 触发拍照;适合速度不高、成本受限场景。缺点:触发位置有一定偏差,高速时一致性不如 PSO。
  3. 软件定时触发
    视觉软件按运动速度预估时间发触发;只适合低速,抖动大,高精度项目不推荐。

3. 控制流程(抓取后飞拍纠偏标准流程)

  1. 柔性振盘打散物料 → 上相机识别盘面物料坐标 → 机械手抓取物料
  2. 机械手沿轨迹向放料区移动,途经飞拍相机视野
  3. PSO / 光电触发相机 + 频闪,运动中抓拍图片
  4. 视觉实时计算:物料相对吸嘴中心的 ΔX、ΔY、Δθ
  5. 运动控制器在线实时修正机器人目标放料坐标(轨迹动态补偿)
  6. 机械手按纠偏后的坐标放置物料,全程无需停机等待拍照

3 套主流方案对比

方案 A:振盘上相机 + 机械手后增加底视飞拍相机(双相机方案【最常用,高精度摆盘】)

  • 架构:相机 1(顶视,固定在柔性振动盘上方)识别散料,输出抓取坐标;相机 2(底视飞拍相机,安装在机械手移动路径下方)做飞拍二次纠偏
  • 优点:
    • 盘面抓取粗定位,飞拍动态纠偏,放料精度大幅提升(适合 0.01~0.05mm 精密装配)
    • 节拍高,不额外增加等待时间
  • 缺点:多一套相机光源,成本更高,标定更复杂
  • 适用:3C 小零件、连接器、芯片、精密五金摆盘

方案 B:单相机,直接在振动盘盘面飞拍识别(无后置纠偏相机)

  • 架构:仅顶部固定相机,物料在振动盘动态振动状态下直接飞拍识别,识别合格物料直接抓取,无二次拍照
  • 实现要点:相机全局快门 + 频闪,和柔性盘振动相位做同步,在振动速度最低点触发曝光,减少模糊
  • 优点:硬件最简,成本低,占地小
  • 缺点:只有一次定位,抓取后吸嘴偏移、物料姿态变化无法补偿,放料精度有限
  • 适用:精度要求不高、简单上料 / 收纳场景

方案 C:机器人自带视觉 + 机载相机飞拍(移动相机方案)

  • 架构:相机装在机械手末端随动,相机跟着物料一起运动,相对静止拍照;本质是随动视觉,也常被称为飞拍
  • 优点:视野跟随物料,安装灵活;
  • 缺点:末端增加重量,降低机械手动态性能,高速节拍受限,线缆易疲劳,少用在高速柔性上料。

三、关键调试难点

  1. 时序同步:相机、频闪、伺服触发信号必须硬件同步;软件通讯延迟会带来定位漂移,优先 PSO 硬件触发
  2. 标定:九点标定 + 工具中心点 TCP 标定;飞拍要额外做运动轨迹动态补偿标定,消除运动带来的图像坐标系误差
  3. 模糊控制:机械手移动速度越快,要求曝光时间越短,光源功率要足够;优先频闪而不是常亮光源
  4. 抖动:柔性盘振动、机械手高速启停会带来振动,相机安装必须减震

拖影计算

只要物体存在运动,拍摄就一定会存在拖影,那么如何判断飞拍项目能否使用?拖影是否会对飞拍造成影响呢?这就要看具体的检测精度要求了,例如对于尺寸测量的项目,拖影对测量精度会有严重影响,在这种情况下,就会要求拖影长度尽可能短,要求不超过1/3像素,或者不超过一个像素等;而对于识别、计数等相关的项目则对拖影的要求会相对宽些,这些要求一般情况下如此,并非绝对,具体需要看实际情况需求。下面详细计算拖影和精度要求之间的关系。

拖影对飞拍不造成影响的条件为:曝光时间*物体运动速度 ≤ 运动方向精度需求

例如:相机现在的曝光时间是2000us,传送带运动的速度是100mm/s,使用的相机分辨率为2448*2048,视野范围是300mm*250mm,物体运动的方向是水平方向,精度要求拖影不超过1/2像素。此时的场景能满足飞拍要求吗?

拖影距离=曝光时间*物体运动速度=2000*100/1000000=0.2mm

水平像素要求=水平视野长度/分辨率*要求像素=300/2448*1/2=0.061mm

由于0.2mm>0.061mm,所以无法满足此飞拍运动场景的精度要求。

根据上面的公式我们就有了两种解决办法:

(a)降低相机的曝光时间

根据上面例子继续计算,0.061m/100mm/s=0.00061s=610us

所以曝光降低到610us以下时,拖影就不会超过1/2像素,精度就能够达到要求。但是注意,降低曝光后需要加强光源亮度或调大光圈来让图片达到同一亮度。

(b)降低传送带的运动速度

同理根据上面的例子继续计算,0.061mm/2000us=0.0000305mm/us=30.5mm/s

所以传送带速度降低到30.5mm/s时,拖影就不会超过1/2像素,精度就能够达到要求。

寄生光灵敏度PLS影响拖影

飞拍的拖影与被拍摄物体的运动速度、曝光时间强相关。除此之外,还可能与图像传感器(Sensor)有关系,一般来说,Sensor在进行电荷读出过程中,同时也还是在接收外部光信号的输入,形成寄生光电荷,通常用寄生光灵敏度(Parasitic Light     Sensitivity,缩写为PLS)来表征。一旦PLS足够大,当前帧读出阶段所产生的寄生光,可能会在下一帧图像中形成影响,如边缘阴影或者过渡带。

PLS的问题无法根除,一般有两种方式减弱:

(1)通过与机械快门的同步配合,通过减少读出阶段的进光量来减弱

(2)选择PLS小的全局快门Sensor

相机和频闪光源的同步问题

异常现象:

用的频闪控制器,线的接法是plc用io触发控制器光源,然后控制器会同步触发相机拍照。结果会看到连续触发时,有时候能拍到几张物料,亮度还有变化,有时候拍出来一片黑。(频闪频率与相机采集频率不一致)

解决方法:

1、确认相机曝光时间:根据机械确定的最大速度以确定相机的最小曝光时间

2、调整光源延时,光源延时其实是和相机的曝光时间匹配的,两者肯定不会相差过大,当调节不正确的话,拍出来要么是全黑,要么是不够亮度。

频闪控制器相关参数解释:

频闪脉宽: 决定了光源的亮度,越大则光源频闪越亮。

光源延时: 上面说过了,设置适当的值可以解决光源与相机不同步的问题。

相机延时: 设置为0,看情况定。

内触发周期: 这个在勾选内触发时有用,调试的时候可以勾选自拍用。