CN114850852B - 一种螺丝组装孔位识别方法及螺丝组装机器人 - Google Patents
一种螺丝组装孔位识别方法及螺丝组装机器人 Download PDFInfo
- Publication number
- CN114850852B CN114850852B CN202210602509.8A CN202210602509A CN114850852B CN 114850852 B CN114850852 B CN 114850852B CN 202210602509 A CN202210602509 A CN 202210602509A CN 114850852 B CN114850852 B CN 114850852B
- Authority
- CN
- China
- Prior art keywords
- screw hole
- screw
- positions
- screwdriver
- group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23P—METAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
- B23P19/00—Machines for simply fitting together or separating metal parts or objects, or metal and non-metal parts, whether or not involving some deformation; Tools or devices therefor so far as not provided for in other classes
- B23P19/04—Machines for simply fitting together or separating metal parts or objects, or metal and non-metal parts, whether or not involving some deformation; Tools or devices therefor so far as not provided for in other classes for assembling or disassembling parts
- B23P19/06—Screw or nut setting or loosening machines
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B23—MACHINE TOOLS; METAL-WORKING NOT OTHERWISE PROVIDED FOR
- B23P—METAL-WORKING NOT OTHERWISE PROVIDED FOR; COMBINED OPERATIONS; UNIVERSAL MACHINE TOOLS
- B23P19/00—Machines for simply fitting together or separating metal parts or objects, or metal and non-metal parts, whether or not involving some deformation; Tools or devices therefor so far as not provided for in other classes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种螺丝组装孔位识别方法,包括以下步骤:S1:计算第一变换矩阵;S2:检测所有第一螺丝孔位;S3:对检测到的所有第一螺丝孔位进行编码;S4:检测螺丝刀位置和第二螺丝孔位;S5:计算第二变换矩阵;S6:验证第二变换矩阵,得到正确的第二螺丝孔位及编号;S7:将检测到的螺丝刀坐标通过第一变换矩阵转换到螺丝孔平面,得到螺丝刀所在螺丝孔编号并返回编号。本发明的一种螺丝组装机器人通过存储标准待作业机器上的第一螺丝孔位与编码,将作业第二螺丝孔位与第一螺丝孔位进行对比,得到第二变换矩阵,通过第一变换矩阵判断螺丝刀批头的实时位置,从而在作业产品摆放角度不统一时也能够按照工艺要求的顺序正确依次拧固第二螺丝。
Description
技术领域
本发明涉及图像识别技术领域,尤其是指一种螺丝组装孔位识别方法及螺丝组装机器人。
背景技术
在现今的生产作业中,螺丝作为紧固件被广泛使用,其拧固工作通常需要人工完成,费时费力,其中,有些工艺还对螺丝拧固的顺序有要求,为此,诞生了一些自动拧紧螺丝的设备。
现有的螺丝组装机器人在对生产线上的设备进行螺丝组装时,通常需要将生产线上的设备统一摆放,以便于螺丝组装机器人按照既定的位置坐标对其上的螺丝进行组装,因而需要实际生产线对作业位置进行精确控制,导致现有的螺丝组装机器人的应用成本较高。
发明内容
为此,本发明所要解决的技术问题在于克服现有技术中的螺丝组装机器人只能对统一摆放的设备进行工作,因而提供一种适用范围广的螺丝组装孔位识别方法及螺丝组装机器人。
为解决上述技术问题,本发明提供了一种螺丝组装孔位识别方法,包括以下步骤:
S1:采集标准作业时螺丝刀图片,检测标准作业时螺丝刀图片中螺丝刀顶部中心点坐标和与其对应的螺丝孔坐标,并通过两者的坐标计算第一变换矩阵;
S2:采集标准待作业图片,并检测标准待作业图片中的所有第一螺丝孔位;
S3:对检测到的所有第一螺丝孔进行编码,将编码后的第一螺丝孔位作为标准位置进行保存,其方法为:根据标准作业图构建二维坐标系,分为横向的X轴和纵向的Y轴,根据Y轴方向对第一螺丝孔分组,根据X轴方向对每个小组中的第一螺丝孔进行排序,通过组号和序号得到第一螺丝孔的编号,并将第一螺丝孔的编号与其X轴、Y轴坐标对应保存;
S4:实时采集作业图片,实时检测作业图片中的螺丝刀位置和作业图片中的所有第二螺丝孔位;
S5:将检测到的第二螺丝孔位与保存的第一螺丝孔位进行对比计算,得到第二变换矩阵;
S6:根据第二变换矩阵和保存的第一螺丝得到所有第二螺丝孔位,将计算得到的第二螺丝孔位与作业图片中检测到的第二螺丝孔位进行匹配验证,得到正确完整的第二螺丝孔位及相应编号,其方法为:
S61:对第二螺丝孔位以Y轴分组后,根据X轴方向对每个小组中的第二螺丝孔位进行排序,通过组号和序号得到第二螺丝孔的编号,对任意一组中的两个第二螺丝孔的间距进行计算;
S62:对所有第一螺丝孔之间的间距进行计算;
S63:将S61中计算得到的其中一组第二螺丝孔的间距与所有第一螺丝孔的间距进行相减,将差值小于或等于预设值的所有第一螺丝孔组筛选出来;
S64:通过其中一组第一螺丝孔位中的任一个第一螺丝孔位为起点,另一个第一螺丝孔位为终点得到该组第一螺丝孔位的向量,通过该组第二螺丝孔位中的任一个第二螺丝孔位为起点,另一个第二螺丝孔位为终点得到该组第二螺丝孔位的向量,根据两个向量计算旋转量,根据两个第一螺丝孔的中点坐标和两个第二螺丝的中点坐标计算平移量,通过旋转量和平移量计算第二变换矩阵,并通过该第二变换矩阵和所有第一螺丝孔位计算其对应的第二螺丝孔位,将实际的任意一个第二螺丝孔位与计算得到的第二螺丝孔位进行对比:
若两者的坐标误差在预设值范围内,则表示该实际的第二螺丝孔与该计算得到的第二螺丝孔对应,并继续验证下一个实际的第二螺丝孔,直至所有实际的第二螺丝孔均在计算得到的第二螺丝孔中找到与其对应的第二螺丝孔位,则计算得到的第二变换矩阵的验证通过,即通过该第二变换矩阵得到的所有第二螺丝孔位正确;
若两者的坐标误差不在预设值范围内,判断是否还有差值小于或等于预设值的第一螺丝孔位组,若有,则重复步骤S64直至第二变换矩阵的验证通过,若没有,将该组第二螺丝组排除后重复步骤S63,直至所有第二螺丝孔位组计算得到的第二变换矩阵均验证失败,则发出错误报告并返回步骤S4;
所述步骤S64中通过其中一组第一螺丝孔位中的任一个第一螺丝孔位为起点,另一个第一螺丝孔位为终点得到该组第一螺丝孔位的向量,通过该组第二螺丝中孔位的任一个第二螺丝孔位为起点,另一个第二螺丝孔位为终点得到该组第二螺丝孔位的向量时,先根据所判断的第二螺丝孔位组中的两个第二螺丝孔位的序号先后和两个第二螺丝孔位的坐标、第一螺丝孔位组计算第二螺丝孔位组与第一螺丝孔位组之间的余弦值:
若余弦值大于0,则通过该第一螺丝孔位组与第二螺丝孔位组计算所有第二螺丝孔位组的第二变换矩阵;
若余弦值小于0,则改变所判断的第二螺丝孔位组中的向量方向后再计算第二变换矩阵;
S7:根据第一变换矩阵计算作业图片中螺丝刀批头中心点的实时位置,判断计算得到的螺丝刀批头中心点的实时位置与最近的第二螺丝的间距是否小于或等于预设值:若小于或等于预设值,则表示螺丝刀此刻在该第二螺丝处,将该第二螺丝的编号与当前需要拧固的第二螺丝编号对比,若相同,则螺丝刀拧固第二螺丝,否则,螺丝刀不拧动;
若大于预设值,表示螺丝刀此刻未在任一第二螺丝处,螺丝刀不拧动;
S8:重复步骤S4-S7,直至所有需要拧固的第二螺丝拧固完毕。
作为本发明的进一步改进,所述步骤S1中采集标准作业时螺丝刀图片时,采集至少四个不同位置的螺丝刀图片。
作为本发明的进一步改进,所述步骤S4中实时采集作业图片,检测作业图片中的螺丝刀位置和作业图片中的所有第二螺丝孔位时,通过训练后的centernet模型进行检测。
为解决上述技术问题,本发明还提供了一种螺丝组装机器人,包括:
图像采集模块;和
螺丝刀模块,所述螺丝刀模块用于拧螺丝;和
驱动模块,所述驱动模块根据上述的螺丝组装孔位识别方法识别螺丝孔并驱动螺丝刀模块拧螺丝。
作为本发明的进一步改进,调整模块,所述调整模块用于调整所述螺丝刀模块的位置。
为解决上述技术问题,本发明还提供了一种计算机介质,所述计算机介质上存储有计算机程序,所述计算机程序被处理器执行实现上述的螺丝组装孔位识别方法。
为解决上述技术问题,本发明还提供了一种计算机,包括上述的一种计算机介质。
本发明的上述技术方案相比现有技术具有以下优点:
本发明的一种螺丝组装机器人通过存储标准待作业产品上的第一螺丝孔位与编码,将作业上的第二螺丝孔位与第一螺丝孔位进行对比,得到第二变换矩阵,并将标准待作业图片中的螺丝刀顶部的中心点坐标与第一螺丝孔位的坐标计算第一变换矩阵,通过第一变换矩阵计算螺丝刀图片中螺丝刀批头中心点的实时位置,判断计算得到的螺丝刀批头中心点的实时位置与最近的第二螺丝的间距是否小于或等于预设值,根据返回的编号来对比当前需要拧固的第二螺丝孔位编号,从而判断此时螺丝刀是否对准当前需要拧固的第二螺丝孔,从而使其能够按照工艺要求的先后控制螺丝刀对先后顺序的第二螺丝进行拧固,在流水线上的产品摆放角度不统一时也能够按照工艺要求的顺序正确依次拧固第二螺丝。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1是本发明优选实施例中螺丝组装孔位识别方法的流程示意图;
图2-图6是本发明优选实施例中螺丝组装孔位识别方法实际运行时的示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
需要说明的是,当元件被称为“设置于”、“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当元件被称为“固设于”另一个元件,或与另一个元件“固定连接”,它们之间可以是可拆卸固定方式也可以是不可拆卸的固定方式。当一个元件被认为是“连接”、“转动连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。所使用的术语“垂直的”、“水平的”、“左”、“右”、“上”、“下”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在约束本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
本发明中所述“第一”、“第二”、“第三”等类似用于不代表具体的数量及顺序,仅仅是用于名称的区分。
实施例一:
参照图1所示,本发明的一种螺丝组装孔位识别方法,包括以下步骤:
S1:采集标准作业螺丝刀图片,检测标准作业螺丝刀图片中螺丝刀顶部中心点坐标和与其对应的螺丝孔坐标,并通过两者的坐标计算第一变换矩阵;
S2:采集标准待作业图片,并检测标准待作业图片中的所有第一螺丝孔位;
S3:对检测到的所有第一螺丝孔位进行编码,将编码后的第一螺丝孔位所在位置作为标准位置进行保存;
S4:实时采集作业图片,检测作业图片中的螺丝刀位置和作业图片中的所有第二螺丝孔位,采集作业图片,并检测作业图片中的所有第二螺丝孔位;
S5:将检测到的第二螺丝孔位与保存的第一螺丝孔位进行对比计算,得到第二变换矩阵;
S6:根据第二变换矩阵和保存的第一螺丝孔位得到所有第二螺丝孔位,将计算得到的第二螺丝孔位与作业图片中检测到的第二螺丝孔位进行匹配验证,得到正确完整的第二螺丝孔位及相应编号;
S7:根据第一变换矩阵计算作业中螺丝刀批头中心点的实时位置,判断计算得到的螺丝刀批头中心点的实时位置与最近的第二螺丝孔位的间距是否小于或等于预设值:
若小于或等于预设值,则表示螺丝刀此刻在该第二螺丝孔处,将该第二螺丝孔位的编号与当前需要拧固的第二螺丝孔位编号对比,若相同,则螺丝刀拧固第二螺丝,否则,螺丝刀不拧动;
若大于预设值,表示螺丝刀此刻未在任一第二螺丝孔处,螺丝刀不拧动;
S8:重复步骤S4-S7,直至所有需要拧固的第二螺丝孔拧固完毕。
通过预先存储第一螺丝孔位与编号,在采集到作业图片后,将检测到的第二螺丝孔位与保存的第一螺丝孔位进行对比,得到第二变换矩阵,并通过第二变换矩阵计算所有的第二螺丝孔位,通过标准作业图片中螺丝刀顶部中心点的坐标与对应的第一螺丝孔的坐标计算第一变换矩阵,从而根据第一变换矩阵计算作业图片中螺丝刀批头中心点的实时位置,判断计算得到的实时位置与最近的第二螺丝孔的间距是否小于或等于预设值,若小于或等于预设值,则表示螺丝刀此刻在该第二螺丝孔处,将该第二螺丝孔的编号与下一个需要拧固的第二螺丝孔编号对比,相同则控制螺丝刀拧固第二螺丝,不同,则螺丝刀不拧动,若大于预设值,则表示螺丝刀此刻未在任一第二螺丝处,此时需要返回执行步骤S4,即重新实时获取作业图片,而后执行步骤S5-S7,直至螺丝刀位于下一个需要拧固的第二螺丝孔处,螺丝刀拧固后,重新开始执行步骤S4,再寻找下一个需要拧固的第二螺丝孔,直至所有第二螺丝孔按照既定的顺序拧固完毕,从而作业产品角度不统一的情况下也能够按照工艺要求的顺序依次拧固第二螺丝,当需要对不同类型的产品进行识别并组装螺丝时,重新执行步骤S1-S3,即重新定义各项标准并保存,能够为柔性生产提供基础,在对不同的产品进行生产时,调用系统中的不同产品的标准数据组,即可实现实时的切换,从而提高柔性生产时的效率;
优选的,第二螺丝孔位可以根据其生产工艺对其进行顺序先后的排布,其先后顺序与其编号一一对应,且并不一定依照编号的先后。
在其中一实施例中,所述步骤S3中对检测到的所有第一螺丝孔位进行编码,将编码后的第一螺丝孔位作为标准位置进行保存的方法为:根据成品图构建二维坐标系,分为横向的X轴和纵向的Y轴,根据Y轴方向对第一螺丝分组,根据X轴方向对每个小组中的第一螺丝孔位进行排序,通过组号和序号得到第一螺丝孔位的编号,并将第一螺丝孔位的编号与其X轴、Y轴坐标对应保存。
通过构建二维坐标系,能够通过坐标记录第一螺丝孔的位置,通过Y轴方向将第一螺丝孔位分组,并根据X轴的方向依次对每个小组中的第一螺丝孔位进行排序,从而通过组号和序号得到第一螺丝孔位的编号,便于操作人员根据编号的先后定义第一螺丝的拧固顺序。
在其中一实施例中,所述步骤S6中根据第二变换矩阵和保存的第一螺丝孔位得到所有第二螺丝孔位,将计算得到的第二螺丝孔位与作业图片中检测到的第二螺丝孔位进行匹配验证,得到正确完整的第二螺丝孔位及相应编号的方法为:
S61:对第二螺丝孔位以Y轴分组后,根据X轴方向对每个小组中的第二螺丝孔位进行排序,通过组号和序号得到第二螺丝孔位的编号,对任意一组中的两个第二螺丝孔位的间距进行计算;
S62:对所有第一螺丝孔位之间的间距进行计算;
S63:并将S41中计算得到的其中一组第二螺丝孔位的间距与所有第一螺丝孔位的间距进行相减:
S64:将差值小于或等于预设值的所有第一螺丝孔位组筛选出来,通过其中一组第一螺丝孔位中的任一个第一螺丝孔位为起点,另一个第一螺丝孔位为终点得到该组第一螺丝孔位的向量,通过该组第二螺丝孔位中的任一个第二螺丝孔位为起点,另一个第二螺丝孔位为终点得到该组第二螺丝孔位的向量,根据两个向量计算旋转量,根据两个第一螺丝孔位的中点坐标和两个第二螺丝孔位的中点坐标计算平移量,通过旋转量和平移量计算第二变换矩阵,并通过该第二变换矩阵和所有第一螺丝孔位计算其对应的第二螺丝孔位,将实际的任意一个第二螺丝孔位与计算得到的第二螺丝孔位进行对比:
若两者的坐标误差在预设值范围内,则表示该实际的第二螺丝孔位与该计算得到的第二螺丝孔位对应,并继续验证下一个实际的第二螺丝孔位,直至所有实际的第二螺丝孔位均在计算得到的第二螺丝孔位中找到与其对应的第二螺丝孔位,则计算得到的第二变换矩阵的验证通过,即通过该第二变换矩阵得到的所有第二螺丝孔位正确;
若两者的坐标误差不在预设值范围内,判断是否还有差值小于或等于预设值的第一螺丝组,若有,则重复步骤S64直至第二变换矩阵的验证通过,若没有,将该组第二螺丝组排除后重复步骤S63,直至所有第二螺丝组计算得到的第二变换矩阵均验证失败,则发出错误报告并返回步骤S4。
通过对比任一第二螺丝孔组的向量与第一螺丝孔位组的向量,得到旋转量,通过两个第一螺丝孔位的中点坐标和两个第二螺丝孔位的中点坐标计算平移量,通过旋转量和平移量计算第二变换矩阵,通过第二变换矩阵和第一螺丝孔位的坐标,能够计算得到所有的第二螺丝孔位,从而在设备角度不统一的情况下得到所有第二螺丝孔位的位置坐标,随后通过反复验证,直至找到正确的第二变换矩阵;
优选的,在第一螺丝组孔位的数量多于第二螺丝孔位组的数量时,则表示有部分第二螺丝孔位被遮挡,此时根据已检测到的第二螺丝孔位以及与其对应的第一螺丝孔位在第一螺丝孔位的坐标系中找到所缺失的第二螺丝孔位所对应的第一螺丝孔位,并通过第二变换矩阵还原所缺失的第二螺丝孔位的位置,计算得到第二螺丝孔位的坐标后,将实际的第二螺丝孔位坐标与计算得到的第二螺丝孔位坐标对比,若全部都能对应,则表示该第二变换矩阵正确,其验证通过,否则,寻找另一组第一螺丝孔位进行验证,若第二变换矩阵均不通过,则发出错误报告并重新获取螺丝刀图片和产品图片,即返回执行步骤S4,直至所有的第二螺丝拧固完毕或收到停止生产的指令。
在其中一实施例中,所述步骤S64中通过其中一组第一螺丝孔位中的任一个第一螺丝孔位为起点,另一个第一螺丝孔位为终点得到该组第一螺丝孔位的向量,通过该组第二螺丝孔位中的任一个第二螺丝孔位为起点,另一个第二螺丝孔位为终点得到该组第二螺丝孔位的向量时,先根据所判断的第二螺丝孔位组中的两个第二螺丝孔位的序号先后和两个第二螺丝孔位的坐标、第一螺丝孔位组计算第二螺丝孔位组与第一螺丝孔位组之间的余弦值:
若余弦值大于0,则通过该第一螺丝孔位组与第二螺丝孔位组计算所有第二螺丝孔位组的第二变换矩阵;
若余弦值小于0,则改变所判断的第二螺丝孔位组中的向量方向后再计算第二变换矩阵。
当设备摆放角度与标准角度的角度差在90°以内时,若余弦值大于0,则直接通过该第一螺丝孔位组与第二螺丝孔位组计算所有第二螺丝孔位组的第二变换矩阵,若余弦值小于0,通过改变第二螺丝孔位组中的向量方向就能够纠正摆放问题,然后再计算第二变换矩阵;
当设备摆放角度与标准角度的角度差可能超出90°时,先以任一个第一螺丝为起点,另一个第一螺丝孔位为终点,得到该组第一螺丝孔位的向量,若验证不通过,则将起点与终点对换,形成新的向量,并继续验证。验证不通过则删除当前第一螺丝孔位组继续验证。
参照图2-图6所示,根据螺丝孔位DP和螺丝刀标注的坐标SP对应:
可得变换矩阵A:
在实际操作时,螺丝刀顶部与第二螺丝孔不处于同一平面,通过多组螺丝刀顶部中心点与第一螺丝孔位的坐标对比计算,得到第一变换矩阵,从而能够通过后续实时画面中螺丝刀顶部中心点的坐标计算得到螺丝刀批头的坐标,并计算该坐标与最近的第二螺丝孔位的间距,判断该间距是否小于或等于预设值,当其小于或等于预设值时,则表示螺丝刀此刻在该第二螺丝孔位处,通过对比该第二螺丝孔位的编号与下一个要拧固的第二螺丝孔位编号是否一致,来决定螺丝刀此刻是否要拧动。
在其中一实施例中,所述步骤S1中采集标准作业螺丝刀图片时,采集至少四个不同位置的螺丝刀图片。
能够调整采集图片的数量,以提高对图像中检测的精度,通过选取螺丝刀位于四个角落时的图片,能够进一步提高计算得到的第一变换矩阵的准确性,从而能够得到更精准的螺丝刀批头中心点与第一螺丝的间距数据。
在其中一实施例中,所述步骤S3中采集流水线上的产品图片,并检测图中螺丝孔位时,通过训练后的centernet模型进行检测。
Centernet模型常用于目标检测上,无需定位点和计算繁重的NMS,使得其更流畅。
实施例二
本实施例提供了一种螺丝组装机器人,包括:
图像采集模块;和
螺丝刀模块,所述螺丝刀模块用于拧螺丝;和
驱动模块,所述驱动模块根据实施例一中的螺丝组装孔位识别方法识别螺丝孔并驱动螺丝刀模块拧f螺丝。
通过图像采集模块采集图像,通过驱动模块分析图像,并按照实施例一中螺丝组装孔位识别方法识别螺丝孔并驱动螺丝刀模块拧螺丝,使得该螺丝组装机器人能够对角度不统一的设备进行拧螺丝工作。
在其中一实施例中,调整模块,所述调整模块用于调整所述螺丝刀模块的位置。
通过调整模块调整螺丝刀模块的位置,进一步提高了该螺丝组装机器人的工作效率。
实施例三
本实施例提供了一种计算机介质,所述计算机介质上存储有计算机程序,所述计算机程序被处理器执行实现实施例一中的螺丝组装孔位识别方法。
实施例四
本实施例提供了一种计算机,包括实施例三中的一种计算机介质。
显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。
Claims (7)
1.一种螺丝组装孔位识别方法,其特征在于,包括以下步骤:
S1:采集标准作业时螺丝刀图片,检测标准作业时螺丝刀图片中螺丝刀顶部中心点坐标和与其对应的螺丝孔坐标,并通过两者的坐标计算第一变换矩阵;
S2:采集标准待作业图片,并检测出图片中的所有第一螺丝孔位;
S3:对检测到的所有第一螺丝孔位进行编码,将编码后的第一螺丝孔位所在位置作为标准位置进行保存,其方法为:根据标准作业图构建二维坐标系,分为横向的X轴和纵向的Y轴,根据Y轴方向对第一螺丝孔分组,根据X轴方向对每个小组中的第一螺丝孔进行排序,通过组号和序号得到第一螺丝孔的编号,并将第一螺丝孔的编号与其X轴、Y轴坐标对应保存;
S4:实时采集作业图片,实时检测出作业图片中的螺丝刀位置和所有第二螺丝孔位;
S5:将检测到的第二螺丝孔位与保存的第一螺丝孔位进行对比计算,得到第二变换矩阵;
S6:根据第二变换矩阵和保存的第一螺丝孔位得到所有第二螺丝孔位,将计算得到的第二螺丝孔位与作业图片中检测到的第二螺丝孔位进行匹配验证,得到正确完整的第二螺丝孔位及相应编号,其方法为:
S61:对第二螺丝孔位以Y轴分组后,根据X轴方向对每个小组中的第二螺丝孔位进行排序,通过组号和序号得到第二螺丝孔的编号,对任意一组中的两个第二螺丝孔的间距进行计算;
S62:对所有第一螺丝孔之间的间距进行计算;
S63:将S61中计算得到的其中一组第二螺丝孔的间距与所有第一螺丝孔的间距进行相减,将差值小于或等于预设值的所有第一螺丝孔组筛选出来;
S64:通过其中一组第一螺丝孔位中的任一个第一螺丝孔位为起点,另一个第一螺丝孔位为终点得到该组第一螺丝孔位的向量,通过该组第二螺丝孔位中的任一个第二螺丝孔位为起点,另一个第二螺丝孔位为终点得到该组第二螺丝孔位的向量,根据两个向量计算旋转量,根据两个第一螺丝孔的中点坐标和两个第二螺丝的中点坐标计算平移量,通过旋转量和平移量计算第二变换矩阵,并通过该第二变换矩阵和所有第一螺丝孔位计算其对应的第二螺丝孔位,将实际的任意一个第二螺丝孔位与计算得到的第二螺丝孔位进行对比:
若两者的坐标误差在预设值范围内,则表示该实际的第二螺丝孔与该计算得到的第二螺丝孔对应,并继续验证下一个实际的第二螺丝孔,直至所有实际的第二螺丝孔均在计算得到的第二螺丝孔中找到与其对应的第二螺丝孔位,则计算得到的第二变换矩阵的验证通过,即通过该第二变换矩阵得到的所有第二螺丝孔位正确;
若两者的坐标误差不在预设值范围内,判断是否还有差值小于或等于预设值的第一螺丝孔位组,若有,则重复步骤S64直至第二变换矩阵的验证通过,若没有,将该组第二螺丝组排除后重复步骤S63,直至所有第二螺丝孔位组计算得到的第二变换矩阵均验证失败,则发出错误报告并返回步骤S4;
所述步骤S64中通过其中一组第一螺丝孔位中的任一个第一螺丝孔位为起点,另一个第一螺丝孔位为终点得到该组第一螺丝孔位的向量,通过该组第二螺丝中孔位的任一个第二螺丝孔位为起点,另一个第二螺丝孔位为终点得到该组第二螺丝孔位的向量时,先根据所判断的第二螺丝孔位组中的两个第二螺丝孔位的序号先后和两个第二螺丝孔位的坐标、第一螺丝孔位组计算第二螺丝孔位组与第一螺丝孔位组之间的余弦值:
若余弦值大于0,则通过该第一螺丝孔位组与第二螺丝孔位组计算所有第二螺丝孔位组的第二变换矩阵;
若余弦值小于0,则改变所判断的第二螺丝孔位组中的向量方向后再计算第二变换矩阵;
S7:根据第一变换矩阵实时计算得到作业图片中螺丝刀批头中心点的实时位置,计算螺丝刀批头中心点与最近的第二螺丝孔位的间距,判断间距是否小于或等于预设值:
若小于或等于预设值,则表示螺丝刀此刻在该第二螺丝孔位处,将该第二螺丝孔的编号与当前需要拧固的第二螺丝孔编号进行对比,若相同,则螺丝刀拧固第二螺丝,否则,螺丝刀不拧动;
若大于预设值,表示螺丝刀此刻未在任一第二螺丝孔处,螺丝刀不拧动;
S8:重复步骤S4-S7,直至所有需要拧固的第二螺丝孔拧固完毕。
2.根据权利要求1所述的一种螺丝组装孔位识别方法,其特征在于,所述步骤S1中采集标准作业螺丝刀图片时,采集至少四个不同位置的螺丝刀图片。
3.根据权利要求1所述的一种螺丝组装孔位识别方法,其特征在于,所述步骤S4中实时采集作业图片,实时检测作业图片中的螺丝刀位置和所有第二螺丝孔位时,通过训练后的centernet模型进行检测。
4.一种螺丝组装机器人,其特征在于,包括:
图像采集模块;和螺丝刀模块,所述螺丝刀模块用于拧固螺丝;和
驱动模块,所述驱动模块根据权利要求1-3中任一项所述的螺丝组装孔位识别方法识别螺丝孔并驱动螺丝刀模块拧固螺丝。
5.根据权利要求4所述的一种螺丝组装机器人,其特征在于,调整模块,所述调整模块用于调整所述螺丝刀模块的位置。
6.一种计算机介质,其特征在于,所述计算机介质上存储有计算机程序,所述计算机程序被处理器执行实现根据权利要求1-3中任一项所述的螺丝组装孔位识别方法。
7.一种计算机,其特征在于,包括根据权利要求6所述的一种计算机介质。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210602509.8A CN114850852B (zh) | 2022-05-30 | 2022-05-30 | 一种螺丝组装孔位识别方法及螺丝组装机器人 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210602509.8A CN114850852B (zh) | 2022-05-30 | 2022-05-30 | 一种螺丝组装孔位识别方法及螺丝组装机器人 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114850852A CN114850852A (zh) | 2022-08-05 |
CN114850852B true CN114850852B (zh) | 2023-04-18 |
Family
ID=82640600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210602509.8A Active CN114850852B (zh) | 2022-05-30 | 2022-05-30 | 一种螺丝组装孔位识别方法及螺丝组装机器人 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114850852B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI825924B (zh) * | 2022-08-16 | 2023-12-11 | 榮昌科技股份有限公司 | 偵測螺絲孔位的裝置及偵測方法 |
CN116543040A (zh) * | 2023-04-21 | 2023-08-04 | 成都飞机工业(集团)有限责任公司 | 一种航空电连接器孔号识别方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4453085A (en) * | 1981-05-11 | 1984-06-05 | Diffracto Ltd. | Electro-optical systems for control of robots, manipulator arms and co-ordinate measuring machines |
US6317953B1 (en) * | 1981-05-11 | 2001-11-20 | Lmi-Diffracto | Vision target based assembly |
US8230570B1 (en) * | 2009-06-12 | 2012-07-31 | Western Digital Technologies, Inc. | Automatic gravity vacuum screw feeding |
CN108921890B (zh) * | 2018-06-15 | 2021-01-01 | 广东拓斯达科技股份有限公司 | 螺丝锁付方法、装置及计算机可读存储介质 |
CN109128787A (zh) * | 2018-09-30 | 2019-01-04 | 苏州安唯科工业自动化有限公司 | 一种监控螺钉拧紧位置及顺序的系统以及方法 |
CN110814718B (zh) * | 2019-11-21 | 2021-11-16 | 四川长虹电器股份有限公司 | 一种螺丝机的防错方法 |
CN113625659B (zh) * | 2021-08-17 | 2023-02-24 | 杭州飞钛航空智能装备有限公司 | 制孔机构的控制方法、装置、电子设备和制孔机构 |
CN114202470A (zh) * | 2021-11-12 | 2022-03-18 | 江苏核电有限公司 | 一种压力容器主螺栓孔螺纹三维重建及缺陷自动识别方法 |
-
2022
- 2022-05-30 CN CN202210602509.8A patent/CN114850852B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114850852A (zh) | 2022-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114850852B (zh) | 一种螺丝组装孔位识别方法及螺丝组装机器人 | |
CN110842914B (zh) | 基于差分进化算法的手眼标定参数辨识方法、系统及介质 | |
EP3221095B1 (en) | Robot and robot system | |
CN108789404A (zh) | 一种基于视觉的串联机器人运动学参数标定方法 | |
EP3733355A1 (en) | Robot motion optimization system and method | |
CN109176505B (zh) | 一种基于球杆仪的六轴关节工业机器人空间误差标定方法 | |
CN108748149B (zh) | 一种复杂环境下基于深度学习的无标定机械臂抓取方法 | |
CN111055289B (zh) | 机器人的手眼标定方法、装置、机器人及存储介质 | |
KR101724458B1 (ko) | 로봇 티칭 보정 시스템, 및 로봇 티칭 보정 방법 | |
CN114589631B (zh) | 一种数控铲磨床控制系统和方法 | |
CN114355953B (zh) | 一种基于机器视觉的多轴伺服系统的高精度控制方法及系统 | |
JP2020032475A (ja) | 工具識別装置及び工具識別システム | |
CN113664838B (zh) | 机器人定位放置控制方法、装置、电子设备及存储介质 | |
CN116840243B (zh) | 一种机器视觉对象识别的修正方法及系统 | |
EP4005745A1 (en) | Autonomous robot tooling system, control system, control method, and storage medium | |
US20190091866A1 (en) | Robot controller for executing calibration, measurement system and calibration method | |
Xu et al. | Industrial robot base assembly based on improved Hough transform of circle detection algorithm | |
CN111571596B (zh) | 利用视觉修正冶金接插装配作业机器人误差的方法及系统 | |
CN117086519B (zh) | 基于工业互联网的联网设备数据分析及评估系统、方法 | |
CN113334380A (zh) | 基于双目视觉的机器人视觉标定方法、控制系统及装置 | |
CN111546379A (zh) | 一种工业机器人运行状态监测的传感器布局方法 | |
CN114918916A (zh) | 基于智能制造的生产监测方法 | |
JP2611530B2 (ja) | 産業用ロボットの制御装置及びその制御方法 | |
CN114266822B (zh) | 基于双目机器人的工件质检方法、装置、机器人及介质 | |
JP6731603B1 (ja) | 検査システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |