一种基于机器视觉的箱体定位控制系统及其方法
技术领域
本发明属于伺服控制和机器视觉领域,具体涉及一种基于机器视觉的双层箱体定位控制系统及其方法。
背景技术
在化工厂某些产品的灌装工艺中,装料箱的内层为铁制包装箱,外层为木质保护箱。本专利中,将这种内外双层的装料箱统称为双层箱体。在其灌装时,要求通过调整外层木质保护箱的位置使得内层铁质包装箱的圆形装料口对准灌料口,以便实施灌料操作。传统的灌料工艺中,通常依靠人工进行判断定位和修正箱体位置,而人工测量存在检测速度慢、不能批量同时检测、测量精度不高等问题,从而导致生产线效率低、对准率低且自动化程度低,急需进行智能化改造。
发明内容
本发明的目的是解决现有的箱体灌装生产线中箱体定位不准导致灌装过程中出现抛洒问题,提供一种利用机器视觉、伺服控制和信息技术的箱体定位控制系统及其方法。
本发明所提出的技术问题是这样解决的:
一种基于机器视觉的箱体定位控制方法,包括以下步骤:
步骤1.安装于流水线装料位前侧的限位开关,在装料箱到达装料工位后挡停装料箱,限位开关挡停后向PLC控制器发送装料箱到达工位的模拟电流信号,PLC将其转换为数字信号,通过某一通信协议将该信号发送到工控机,同时修正次数i置为零;
步骤2.工控机收到信号后,控制安装于装料箱两侧的工业相机A和B,分别采集X和Y两个方向上当前箱体的图像,采集到的图像信息实时传送给图像信息处理单元,通过模板匹配切割出装料箱箱口的部分;
步骤3.针对步骤2切割出的箱子箱口图片,利用高斯滤波对其进行降噪,图像处理单元的工控机对图像进行预处理,使用Canny算法提取箱体图像边缘;
步骤4.以灌料口的圆心为基准位置,计算得到装料箱箱口实际圆心分别与该基准在X、Y方向上的位置偏差ΔA_X和ΔA_Y,进而得到执行单元的气动气缸需要推动的距离,如果该距离小于设定阈值,则顶升机构抬升执行装料操作,装料完毕后气缸退回初始位置,然后返回步骤1,否则判断修正次数i是否小于3,如果i小于3,则依照偏差距离值控制执行单元的气缸运动修正箱体,修正次数i加1,然后返回步骤2,如果i不小于3,则人工进行修正对齐,然后执行装料操作,装料完毕后气缸退回初始位置,返回步骤1。
本发明步骤2包括:
步骤2-1.读取拍摄获得的目标图像I(x,y)和事先准备好的装料箱箱口模板图像T(x,y),其中,(x,y)表示图像中像素的坐标,I(x,y)表示目标图像,T(x,y)表示已知的用来匹配的箱口模板图像;
步骤2-2.利用标准化插值平方和匹配算法进行模板匹配,首先对模板图像和目标图像进行标准化处理,以保证当模板和图像各个像素的亮度都乘上了同一个系数时,相关度不发生变化,此方法利用图像与模板各个像素差值的平方和来进行匹配,匹配越差,匹配值越大,标准化插值平方和匹配算法的数学公式如下所示:
其中,R(x,y)的值表示了(x,y)位置处的相似度。
步骤2-3.将获得的匹配结果进行归一化处理,其中归一化处理函数如下所示:
其中,dst(x,y)为图像矩阵归一化后的像素值,R(x,y)为匹配图像结果中的像素值,min(R(x,y))为匹配图像结果中像素最小值,max(R(x,y))为匹配图像结果中像素最大值,min为归一化范围最小值,max为归一化范围最大值。
本发明步骤3包括:
步骤3-1.利用高斯滤波函数,对装料箱箱口图像进行预处理。用模板图像T(x,y)扫描装料箱箱口图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值;采用高斯二维滤波对装料箱箱口图像进行预处理,如公式(3)所示:
其中,G(u,v)为像素值,σ为加权系数,u,v为像素坐标;
步骤3-2.对装料箱箱口图片进行灰度化处理,计算公式如下式(4):
Gray=R×0.299+G×0.587+B×0.114 (4)
其中,R、G、B为彩色图像的三个通道,Gray为转化后的结果,然后利用高斯滤波器平滑图像,高斯平滑函数为:
其中,f(x,y)为原图像矩阵,H(x,y)为高斯核,G(x,y)是平滑后的矩阵,x,y为像素坐标;
步骤3-3.然后计算平滑后的图像x和y方向的梯度值gx(x,y)和gy(x,y),如果一个像素点在梯度方向上的梯度值最大,则属于边缘,否则不是边缘,将灰度值设为0,从而获得箱口的边缘灰度图像;
计算得到综合梯度的梯度值g(x,y)和梯度方向θ的公式如下:
本发明步骤4包括:
步骤4-1.通过A相机对获得的装料箱箱口边缘图像的每一列黑白像素值进行求和,然后搜索内层箱子箱口的最大直径的两端像素的位置left和right,以此寻找箱口X方向的中心,同理,利用B相机获得的装料箱箱口边缘图像寻找箱口Y方向的中心,从而定位出箱子的位置信息。
对A和B相机寻找各自方向中心的具体实现方法,均包括如下三步:
第一步,读取装料箱箱口边缘灰度图像,因为图像在计算机程序中是以矩阵形式存储,通过获得图像矩阵维度即可得到图像的尺寸height和width,然后根据黑色像素值为0和白色像素值为255,判断每列像素值等于255还是0,从而计算得到图像的每一列黑白像素个数的总和,并记录其中黑色像素个数最大值为black_max及白色像素个数最大值为white_max,如果黑色像素的总数s大于白色像素的总数t,表明获得的箱口边缘图像是黑底白字,即图像背景为黑色箱口边缘为白色;
第二步,然后初始化箱口最左端像素位置left=1、箱口最右端像素位置right=2和搜索次数n=1,如果n<width-2,则判断第n列的白色像素总数white[n]是否大于α×white_max的值,其中α是经验值,若white[n]不大于α×white_max,则表明第n列仍位于图像黑色背景中未检测到白色箱口边缘,然后n+1返回继续判断下一列像素白色总数是否满足要求;
第三步,利用箱口最左端位置left的左边全是黑色像素背景,没有白色像素,然后从左至右检测到箱口最左端位置时有白色像素,满足white[n]>α×white_max,则表明检测到白色箱口最左端像素位置,令最左端像素位置left=n,然后使用同样方法从left+1列寻找箱口最右端像素位置right,判断第m列的黑色像素总数black[m]是否大于β×black_max的值,其中β是经验值,利用箱口最右端位置right的右边全是黑色像素背景,其左边因为在白色箱口中有白色像素导致不能满足black[m]>β×black_max,若black[m]>β×black_max,表明检测到箱口最右端像素位置right=m,则箱口的中心即为(right-left)/2,否则m+1返回继续判断,直到满足条件输出箱口中心的位置信息。
步骤4-2.以灌料口的圆心为基准位置,计算得到装料箱箱口实际圆心分别与该基准在X、Y方向上的位置偏差信息ΔA_X1和ΔA_Y1后,若小于对准偏差ε,则转至步骤4-6,否则通过A、B气缸组推动箱体,从而对箱体位置进行一次修正,再根据图像信息利用步骤4-1中的算法计算一次修正后的位置偏差ΔA_X2和ΔA_Y2,根据ΔA_X2和ΔA_Y2是否小于对准偏差ε,判断内层箱子箱口与灌料口是否对齐;
步骤4-3.若ΔA_X2和ΔA_Y2均小于ε,则箱体已经对齐,转至步骤4-6;
步骤4-4.若ΔA_X2和ΔA_Y2大于ε,则对箱体进行二次修正,并根据图像信息利用步骤4-1中的算法得到修正后的位置偏差ΔA_X3和ΔA_Y3,若ΔA_X3和ΔA_Y3均小于ε,则箱体已对齐,转至步骤4-6;
步骤4-5.若ΔA_X3和ΔA_Y3大于ε,则对箱体进行第三次修正,并根据图像信息利用步骤4-1中的算法得到修正后的位置偏差ΔA_X4和ΔA_Y4,若ΔA_X4和ΔA_Y4均小于ε,则箱体已对齐,转至步骤4-6,否则仍未对齐,进行报警,由人工修正对齐,然后转入步骤4-6;
步骤4-6.顶升机构完全抬升使得装料箱箱口与灌料口对接执行装料,装料完成后气缸回到初始位置。
本发明提供的一个基于机器视觉的箱体定位控制系统,包括限位开关、图像采集单元、工控机、PLC控制器、气动气缸、顶升机构,所述的图像采集单元包括工业相机A和B;限位开关安装于流水线装料位前侧,在装料箱到达装料工位后挡停装料箱,限位开关挡停后向PLC控制器发送装料箱到达工位的模拟电流信号,PLC控制器将其转换为数字信号,通过RS485总线将发送到工控机;工控机收到信号后,控制安装于装料箱两侧的工业相机A和B,分别采集X和Y两个方向上当前箱体的图像,采集到的图像信息实时传送给工控机;气动气缸收到工控机计算出的装料箱箱口实际圆心与灌料口的圆心在X、Y方向上的位置偏差后推动装料箱并且顶升机构抬升装料箱到指定位置。
进一步地,PLC控制器通过RS485总线将数字信号发送到工控机。
进一步地,工控机通过网线控制安装于装料箱两侧的工业相机A和B。
本发明的有益效果是:本发明所述方法通过机器视觉、伺服控制和信息技术解决了传统箱体定位灌装生产线中定位精度低、自动化水平低等问题。针对传统边缘检测算法在包装箱轮廓边缘快速、高精度提取应用中面临的问题,对现有Canny算法进行改进,在高、低梯度阈值设定等环节引入自适应调整策略,如基于梯度幅度直方图和类内方差最小化等。包装箱体轮廓获得以后,对提取出来的轮廓进行圆心定位,可得到精确的包装箱内铁箱位置。本发明方法在箱体定位中有较高的定位精度和智能化水平。
附图说明
下面结合附图和
具体实施方式
对本发明方法做更进一步的说明,本发明的上述或其他方面的优点将会变得更加清楚。
图1为本发明所述箱体控制系统流程图;
图2为本发明实施例的双层箱体原图;
图3为本发明中相机和气缸安装位置俯视图;
图4为本发明中相机和气缸安装位置主视图;
图5为本发明中X方向偏差计算原理图;
图6为本发明实施例的滤波后的图像转化的灰度图像;
图7为本发明实施例的经Canny算子检测边缘的图像;
图8为本发明中控制系统及气缸执行机构示意图。
具体实施方式
下面结合附图和实施例对本发明进行进一步的说明。
近年来,随着计算机视觉技术的发展,基于视觉的尺寸测量成为可能。利用机器视觉和图像处理技术,不仅能够降低工作人员的工作强度,而且能显著提升工作效率和测量精度。使用图像处理技术取代人工判读,降低了因人工长时间工作引起的视觉误差和由于测量者本身的工作习惯导致的读数误差,减少测量器具的读数误差和瞄准误差。
利用机器视觉、伺服控制和信息技术等手段,在箱体定位和修正等环节集成创新,通过包装箱轮廓及铁箱装料口动态位置的识别及高精度定位控制技术,解决灌装过程中的抛洒问题。有效提高工厂的自动化和智能化水平,为箱体智能化定位和控制做出积极贡献。
为方便描述,在此将该双层箱体统一称为箱体,内层箱口统一称为装料箱箱口。
本实施例提供一种基于机器视觉的箱体定位控制系统,如图2、图3所示。本发明方法所构建的箱体定位控制系统包括限位开关、图像采集单元、工控机、PLC控制器、气动气缸、顶升机构,所述的图像采集单元包括工业相机A和B;限位开关安装于流水线装料位前侧,在装料箱到达装料工位后挡停装料箱,限位开关挡停后向PLC控制器发送装料箱到达工位的模拟电流信号,PLC控制器将其转换为数字信号,通过RS485总线将发送到工控机;工控机收到信号后,控制安装于装料箱两侧的工业相机A和B,分别采集X和Y两个方向上当前箱体的图像,采集到的图像信息实时传送给工控机;气动气缸收到工控机计算出的装料箱箱口实际圆心与灌料口的圆心在X、Y方向上的位置偏差后推动装料箱并且顶升机构抬升装料箱到指定位置。PLC控制器通过RS485总线将数字信号发送到工控机。工控机通过网线控制安装于装料箱两侧的工业相机A和B。
箱体定位控制系统流程图如图1所示,包括以下步骤:
步骤1.安装于流水线装料位前侧的限位开关,在装料箱到达装料工位后挡停装料箱,限位开关挡停后向PLC控制器发送装料箱到达工位的模拟电流信号,PLC控制器将其转换为数字信号,通过RS485总线将发送到工控机,如图8所示;
步骤2.工控机收到信号后,通过网线控制安装于装料箱两侧的工业相机A和B,如图3、4所示,分别采集X和Y两个方向上当前箱体的图像,如图2所示,采集到的图像信息实时传送给工控机,通过模板匹配切割出装料箱箱口的部分;
本发明步骤2包括:
步骤2-1.读取拍摄获得的目标图像I(x,y)和事先准备好的箱口模板图像T(x,y),其中,(x,y)表示图像中像素的坐标,I(x,y)表示目标图像,T(x,y)表示已知的用来匹配的箱口模板图像;
步骤2-2.利用标准化插值平方和匹配算法进行模板匹配。首先对模板图像和目标图像进行标准化处理,以保证当模板和图像各个像素的亮度都乘上了同一个系数时,相关度不发生变化,此方法利用图像与模板各个像素差值的平方和来进行匹配,匹配越差,匹配值越大。
上述的标准化插值平方和匹配算法的数学公式如下所示:
其中,R(x,y)的值表示了(x,y)位置处的相似度。
步骤2-3.将获得匹配结果进行归一化处理,其中归一化处理函数如下式(2):
其中,dst(x,y)为图像矩阵归一化后的像素值,R(x,y)为匹配图像结果中的像素值,min(R(x,y))为匹配图像结果中像素最小值,max(R(x,y))为匹配图像结果中像素最大值,min为归一化范围最小值,max为归一化范围最大值。本实例设置min=0,max=1,即将图像矩阵归一化到0和1之间。
步骤3.针对步骤2切割出的装料箱箱口图片,利用高斯滤波对其进行降噪;
本发明步骤3包括:
步骤3-1.利用高斯滤波函数,对装料箱箱口图像进行预处理。用模板图像T(x,y)扫描装料箱箱口图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值;
采用高斯二维滤波对装料箱箱口图像进行预处理,如公式(3)所示:
其中,G(u,v)为像素值,加权系数σ取值为0.5,u,v为像素坐标;
步骤3-2.对步骤3-2中获得的装料箱箱口图片进行灰度化处理,如图6所示,然后利用高斯滤波器平滑图像;
灰度化计算公式如下式(4):
Gray=R×0.299+G×0.587+B×0.114 (4)
其中R、G、B为彩色图像的三个通道,Gray为转化后的结果,然后利用高斯滤波器平滑图像,高斯平滑函数为:
其中,f(x,y)为原图像矩阵,H(x,y)为高斯核,G(x,y)是平滑后的矩阵,x,y为像素坐标;
步骤3-3.然后计算高斯滤波后的图像一个像素点x和y方向的梯度值gx(x,y)和gy(x,y),从而计算得到综合梯度的梯度值g(x,y)和梯度方向θ,如果一个像素点在梯度方向上的梯度值最大,则属于边缘,否则不是边缘,将灰度值设为0,从而获得内层箱子箱口的边缘图像,如图7所示;
步骤4.以灌料口的圆心为基准位置,计算得到装料箱箱口实际圆心分别与该基准位置在X、Y方向上的位置偏差ΔA_X和ΔA_Y,进而得到执行单元的气动气缸需要推动的距离,如果该距离小于设定阈值,则顶升机构抬升执行装料操作,装料完毕后气动气缸退回初始位置,然后返回步骤1,否则判断修正次数i是否小于3,如果i小于3,则依照位置偏差值控制执行单元的气动气缸运动修正箱体,修正次数i加1,然后返回步骤2,如果i不小于3,则人工进行修正对齐,然后执行装料操作,装料完毕后气动气缸退回初始位置,返回步骤1。
本发明步骤4包括:
步骤4-1.通过A相机对获得的装料箱箱口边缘图像的每一列黑白像素值进行求和,然后搜索内层箱子箱口边缘图像的最大直径的两端像素的位置left和right,以此寻找箱口边缘图像X方向的中心,同理,利用B相机获得的装料箱箱口边缘图像寻找箱口边缘图像Y方向的中心,从而定位出箱子的位置信息。
对A和B相机寻找各自方向中心的具体实现方法,均包括如下三步:
第1步,读取箱口边缘灰度图像,因为图像在计算机程序中是以矩阵形式存储,通过获得图像矩阵维度即可得到图像的尺寸height和width,然后根据黑色像素值为0和白色像素值为255,判断每列像素值等于255还是0,从而计算得到图像的每一列黑白像素个数的总和,并记录其中黑色像素个数最大值为black_max及白色像素个数最大值为white_max,如果黑色像素的总数s大于白色像素的总数t,表明获得的箱口边缘图像是黑底白字,即图像背景为黑色箱口边缘为白色,如图7所示。
第2步,然后初始化箱口最左端像素位置left=1、箱口最右端像素位置right=2和搜索次数n=1,如果n<width-2,则判断第n列的白色像素总数white[n]是否大于α×white_max的值,其中α为0.02;若white[n]不大于α×white_max,则表明第n列仍位于图像黑色背景中未检测到白色箱口边缘,然后n+1返回继续判断下一列像素白色总数是否满足要求。
第3步,若white[n]>0.02×white_max,则表明检测到白色箱口最左端像素位置,令最左端像素位置left=n,然后使用同样方法从left+1列寻找箱口最右端像素位置right,判断第m列的黑色像素总数black[m]是否大于β×black_max的值,其中β为0.99。若black[m]>0.99×black_max,表明检测到箱口最右端像素位置right=m,则箱口的中心即为(right-left)/2,否则m+1返回继续判断,直到满足条件输出箱口中心的位置信息。
步骤4-2.以灌料口的圆心为基准位置,计算得到装料箱箱口实际圆心分别与该基准在X、Y方向上的位置偏差信息ΔA_X1和ΔA_Y1后,如图5所示为X方向偏差计算原理图,若小于对准偏差0.5mm,则转至步骤4-6。否则通过A、B气缸组推动箱体,如图3、8所示对装料箱箱口位置进行一次修正,再根据图像信息利用步骤4-1中的算法计算一次修正后的位置偏差ΔA_X2和ΔA_Y2,根据ΔA_X2和ΔA_Y2是否小于对准偏差0.5mm,判断内层箱子箱口与灌料口是否对齐;
步骤4-3.若ΔA_X2和ΔA_Y2均小于0.5mm,则箱体已经对齐,转至步骤4-6;
步骤4-4.若ΔA_X2和ΔA_Y2大于0.5mm,则对箱体进行二次修正,并根据图像信息利用步骤4-1中的算法得到修正后的位置偏差ΔA_X3和ΔA_Y3,若ΔA_X3和ΔA_Y3均小于ε,则箱体已对齐,转至步骤4-6;
步骤4-5.若ΔA_X3和ΔA_Y3大于0.5mm,则对箱体进行第三次修正,并根据图像信息利用步骤4-1中的算法得到修正后的位置偏差ΔA_X4和ΔA_Y4,若ΔA_X4和ΔA_Y4均小于0.5mm,则箱体已对齐,转至步骤4-6,否则仍未对齐,进行报警,由人工修正对齐,然后转入步骤4-6;
步骤4-6.顶升机构完全抬升使得装料箱箱口与灌料口对接执行装料,装料完成后气缸回到初始位置。
本发明提供了一种箱体控制系统,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的技术人员来说,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种交互式可升降中央分隔带及其控制方法