首页 / 专利库 / 电脑零配件 / 系统总线 / 一种基于视觉的十位旋转拨码开关复位系统及复位方法

一种基于视觉的十位旋转拨码开关复位系统及复位方法

阅读:587发布:2020-05-08

专利汇可以提供一种基于视觉的十位旋转拨码开关复位系统及复位方法专利检索,专利查询,专利分析的服务。并且本 发明 提出了一种基于视觉的十位旋转拨码 开关 复位系统及复位方法,属于十位旋转拨码开关复位技术领域,特别是涉及一种基于视觉的十位旋转拨码开关复位系统及复位方法。解决了现有十位旋转拨码开关生产过程中检测编码状态与指示位是否对应多采用人工复位方式,成本高、效率低,准确性差的问题。它包括复位系统及复位方法,复位系统包括PLC控制系统、总线、指示位检测装置和指示位复位装置,所述指示位检测装置包括工业相机和工控机,所述指示位复位装置包括 气缸 、伺服 电机 和批头,复位方法包括指示位检测 算法 、圆形区域检测算法、 指针 区域检测算法和指针 角 度检测算法。它主要用于十位旋转拨码开关的复位。,下面是一种基于视觉的十位旋转拨码开关复位系统及复位方法专利的具体信息内容。

1.一种基于视觉的十位旋转拨码开关复位系统,其特征在于:它包括PLC控制系统、总线、指示位检测装置和指示位复位装置,所述PLC控制系统与总线通讯连接,所述指示位检测装置包括工业相机和工控机,所述工业相机安装在待复位的十位旋转拨码开关夹具的正上方,所述工业相机与工控机通讯连接,所述工控机与PLC控制系统通讯连接,所述指示位检测装置所在的区域为指示位检测工位;所述指示位复位装置包括气缸、伺服电机和批头,所述气缸通过I/O模与总线通讯连接,所述伺服电机与总线通讯连接,所述气缸的伸缩杆与伺服电机相连,所述伺服电机的输出轴与批头固定相连,所述指示位复位装置位于待复位的十位旋转拨码开关夹具的正上方,所述指示位复位装置所在的区域为指示位复位工位。
2.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位系统,其特征在于:所述总线为TCP/IP总线。
3.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位系统,其特征在于:所述工业相机通过GigE与工控机通讯连接。
4.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位系统,其特征在于:所述工控机通过RS232模块与PLC控制系统通讯连接。
5.根据权利要求1所述的一种基于视觉的十位旋转拨码开关复位系统,其特征在于:所述批头为一字型批头。
6.一种如权利要求1所述的基于视觉的十位旋转拨码开关复位系统的复位方法,其特征在于:它包括以下步骤:
步骤1.1:当十位旋转拨码开关进入指示位检测工位的夹具后,PLC控制系统通过RS232模块向工控机发出指示位检测工位就绪信号
步骤1.2:工控机获得指示位检测工位就绪信号后,通过GigE向工业相机发出一个触发信号;
步骤1.3:工业相机获得触发信号后,拍摄一幅图像,并通过GigE向工控机传送拍摄的图像;
步骤1.4:工控机获得图像后,根据指示位检测算法计算当前指示位k,并将当前指示位k通过RS232模块输送给PLC控制系统;
步骤1.5:PLC控制系统获得当前指示位k后,将当前指示位k通过TCP/IP总线输送给指示位复位装置中的伺服电机,同时通过TCP/IP总线通知传送机构将十位旋转拨码开关传送到指示位复位工位;
步骤1.6:指示位复位装置中的伺服电机获得当前指示位k后,伺服电机从90°顺时针旋转k×36°,旋转完毕后通过TCP/IP总线发出伺服电机就绪信号给PLC控制系统;
步骤1.7:十位旋转拨码开关进入指示位复位工位的夹具后,通过TCP/IP总线发出指示位复位工位就绪信号给PLC控制系统;
步骤1.8:PLC控制系统同时接收到伺服电机就绪信号和指示位复位工位就绪信号后,通过TCP/IP总线向气缸发出触发信号;
步骤1.9:气缸接收到触发信号后,从高位向下运动至低位,使一字型批头进入十位旋转拨码开关的指针槽中,完毕后通过TCP/IP总线向PLC控制系统发出气缸伸出信号;
步骤1.10:PLC控制系统接收到气缸伸出信号后,通过TCP/IP总线向伺服电机发出触发信号;
步骤1.11:伺服电机接收到触发信号后,逆时针旋转k×36°,使指示位复位至0,完毕后通过TCP/IP总线向PLC控制系统发出指示位复位完毕信号;
步骤1.12:PLC控制系统接收到指示位复位完毕信号后,通过TCP/IP总线通知气缸从低位向上运动至高位,并通知伺服电机旋转至90°,同时通知传送机构将十位旋转拨码开关传送到编码状态与指示位检测工位。
7.根据权利要求6所述的一种基于视觉的十位旋转拨码开关复位方法,其特征在于:所述指示位检测算法包括以下步骤:
步骤2.1:从指示位检测工位的工业相机拍摄的图像中心,截取600×800(宽×高)像素大小的矩形图像子块,作为指示位检测算法的输入图像;
步骤2.2:使用圆形区域检测算法,从输入图像中检测出十位旋转拨码开关中心的圆形区域;
步骤2.3:对检测出的圆形区域计算区域描述子,得到圆形区域的质心坐标[xo,yo],将其作为圆形区域的圆心;
步骤2.4:采用Sobel算子对检测出的圆形区域进行边缘检测,利用边缘上所有像素点[xi,yi],i∈[1,n]与圆心[xo,yo]间的距离均值计算圆形区域的半径ro,计算公式为:
其中n为圆形区域边缘上像素点的个数;
步骤2.5:以圆心[xo,yo]为原点,平向右为0°,逆时针方向构造指示位0至9的默认度值,其中相邻两个指示位间隔36°,得到指示位0至9的默认角度值依次为90°、54°、18°、
342°、306°、270°、234°、198°、162°、126°;
步骤2.6:利用指针区域检测算法,从步骤2.2得到的圆形区域中检测出指针区域;
步骤2.7:对检测出的指针区域采用指针角度检测算法,计算得到指针角度值β;
步骤2.8:将指针角度值β依次与指示位0至9的默认角度值进行比较,当指针角度值β与指示位k,k∈[0,9]的角度值相差±5°以内时,判定十位旋转拨码开关的当前指示位为k。
8.根据权利要求7所述的一种基于视觉的十位旋转拨码开关复位方法,其特征在于:所述圆形区域检测算法包括以下步骤:
步骤3.1:使用Otsu阈值对指示位检测算法的输入图像进行全局阈值分割,得到输入图像的二值图像,其中黑色为图像背景、白色为前景区域;
步骤3.2:对二值图像进行孔洞填充,以补全前景区域内的背景部分;
步骤3.3:对孔洞填充后的结果进行边界区域清除,以去除掉孔洞填充结果中与图像边界相连通的前景区域;
步骤3.4:构造边长为30像素的方形结构元素,对边界区域清除的结果进行腐蚀操作;
步骤3.5:将腐蚀结果作为标记,将边界区域清除结果作为掩模,进行形态学重构;
步骤3.6:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
步骤3.7:在所有前景区域中取面积最大的区域,将其判定为十位旋转拨码开关中心的圆形区域。
9.根据权利要求7所述的一种基于视觉的十位旋转拨码开关复位方法,其特征在于:所述指针区域检测算法包括以下步骤:
步骤4.1:利用十位旋转拨码开关中心的圆形区域的圆心[xo,yo]和半径ro,在指示位检测算法的输入图像中仅保留圆形区域图像,其余部分填充为黑色,作为指针区域检测算法的输入图像;
步骤4.2:将指针区域检测算法的输入图像转为灰度图;
步骤4.3:采用Canny算子对灰度图进行边缘检测,得到边缘图;
步骤4.4:计算边缘图中每个像素与圆心[xo,yo]间的距离,并将距离超过ro-20的像素剔除,以清除掉圆周上的边缘像素,仅保留下指针区域的边缘像素;
步骤4.5:构造边长为3像素的方形结构元素,对保留的指针区域边缘像素进行膨胀操作;
步骤4.6:对膨胀结果进行孔洞填充,以连通指针区域内的像素;
步骤4.7:构造边长为30像素的方形结构元素,对孔洞填充结果进行腐蚀操作;
步骤4.8:将腐蚀结果作为标记,将孔洞填充结果作为掩模,进行形态学重构;
步骤4.9:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
步骤4.10:在所有前景区域中取面积最大的区域,将其判定为圆形区域中的指针区域。
10.根据权利要求7所述的一种基于视觉的十位旋转拨码开关复位方法,其特征在于:
所述指针角度检测算法包括以下步骤:
步骤5.1:对指针区域计算区域描述子,得到指针区域的主轴角度α∈[-90°,90°],并利用圆形区域的圆心[xo,yo]和主轴角度α,构造指针区域的主轴线;
步骤5.2:采用Canny算子对指针区域进行边缘检测,得到指针区域的边缘;
步骤5.3:利用指针区域的主轴线和边缘相交的像素,得到主轴线与边缘的两个交点坐标 和
步骤5.4:分别以交点坐标 和 为中心,构造两个相同大小并垂直于主轴线的矩形区域,其中垂直于主轴线方向的矩形边长为100像素,平行于主轴线方向的矩形边长为50像素;
步骤5.5:将两个矩形区域与指针区域进行像素对间的图像相乘,得到矩形区域与指针区域的所有重叠区域;
步骤5.6:在所有重叠区域中,分别对每个连通的重叠区域计算区域描述子,得到每个连通重叠区域的质心坐标和面积;
步骤5.7:将所有连通重叠区域的面积从大到小做降序排列,将面积最大的连通重叠区域判定为指针的尾部区域,将面积第二大的连通重叠区域判定为指针的头部区域;
步骤5.8:对指针头部区域计算区域描述子,得到指针头部区域的质心坐标[xc,yc];
步骤5.9:利用指针头部区域的质心[xc,yc]、圆形区域的圆心[xo,yo]和指针区域的主轴角度α,计算得到指针角度值β∈[0°,360°),计算公式为:

