应用链码算法的智能抓取系统的研究

2023-11-28 11:41张伟豪朱振伟高新江
机械设计与制造 2023年11期
关键词:链码物件质心

张 瑞,张伟豪,,朱振伟,高新江,

(1.郑州大学机械与动力工程学院,河南 郑州 450001;2.河南省智能制造研究院,河南 郑州 450001)

1 智能抓取系统设计

建立带摄像头工业机器人抓取系统。通过上位机对图像进行处理,获得目标的实时位置信息,让机器人完成抓取和放置操作。选择单目视觉的视觉程序,对手眼终端的位置掌握开环把控体系,然后联结工作需求,最后构建以单目视觉为基础的机器人抓取体系,主要的设计,如图1所示。这个系统主要是通过四个部分构建的,机器人物体,摄影机,传输线,物体放置地点[1]。从图中能够看到,物体是从输送线输送的。对象都是规则几何体。物体进入摄影机的摄像范围后,在这个范围里头存放一个触发点,当物体和出发点碰撞后,摄影机开始抓取图像,然后把收集到的图像信息传送到PC机并开启对应的分类处理。经过图像分析和处理,得到物体的形状和位置信息。在这里,各个图像里和出发点相互碰撞之后的对象叫做目标对象,也就是摄影机得到的各个图像对应一个固定的目标对象,PC 机利用VB达到人机的界面图针对物体的状态以及捕捉地点的信息传送至坐标系里,机器人到达了对应的地点后就开始抓取操作,然后按照不一样的形状,将目标物体放置在不同的位置,不考虑物体抓取姿势[2]。

图1 以机器视觉为基础的工业机器人的抓取系统示意图Fig.1 Schematic Diagram of Grasping System of Industrial Robot Based on Machine Vision

2 物件识别与定位

2.1 目标物件抓取过程分析

唯有明白机器人的抓捕位置才能够对它的方式进行把控,所以想得到位置就离不开这个抓取的历程,并且要反复的去模拟。机器人抓取系统的示意图,如图2所示。

图2 机器人抓取系统Fig.2 Robot Grasping System

2.2 摄像机标定

摄影机的标定的作用,如图3所示。

图3 摄像机标定Fig.3 Camera Calibration

三维空间里的某一定点和物体当中的某一点是对应着的,一般都是通过摄影机的模型来把控的,一般经常用到两个模型:线性以及非线性,这里运用到的是线性针孔成像模型,如图4所示。图像坐标系以及像素点的坐标系全部都叫做图像坐标系,如图5所示。当中图5(a)是物理方向的坐标系,零点是在左下角,图5(b)是像素点方面的坐标系,零点在左上角。

图4 针孔成像模型Fig.4 Pinhole Imaging Model

图5 图像坐标系Fig.5 Image Coordinate System

在这个空间里,P到对应的P点的这段时间里的变化都是通过坐标系和3个主要的变换达到的。最主要的就是针对坐标系开始平移操作,旋转操作,然后获得摄影机的位置,然后通过三角变换获得坐标系位置,最后得到图像的坐标系,然后按照像素和单位之间的比例获得最终的位置,一般,在日常生活中,最终的三维数据是通过图像里得到的像素点数据信息得到的,也就是上面的逆处理,各个坐标系的关系,如图6所示。

图6 摄像机成像几何关系图Fig.6 Camera Imaging Geometry Diagram

2.3 图像预处理

当物体触碰触发器时,相机获取图像。该文章对工业机器人抓取系统开始工作后连续采集的6幅图像进行了采集、分析和处理。原始彩色图像,如图7所示。

图7 原始彩色图像Fig.7 Original Color Image

由于在图像收集还有传送历程里会出现一些不可确定的干扰,让很多没用的信息渗入到图像中,对后面的结果产生影响,所以通常需要对采集到的图像进行预处理。

2.3.1 平滑处理

平滑处理通常使用于去除或控制图像中的噪声。在平滑过程中,不能缺少的是一个滤波器,它经过低频信号断掉高频噪声信号,属于低通滤波器,由于图像的最外层是高频信号,所以平滑处理会加快边缘的模糊。

