一、案例背景
1. 行业需求
传统汽车行业的插针检测,经常需要判断一排针脚的有无、偏移,有时甚至需要输出哪跟针脚有无,以及对应的偏移量等等
2. 行业痛点
传统的检测方法通过创建一个mark点,通过测量每个针脚到该点的平面距离及高度差来判断有无及偏移。但是该方法存在两个问题:
(1)很多样品的生产工艺要求并不高,导致针脚周围的物料本身就不太固定,存在一定偏移和误差,即mark点自身就不准,无法建立一个统一标准去实现每个物料的检测。
(2)有些插针比较深,根据3D相机成像原理会导致我们的相机会造成部分盲区。需要扫描几次或多相机扫描拼接等,成本较高。
二、解决方案
1. 硬件方案:
由于针脚本身易反光,且针脚较小,我们选取精度较高的DP-2060-01H进行扫描。
2. 架设方案
(1)相机倾斜架设,解决视野盲区问题,随之带来的问题是坐标系发生变化,图像畸变,高度信息并不准确
(2)解决方案:使用3DMVS客户端自带的动态标定,修正坐标系变化带来的图像畸变。
3. 软件方案-核心算子——配准定位
针对行业痛点,海康机器人VM3D算法平台开发出一个新算子:输入我们模板样品针脚的空间三维坐标,进行建模排序,然后输入其他样品,即可输出对应模板的XYZ残差分量。
4. VM搭建流程
原图
(1)图像输入和定位:用于修正来料的偏移,切记不要使用被测物的针脚建立模板,因为针脚本身可能存在缺陷,会造成误差。要找到稳定的特征来建立模板。
(2)图像处理:因为3D轮廓仪对针脚扫描的过程中,会在针脚附近产生很多噪点,我们通过法向量滤波过滤掉一些噪点,避免其成为针脚有效点。我们通过高度抽取模块来提取出指定高度(正常针脚的高度范围)的针脚图像,避免其他平面的图像影响BOLB模块对针脚的选取。
图像处理效果图
(3)通过在循环中,用统计测量去遍历每个针脚,即可得到每个针脚的高度信息即Z坐标,然后输入到点集中保存
(4) 将上述点集输出循环,输入到配准定位中,进行算法处理,与建模的针脚(第一次用模板图进行建模)进行比对,输出各个针脚的残差值,即每个针脚的XYZ物理坐标相对模板的XYZ物理坐标的差。
建模界面
输出界面
(5) 配准定位的输出输入到循环模块中,将每个残差值进行判断是否符合设定的阈值,最后到处每个残差值的输出文本。
标准品
点云图
检测效果
残次品
点云图
检测效果
三、方案优势
(1)使用该方案,可以很好的消除视野盲区,且可以通过动态标定修正图像
(2)我们计算的是针脚之间的相对位置,无需找到所谓的mark点,即不受除针脚外其他像素的干扰
注:以上是基于当前插针检测项目的需求所搭行业方案,若有其他更优的实现思路,欢迎留言交流探讨。