说明书全文

一种基于视觉的十位旋转拨码开关复位系统及复位方法

技术领域

[0001] 本发明属于十位旋转拨码开关复位技术领域,特别是涉及一种基于视觉的十位旋转拨码开关复位系统及复位方法。

背景技术

[0002] 十位旋转拨码开关生产过程中需要检测编码状态与指示位是否一一对应,检测步骤为:首先将十位旋转拨码开关的指针旋转至指示位0,再将指针从指示位0顺时针旋转至指示位9,并分别检测编码状态与指示位是否一一对应。例如,当指示位为1时,编码状态应为1,即管脚1与公共端导通;当指示位为6时,编码状态应为6,即管脚2和管脚4同时与公共端导通。但由于生产工艺的问题,流线上生产出的十位旋转拨码开关的指针通常指向任意指示位。目前,生产企业在检测编码状态与指示位是否对应的过程中,对十位旋转拨码开关的复位操作主要采用人工方式,当待检测十位旋转拨码开关进入检测工位的夹具后,人工将指针旋转至指示位0再进行检测。采用人工复位方式不仅成本高、效率低,准确性也难以长时间保证。

发明内容

[0003] 本发明为了解决现有技术中的问题,提出一种基于视觉的十位旋转拨码开关复位系统及复位方法。
[0004] 为实现上述目的,本发明采用以下技术方案:一种基于视觉的十位旋转拨码开关复位系统,它包括PLC控制系统、总线、指示位检测装置和指示位复位装置,所述PLC控制系统与总线通讯连接,所述指示位检测装置包括工业相机和工控机,所述工业相机安装在待复位的十位旋转拨码开关夹具的正上方,所述工业相机与工控机通讯连接,所述工控机与PLC控制系统通讯连接,所述指示位检测装置所在的区域为指示位检测工位;所述指示位复位装置包括气缸、伺服电机和批头,所述气缸通过I/O模与总线通讯连接,所述伺服电机与总线通讯连接,所述气缸的伸缩杆与伺服电机相连,所述伺服电机的输出轴与批头固定相连,所述指示位复位装置位于待复位的十位旋转拨码开关夹具的正上方,所述指示位复位装置所在的区域为指示位复位工位。
[0005] 更进一步的,所述总线为TCP/IP总线。
[0006] 更进一步的,所述工业相机通过GigE与工控机通讯连接。
[0007] 更进一步的,所述工控机通过RS232模块与PLC控制系统通讯连接。
[0008] 更进一步的,所述批头为一字型批头。
[0009] 本发明还提供了一种基于视觉的十位旋转拨码开关的复位方法,它包括以下步骤:
[0010] 步骤1.1:当十位旋转拨码开关进入指示位检测工位的夹具后,PLC控制系统通过RS232模块向工控机发出指示位检测工位就绪信号
[0011] 步骤1.2:工控机获得指示位检测工位就绪信号后,通过GigE向工业相机发出一个触发信号;
[0012] 步骤1.3:工业相机获得触发信号后,拍摄一幅图像,并通过GigE向工控机传送拍摄的图像;
[0013] 步骤1.4:工控机获得图像后,根据指示位检测算法计算当前指示位k,并将当前指示位k通过RS232模块输送给PLC控制系统;
[0014] 步骤1.5:PLC控制系统获得当前指示位k后,将当前指示位k通过TCP/IP总线输送给指示位复位装置中的伺服电机,同时通过TCP/IP总线通知传送机构将十位旋转拨码开关传送到指示位复位工位;
[0015] 步骤1.6:指示位复位装置中的伺服电机获得当前指示位k后,伺服电机从90°顺时针旋转k×36°,旋转完毕后通过TCP/IP总线发出伺服电机就绪信号给PLC控制系统;
[0016] 步骤1.7:十位旋转拨码开关进入指示位复位工位的夹具后,通过TCP/IP总线发出指示位复位工位就绪信号给PLC控制系统;
[0017] 步骤1.8:PLC控制系统同时接收到伺服电机就绪信号和指示位复位工位就绪信号后,通过TCP/IP总线向气缸发出触发信号;
[0018] 步骤1.9:气缸接收到触发信号后,从高位向下运动至低位,使一字型批头进入十位旋转拨码开关的指针槽中,完毕后通过TCP/IP总线向PLC控制系统发出气缸伸出信号;
[0019] 步骤1.10:PLC控制系统接收到气缸伸出信号后,通过TCP/IP总线向伺服电机发出触发信号;
[0020] 步骤1.11:伺服电机接收到触发信号后,逆时针旋转k×36°,使指示位复位至0,完毕后通过TCP/IP总线向PLC控制系统发出指示位复位完毕信号;
[0021] 步骤1.12:PLC控制系统接收到指示位复位完毕信号后,通过TCP/IP总线通知气缸从低位向上运动至高位,并通知伺服电机旋转至90°,同时通知传送机构将十位旋转拨码开关传送到编码状态与指示位检测工位。
[0022] 更进一步的,所述指示位检测算法包括以下步骤:
[0023] 步骤2.1:从指示位检测工位的工业相机拍摄的图像中心,截取600×800(宽×高)像素大小的矩形图像子块,作为指示位检测算法的输入图像;
[0024] 步骤2.2:使用圆形区域检测算法,从输入图像中检测出十位旋转拨码开关中心的圆形区域;
[0025] 步骤2.3:对检测出的圆形区域计算区域描述子,得到圆形区域的质心坐标[xo,yo],将其作为圆形区域的圆心;
[0026] 步骤2.4:采用Sobel算子对检测出的圆形区域进行边缘检测,利用边缘上所有像素点[xi,yi],i∈[1,n]与圆心[xo,yo]间的距离均值计算圆形区域的半径ro,计算公式为:
[0027]
[0028] 其中n为圆形区域边缘上像素点的个数;
[0029] 步骤2.5:以圆心[xo,yo]为原点,水平向右为0°,逆时针方向构造指示位0至9的默认度值,其中相邻两个指示位间隔36°,得到指示位0至9的默认角度值依次为90°、54°、18°、342°、306°、270°、234°、198°、162°、126°;
[0030] 步骤2.6:利用指针区域检测算法,从步骤2.2得到的圆形区域中检测出指针区域;
[0031] 步骤2.7:对检测出的指针区域采用指针角度检测算法,计算得到指针角度值β;
[0032] 步骤2.8:将指针角度值β依次与指示位0至9的默认角度值进行比较,当指针角度值β与指示位k,k∈[0,9]的角度值相差±5°以内时,判定十位旋转拨码开关的当前指示位为k。
[0033] 更进一步的,所述圆形区域检测算法包括以下步骤:
[0034] 步骤3.1:使用Otsu阈值对指示位检测算法的输入图像进行全局阈值分割,得到输入图像的二值图像,其中黑色为图像背景、白色为前景区域;
[0035] 步骤3.2:对二值图像进行孔洞填充,以补全前景区域内的背景部分;
[0036] 步骤3.3:对孔洞填充后的结果进行边界区域清除,以去除掉孔洞填充结果中与图像边界相连通的前景区域;
[0037] 步骤3.4:构造边长为30像素的方形结构元素,对边界区域清除的结果进行腐蚀操作;
[0038] 步骤3.5:将腐蚀结果作为标记,将边界区域清除结果作为掩模,进行形态学重构;
[0039] 步骤3.6:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
[0040] 步骤3.7:在所有前景区域中取面积最大的区域,将其判定为十位旋转拨码开关中心的圆形区域。
[0041] 更进一步的,所述指针区域检测算法包括以下步骤:
[0042] 步骤4.1:利用十位旋转拨码开关中心的圆形区域的圆心[xo,yo]和半径ro,在指示位检测算法的输入图像中仅保留圆形区域图像,其余部分填充为黑色,作为指针区域检测算法的输入图像;
[0043] 步骤4.2:将指针区域检测算法的输入图像转为灰度图;
[0044] 步骤4.3:采用Canny算子对灰度图进行边缘检测,得到边缘图;
[0045] 步骤4.4:计算边缘图中每个像素与圆心[xo,yo]间的距离,并将距离超过ro-20的像素剔除,以清除掉圆周上的边缘像素,仅保留下指针区域的边缘像素;
[0046] 步骤4.5:构造边长为3像素的方形结构元素,对保留的指针区域边缘像素进行膨胀操作;
[0047] 步骤4.6:对膨胀结果进行孔洞填充,以连通指针区域内的像素;
[0048] 步骤4.7:构造边长为30像素的方形结构元素,对孔洞填充结果进行腐蚀操作;
[0049] 步骤4.8:将腐蚀结果作为标记,将孔洞填充结果作为掩模,进行形态学重构;
[0050] 步骤4.9:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
[0051] 步骤4.10:在所有前景区域中取面积最大的区域,将其判定为圆形区域中的指针区域。
[0052] 更进一步的,所述指针角度检测算法包括以下步骤:
[0053] 步骤5.1:对指针区域计算区域描述子,得到指针区域的主轴角度α∈[-90°,90°],并利用圆形区域的圆心[xo,yo]和主轴角度α,构造指针区域的主轴线;
[0054] 步骤5.2:采用Canny算子对指针区域进行边缘检测,得到指针区域的边缘;
[0055] 步骤5.3:利用指针区域的主轴线和边缘相交的像素,得到主轴线与边缘的两个交点坐标 和
[0056] 步骤5.4:分别以交点坐标 和 为中心,构造两个相同大小并垂直于主轴线的矩形区域,其中垂直于主轴线方向的矩形边长为100像素,平行于主轴线方向的矩形边长为50像素;
[0057] 步骤5.5:将两个矩形区域与指针区域进行像素对间的图像相乘,得到矩形区域与指针区域的所有重叠区域;
[0058] 步骤5.6:在所有重叠区域中,分别对每个连通的重叠区域计算区域描述子,得到每个连通重叠区域的质心坐标和面积;
[0059] 步骤5.7:将所有连通重叠区域的面积从大到小做降序排列,将面积最大的连通重叠区域判定为指针的尾部区域,将面积第二大的连通重叠区域判定为指针的头部区域;
[0060] 步骤5.8:对指针头部区域计算区域描述子,得到指针头部区域的质心坐标[xc,yc];
[0061] 步骤5.9:利用指针头部区域的质心[xc,yc]、圆形区域的圆心[xo,yo]和指针区域的主轴角度α,计算得到指针角度值β∈[0°,360°),计算公式为:
[0062]
[0063] 与现有技术相比,本发明的有益效果是:本发明解决了现有十位旋转拨码开关生产过程中检测编码状态与指示位是否对应多采用人工复位方式,成本高、效率低,准确性差的问题。本发明通过指示位检测装置采集待复位的十位旋转拨码开关的图像信息,并通过定义的指示位检测算法检测十位旋转拨码开关的当前指示位,再利用指示位复位装置实现对十位旋转拨码开关的指示位自动复位操作;显著减少人工复位成本,增加指示位复位准确率,提高检测效率,投入小,便于操作,具有极大的市场前景。附图说明
[0064] 图1为本发明所述的一种基于视觉的十位旋转拨码开关复位系统结构示意图;
[0065] 图2为本发明所述的一种基于视觉的十位旋转拨码开关复位方法的指示位检测算法流程框图
[0066] 图3为本发明所述的一种基于视觉的十位旋转拨码开关复位方法的圆形区域检测算法流程框图;
[0067] 图4为本发明所述的一种基于视觉的十位旋转拨码开关复位方法的指针区域检测算法流程框图;
[0068] 图5为本发明所述的一种基于视觉的十位旋转拨码开关复位方法的指针角度检测算法流程框图;
[0069] 图6为本发明所述的指示位检测算法采集的指示位0的十位旋转拨码开关示意图;
[0070] 图7为本发明所述的指示位检测算法采集的指示位1的十位旋转拨码开关示意图;
[0071] 图8为本发明所述的圆形区域检测算法对图7进行Otsu二值分割的结果示意图;
[0072] 图9为本发明所述的圆形区域检测算法对图8进行孔洞填充和边界区域清除的结果示意图;
[0073] 图10为本发明所述的圆形区域检测算法对图9形态学重构后取面积最大的区域,得到的圆形区域检测结果的示意图;
[0074] 图11为本发明所述的指示位检测算法对图10的圆形区域计算得到的圆心[xo,yo]和半径ro的结果示意图;
[0075] 图12为本发明所述的指示位检测算法利用图11的圆心为原点,对图7构造的指示位0至9的默认角度值的结果示意图;
[0076] 图13为本发明所述的指针区域检测算法利用图11的圆心和半径,在图7中仅保留圆形区域图像并转为灰度图的结果示意图;
[0077] 图14为本发明所述的指针区域检测算法对图13进行Canny边缘检测并剔除掉圆周边缘像素的结果示意图;
[0078] 图15为本发明所述的指针区域检测算法对图14膨胀和孔洞填充的结果示意图;
[0079] 图16为本发明所述的指针区域检测算法对图15形态学重构后取面积最大的区域,得到的指针区域检测结果的示意图;
[0080] 图17为本发明所述的指针角度检测算法对图16计算指针区域的主轴角度α,并利用主轴角度和图11的圆心构造的指针区域主轴线的结果示意图;
[0081] 图18为本发明所述的指针角度检测算法对图16进行Canny边缘检测得到的指针区域边缘,并计算边缘与图17的主轴线的交点坐标的结果示意图;
[0082] 图19为本发明所述的指针角度检测算法利用图18的两个交点,构造以每个交点为中心、垂直于主轴线的矩形区域的结果示意图;
[0083] 图20为本发明所述的指针角度检测算法对图19的矩形区域与图16的指针区域进行像素对间的图像相乘得到的重叠区域,然后计算每个连通重叠区域的区域描述子并取面积第二大的连通重叠区域作为指针的头部区域,再对指针头部区域计算区域描述子得到头部区域质心坐标[xc,yc]的结果示意图;
[0084] 图21为本发明所述的指针角度检测算法利用指针头部区域的质心[xc,yc]、圆形区域的圆心[xo,yo]和指针区域的主轴角度α,计算得到的指针角度值β的结果示意图。