这个研究是考虑到未来图像边缘检测的需要,不仅要注意把最外层的噪声解决掉,同时要让物体的外层尽量清晰化,避免之后的处理无法按时完成。

2.3.2 二值化

二值化把像素的灰度值固定位为0 或255,0 代表黑色,255代表白色。通过二值化过程后,图像中的数据已经降低了很多,并且突出了物体的边缘。

图像预处理效果图,如图8~图10所示。对原始图像进行灰度处理后得到的图像,如图8所示。灰度图像变成二值化之后获得的图,如图9所示。这里能够发现很多噪声还有毛刺,经过这一处理后获得的图,如图10所示。获得的图并不存在噪声,而且拥有很好的剪切现象。从图9、图10可以看出,未经平滑处理,二值化后得到的图像会存在噪声,但是平滑后得到的图像基本是没有的,得到的图像中物体的边缘清晰,便于后续处理。

图8 灰度图像Fig.8 Grayscale Image

图9 二值化(原图无平滑)Fig.9 Binarization(Original Image Without Smoothing)

图10 二值化(原图有平滑)Fig.10 Binarization(Original Image is Smooth)

2.4 形状识别

2.4.1 霍夫变换检测圆

这里主要使用Hough变换对圆形目标进行识别,基本都是用于把图像中将那些有一样特征的图像识别出来,尤其是在找直线还有圆的时候,与别的方式对比,这个方式能够高效的减少噪声干扰[3]。

2.4.2 霍夫变换检测直线

Paulhough 在1962 年正式提出了Hough 变换。利用原始Hough变换检测直线和曲线。Hough变换在针对直线的探索里应用的非常多,下边对检测直线的原理进行简要阐述。

如图11(a)所示,图中的一条直线能够用坐标系里的斜率以及截距来展现为y=kx+b。在极坐标系中可以用极径和极角表示为并可以得到简化ρ=xcosθ+ysinθ。其中ρ是从原点到直线的距离,其中,θ是直线的垂直线与X轴之间的角度。对于给定点(x0,y0),有很多的对(ρ,θ)满足方程ρ=x0cosθ+y0sinθ,这就意味着每一对(ρ,θ)都表示了一个穿过点(x0,y0)的直线。倘若在坐标系里固定一个穿过点(x0,y0)的直线,那就可以获得一条正弦曲线。如果在极坐标系中绘制同一直线上的不同点,则生成的曲线将在θ-ρ平面中相交,如图11(b)所示。这意味着可以通过平面中交点处的曲线数来检测直线。交点处的曲线数量与直线包含的点成正相关。设置曲线的阈值来确定该线是否存在[4]。

图11 点—线对偶性Fig.11 Point-Line Duality

2.4.3 Hough-链码

链码使用于用对应的序列来代表物体的最外层。存在固定长度和特定方向的线段用于从一开始表示对象的边。链码本质上是一系列指针序列,一般经常使用的是4向链码和8向链码,如图12所示。左边有四个位置点叫做四向链码,右边有8个位置点叫做八向链码。因为每个像素周边都会有8个相邻点,故而8方向链码相对来说会更贴近实际的像素状况。从图13能够看出,链码存在不变性,但旋转会改变链码,链码随对象旋转而变化。保证目标姿态变化时准确识别对象,可以使用差分链码。

差分链码是指计算两个距离很近的元素两者间的位置改变后得到的链码序列。在图14中,是同一图形,角度相差180°。不难发现,普通链码会随着图像的旋转而随时发生变化,而差分链码不会改变[5]。

图14 形状识别结果Fig.14 Shape Recognition Results

这里在对矩形边框和三角形用于目标识别,则Hough转换将会来识别这条线,并且这条线的角度将被用作连接代码的相关参数来生成差分链码。Hough迁移和链码结合,叫做Hough链码。

Hough链码对三角形还有矩形的识别方式是:

(1)按照目标的数额,相片会被分成许多块,也就是说,根据每个物体的外层的正方形。

(2)Hough链码用的就是一条直线,每一行的方程式也可以被计算出来。

(3)按照直线方式,对各个直线间的交点分别核算,再分别对这些交点进行判断,查看交点是否在图像里,如果在里面说明这个点是物体的顶点,再就能够计算他们之间的夹角,否则,不是顶点。

