闽西职业技术学院 廖毅洲
视觉引导工业机器人定位抓取系统设计
闽西职业技术学院 廖毅洲
本文将美国国家一起公司的视觉开发模块以及ABB-IRB120及其人作为研究基础,对视觉识别系统进行了模块设计,构建了基于单目视觉的机器人自动识别以及抓取系统,通过建立抓取系统模型给出图像坐标到机器人坐标的算法,在C#环境下进行开发,最终控制了机器人对目标的抓取。
工业机器人;及其视觉;模式匹配
对于生产线上多个工业机器人来讲,工件识别以及抓取是其十分重要的一项应用,从目前来看,对生产线上的机器人控制,大多数都采用了离线编程的方式,但是,机器人的工作环境或者是目标对象等一旦发生了变化,由于机器人并不能够有效的对这些新的环境进行适应,就会造成机器人抓取动作的失败。在本文的研究当中,采用的软件为NI Vision,并在C#环境当中,利用上述软件的图像处理算法进行了二次开发,通过图像预算处理等步骤,从动态改变机械手的操作。
1.1 CCD相机
采用acA2500-14MG型号工业相机,并将相机安装在传送带的上方。
1.2 镜头
在本文当中采用了定焦镜头,其型号为M0814-MP2,这种镜头有着8.8mm*6.6mm的最大成像尺寸。
1.3 光源
本文采用了拥有较快相应时间以及高品质图形的LED环形光源。
1.4 工控机
在本文的研究当中,采用了工控计算机,负责对CCD相机采集的图相信息进行解控,同时利用图像算法来将识别后的工件转化为机器人控制信号,从而对机器人进行控制。
1.5 机器人
本文的研究当中采用了瑞士ABB公司研发的IRB120机器人,该机器人有控制简单、编程方便等特点,同时拥有六个旋转关节,适用于生产线抓取作业。
图1 机器人视觉抓取系统
在实际的操作过程当中,需要现在传送带的上方对摄像机进行固定,这时,传送带运转就会使得工件进入摄像机的视野中,同时将定时器设置为没0.5s出发一帧相机的图像采集,通过模板匹配的方法,确定工件的位置,并通过两针图像的间隔来对工件运动的速度进行计算。在此之后,我们通过卡尔曼滤波来对下一周期当中的工件位置进行预测,同时对急切人的运动轨迹进行规划,使得工件运动到抓取工位时,能够与机器人的目标位姿重合,最后将位姿信息转化为机器人熟悉的监督,从而实现机器人对工件的准确抓取。此外,在本文的研究当中,根据实际的需求我们队机器人进行了引导,并对机器人对工件的搬运操作进行了实现,其主要工作原理能够从下图当中看到。
在图2当中,上流限是工件开始进入机器人抓取区域的位置,提前上流限的设置,能够减少机器人等待的时间,下流限则代表工件离开机器人抓取区域的位置,如果工件没有在抓取区域当中被机器人抓取,则代表机器人这次的任务失败,与此同时,机器人也会对该工件放弃追踪。
图2 视觉引导抓取系统原理图
3.1 摄像机定标
图3位小孔成像模型,通过小孔成像模型,我们你能够在摄像机的光轴中心建立相应的坐标系,Z轴沿光轴的方向,而X轴则岩图像坐标水平的方向,在坐标系Oc-wyz当中,设点p的坐标为(x,y,z),那么他在图像平面的投影点P的坐标就是(X,Y,Z),其中Z=f,在此式子当中f代表的为摄像机的焦距。
图3 小孔成像模型
通过小孔成像模型,我们得到了下面的比例分析:
同时,利用CCD的成像原理我们能够得知,成像平面上的像在经过放大之后能够得到数字图像,而成像平面上的像点(X,Y)转化为图像点(u,v),并将图像点记为(u0V0),将其作为光轴中心线与成像平面交点的图像坐标,则能够得到以下公式:
在上面的式子当中,dx, dy分别是一个像素在X与Y方向上的尺寸,此外,分别是X以及Y方向上的采样频率,也就是单位长度上的像素个数。
我们将公式(1)带入到公式(2)当中,并改写成矩阵式,就得到了下面的公式:
而将公式(4)带入到公式(3)当中,则能够得出以下公式:
3.2 手眼坐标标定
在该系统当中,我们分别在传送带的两端安装上了摄像机以及机器人,但对工件与机器人之间的相对位姿,无法采用传统的手眼标定方法来进行确定,这就需要在传送带上建立两个参考坐标系,这两个参考坐标系分别为ref1和ref2,我们将这两者分别建立在摄像机的视野范围以及机器人的工作空间当中,从下图当中我们能够看到,摄像机通过平面标靶标定法,标出了内外参数,同时建立了坐标系ref1,从而得出其与摄像机坐标系之间的相对位姿。
图4 抓取系统参数化模型
图5 坐标转换示意图
通过以上两个参考坐标系我们能够建立起目标工件与机器人之间的联系,而坐标间的变换关系能够由图5所示。
在对运动目标的跟踪过程当中,对目标的特征提取是十分重要的,在对模板的匹配过程当中,轮廓、灰度等都能够作为准则存在,此外,几何特征也能够对其进行跟踪。在对目标进行提取之后,就能够针对目标的定位来进行算法的选择,同时,为了满足实际的需求,还需要采用合适的处理方法。
通常来说,在模板匹配算法当中最常见的就是基于灰度相关的模板匹配算法。这种算法就是将灰度值作为特征进行匹配,现如今,这种算法已经发展的较为成熟,此外还有着容易实现的的特点。基于这些特点,本文在实际的研究过程当中也选择了这种算法。在本文当中,将模板大小假设为M*N个像素,那么其相似度函数则如下所示:
在上述的式子当中,T(m,n)以及S(i+m,j+n)分别是模板图像以及待搜索图像的灰度值,通过对每个位置的相似函数的计算,能够对图像是否具有相近的目标进行确定,而将上一式子规划到模板进行匹配则能够得到:
NCC系数的大小表示与带搜索图像拥有怎样的匹配程度,如果NCC等于1,那么则表示在带搜索的图像当中找到了完全相同的实例。模板匹配示意图如下所示,图像在经过匹配之后能够找到实例,从而给予机器人一定的信息。
图6 模板匹配示意图
图7 卡尔曼滤波的一般步骤
在本系统当中,采用了与灰度相关的匹配PatternMatching,这样的匹配方式允许对象进行三百六十度的旋转以及一定比例的大小变化,其相关的操作位:(1)对原始图像进行预处理,使得工件拥有更加明显的特征。(2)在原始图像当中选取目标工件的图像作为模板图像,建立模板学习模式时允许选择的模式,并在图像当中定义搜索区域,通过灰度匹配,在区域内找到模板实例,给出坐标信息。
5.1 卡尔曼滤波
作为一种现行滤波器,卡尔曼滤波器能够通过对上一时刻状态的观测来计算出当前状态的估计值,因此不需要记录观测等历史信息。在视觉跟踪系统当中,卡尔曼滤波器已经得到了广泛的应用,它能够有效的对运动物体的状态进行估计,从而引导机器人完成抓取。
卡尔曼滤波算法如图7所示。
5.2 运动模型的建立
传送带上的工件通常使直线的匀速运动,如果将某时刻的位置和速度假设为运动状态参数,那么目标的状态就只有较小的变化,因此能够利用速度参数来反应运动趋势,在本文的研究当中,对系统状态的定义采用思维变量的方式,期方程为:
而针对本文的系统,其模型则建立为:
由于在图像当中只能观测到目标的位置,因此其观测模型为:
从上图当中能够看到,利用模板匹配的方法,能够对工件的位置进行检测,并通过包含工件的两帧图像来对工件的速度进行计算。在此之后利用卡尔曼滤波器,能够对工件的可能位置进行预测,在提升系统实时性的基础上不断的加快匹配的速度。经过预估、矫正的过程,根据计算得出的机器人运动轨迹,能够生成全新的指令,并通过计算机来对机器人下达指令,控制其对工件进行抓取。
图9 工件抓取实验
表1 视觉定位结果语机器人末端实际位置对比(mm)
通过工件的图像坐标,通过对将系统参数模型映射到机器人坐标系当中,能够利用卡尔曼滤波器来对工件在抓取区域当中的位置进行预测,并将其与机器人机械手末端的坐标进行比较,当午茶能够保持在1.5毫米以内时,则能够保证机械手对运动目标进行准确的抓取,在该系统当中,要求有足够高的定位精度,从而满足生产的需求,具体实验如图9,表1所示。
本文针对流水线进行识别抓取,基于NI图像处理软件进行开发,通过建立抓取系统参数模型,在得出图像坐标与机器人坐标的关系后,进行了相关的匹配,同时结合卡尔曼滤波算法,得到工件的位置并控制机器人抓取目标,而通过实际的实验也能够证明,在本文设计的系统当中,精度能够满足实际的生产的需求,能够有效的提高生产线的自动化水平。
[1]伏云发,郭衍龙,李松,熊馨,李勃,余正涛.基于SSVEP直接脑控机器人方向和速度研究[J].自动化学报,2016(11).
[2]杜柳青,何鑫,韩涛,朱新才.基于刚柔耦合的水轮机修复机器人导轨误差分析[J].组合机床与自动化加工技术,2016(11).
[3]陈鉴,夏庆锋,贾静雯,秦晨芝.基于TCS3200的识别技术及其在机器人上的应用[J].机器人技术与应用,2016(5).