基于点激光和视觉引导的瓶口螺纹测量系统∗
2021-03-13张爱云王吉华高
张爱云王吉华高 崴
(1.无锡职业技术学院汽车与交通学院,江苏 无锡 214121;2.中国第一汽车有限公司无锡油泵油嘴研究所,江苏 无锡 214063)
医药罐体因存放液体类药品,所以在制造加工过程中对尺寸精度有着较高的要求。 目前,人工测量主要依靠卡尺来判断罐体的尺寸是否符合密封性的要求。 在工业自动化、智能化逐步的今天,这样的方法存在诸多缺点:人工测量时难以保证罐体竖直或卡尺定位准确,从而引入测量误差;人工测量的精度低且容易因主观原因引入误差。 目前,非接触测量技术因智能化程度高、检测效率高等优点在工业在线检测、测量方面得到了广泛的应用。 其中机器视觉技术[1-4]、激光传感器[5-8]、三坐标测量机[9-10]这三种主流的方案在解决尺寸测量问题时有着各自的优缺点。 机器视觉技术具有速度快、效率高的优点,但其难以满足特别高精度的测量且容易受工件表面反光以及外部环境的影响;激光传感器的测距精度高但其对作业条件的要求较为苛刻,且价格昂贵;三坐标测量机能够实现较高精度的测量且不易受到外部干扰,但是工作效率低。 杨延竹等[11]设计了一种基于机器视觉的冲压件感兴趣区域尺寸测量系统,能够快速测量ROI 内的工件尺寸,但是绝对精度只能达到0.02 mm;苏钊颐等[12]使用激光位移传感器来测量城轨列车车轮的轮缘尺寸,其测量效率相较于人工测量有一定的提升,但是因为轮缘整体尺寸较大,尺寸测量的绝对精度仅为0.2 mm;黄风山等[13]设计了一种基于智能三坐标测量机的零件位姿单目立体视觉识别方法,通过在两个地方采集图像来模拟双目立体视觉原理,并通过特征点的坐标来估计物体的三维坐标,估计的过程用时为1.818 s,基本满足实时性要求。
医药罐体在加工过程中需要经历吹塑工序,导致其外表面较为光滑、明亮,若使用机器视觉的方法对螺纹进行尺寸测量,产生的反光、倒影等干扰会影响检测结果的精度;同时,尺寸测量的精度与待测的数据量存在一定的关联,若使用机器视觉的方法,即使是2000 万像素的面阵相机或是高分辨率的线扫相机,获得的像素数也仅为5000 左右,较少的数据量无法准确地描述螺纹的轮廓;除此以外,使用激光传感器来测量螺纹的边缘距离,如何对这些离散的螺纹点进行聚类以及拟合也是需要解决的问题。 综上所述,本文拟克服这些难点设计一套基于点激光和视觉引导的瓶口螺纹测量系统。
1 系统整体方案
本文测量的医药罐体工件整体呈圆柱形,上端瓶口处存在待测螺纹。 需要测量的尺寸参数包括内腔径、螺纹外径、螺根直径和螺距四种,如图1 所示。
图1 罐体与螺纹尺寸示意图
本文设计的测量系统需要测量的罐体分为100 mL、1 L、2.5 L 三种型号,具体参数如表1 所示。
表1 三种规格的螺纹尺寸参数表
由于螺纹尺寸的测量精度要求较高,为避免罐体些微倾斜带来的误差,需要以瓶口为定位基准来校正工件与视觉系统。 考虑到医药罐体的瓶身与底面垂直度要求并不高,若以底面为基准面来进行螺纹数据采集,可能会产生偏差从而对结果产生影响,如图2(a)所示。 为了减小瓶身倾斜带来的系统误差,同时考虑到夹取式手爪会对激光传感器的数据采集产生干扰,本文使用内撑式摩擦手爪从内部撑住瓶口来实现罐体的夹取,以瓶口上表面为校准平面完成螺纹数据采集系统的校准,如图2(b)所示。
图2 数据采集系统校准模型
本文所设计的测量系统总计包含1 个视觉工位和3 个点激光工位,其中视觉工位与顶部点激光传感器A、夹持装置搭配组成移动检测模组,实现工件的精确定位与内腔径的测量。 激光传感器B、C 固定不动,位于机床检测坐标系点B、C,两者的焦点保持在同一直线且连线的中点为螺纹尺寸采集点。 为了避免焦点的不一致带来的精度误差,在实际测量之前会使用标准件进行测量与补偿。 最后,夹持装置将罐体移动至尺寸测量点时进行数据采集。
在相机和镜头的选择上,综合考虑了物方视野、像素分辨率以及测量精度等因素,最终选用了基恩士的16 mm 定焦镜头以及大恒水星系列的MER-2000-5GM 型面阵相机,该相机的分辨率为5 496×3 672。 在光源的选择上,考虑到工件本身的透光性以及封闭的测量环境,选用了低角度的白色环形光。最后是点激光传感器的选择,综合考虑了测量精度以及瓶口规格,最终选择了基恩士的IL-030 点激光传感器,能够达到160 mm~450 mm 的测量距离以及1 μm 的Z向精度,基本满足重复精度的需求。硬件系统的示意图如图3 所示。
图3 系统结构示意图
测量系统的工作流程图如图4 所示。
图4 系统工作流程图
其运行流程如下:
Step 1 物流线机械手将工件放置于检测坐标系原点;
Step 2 系统控制移动检测模组在XY平面移动,激光传感器A 测量罐体的高度,根据高度信息判断罐体的型号;
Step 3 根据型号得到待测罐体的高度L,结合面阵相机的标定工作距离D将检测装置沿着Z轴方向移动至L+D的位置,使相机对焦到瓶口处;
Step 4 完成图像采集,在此基础上完成瓶口中心的测量并根据预先标定的X、Y方向像素分辨率计算得到瓶口的三维坐标;
Step 5 夹持装置根据瓶口的精确空间坐标夹持罐体进行端面校准;
Step 6 工控机控制伺服系统运动,同时,编码盘信号触发数据采集卡采集点激光传感器B、C 与螺纹的距离数据,计算得到螺纹尺寸;
Step 7 系统控制移动检测模组将工件放回检测坐标系原点,采集图像完成内腔径的测量,结合螺纹尺寸将罐体分为良品和差品;
Step 8 物流线机械手完成下料。
2 软件算法设计
考虑到上料装置存在一定的定位误差且罐体有倾斜的可能性,因此需要在夹持工件之前添加视觉引导定位以获知罐体的具体型号。 本文的视觉引导定位方案如图5 所示。 首先,在测量平台上对相机和镜头进行标定和校准,将视野对焦至测量平台上,此时镜头距离测量平台的距离为L;接下来,在罐体完成上料后,使用点激光传感器A 获知物体的实际高度h;下一步将视觉装置移动至L+h的高度,此时相机的对焦平面为瓶口区域所在平面;最后使用图像处理的方法计算得到瓶口中心的位置,根据预先标定的参数将其转换到世界坐标系中,此时瓶口中心的坐标为(Xp,Yp,h)。
图5 视觉引导定位方案示意图
在螺纹尺寸的测量上,本文使用两个高精度点激光测距传感器来进行螺纹数据的获取,其测量模型如图6 所示。
图6 螺纹轮廓测量模型图
夹持装置完成装夹后,沿着Z轴方向进行移动,移动过程中获取点激光传感器B、C 与螺纹的距离数据,移载距离总计15 mm,满足3 种型号的罐体所对应的规格。 为了保证螺距的测量精度,在15 mm 的移载过程中,编码盘累计发出30 000 个脉冲来进行螺纹轮廓的数据采集,单个螺纹轮廓点在Z轴上的跨度为0.000 5 mm。 最后,根据已知的点激光传感器之间的距离D,减去两个传感器测得的轮廓距离值,即可得到瓶口螺纹的尺寸参数。
本文的软件算法流程图如图7 所示。 针对上料位置的动态变化,使用图像处理的方法完成医药罐体的精确定位;针对螺纹尺寸测量的高精度要求,使用点激光传感器完成数据的采集,并根据梯度值的区间筛选得到牙顶和牙底轮廓点;最后,针对螺纹的复杂外形,使用最小二乘算法完成螺纹轮廓的拟合,最终根据测量模型计算得到螺纹外径、螺根直径等尺寸参数。
图7 软件算法流程图
3 图像处理算法设计
3.1 瓶口坐标计算方法
首先,测量系统根据上料位置的初始坐标获得瓶口图像T,如图8 所示。 瓶口区域没有位于图像中央,若使用该图像进行内腔径的测量会引入新的误差,因此需要进行精确校准,使瓶口位于图像的中央。
图8 瓶口图像
从图中可以看到,瓶口内沿区域相比于外边缘亮度较低,且因为材质的原因该类罐体在同样的打光条件下均呈现出近似的灰度差异。 因此本文采用大津法[14]对罐体图像区域进行灰度分割,从而得到待测的瓶口内腔径区域,如图9(a)所示。 然后,对该区域进行连通域分析,使用文献[15]提出的随机增量算法完成圆弧的拟合,从而得到瓶口中心的像素坐标☉(x0,y0),如图9(b)所示。
图9 瓶口中心计算示意图
将瓶口中心的像素坐标与相机系统的标定参数进行相关运算,最终得到瓶口的三维坐标系,如式(1)所示:
式中:Xp、Yp、Zp分别代表瓶口中心点在世界坐标系中的位置;X0和Y0则是相机中心在世界坐标系中的坐标,为已知值;W和H则分别代表图像的水平、竖直像素分辨率,在本系统中为5 496 和3 672;最后的θx和θy则分别代表X方向和Y方向上的像素分辨率,在系统标定完成后即为固定值。
3.2 内腔径测量算法
完成瓶口坐标的初步计算后,系统控制夹持装置夹持罐体运动至螺纹数据采集点,进行数据采集与测量。 测量完毕后,将罐体放置于基台检测坐标系原点,相机移动至瓶口中心。 重新采集图像T1进行内腔径的尺寸测量,采集的图像如图10(a)所示。
图10 内腔径图像采集
从图中可以看到,瓶口内壁与上表面的交界处存在明显的差异,同样依据亮度的差异使用大津法完成初步的分割,结果如图10(b)所示。 从结果图中可以看到,有许多灰度近似的点被提取出来了,因此需要进行干扰点的剔除。 使用式(2)对每一个点进行距离值的计算,再根据式(3)对干扰点进行剔除,剔除后的示意图如图11(a)所示。
式中:W和H则分别代表图像的水平、竖直像素分辨率,在本系统中为5 496 pixel 和3 672 pixel;θx和θy则分别代表系统的标定系数,单位为mm/pixel;dmax代表该种型号的工件内腔径的上偏差值,单位为mm,而γ则为预留的常量参数,通常为公差的0.5 倍~0.8 倍。
接下来,对剔除干扰点后的图像进行取反,如图11(b)所示。 再对内部的圆形区域使用最小包围圆算法进行圆拟合,最终得到内腔径的像素数,将其乘以标定系数即可得到最终结果,如图11(c)所示。
图11 内腔径测量结果示意图
4 瓶口螺纹尺寸测量算法设计
夹持装置完成基准平面的校正后,将罐体移动至螺纹数据采集点,完成螺纹轮廓的数据采集,得到螺纹的轮廓点集L(d),采集结果如图12(a)所示,其中红色框选出的区域为牙尖和牙根螺纹轮廓点的所在位置。
图12 螺纹数据测量结果示意图
计算每一个轮廓点的梯度值fi,梯度值fi的计算方法如式(4)所示:
式中:di+n和di分别代表序号为i和i+n的螺纹轮廓点到达点激光传感器的距离值。n为序号增量,需综合考虑数据的长度、异常数据的扰动等因素来进行选取,综合比较了10、20、50、100 等取值后,本文中的n取值为50。
最终,得到的梯度变化曲线如图12(b)所示。将图12(a)与图12(b)对照来看,当梯度值过大或过小时,螺纹轮廓的变化落差较大,该点为异常点需要排除;而当梯度值接近0 时,该点可能为牙根、牙尖轮廓点。 同时,在Step 2 中已经获取了罐体的型号,因此其螺纹外径与螺根直径的标准值可以作为一个已知参数来辅助进行筛选。 最终,牙根和牙尖轮廓点的筛选条件如式(5)、式(6)所示。
式中:DBmax和DBmin分别代表螺根直径的上偏差和下偏差;DSmax和DSmin则分别代表螺纹外径的上偏差和下偏差;ε 则为预留的常数余量,根据罐体的型号在0.005 mm~0.01 mm 之间进行选取。 最终,牙根和牙尖轮廓点的筛选结果如图13 所示。
图13 牙根、牙尖轮廓点筛选结果图
此时,轮廓点集中仍存在一些数据值波动较大的异常点,因此对轮廓点集使用最小二乘法[16]进行多项式曲线拟合,再将曲线梯度值为0 的点作为可能的牙尖轮廓点{Pm}、牙根轮廓点{Pn},并根据坐标值来计算尺寸参数,各尺寸参数的计算公式如式(7)所示,拟合的结果如图14(a)、14(b)所示。
图14 曲线拟合结果示意图
式中,DS、DB、DD分别代表计算得到的螺纹外径、螺根直径和螺距;¯Pm、¯Pn分别代表两个轮廓点集合中的平均距离值;m1、m2则分别代表牙尖轮廓点集合中相邻的两个轮廓点的序号。
5 试验设计与分析
为证明本文设计的系统能够准确测量医药罐体瓶口螺纹的尺寸,设计了如下实验。 实验中的数据来源于设备实际运行过程中采集到的瓶口图像与螺纹数据。
5.1 精度验证实验
为了验证本文设计的系统能够有效且鲁棒地测量医药罐体的内腔径、螺纹外径、螺根直径和螺距,本文设计了如下实验。 以容量为1 L 的罐体为例,随机挑选了20 个样本并且使用三坐标测量机进行精确测量得到标准值,再用本文系统对其进行测量得到测量值,将两者相减并取绝对值得到测量偏差,汇总后如图15 所示。
图15 医疗罐体绝对精度测量结果
从图15 中可以看到,内腔径、螺纹外径和螺根直径三种尺寸测量的绝对精度能够达到0.006 mm,而螺距尺寸测量的绝对精度能够达到0.008 mm,基本满足测量的基本要求。
同时,为了验证本文系统的绝对精度,本文设计了如下实验。 对于同一罐体,进行重复多次上料测试,并将测量结果汇总,结果如图16 所示。
图16 医疗罐体重复精度测量结果
从图中可以看到,在大多数情况下,4 种尺寸的测量精度偏差均在0.003 mm 以内,仅有少部分螺距的偏差值会有波动。 进行误差分析后发现,螺距值产生偏差的原因与夹持装置的作业方式有一定的关联,同时夹持装置在采集数据时会沿着Z 轴移动,过程中夹持装置的抖动同样会引入部分误差。
5.2 系统精度对比实验
为验证本文系统相较于人工测量和三坐标测量机在测量速度与精度上有较大的提升,本文设计了如下对比实验。 首先挑选了3 种尺寸型号的医疗罐体各100 个,并使用三坐标测量机测量得到标准值,再分别安排人工使用卡规和本文系统对其进行测量,分别记录测量时间与平均误差,统计的结果如表2、表3 所示。
表2 检测时间统计表单位:s
表3 三种型号样品的平均误差统计表单位:mm
实验结果表明,本文系统的测量速度相较于三坐标测量机有较大的提升,但比人工卡规测量的速度要略低。 且人工卡规测量因为无法确保卡尺能够精确抵住瓶口螺纹的轮廓,存在一定的角度偏差从而导致错检。 因此本文的方案在整体表现上优于三坐标测量机以及人工测量的方案。
除此以外,本文还将系统精度与近些年螺纹尺寸测量算法的精度进行比对分析,结果如表4 所示。
表4 螺纹尺寸测量精度误差统计表单位:mm
从表中数据可知,本文算法的测量精度整体上优于形态学方法和特征点法,但略差于NCC+角点检测的方法。 这主要是由测量对象的差异所引起的,NCC+角点检测算法测量的螺纹尺寸约为5 mm,而本文的螺纹尺寸则大于30 mm,如果使用视觉传感器进行数据采集则像素分辨率会极大降低导致精度降低。 同时,以上算法的精度验证数据多为实验室内获取,且测量对象以及重复测量次数较少,无法确保该算法在工业生产环境下的鲁棒性。 综上所述,本文系统能够在确保鲁棒性的前提下拥有较高的测量精度。
6 结论
为了解决医药罐体瓶口螺纹测量存在的人工测量精度低、三坐标机测量速度慢的问题,本文设计了一套基于点激光和视觉引导的瓶口螺纹测量系统。该系统采用视觉引导完成医药罐体的精确定位,使用高精度激光测距传感器完成螺纹轮廓的数据采集。 最后,使用最小二乘算法完成螺纹轮廓的拟合,并在此基础上分别计算螺纹外径、螺根直径等尺寸。试验结果表明,该测量系统在测量精度上相较于人工测量有了较大的提升,能够准确地测量出不同规格的螺纹尺寸,测量的绝对精度能够达到0.01 mm,重复精度能够达到0.003mm。 测量速度上略慢于人工测量但是基本满足工业生产线上的测量节拍,在实际生产应用中具有良好的可行性。