(4)计算得到的夹角为参数,得到差分链码。

(5)把差分链码与表1中的模板链码分别匹配。

表1 物件模板链码数据库Tab.1 Object Template Chain Code Database

为了降低形状识别过程中的误差,设定夹角阈值,设置为4。计算的角度小于阈值,结果是有效的。

形状识别结果,如图14所示。从图中可以明显看到,Hough变换和Hough链码都能识别圆、矩形和三角形,而且它们的识别效果也都很好。同一形状的物体即使在姿态发生变化时也能被精准地将形状识别出来。该文章只测试了三个规则几何对象,即圆、矩形和三角形。然而,Hough单链编码算法也应用于不规则多边形,但仅用于形状识别。对于那些形状一致但大小不同的对象,别的方式仍需改善[6]。

2.5 物件定位

物体的识别只是指物体形状的识别,只能依据识别到的形状知其位置,但是还需要对物体进行定位才能够确定物体的抓取位置。在工业抓取当中,通常以物体的质心位置作为抓取位置,这有利于机器人抓握目标物体,使得抓握过程更加稳定。在该文本中,对在前一个摄像机获取的图像进行处理,获取质心,再找到目标对象,并依据所获得的质心来获得目标对象的质心位置。为了获得图像上多个目标的质心,第一步就是依据目标分为N个不同的目标块BlockN(i,j),分两步进行。第一步是找到物体边缘上的角点。

第二步就是对全部的物体的所有的点都分别对应的求x轴和Y轴方向的最小坐标值、最大坐标值。

在块分割结束的时候,计算当中会出现一些错误。故而,为了得到更加准确的结果,x轴和Y轴的坐标区域增加5个像素。X轴坐标区域是iN~(imin+5,imax+5),y轴坐标范围为jN~(jmin+5,jmax+5),它们相对应的(p+q)阶矩定义为:

其中,f(i,j)也就是一个像素的质量,Mpq为不同p、q值下的图像的矩·零阶矩M00的公式为中展示区域密度的总和。

一阶矩M10、M01分别为图像对j轴和i轴的惯性矩:

M10、M01分别除以M00后的就是物件的质心坐标(i,j)=(M10/M00,M01/M00)。

按上面的方法计算出的物体质心位置,如图15所示。从图中可以得出,已经识别的物体是有特殊标记的,位置等没有特别大的变动.实验证明,这个算法简单高效,任意图像都可以很好的适应。

图15 物件质心足位结果Fig.15 Results of Object Centroid Feet

2.6 目标物件提取

图像中物体的形状识别和质心定位之前已经进行过。但是,机器人一次只能抓取一个物体,但是摄像机拍照不只有一个物体。所以,从图像中的很多物体中提取出来一个物体。由于触发器是设置在摄像机视图中的水平轴中心,触发器在发生碰撞时才可以得到每一个物体的图像,所以,在开始接触的时候物体就已经是目标对象了,即横向中间倾斜到被选为目标物体的图像对象的左侧[8],并标出目标物体及其质心,如图16所示。

图16 提取目标物件Fig.16 Extracts the Target Object

提取的目标物信息,如表2所示。

表2 目标物件定位结果Tab.2 Target Object Positioning Results

单独获取目标物体的大小形状,像素点,坐标点等信息,获取图像在坐标系当中的中心位置,然后捕捉到对象的位置。

3 实验仿真

3.1 静态目标抓取仿真

在动态取数实验之前,实施静态取数的实验。也就是,当物体输送无法运作的时候,摄像机安装在工业机器人上,物体在机器人的运作区域之内。静态取数,如图17所示。

图17 静态抓取系统布局示意图Fig.17 Static Capture System Layout Diagram

其中,XY为参考坐标系,XRYR为机器人坐标系,坐标系的机器人可以服务的范围是(300×300)mm,摄像机的摄像范围是(200×150)mm,放置对象时,根据不同的对象将它们分别放在不同的位置上。放置矩形物体时,运行至机器人坐标系(50,50)的位置,放置圆形物件时运行至机器人坐标系(150,50)的位置,放置三角形物件时运行至机器人坐标系(250,50)的位置。通过这里第三章所述的算法对摄像机获取的图像进行处理,传输物体位置信息给机器人,按照信息控制机器人,保证抓取的顺利进行[9]。