具体实施方式

[0085] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地阐述。
[0086] 参见图1说明本实施方式,一种基于视觉的十位旋转拨码开关复位系统,它包括PLC控制系统、总线、指示位检测装置和指示位复位装置,所述PLC控制系统与总线通讯连接,所述指示位检测装置包括工业相机和工控机,所述工业相机安装在待复位的十位旋转拨码开关夹具的正上方,所述工业相机与工控机通讯连接,所述工控机与PLC控制系统通讯连接,所述指示位检测装置所在的区域为指示位检测工位;所述指示位复位装置包括气缸、伺服电机和批头,所述气缸通过I/O模块与总线通讯连接,所述伺服电机与总线通讯连接,所述气缸的伸缩杆与伺服电机相连,所述伺服电机的输出轴与批头固定相连,所述指示位复位装置位于待复位的十位旋转拨码开关夹具的正上方,所述指示位复位装置所在的区域为指示位复位工位。
[0087] 本实施例所述总线为TCP/IP总线,所述工业相机通过GigE与工控机通讯连接,所述工控机通过RS232模块与PLC控制系统通讯连接,所述批头为一字型批头[0088] 本发明还提供了一种基于视觉的十位旋转拨码开关的复位方法,它包括以下步骤:
[0089] 步骤1.1:当十位旋转拨码开关进入指示位检测工位的夹具后,PLC控制系统通过RS232模块向工控机发出指示位检测工位就绪信号;
[0090] 步骤1.2:工控机获得指示位检测工位就绪信号后,通过GigE向工业相机发出一个触发信号;
[0091] 步骤1.3:工业相机获得触发信号后,拍摄一幅图像,并通过GigE向工控机传送拍摄的图像;
[0092] 步骤1.4:工控机获得图像后,根据指示位检测算法计算当前指示位k,并将当前指示位k通过RS232模块输送给PLC控制系统;
[0093] 步骤1.5:PLC控制系统获得当前指示位k后,将当前指示位k通过TCP/IP总线输送给指示位复位装置中的伺服电机,同时通过TCP/IP总线通知传送机构将十位旋转拨码开关传送到指示位复位工位;
[0094] 步骤1.6:指示位复位装置中的伺服电机获得当前指示位k后,伺服电机从90°顺时针旋转k×36°,旋转完毕后通过TCP/IP总线发出伺服电机就绪信号给PLC控制系统;
[0095] 步骤1.7:十位旋转拨码开关进入指示位复位工位的夹具后,通过TCP/IP总线发出指示位复位工位就绪信号给PLC控制系统;
[0096] 步骤1.8:PLC控制系统同时接收到伺服电机就绪信号和指示位复位工位就绪信号后,通过TCP/IP总线向气缸发出触发信号;
[0097] 步骤1.9:气缸接收到触发信号后,从高位向下运动至低位,使一字型批头进入十位旋转拨码开关的指针槽中,完毕后通过TCP/IP总线向PLC控制系统发出气缸伸出信号;
[0098] 步骤1.10:PLC控制系统接收到气缸伸出信号后,通过TCP/IP总线向伺服电机发出触发信号;
[0099] 步骤1.11:伺服电机接收到触发信号后,逆时针旋转k×36°,使指示位复位至0,完毕后通过TCP/IP总线向PLC控制系统发出指示位复位完毕信号;
[0100] 步骤1.12:PLC控制系统接收到指示位复位完毕信号后,通过TCP/IP总线通知气缸从低位向上运动至高位,并通知伺服电机旋转至90°,同时通知传送机构将十位旋转拨码开关传送到编码状态与指示位检测工位。
[0101] 更进一步的,所述指示位检测算法包括以下步骤:
[0102] 步骤2.1:从指示位检测工位的工业相机拍摄的图像中心,截取600×800(宽×高)像素大小的矩形图像子块,作为指示位检测算法的输入图像;
[0103] 步骤2.2:使用圆形区域检测算法,从输入图像中检测出十位旋转拨码开关中心的圆形区域;
[0104] 步骤2.3:对检测出的圆形区域计算区域描述子,得到圆形区域的质心坐标[xo,yo],将其作为圆形区域的圆心;
[0105] 步骤2.4:采用Sobel算子对检测出的圆形区域进行边缘检测,利用边缘上所有像素点[xi,yi],i∈[1,n]与圆心[xo,yo]间的距离均值计算圆形区域的半径ro,计算公式为:
[0106]
[0107] 其中n为圆形区域边缘上像素点的个数;
[0108] 步骤2.5:以圆心[xo,yo]为原点,水平向右为0°,逆时针方向构造指示位0至9的默认角度值,其中相邻两个指示位间隔36°,得到指示位0至9的默认角度值依次为90°、54°、18°、342°、306°、270°、234°、198°、162°、126°;
[0109] 步骤2.6:利用指针区域检测算法,从步骤2.2得到的圆形区域中检测出指针区域;
[0110] 步骤2.7:对检测出的指针区域采用指针角度检测算法,计算得到指针角度值β;
[0111] 步骤2.8:将指针角度值β依次与指示位0至9的默认角度值进行比较,当指针角度值β与指示位k,k∈[0,9]的角度值相差±5°以内时,判定十位旋转拨码开关的当前指示位为k。
[0112] 更进一步的,所述圆形区域检测算法包括以下步骤:
[0113] 步骤3.1:使用Otsu阈值对指示位检测算法的输入图像进行全局阈值分割,得到输入图像的二值图像,其中黑色为图像背景、白色为前景区域;
[0114] 步骤3.2:对二值图像进行孔洞填充,以补全前景区域内的背景部分;
[0115] 步骤3.3:对孔洞填充后的结果进行边界区域清除,以去除掉孔洞填充结果中与图像边界相连通的前景区域;
[0116] 步骤3.4:构造边长为30像素的方形结构元素,对边界区域清除的结果进行腐蚀操作;
[0117] 步骤3.5:将腐蚀结果作为标记,将边界区域清除结果作为掩模,进行形态学重构;
[0118] 步骤3.6:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
[0119] 步骤3.7:在所有前景区域中取面积最大的区域,将其判定为十位旋转拨码开关中心的圆形区域。
[0120] 更进一步的,所述指针区域检测算法包括以下步骤:
[0121] 步骤4.1:利用十位旋转拨码开关中心的圆形区域的圆心[xo,yo]和半径ro,在指示位检测算法的输入图像中仅保留圆形区域图像,其余部分填充为黑色,作为指针区域检测算法的输入图像;
[0122] 步骤4.2:将指针区域检测算法的输入图像转为灰度图;
[0123] 步骤4.3:采用Canny算子对灰度图进行边缘检测,得到边缘图;
[0124] 步骤4.4:计算边缘图中每个像素与圆心[xo,yo]间的距离,并将距离超过ro-20的像素剔除,以清除掉圆周上的边缘像素,仅保留下指针区域的边缘像素;
[0125] 步骤4.5:构造边长为3像素的方形结构元素,对保留的指针区域边缘像素进行膨胀操作;
[0126] 步骤4.6:对膨胀结果进行孔洞填充,以连通指针区域内的像素;
[0127] 步骤4.7:构造边长为30像素的方形结构元素,对孔洞填充结果进行腐蚀操作;
[0128] 步骤4.8:将腐蚀结果作为标记,将孔洞填充结果作为掩模,进行形态学重构;
[0129] 步骤4.9:对形态学重构的结果计算区域描述子,得到形态学重构结果中的所有前景区域,以及每个前景区域的面积;
[0130] 步骤4.10:在所有前景区域中取面积最大的区域,将其判定为圆形区域中的指针区域。
[0131] 更进一步的,所述指针角度检测算法包括以下步骤:
[0132] 步骤5.1:对指针区域计算区域描述子,得到指针区域的主轴角度α∈[-90°,90°],并利用圆形区域的圆心[xo,yo]和主轴角度α,构造指针区域的主轴线;
[0133] 步骤5.2:采用Canny算子对指针区域进行边缘检测,得到指针区域的边缘;
[0134] 步骤5.3:利用指针区域的主轴线和边缘相交的像素,得到主轴线与边缘的两个交点坐标 和
[0135] 步骤5.4:分别以交点坐标 和 为中心,构造两个相同大小并垂直于主轴线的矩形区域,其中垂直于主轴线方向的矩形边长为100像素,平行于主轴线方向的矩形边长为50像素;
[0136] 步骤5.5:将两个矩形区域与指针区域进行像素对间的图像相乘,得到矩形区域与指针区域的所有重叠区域;
[0137] 步骤5.6:在所有重叠区域中,分别对每个连通的重叠区域计算区域描述子,得到每个连通重叠区域的质心坐标和面积;
[0138] 步骤5.7:将所有连通重叠区域的面积从大到小做降序排列,将面积最大的连通重叠区域判定为指针的尾部区域,将面积第二大的连通重叠区域判定为指针的头部区域;
[0139] 步骤5.8:对指针头部区域计算区域描述子,得到指针头部区域的质心坐标[xc,yc];
[0140] 步骤5.9:利用指针头部区域的质心[xc,yc]、圆形区域的圆心[xo,yo]和指针区域的主轴角度α,计算得到指针角度值β∈[0°,360°),计算公式为:
[0141]
[0142] 以上对本发明所提供的一种基于视觉的十位旋转拨码开关复位系统及复位方法,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