CN111251336B - 一种基于视觉定位的双臂协同智能装配系统 - Google Patents
一种基于视觉定位的双臂协同智能装配系统 Download PDFInfo
- Publication number
- CN111251336B CN111251336B CN201911168045.9A CN201911168045A CN111251336B CN 111251336 B CN111251336 B CN 111251336B CN 201911168045 A CN201911168045 A CN 201911168045A CN 111251336 B CN111251336 B CN 111251336B
- Authority
- CN
- China
- Prior art keywords
- light source
- picture
- mechanical arm
- module
- image
- 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
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- 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
- 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
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
本发明公开了一种基于视觉定位的双臂协同智能装配系统,包括两台机械臂和两台相机,其中,第一相机固定在第一机械臂的末端执行器上,用来拍摄模组底座;第二相机固定在第一机械臂外部;第二机械臂的末端执行器为自动打螺丝机,在系统正式开始工作之前,进行前期标定,进行第一相机和第一机械臂基坐标系的标定,第二相机和第一机械臂基坐标系的标定,以及第一机械臂和第二机械臂之间位置转换的标定工作,获得对应的转换矩阵,以便将相机拍摄的图片中点的位置转换到机械臂的基坐标系下,引导机械臂到达指定位置;系统装配。
Description
技术领域
本发明属于图像识别及控制技术领域,具体涉及一种基于视觉定位的双臂协同智能装配系统。
背景技术
现有技术中,有一种LED路灯模组,参见图1所示,包括LED光源和模组底座,装配的时候通过螺钉固定LED光源上和模组底座上设置有对应的两组螺孔完成LED路灯模组的装配。目前,此类LED 路灯模组的装配全由人工操作完成,人工装配存在人工成本较高,装配速度较慢的问题。
为了加速实现“工业4.0”,有必要对LED路灯模组生产过程结合视觉技术对路灯模组产线进行智能化升级,将原有包含抓取光源,固定光源等工序的人工操作生产线全部改为由机械臂来进行自动化装配生产。
发明内容
鉴于以上存在的技术问题,本发明用于提供基于视觉定位的双臂协同智能装配系统,用于利用机器视觉技术准确的找到目标点的位置,并控制两台机械臂协同完成装配操作。
为解决上述技术问题,本发明采用如下的技术方案:
一种基于视觉定位的双臂协同智能装配系统,包括两台机械臂和两台相机,其中,第一相机固定在第一机械臂的末端执行器上,用来拍摄模组底座;第二相机固定在第一机械臂外部,用来拍摄LED 光源;第二机械臂的末端执行器为自动打螺丝机。
在系统正式开始工作之前,进行前期标定,进行第一相机和第一机械臂基坐标系的标定,第二相机和第一机械臂基坐标系的标定,以及第一机械臂和第二机械臂之间位置转换的标定工作,获得对应的转换矩阵,以便将相机拍摄的图片中点的位置转换到机械臂的基坐标系下,引导机械臂到达指定位置;
系统装配,分别进行如下动作:
当待安装的模组底座运行到安装工位时,第一机械臂运动至的模组上方由标定关系确定的拍摄基准,触发第一相机拍照,并对待安装的模组的照片进行图像处理之后,获取模组上两个螺纹孔的位置;
第一机械臂吸取LED光源并将其准确的移动到第二相机下方由标定关系确定的拍摄基准;
第二相机拍摄LED光源照片,获取LED光源上两个螺纹孔的位置;
将LED光源放置在模组底板上,使LED光源与模组底座上两组对应的螺纹孔重合并压紧;
第二机械臂运动到指定位置将LED光源和模组底座采用螺钉锁死。
优选地,对待安装的模组的照片进行图像处理之后,获取模组上两个螺纹孔的位置如下:
对拍摄的图片进行预处理,先根据相机每次拍摄的图片效果截取照片中靠近模组中央位置的包含需要定位的两个螺纹孔一个方形区域,对图形进行去噪处理;
对去噪后的图像进行初步二值化处理,算法步骤如下:首先采集一组不同光照情况下的模组图片估算出每张图片中螺纹孔区域灰度值的变化范围(i0~in);取变化阈值t0≥in-i0;每次拍摄好图片之后,首先对图片进行遍历,记录每一个像素点的灰度值,并进行比较,获取图像中的最小灰度值im;取图像分割阈值t=im+t0;利用阈值t对图像进行初步二值化分割;
进行边缘检测;
进行螺纹孔位置检测,用霍夫圆检测算法来确定模组上螺纹孔位置。
优选地,进行螺纹孔位置检测,用霍夫圆检测算法来确定模组上螺纹孔位置具体如下:初始化圆心空间N(a,b),令所有的N(a,b)=0;遍历二值图中的所有非0像素点,沿梯度方向和其反方向画线,线段的起点和长度由设置的半径区间决定,将线段经过的所有累加器中的点(a,b)的N(a,b)+=1,统计排序N(a,b),得到可能的圆心;对于可能的圆心,按照累加器点数从高到低进行排序,依次计算边缘图中所有的非0像素点距此圆心的距离,并对距离从小到大排序,对于距离相差小于某个阈值的点视为在同一个圆中,统计属于该半径的非0点数;重复以上步骤计算多个圆心点,优先选择非0点数最多的半径画圆,在此情况下,会检测到许多的圆存在,根据对不同图片多次检测的结果可知,模组中央两个螺纹孔的间距约为900个像素点,据此设置圆心最小间距,圆心之间距离小于此间距的只取累加器点数最多的为圆心,螺纹孔半径约为25-30个像素,据此设置霍夫圆检测的半径阈值。
优选地,第二相机拍摄LED光源照片具体如下,获取LED光源上两个螺纹孔的位置:对LED光源的图片进行图像处理,获取图片中LED光源两个螺纹孔的位置,并计算出两个螺纹孔圆心连线与模组上两个螺纹孔圆心连线的夹角。
优选地,LED光源图片处理的计算过程如下:
首先同样需对图片进行滤波处理,排除噪声干扰;
进行二值化处理,此时根据图像特征可以发现,图片中光源区域的灰度值相较于其他区域比较大,因此仍需通过事先采集的图像样本集,确定不同光照条件下,光源图像的灰度值变化范围(i0’~i n’),取变化阈值t0’≥in’-i0’;每次拍摄好图片之后,首先对图片进行遍历,记录每一个像素点的灰度值,并进行比较,获取图像中的最大灰度值im’;取图像分割阈值t’=im’-t 0’;利用阈值t’对图像进行初步二值化分割;对二值化之后的图像再进行边缘检测,获得轮廓图;为了便于更好的提取螺纹孔特征,排除其他元素干扰,利用检测螺纹孔两侧的线段的交点来对螺纹孔进行定位;根据通过霍夫直线检测的算法,先后对LED光源螺纹孔对应的线段进行提取,根据对不同图片多次检测的结果可知,两侧线段的长度约为100-150个像素点,两幅图中两个圆圈的位置已知,其连线中点的位置可求,其连线的直线斜率也可求,即光源螺纹孔连线中点的和斜率可求。此时光源螺纹孔连线的位置和斜率已知,模组底座的螺纹孔位置和斜率也已知,即可求解两对螺纹孔在空间中的位置关系,从而引导第一机械臂将光源准确的放置在模组底座上,使两对螺纹孔重合,完成装配。
采用本发明具有如下的有益效果:本系统可以快速、精准的检测到螺钉孔位置,并完成LED光源和模组底座的装配,视觉系统很好的解决了自动化加工过程中模组摆放位置偏差造成的无法装配的问题,减小了上一道工序对于模组放置精度的要求,降低了人工成本。
附图说明
图1为现有技术中LED路灯模组的结构示意图;
图2为本发明实施例的基于视觉定位的双臂协同智能装配系统的结构示意图;
图3为模组底座原始图片;
图4为图3对应的中心ROI区域截取图片;
图5为中值滤波效果图;
图6为图片二值化效果图;
图7为光照充足条件下本文方法改进前后分割效果对比图;
图8为Canny边缘检测效果图;
图9为模组底座螺纹孔检测结果图;
图10为第二相机拍摄LED光源图像;
图11为LED光源螺纹孔定位图片。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于视觉定位的双臂协同智能装配系统,包括两台机械臂和两台相机,其中,第一相机固定在主动机械臂的末端执行器上,用来拍摄模组底座;第二相机固定在主动机械臂外部;从动机械臂的末端执行器为自动打螺丝机,在系统正式开始工作之前,进行前期标定,进行第一相机和第一机械臂基坐标系的标定,第二相机和主动机械臂基坐标系的标定,以及主动机械臂和从动机械臂之间位置转换的标定工作,获得对应的转换矩阵,以便将相机拍摄的图片中点的位置转换到机械臂的基坐标系下,引导机械臂到达指定位置;系统装配,分别进行如下动作:当待安装的模组底座运行到装配工位时,主动机械臂运动至模组上方由标定关系确定的拍摄基准,触发第一相机拍照,并对待安装的模组的照片进行图像处理之后,获取模组上两个螺纹孔的位置;主动机械臂吸取LED光源并将其准确的移动到第二相机下方由标定关系确定的拍摄基准;第二相机拍摄LED光源照片,获取 LED光源上两个螺纹孔的位置;将LED光源放置在模组底座上,使LED光源与模组底座上两组对应的螺纹孔重合并压紧;从动机械臂运动到指定位置将LED光源和模组底座采用螺钉锁死。
具体应用实例中,对待安装的模组的照片进行图像处理之后,获取模组上两个螺纹孔的位置如下:对拍摄的图片进行预处理,先根据相机每次拍摄的图片效果截取照片中靠近模组中央位置的包含需要定位的两个螺纹孔一个方形区域,对图形进行去噪处理;对去噪后的图像进行初步二值化处理,算法步骤如下:首先采集一组不同光照情况下的模组图片估算出每张图片中螺纹孔区域灰度值的变化范围 (i0~in);取变化阈值t0≥in-i0;每次拍摄好图片之后,首先对图片进行遍历,记录每一个像素点的灰度值,并进行比较,获取图像中的最小灰度值im;取图像分割阈值t=im+t0;利用阈值t对图像进行初步二值化分割;进行边缘检测;进行螺纹孔位置检测,用霍夫圆检测算法来确定模组上螺纹孔位置。
具体应用实例中,进行螺纹孔位置检测,用霍夫圆检测算法来确定模组上螺纹孔位置具体如下:初始化圆心空间N(a,b),令所有的N(a,b)=0;遍历二值图中的所有非0像素点,沿梯度方向和其反方向画线,线段的起点和长度由设置的半径区间决定,将线段经过的所有累加器中的点(a,b)的 N(a,b)+=1,统计排序N(a,b),得到可能的圆心;对于可能的圆心,按照累加器点数从高到低进行排序,依次计算边缘图中所有的非0像素点距此圆心的距离,并对距离从小到大排序,对于距离相差小于某个阈值的点视为在同一个圆中,统计属于该半径的非0点数;重复以上步骤计算多个圆心点,优先选择非0点数最多的半径画圆,在此情况下,会检测到许多的圆存在,根据对不同图片多次检测的结果可知,模组中央两个螺纹孔的间距约为900个像素点,据此设置圆心最小间距,圆心之间距离小于此间距的只取累加器点数最多的为圆心。
具体应用实例中,第二相机拍摄LED光源照片具体如下,获取LED光源上两个螺纹孔的位置:对 LED光源的图片进行图像处理,获取图片中LED光源两个螺纹孔的位置,并计算出两个螺纹孔圆心连线与模组上两个螺纹孔圆心连线的夹角。
具体应用实例中,LED光源图片处理的计算过程如下:
首先同样需对图片进行滤波处理,排除噪声干扰;
进行二值化处理,此时根据图像特征可以发现,图片中光源区域的灰度值相较于其他区域比较大,因此仍需通过事先采集的图像样本集,确定不同光照条件下,光源图像的灰度值变化范围(i0’~i n’),取变化阈值t0’≥in’-i0’;每次拍摄好图片之后,首先对图片进行遍历,记录每一个像素点的灰度值,并进行比较,获取图像中的最大灰度值im’;取图像分割阈值t’=im’-t 0’;利用阈值t’对图像进行初步二值化分割;对二值化之后的图像再进行边缘检测,获得轮廓图;为了便于更好的提取螺纹孔特征,排除其他元素干扰,利用检测螺纹孔两侧的线段的交点来对螺纹孔进行定位;根据通过霍夫直线检测的算法,先后对LED光源螺纹孔对应的线段进行提取,根据对不同图片多次检测的结果可知,两侧线段的长度约为100-150个像素点,且两条线段所在直线垂直,可知,两条直线斜率的乘积为K=-1,由此设定直线夹角的阈值为ki*ka<=-0.8,进一步减小图像中检测出其他干扰直线的可能,两幅图中两个圆圈的位置已知,其连线中点的位置可求,其连线的直线斜率也可求,即光源螺纹孔连线中点的和斜率可求。此时光源螺纹孔连线的位置和斜率已知,模组底座的螺纹孔位置和斜率也已知,即可求解两对螺纹孔在空间中的位置关系,从而引导第一机械臂将光源准确的放置在模组底座上,使两对螺纹孔重合,完成装配。
为了使本领域技术人员更直观的理解本发明实施例提供的基于视觉定位的双臂协同LED光源模组智能装配系统,以下将结合具体实施过程对本发明进行进一步的说明。参见图2系统结构示意图,整个装配系统包括一台主动机械臂、一台从动机械臂,两台用来进行视觉定位的工业相机,以上部件均通过工业PC机进行控制和通讯,其中固定在主动机械臂末端执行器压爪上的第一相机主要用来进行模组底座上的两个螺纹孔的定位;另一台第二相机固定在工作台上,用来对LED光源上的螺纹孔进行定位;当底座到达本装配工位时,触发位置传感器,装配系统开启启动。由主动机械臂带动第一相机运动至模组底座正上方,拍摄模组底座照片,经过图像处理之后,计算出模组底座上两个螺纹孔的位置并保存;然后主动机械臂运动至工作台指定位置,吸取LED光源,再将LED光源带至第二相机下方,对LED光源进行拍摄,计算出此时LED光源上两个螺纹孔的位置。此时已获得两对螺纹孔的位置,即可分别计算出连接两对螺纹孔的线段l1和l2。求解l1和l2中点位置在空间中的偏差,即可控制主动机械臂将LED光源带至底座上方,并使线段l1和l2的中点重合;之后求解出l1和l2的夹角,使主动机械臂带动LED光源旋转对应的角度,使l1和l2完全重合,即两对螺纹孔的位置完全重合,顺利完成定位。之后由主动机械臂将LED光源准确地放置在底座上,并固定、压紧,将底座螺纹孔的位置发送给从动机械臂,从动机械臂先从螺丝供给机处吸取螺丝,然后运动至两个螺纹孔处,利用电机自动完成锁螺丝的操作,装配完成。
具体的,包括如下步骤:
第一步,当模组运行到装配工位时,主动机械臂运动至模组上方由标定关系确定的拍摄基准,触发第一相机拍照,并对模组的照片进行图像处理之后,获取模组上两个螺纹孔的位置。具体应用实例中,第一相机通过硬件连接件固定在主动机械臂末端执行器上,距模组垂直高度0.15米。规定最大安装误差为0.3mm,图像检测部分最大误差0.1mm。拍摄目标为直径116mm的圆形区域,为保证目标物体在视野范围内,最小拍摄范围为130×130mm 2,因此工业相机的纵向最低分辨率为1300,此时横向分辨率通常在1700左右,由此计算出相机像素为250万左右。初定拍摄高度为200mm。在实际使用中,为提高视觉系统的稳定性和准确性,一般会选取相机像素理论计算值的2倍以上,因此选取500 万像素的工业相机。由此进行相机选型,最终选择了大恒的MER-504-10GM/C-P GigE接口CCD工业数字相机。拍摄图像为灰度图,在黑色工作台上拍摄效果如图3所示。
第二步,对拍摄的图片进行预处理。根据装配要求,只需要获取模组中央两个螺纹孔的位置,并转化到机器人坐标系下。从图3中可以看出模组四周也有四个同样大小的螺纹孔,会对中央螺纹孔的提取造成干扰。因此先根据相机每次拍摄的图片效果截取照片中靠近模组中央位置的一个方形区域,这个区域中只包含需要定位的两个螺纹孔,如图4所示。接下来就继续对这个区域进行处理,为了减小图片中噪声的影响,首先对图像进行滤波。在此使用了非线性滤波方法——中值滤波,中值滤波可以在减小图片噪声的同时,保留其边缘。双边中值滤波的基本原理是把数字图像或数字序列中某一点的像素值,用以该点为中心的九个像素点的像素值的中值代替,让周围的像素值接近的真实值,从而消除孤立的噪声点。具体方法为:用3×3的矩阵,依次扫过图像的每一个像素点所在的九宫格区域,每个矩阵元素对应一个像素点。在每经过一个点时,对于以该点为中心的9个像素值按大小进行排序,选取中值作为这个点的新像素值。对图像进行中值滤波后,效果如图5所示。
第三步,进行图像二值化处理。图像二值化的基本原理是设定一个阈值,并以此为界限将图像中所有灰度值小于该阈值的像素点的像素值赋予0,所有灰度值大于该阈值的像素点的像素值赋予255,使图像呈现出黑白的效果,减少图像中的数据量,突出特征,便于后续的图像处理步骤。本发明实施例需要突出图5中两个螺纹孔的位置,因此期望设置阈值将两个螺纹孔的像素值与图片其他部分的像素值区分开。但是由于安装空间和机械臂载荷的限制,无法在相机附近安装合适的光源,导致装配工位每次拍摄的模组图片整体灰度值都会根据自然光变化而产生变化,因此如果设定固定的阈值无法保证对每一张图片都有好的效果。
针对这种情况,采用针对模组图像特征的自适应阈值分割方法。观察模组图片可以看出,无论外界光照情况如何变化,螺纹孔所在区域均为灰度值最小的区域,因此可根据此不变特征来进行提取。算法步骤如下:
1)首先采集一组不同光照情况下的模组图片估算出每张图片中螺纹孔区域灰度值的变化范围(i 0~in);
2)取变化阈值t0≥in-i0,通常取t0=(in-i0)+30;
3)每次拍摄好图片之后,首先对图片进行遍历,记录每一个像素点的灰度值,并进行比较,获取图像中的最小灰度值im;
4)取图像分割阈值t=im+t0;
5)利用阈值t对图像进行二值化分割。
本发明实施例中采集了96张不同光照条件下的模组图片,利用本方法进行处理,取t=0;对图片进行处理,原图和对应二值化图像对比如图6所示,图6a)-1为较暗条件下的原图,图6b)-1为图 6a)-1对应的二值化图像,图6a)-2明亮条件下的原图,图6b)-2为图6a)-2对应的二值化图像。根据图6可以看出,即使原图图像的亮度变化较大,本发明实施例都能很好的获取阈值对图像进行二值化处理,提取出螺纹孔的位置,满足后续定位的精度要求。
仔细观察图6a)-2和图6b)-2,可以看出,在光线比较明亮时,通过本发明实施例的二值化之后的图像中,螺纹孔中心仍有少部分区域被判定为背景区域,出现了空腔,且检测到的螺纹孔区域面积与实际尺寸相差1-2个像素,针对这种情况,本发明实施例在原有方法的基础上进一步提出了优化的方法。
在利用上述方法初步对图像进行分割以后,求解二值化图像中每个联通域的面积,具体应用实例中的螺纹孔直径为3mm,根据相机的像素,拍摄视野等参数进行计算,拍摄的底座图像中螺纹孔的半径应为30个像素点左右,因此可以求解图像中螺纹孔区域的理想面积,并根据其大小设定面积阈值;将初步二值化之后图像中的各个连通域的面积与面积阈值进行对比。当图像中所有连通域的面积均小于面积阈值时,说明图像亮度过大,初步二值化的灰度阈值过低,误将螺纹孔区域的像素点判定为背景像素,此时再返回增大二值化的灰度阈值,然后再重复进行图像切割再与面积阈值进行对比,根据灰度值范围设置迭代次数,直到二值化之后出现两个联通域的面积大于给定面积阈值,说明两个螺纹孔均已完整分割出来,图像二值化的效果达到最好,具体算法步骤如下:
1)根据底座结构和相机参数,计算出图片中的理想螺纹孔区域的面积S,并根据S设定面积阈值 S0(考虑相机安装误差和螺纹孔加工误差等,通常取S0<S);
2)给定初始二值化灰度阈值偏差t0;
3)对图像进行遍历,获取图像中最小灰度值im;
4)将灰度阈值t设定为t0+im;
5)利用灰度阈值对图像进行二值化分割处理,获得初步处理的二值化图像;
6)对步骤(5)获取的图像中,各个连通域的面积进行求解并保存为S1,S2...Sn;
7)对比每一个连通域面积与面积阈值S0的大小,并统计面积大于S0的联通域个数n,若n< 2,则取新的阈值t=t+1;再重复步骤(5)-(7);若n>2,则证明当前图像的二值化处理,已经达到理想效果,结束该步骤。
利用上述改进的方法再次对同一组光照充足条件下的图像进行处理,效果如图7所示。
第四步,边缘检测。边缘检测是从不同视觉对象中提取有用的结构信息并大大减少要处理的数据量的一种技术,目前已广泛应用于各种计算机视觉系统。常用的Canny边缘检测是在一阶微分算子的基础上,增加了非最大值抑制和双阈值两项改进,利用非极大值抑制不仅可以有效地抑制多响应边缘,而且还可以提高边缘的定位精度;双阈值可以确定真实的和潜在的边缘,有效减少漏检率。
所谓非最大值抑制是一种边缘细化方法。通常得出来的梯度边缘不止一个像素宽,而是多个像素宽,因此这样的梯度图还是很“模糊”。非最大值抑制能帮助保留局部最大梯度而抑制所有其他梯度值。只保留了梯度变化中最锐利的位置。算法:1)将当前像素的梯度强度与沿正负梯度方向上的两个像素进行比较。2)如果当前点的梯度强度和同方向的其他点的梯度强度相比较是最大,保留其值。否则抑制,即设为0。比如当前点的方向指向正上方90°方向,那它需要和垂直方向,它的正上方和正下方的像素比较。
在施加非极大值抑制之后,剩余的像素可以更准确地表示图像中的实际边缘。然而,仍然存在由于噪声和颜色变化引起的一些边缘像素。为了解决这些杂散响应,必须用弱梯度值过滤边缘像素,并保留具有高梯度值的边缘像素,可以通过选择高低阈值来实现。如果边缘像素的梯度值高于高阈值,则将其标记为强边缘像素;如果边缘像素的梯度值小于高阈值并且大于低阈值,则将其标记为弱边缘像素;如果边缘像素的梯度值小于低阈值,则会被抑制。阈值的选择取决于给定输入图像的内容。一般高低阈值比在2:1到3:1之间。
本发明实施例中根据图像特征,选取3*3的核进行卷积,边缘检测的梯度上限阈值为120,下限阈值为40。经过Canny边缘检测的图片效果如图8所示。
第五步,螺纹孔位置检测。这一步主要是用霍夫圆检测算法来确定螺纹孔位置,霍夫圆检测的基本原理是一个圆上的点都沿着其梯度方向画线,那么所有线的交点就是圆心,先计算可能的圆心,再计算可能的半径。
初始化圆心空间N(a,b),令所有的N(a,b)=0。遍历二值图中的所有非0像素点,沿梯度方向和其反方向画线,线段的起点和长度由设置的半径区间决定,将线段经过的所有累加器中的点(a,b)的 N(a,b)+=1,统计排序N(a,b),得到可能的圆心。对于可能的圆心,从累加器点数从高到低进行排序,依次计算边缘图中所有的非0像素点距此圆心的距离,并对距离从小到大排序,对于距离相差小于某个阈值的点视为在同一个圆中,统计属于该半径的非0点数。重复以上步骤计算多个圆心点,优先选择非0点数最多的半径画圆。在此情况下,会检测到许多的圆存在,根据对不同图片多次检测的结果可知,模组中央两个螺纹孔的间距约为900个像素点,据此设置圆心最小间距,圆心之间距离小于此间距的只取累加器点数最多的为圆心。
由试验得知模组底座内圆轮廓半径约为轮廓半径约为25-30个像素点,故设置半径区间在25-30,最优圆半径不在此范围的全部排除掉。由图9可看出设定的参数可以很好地利用霍夫圆检测的方法检测出两个螺纹孔的位置,根据模组最初的设计,模组的圆心刚好在两个螺纹孔圆心连线的中点,也可求得其位置,且在这一步要根据两个螺纹孔圆心坐标确定其连线的直线方程。
第六步,主动机械臂在模组上方完成照片拍摄,PC机计算出模组上两个螺纹孔的位置以及模组圆心位置之后,控制主动机械臂运动到第二个位置吸取LED光源。
之后同样需要确定光源上的两个螺纹孔在空间中的位置和姿态。因此机械臂将继续运动到下一个位置,使光源位于第二相机的正下方,拍摄光源,获取所需的位姿数据。光源图片如图10所示。
第七步,对LED光源的图片进行图像处理,获取图片中两个螺纹孔的位置,并计算出两个螺纹孔圆心连线与模组上两个螺纹孔圆心连线的夹角。这一步的图像处理的预处理过程与模组图像处理的预处理基本雷同。区别在于LED光源的图像中,两个螺纹孔的边缘形状不是标准的圆,而是两段不太标准的圆弧,故无法通过霍夫圆检测的方法来确定其圆心,因此提出另一种代替的检测定位方法。根据图像可以看出螺纹孔所在的位置为光源两条边的交点,故两个螺纹孔的圆心,应该刚好在两条直线的交点所连成的线段上,且螺纹孔圆心连线的中点,应该与两个交点连线的中点重合。获得两个交点坐标后,即可求得交点连线的直线方程,以及LED光源圆心的位置坐标。如图11所示。
第八步,获取到两对螺纹孔所有的相对位置信息以后,机械臂开始带动光源进行装配。程序计算出两个中心点在空间中三个坐标方向的偏差,并发送给机械臂,机械臂中会调用相应的函数指令根据数据做出相应的移动,带动LED光源到达模组上方,使两者中心重合。之后根据上文计算的结果,计算出两对螺纹孔所在直线的夹角,并发送给主动机械臂,使其调用相应的函数绕中心点旋转对应的角度。使对螺纹孔重合,并压紧固定光源,从动机械臂来完成锁螺钉的操作。
第九步,提前对两台机械臂各自所在的基坐标系进行标定,求得两个坐标系的位置转换矩阵T。在这一步中,将上文计算出的模组上螺纹孔的位置,转换到从动机械臂的基坐标系下,求得其位置,并控制从动运动到指定位置,并启动电气系统,由自动锁螺丝机进行锁螺钉的操作,完成一次装配。
应当理解,本文所述的示例性实施例是说明性的而非限制性的。尽管结合附图描述了本发明的一个或多个实施例,本领域普通技术人员应当理解,在不脱离通过所附权利要求所限定的本发明的精神和范围的情况下,可以做出各种形式和细节的改变。
Claims (2)
1.一种基于视觉定位的双臂协同智能装配系统,其特征在于,包括两台机械臂和两台相机,其中,第一相机固定在第一机械臂的末端执行器上,用来拍摄模组底座;第二相机固定在第一机械臂外部,用来拍摄LED光源;第二机械臂的末端执行器为自动打螺丝机,
在系统正式开始工作之前,进行前期标定,进行第一相机和第一机械臂基坐标系的标定,第二相机和第一机械臂基坐标系的标定,以及第一机械臂和第二机械臂之间位置转换的标定工作,获得对应的转换矩阵,以便将相机拍摄的图片中点的位置转换到机械臂的基坐标系下,引导机械臂到达指定位置;
系统装配,分别进行如下动作:
当待安装的模组底座运行到安装工位时,第一机械臂运动至模组上方由标定关系确定的拍摄基准,触发第一相机拍照,并对待安装的模组的照片进行图像处理之后,获取模组上两个螺纹孔的位置;
第一机械臂吸取LED光源并将其准确的移动到第二相机下方由标定关系确定的拍摄基准;
第二相机拍摄LED光源照片,获取LED光源上两个螺纹孔的位置;
将LED光源放置在模组底座上,使LED光源与模组底座上两组对应的螺纹孔重合并压紧;
第二机械臂运动到指定位置将LED光源和模组底座采用螺钉锁死;
对待安装的模组的照片进行图像处理之后,获取模组上两个螺纹孔的位置如下:
对拍摄的图片进行预处理,先根据相机每次拍摄的图片效果截取照片中靠近模组中央位置的包含需要定位的两个螺纹孔一个方形区域,对图形进行去噪处理;
对去噪后的图像进行初步二值化处理,算法步骤如下:首先采集一组不同光照情况下的模组图片估算出每张图片中螺纹孔区域灰度值的变化范围(i0~in);取变化阈值t0≥in-i0;每次拍摄好图片之后,首先对图片进行遍历,记录每一个像素点的灰度值,并进行比较,获取图像中的最小灰度值im;取图像分割阈值t=im+t0;利用阈值t对图像进行初步二值化分割;
进行边缘检测;
进行螺纹孔位置检测,用霍夫圆检测算法来确定模组上螺纹孔位置;
进行螺纹孔位置检测,用霍夫圆检测算法来确定模组上螺纹孔位置具体如下:初始化圆心空间N(a,b),令所有的N(a,b)=0;遍历二值图中的所有非0像素点,沿梯度方向和其反方向画线,线段的起点和长度由设置的半径区间决定,将线段经过的所有累加器中的点(a,b)的N(a,b)+=1,统计排序N(a,b),得到可能的圆心;对于可能的圆心,按照累加器点数从高到低进行排序,依次计算边缘图中所有的非0像素点距此圆心的距离,并对距离从小到大排序,对于距离相差小于某个阈值的点视为在同一个圆中,统计属于该半径的非0点数;重复以上步骤计算多个圆心点,选择非0点数最多的半径画圆,在此情况下,会检测到许多的圆存在,根据对不同图片多次检测的结果可知,模组中央两个螺纹孔的间距范围为900个像素点,据此设置圆心最小间距,圆心之间距离小于此间距的只取累加器点数最多的为圆心,螺纹孔半径范围为25-30个像素,据此设置霍夫圆检测的半径阈值;
LED光源图片处理的计算过程如下:
首先需对图片进行滤波处理,排除噪声干扰;
进行二值化处理,此时根据图像特征可以发现,图片中光源区域的灰度值相较于其他区域比较大,因此仍需通过事先采集的图像样本集,确定不同光照条件下,光源图像的灰度值变化范围(i0’~in’),取变化阈值t0’≥in’-i0’;每次拍摄好图片之后,首先对图片进行遍历,记录每一个像素点的灰度值,并进行比较,获取图像中的最大灰度值im’;取图像分割阈值t’=im’-t0’;利用阈值t’对图像进行初步二值化分割;对二值化之后的图像再进行边缘检测,获得轮廓图;为了便于更好的提取螺纹孔特征,排除其他元素干扰,利用检测螺纹孔两侧的线段的交点来对螺纹孔进行定位;根据霍夫直线检测的算法,先后对LED光源螺纹孔对应的线段进行提取,根据对不同图片多次检测的结果可知,两侧线段的长度范围为100-150个像素点,两幅图中两个圆圈的位置已知,其连线中点的位置可求,其连线的直线斜率也可求,即光源螺纹孔连线中点的和斜率可求;此时光源螺纹孔连线的位置和斜率已知,模组底座的螺纹孔位置和斜率也已知,即可求解两对螺纹孔在空间中的位置关系,从而引导第一机械臂将光源准确的放置在模组底座上,使两对螺纹孔重合,完成装配。
2.如权利要求1所述的基于视觉定位的双臂协同智能装配系统,其特征在于,第二相机拍摄LED光源照片具体如下,获取LED光源上两个螺纹孔的位置:对LED光源的图片进行图像处理,获取图片中LED光源两个螺纹孔的位置,并计算出两个螺纹孔圆心连线与模组上两个螺纹孔圆心连线的夹角。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019105814348 | 2019-06-29 | ||
CN201910581434 | 2019-06-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111251336A CN111251336A (zh) | 2020-06-09 |
CN111251336B true CN111251336B (zh) | 2022-01-28 |
Family
ID=70952400
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911168045.9A Active CN111251336B (zh) | 2019-06-29 | 2019-11-25 | 一种基于视觉定位的双臂协同智能装配系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111251336B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111633665B (zh) * | 2020-07-03 | 2023-10-03 | 桂林电子科技大学 | 抓取电磁换能器协助无损检测的装置及其轨迹规划方法 |
CN112846886B (zh) * | 2020-12-31 | 2022-07-01 | 广州科源数控科技有限公司 | 一种机床基于图形文件的孔位定位方法 |
CN114905478A (zh) * | 2021-02-08 | 2022-08-16 | 腾讯科技(深圳)有限公司 | 双边遥操作系统及控制方法 |
CN114178832B (zh) * | 2021-11-27 | 2023-03-24 | 南京埃斯顿机器人工程有限公司 | 一种基于视觉的机器人引导装配机器人方法 |
CN114454165A (zh) * | 2022-01-27 | 2022-05-10 | 广州市斯睿特智能科技有限公司 | 一种基于视觉的汽车前端模块组装系统及方法 |
CN114714291B (zh) * | 2022-04-28 | 2023-11-03 | 珠海格力电器股份有限公司 | 一种空调外机冷凝器螺钉的装配系统及其控制方法 |
CN115070407B (zh) * | 2022-05-18 | 2023-07-11 | 电子科技大学 | 辅助天线阵面大规模阵元组装定位方法 |
CN114820820B (zh) * | 2022-06-27 | 2022-09-02 | 苏州鼎纳自动化技术有限公司 | 一种电脑后壳的3d检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011115877A (ja) * | 2009-12-02 | 2011-06-16 | Canon Inc | 双腕ロボット |
CN105894528A (zh) * | 2016-05-04 | 2016-08-24 | 南京航空航天大学 | 一种自适应阈值的加油锥套图像处理方法 |
CN106584093A (zh) * | 2015-10-20 | 2017-04-26 | 沈阳新松机器人自动化股份有限公司 | 工业机器人自我装配系统及方法 |
CN108573476A (zh) * | 2018-03-14 | 2018-09-25 | 浙江大学山东工业技术研究院 | 基于视觉的太阳花模组表面螺钉孔位置检测方法 |
CN108698178A (zh) * | 2016-02-26 | 2018-10-23 | 株式会社富士 | 机器人手臂控制系统 |
-
2019
- 2019-11-25 CN CN201911168045.9A patent/CN111251336B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011115877A (ja) * | 2009-12-02 | 2011-06-16 | Canon Inc | 双腕ロボット |
CN106584093A (zh) * | 2015-10-20 | 2017-04-26 | 沈阳新松机器人自动化股份有限公司 | 工业机器人自我装配系统及方法 |
CN108698178A (zh) * | 2016-02-26 | 2018-10-23 | 株式会社富士 | 机器人手臂控制系统 |
CN105894528A (zh) * | 2016-05-04 | 2016-08-24 | 南京航空航天大学 | 一种自适应阈值的加油锥套图像处理方法 |
CN108573476A (zh) * | 2018-03-14 | 2018-09-25 | 浙江大学山东工业技术研究院 | 基于视觉的太阳花模组表面螺钉孔位置检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111251336A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111251336B (zh) | 一种基于视觉定位的双臂协同智能装配系统 | |
CN111721259B (zh) | 基于双目视觉的水下机器人回收定位方法 | |
CN104331876B (zh) | 直线检测、图像处理的方法及相关装置 | |
CN111612765B (zh) | 一种圆形透明镜片识别和定位的方法 | |
CN111553949B (zh) | 基于单帧rgb-d图像深度学习对不规则工件的定位抓取方法 | |
CN114494045B (zh) | 一种基于机器视觉的大型直齿轮几何参数测量系统及方法 | |
CN112364865B (zh) | 一种复杂场景中运动小目标的检测方法 | |
CN111161295B (zh) | 一种菜品图像背景剥离方法 | |
CN112116633A (zh) | 一种矿井打钻计数方法 | |
CN111695373B (zh) | 斑马线的定位方法、系统、介质及设备 | |
CN113269762A (zh) | 屏幕不良检测方法、系统及计算机存储介质 | |
CN111784655A (zh) | 一种水下机器人回收定位方法 | |
CN113822810A (zh) | 一种基于机器视觉的三维空间中工件的定位方法 | |
CN114029946A (zh) | 一种基于3d光栅引导机器人定位抓取的方法、装置及设备 | |
CN115830018B (zh) | 基于深度学习与双目视觉的碳素块检测方法及系统 | |
CN108182704A (zh) | 基于形状上下文特征的定位方法 | |
CN113743147B (zh) | 一种基于模糊成像机理的抗模糊二维码图像及其盲复原方法 | |
CN115108466A (zh) | 一种集装箱吊具智能定位的方法 | |
CN113781413A (zh) | 一种基于Hough梯度法的电解电容定位方法 | |
CN114964032B (zh) | 基于机器视觉的盲孔深度测量方法及装置 | |
CN114882122A (zh) | 图像局部自动标定方法、装置及相关设备 | |
CN114399463A (zh) | 一种基于数字图像处理的锯片拾取方法及系统 | |
CN111062907B (zh) | 一种基于几何变换的Homography变换方法 | |
CN112991327A (zh) | 基于机器视觉的钢格网焊接系统、方法和终端设备 | |
Antunes et al. | All-in-focus imaging using a series of images on different focal planes |
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 |