选择三张在静止状态下抓拍到的图像,经过三次图像处理后的最终图像,如图18所示。

图18 摄像机采集到的图像Fig.18 Image Acquired by Camera

经过处理后,摄像机获取的第一幅图像,如图18(a)所示。目标物件的形状是三角形,物体的质心坐标可以得到是:(103,153)pix,在参考坐标系下的坐标(x,y)=(-37.6,54.4)mm,机器人坐标系中的捕捉位置为(xR,yR)=(112.4,154.4)mm,放置位置为(250,50)mm。经过处理后,摄像机捕捉的第二幅图像,如图18(b)所示。物体是圆形的,目标物体的质心坐标可以得到是:(116,177)pix,在参考坐标系下的坐标(x,y)=(-29.7,39.4)mm,机器人坐标系中的捕捉位置为(xR,yR)=(120.3,139.4)mm,放置位置为(150,50)mm。一系列处理之后,摄像机获取的第三幅图像,如图18(c)所示。物件的形状为矩形,目标物体的质心坐标可以得到是:(90,166)pix,在参考坐标系下的坐标(x,y)=(-54.5,46.3)mm,机器人坐标系中的捕捉位置为(xR,yR)=(95.5,146.3)mm,放置位置为(50,50)mm。

3.2 动态目标抓取仿真

完成完静态抓取试验,验证了这里提出的图像处理还有机器人控制都有一定的可实施性,还有精准性。再实施抓取实验,也就是在传送线持续运作的时候识别并进行抓取,选择从运输传送开始的到结束的持续图像,然后对他们进行识别并对位置进行获取,该文章对图像里的物件分别抓取放置。抓取系统的主要构建图,如图19所示。当中XY代表坐标系,XRYR是机器人的坐标系,直角坐标系机器人的实施运作区域为(300×300)mm,摄像机的工作区域为(200×150)mm,物件输送线的速度是0.1m/s,触发器安装在相机拍摄区域横轴的中点,物体放置位置随形状不同而不同,机器人放置矩形物件时运行至机器人坐标系(50,50)的位置,放置矩形物件时运行至机器人坐标系(150,50)的位置,放置矩形物件时运行至机器人坐标系(250,50)的位置。

图19 动态抓取系统布局示意图Fig.19 Schematic Diagram of Dynamic Capture System Layout

图20 摄像机采集到的图像Fig.20 Image Acquired by Camera

上面分析的结果大多是理想状态下的,假设坐标系里机器人每一次完成抓放的时间是ΔT=1s,可事实上放置当中因为抓取的地点不是稳定不变的,而且要把各个形状的物体全部放在不一样的位置上,所以这个过程中使用的时间也都不一样,可是要计算抓放的位置就要清楚抓放一次的时间,按照机器人的速度把抓放一个物体时间均分为1s,这尽管会让这一过程产生些许的误差,不过因为速度很慢,所以这一误差对最终结果不会有什么太大的影响,并且因为抓取的材料都不重,所以抓取的时候不管是位置还是质心的像素点都不会影响最终的结果[10]。

4 结论

这里提出了一种基于机器视觉的工业机器人抓取系统,针对工业生产过程中工业机器人抓取对象的局限性,构建了一套完整的抓取系统。从确定机器视觉的机器人抓取系统,抓取系统的控制目标,抓取目标物体,定位物体,提取目标物体,配置笛卡尔坐标系机器人以及创建更高级别的用户界面等方面进行分析。经过系统研究,最后经过静态以及动态相结合的实验对该文章的构建系统分别进行了验证,获得了很理想的结果,验证了这里构建系统存有高效性以及准确性。

猜你喜欢
链码物件质心
重型半挂汽车质量与质心位置估计
打开话匣子的好物件
老物件
基于GNSS测量的天宫二号质心确定
旧元素,新物件
老物件,大乐趣
一种新压缩顶点链码
基于链码特征的几何图形快速识别算法*
一种海洋测高卫星质心在轨估计算法
无损链码技术的分析与比较