本发明涉及螺钉装配机器人技术领域,特别涉及一种基于视觉的工业螺钉机器人快速切换工位的方法。
背景技术:
工业螺钉装配机器人用于生产线上家电和各类电器背板和主板螺孔的自动旋拧,其工作节拍迅速,可以有效提高产品的生产效率。但不同流水线上产品的螺钉孔位大小、位置、形状各不相同,需要专业人员对不同工作流水线的螺钉装配机器人进行单独编程配置,这种方式不利于螺钉装配机器人的快速部署,降低了螺钉装配机器人的任务灵活性。
技术实现要素:
本发明的目的是克服上述背景技术中不足,提供一种基于视觉的工业螺钉机器人快速切换工位的方法,可有效解决现有螺钉机器人对不同工位(如待处理的螺孔位置、大小、形状不同)都需要单独进行人工手动编程配置而导致的任务灵活性差、无法快速切换工位和工作任务的问题。
为了达到上述的技术效果,本发明采取以下技术方案:
一种基于视觉的工业螺钉机器人快速切换工位的方法,通过机器视觉技术,对现有螺钉装配机器人进行改造,实现了螺钉装配机器人的快速任务切换,主要包括以下步骤:
相机标定参数的获取与快速切换:获取相机标定参数,即获得不同工位像素坐标系与物理坐标系的映射关系,针对不同工位或任务进行相机标定,并对相机标定参数进行保存,使得螺钉机器人可快速切换相机参数,从而适应不同的工位;
图像模板的选定及快速切换:使得螺钉装配机器人可以根据相机标定参数,读取不同的图像模板,从而使得基于视觉的螺钉机器人可以对任务目标进行定位,且通过对图像模板的快速切换,使得螺钉机器人可以快速适应不同的工位任务;
已知螺孔和待打螺孔的逻辑位置关系快速切换:即根据上述两个步骤得到的相机标定参数与螺孔定位结果,对具体工位上的作业逻辑进行快速切换。
所述相机标定参数的获取与切换流程具体包括以下步骤:
a1.相机标定参数的计算和保存:获得当前工位下的相机标定矩阵,可以为螺钉装配机器人匹配不同工位下的像素坐标与物理坐标之间的映射关系;本方案中提及的一种视觉的螺钉装配机器人快速切换工位的方法,需要将工业相机固定到螺钉装配机器人的机械手之上,使得螺钉机器人的机械手与工业相机保持刚性连接,即工业相机与螺钉装配机器人之间的空间物理关系固定不变;因此,只需要获得工业相机与任务场景之间的空间物理关系即可获得相机标定矩阵,具体包括:
a1.1制定标记图像模板,用于相机标定;工业相机与任务场景之间的相机标定矩阵需要借助模板图像进行标定,最终求得像素坐标到物理坐标的映射系数,本方案将该过程统称为相机标定,映射系数则称为相机标定参数;相机标定所使用的模板图像需要提前进行准备,通常为螺钉机器人要处理的工件表面的独特特征,以便通过相机和模板图像找到工件表面相似特征的像素坐标;
a1.2螺钉机器人第一次上电启动时,上位机给螺钉机器人控制器发送相应的控制命令;
a1.3螺钉机器人控制器根据上位机的控制命令,控制机器手按照等间距物理位置进行n点移动,整体移动框为正方形,各点物理坐标分别为(mx1,my1),(mx2,my2),...,(mxn,myn);
a1.4机器手分别移动到第i点位置同步进行拍照,检测标记图像模板的中心像素位置,各点像素坐标分别为(px1,py1),(px2,py2),...,(pxn,pyn);
a1.5通过n组像素坐标和物理坐标得到由像素到物理的矩阵变换关系即为映射系数h;保存该变换矩阵至存储设备中;
a2.相机标定矩阵的快速切换;
a2.1针对m个工位,螺钉机器人基于所述步骤a1的操作流程得到m个变换矩阵并分别保存至存储设备如存储设备文件中;
a2.2从螺钉机器人第二次上电初始化或点击工位切换时,将m个变换矩阵分别读入到内存中,当工位切换到第i个工位,则第i个变换矩阵生效即为当前的相机标定变换矩阵。
进一步地,所述物理坐标空间与像素坐标空间的映射关系由以下公式表示:
其中hi(hxi,hyi)就称为第i个物理坐标与第i个像素坐标之间的映射系数hi。
进一步地,对于n个点,可组如下公式的变换矩阵,其中m表示为物理坐标组成的2n维向量,p为像素坐标值所组成的2n*2维矩阵,h即为映射系数:
对于第i个物理坐标与第i个像素坐标,其对应的映射系数hi与任意的映射系数不同,因此需要上述公式构建超定方程组,通过求解超定方程组从而求出像素空间到物理空间的映射系数h,并将该映射系数保存于存储设备中,则相机标定过程结束。
具体的,在确定螺钉机器人在不同工位上对应的相机标定参数后,也就获得了不同工位下相机像素坐标与物理坐标之间的转换关系,通过加载不同的标定参数,螺钉机器人可以快速部署到不同的工位中;在将螺钉机器人部署到具体的工位后,还需要通过视觉对螺丝孔位进行定位,从而让螺钉机器人根据螺丝孔的定位结果进行上丝作业;本方案中具体通过图像模板来完成对螺丝孔的定位,对于不同工位上所对应的工作任务,螺钉机器人只需切换图像模板,即可适应不同的工作任务,从而实现螺钉机器人在不同工位之间的快速切换。
进一步地,所述图像模板的选定及切换流程具体包括以下步骤:
b1.匹配图像模板的选取与保存;
b1.1螺钉机器人上电启动后基于待打孔的工位图像提前选取匹配图像模板,用于图像匹配定位;具体的,匹配图像模板的选取具有特征唯一性;
b1.2根据部分螺孔的定位结果,结合该工位的相机标定参数,完成对其他螺孔位置的推算;如相同工件中,螺孔的相对位置固定,因此可以根据部分螺孔的定位结果,结合该工位的相机标定参数,完成对其他螺孔位置的推算;一般情况下,采用两组匹配模板图像,然后通过提前建立多个点三角关系,定位两个,打孔多个,这种方式实时性较好;
b1.3针对m个工位,将每个工位选取两个固定的匹配模板图像或模板图像特征保存于存储设备中;
b2.匹配图像模板的快速切换;
b2.1从螺钉机器人第二次上电初始化或点击工位切换时,分别将m*2个匹配图像模板或模板图像特征分别读入到内存中,替换当前的匹配图像模板或模板图像特征;
b2.2当工位切换到第i个工位,则第i组的两个匹配图像模板或模板图像特征生效,即为当前工位的匹配模板图像或模板图像特征。
进一步地,所述逻辑位置关系快速切换流程具体包括以下步骤:
c1.逻辑关系保存;
c1.1螺钉机器人上电启动,通过步骤b2选取当前工位的两组模板图像或模板图像特征;
c1.2建立已知螺孔和待加工螺孔的几何关系,将此已知螺孔与各个未知螺孔之间的几何逻辑关系信息保存于存储设备中;则针对m个工位,需保存m组几何逻辑关系信息;
c2.几何逻辑关系快速切换
c2.1从螺钉机器人第二次上电初始化或点击工位切换时,分别将m组已知螺孔和待打螺孔的几何逻辑关系信息分别读入到内存中,替换当前的几何关系;
c2.2当工位切换到第i个工位,则第i组的几何关系生效,即为当前工位的已知螺丝孔位和待打螺丝孔位的几何关系。
进一步地,所述已知螺孔和待打螺孔的几何逻辑关系信息即已知螺孔与各个未知螺孔之间的夹角信息;已知螺孔位置与待加工的螺孔位置本质上只需要夹角就可以进行表示。夹角则可根据实际工件进行离线测量,因此将此已知螺孔与各个未知螺孔之间的夹角信息保存于硬盘中,本方案中将这些夹角信息统称为几何逻辑关系信息。
本发明与现有技术相比,具有以下的有益效果:
通过本发明的基于视觉的螺钉装配机器人快速切换工位的方法,可实现工业螺钉机器人在切换工位时,不再需要由专业人员对螺钉机器人进行单独编程配置,只需要切换本方案所述的相机标定参数、匹配图像模板与螺孔逻辑关系即可,具有快速准确的优点,可有效提高螺钉机器人在的任务灵活性,实现螺钉机器人在不同工位上的快速切换,从而提高生产效率和提升客户的体验性。
附图说明
图1是本发明的基于视觉的螺钉装配机器人快速切换工位的方法的流程示意图。
图2是本发明的一个实施例的n点标定示意图。
图3是本发明的一个实施例的已知螺孔和待打螺孔的几何关系图;
具体实施方式
下面结合本发明的实施例对本发明作进一步的阐述和说明。
实施例:
实施例一:
如图1所示,一种基于视觉的螺钉装配机器人快速切换工位的方法,在机器人首次上电或部署到新工位时,按照图1所示方案的逻辑顺序将相机标定矩阵、图像模板、螺孔几何逻辑关系信息写入硬盘,则在螺钉机器人切换到该工位时,直接从硬盘读入相机标定矩阵、图像模板、螺孔几何逻辑关系,即可实现螺钉机器人的快速部署和工位切换,使得螺钉机器人可以立即投入生产使用。
具体的,该基于视觉的螺钉装配机器人快速切换工位的方法具体包括以下步骤:
s1.相机标定参数的快速切换;通过对相机产生进行标定,从而获得螺钉机器人在不同工位下,相机像素坐标空间到物理坐标空间的转换关系。对相机标定产生进行快速切换,使得螺钉机器人可以快速部署和适应新的工位,从而适应不同的工位。
具体包括:
s11.相机标定参数的计算和保存。
本实施例的相机标定参数是指像素坐标系与物理坐标系之间的转换关系,通过相机标定参数,可以将像素坐标系中的像素值转换到实际的物理坐标系的物理值。
具体包括计算相机标定参数需要制定标记图像模板,用于相机标定,螺钉机器人第一次上电启动时,上位机给螺钉机器人控制器发送相应的控制命令,螺钉机器人控制器根据上位机的控制命令,控制机器手按照等间距物理位置进行n点移动。
具体的,如图2所示,本实施例中将n设置为9,整体移动框为正方形,且各点物理坐标分别为(mx1,my1),(mx2,my2),...,(mx9,my9);其中,中心点物理坐标为(mx5,my5)。
机器手分别移动到第i点位置进行拍照,并在拍摄到的图片中找到标记模板图像的像素位置,各点像素坐标分别为(px1,py1),(px2,py2),...,(px9,py9);通过9组像素坐标和物理坐标可以得到由像素坐标到物理坐标的相机标定参数,即为映射系数h。
具体的,物理坐标空间与像素坐标空间的映射关系可由公式1表示:
本实施例中n=n=9,其中hi(hxi,hyi)就称为第i个物理坐标与第i个像素坐标之间的映射系数hi,对于n个点,可组成公式(2)的变换矩阵,其中m表示为物理坐标组成的2n维向量,p为像素坐标值所组成的2n*2维矩阵,h即为映射系数:
对于第i个物理坐标与第i个像素坐标,其对应的映射系数hi与任意的映射系数不同,因此需要利用公式(2)构建超定方程组,通过求解超定方程组从而求出像素空间到物理空间的映射系数h,并将该映射系数保存于硬盘中,相机标定过程结束。
s12:相机标定参数的快速切换
针对m个工位,螺钉机器人基于s11流程,将得到m个相机标定参数,分别存在硬盘文件中;从第二次上电初始化/点击工位切换,将m个相机标定参数分别读入到内存中,当工位切换到第i个工位,则第i个相机标定参数生效,即为当前的相机标定参数.
s2.匹配图像模板的选定及快速切换,使得螺钉装配机器人可以根据相机标定参数,读取不同的图像模板。使得基于视觉的螺钉机器人可以对任务目标进行定位。通过对图像模板的快速切换,使得螺钉机器人可以快速适应不同的工位任务。
具体包括:
s21.匹配图像模板保存:
螺钉机器人上电启动,基于待打孔的工位图像需提前选取匹配图像模板,用于图像匹配定位,匹配图像模板的选取应该具有特征唯一性。螺钉机打孔通常并不是定位一个,打孔一个,这种方式线上实时性较低;一般情况下,采用两组匹配模板图像,然后通过提前建立多个点三角关系,定位两个,打孔多个,这种方式实时性较好。模板选取及制定的过程中,针对m个工位,将每个工位选取两个固定的匹配模板图像/模板图像特征和工位编号保存于硬盘。
s22.图像模板的快速切换:
从第二次上电初始化/点击工位切换,首先将m个工位下的m*2个图像模板/模板图像特征读入到内存中,读入内存中的数据包含m*2个图像模板/模板图像特征的数据结构列表,还包含了每个图像模板/模板图像特征所对应的工位编号。当工位切换到第i个工位,则工位编号为i的两个匹配图像模板/模板图像特征生效,即为当前工位的匹配模板图像/模板图像特征。
s3.逻辑关系快速切换;根据s1和s2中的相机标定参数与螺孔定位结果,对具体工位上的作业逻辑进行快速切换。
具体包括:
s31.逻辑关系保存:
螺钉机器人上电启动,通过步骤s22选取当前工位的两组模板图像/模板图像特征,然后建立已知螺孔和待加工螺孔的几何关系,具体如图3所示,在图3中,已知螺孔a和螺孔b的中心位置,可根据已知位置建立方向向量
因此已知螺孔与待加工的螺孔的位置本质上只需要夹角就可以进行表示。夹角则可根据实际工件进行离线测量,因此将此已知螺孔与各个未知螺孔之间的夹角信息保存于硬盘中,本方案将这些夹角信息统称为几何逻辑关系信息;针对m个工位,需保存m组几何逻辑关系信息。
s32.几何逻辑关系快速切换:
从第二次上电初始化/点击工位切换,分别将m组已知螺孔和待打螺孔的几何逻辑关系信息分别读入到内存中,替换当前的几何几何关系;当工位切换到第i个工位,则第i组的几何关系生效,即为当前工位的已知螺丝孔位和待打螺丝孔位的几何关系。
则由上可知,在本发明的方案中,当螺钉机器人发生工位切换时,只需完成相机标定参数、图像模板、集合逻辑关系的快速切换,即可适应新工位的任务,不需要人工再对其进行单独编程配置。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。