赵丽君,李冰冰*,计 妍,邓志高
(1.河北石油职业技术大学,承德 067000;2.承德华实机电设备制造有限责任公司,承德 067000)
工业技术飞速发展过程中,工业机器人不断优化升级,为工件的分拣工作提供更加精准的控制技术,基于此出现了工业机器人分拣控制系统,依靠智能识别、跟踪定位以及人机交互等技术,完成对工件的快速分拣工作[1]。但随着仪器仪表精密程度的不断提升,各种各样的精密零件数量和种类都越来越多,工业机器人分拣过程中出现了许多问题,其中最典型的问题就是识别定位数据偏差较大,导致分拣过程中存在缺失工件、工件分类错误等问题,直接影响工业企业后续的制造生产进度。为了进一步提高工业机器人的工作效率,研究了基于迁移学习、场景特征的控制方法,但经过实际应用发现,这些方法尽管稳定性较强、分拣速度较快,但对于分拣结果的优化并不理想,针对这一问题,设计全新的工业机器人快速分拣控制方法。
工业机器人分拣工件过程中,利用工业摄像机采集图像,通过图像显示工件位置信息,实现精准抓取。为了降低视觉定位误差,根据像素、成像单元以及待分拣工件之间的位置关系,标定图像传感器。已知机器人通过二维矩阵生成图像,假设直角坐标系中像素坐标为(a,b),物理坐标为(x,y)。设置像元在感光阵列上的物理长度为Lx和Ly,则物理长度参数的关系公式为:
公式中:a0、b0表示像素初始坐标。通过上述公式得到图像和成像坐标系存在的内在联系。不考虑摄像机畸变,假设世界坐标系中存在随机一点P,该点的三维坐标用P(X0,Y0,Z0)表示,映射到平面中的坐标用p(x,y)表示。设置工业摄像机的摄像焦距为f,根据式(1)获得的矩阵为:
综合上述两组公式,获得像素坐标和世界坐标之间的内在联系,即坐标 (a,b,1)T和坐标(X0,Y0,Z0,1)之间的关系,公式为:
公式中:与式(1)一致的参数是可以改变的,这一改变由摄像机内部结构决定;Xi、Yi、Zi表示对应的拍摄坐标;S1、S2分别表示内参矩阵、外参矩阵,其中外参矩阵S2根据摄像机的位置决定;S表示摄像机投影矩阵[2]。根据工业机器人摄像机的参数,得到式(3)的值,实现工业机器人图像传感器标定。
1.2.1 目标物体点云数据处理
目标物体的视觉检测技术,是工业机器人实现快速分拣的重要环节之一,研究以随意摆放的无序工件为分拣目标,使用三维点云数据描述目标物体表面信息和外观结构特征,增加物体信息的真实性。利用标定后的摄像机采集点云数据,由于该点云数据存在体量较大、分布不均以及几何拓扑信息微弱的问题,此时的视觉检测技术只能获取物体表面信息。假设存在随机数量的节点,这些节点为二维平面上随机存在的点云数据,视觉检测技术根据不同方向上的数据方差,将检测区域划分为两个不同的部分,通过不同区域的递归处理得到只包含一个数据点的位置。根据该数据的节点位置Pi,建立协方差矩阵,得到:
公式中:C表示与节点位置Pi相邻的节点总数;表示区域内识别元素的质心;表示第j个协方差矩阵的特征向量;αi表示匹配特征[3]。上述公式是对物体表面数据的反馈,但还缺少物体结构特性的描述。视觉检测技术根据曲率计算公式,获得目标物体的结构特征,包括坡度、角度以及弯曲程度等,该公式为:
公式中:q表示曲率;α1、α2、α3表示属性不同的特征。视觉检测通过上述两个角度,实现对目标物体表面信息和结构特征的数据检测。处理得到的云数据存在部分噪声点或离群点,需要通过滤波处理降低数据误差。该过程随机抽取点云场景中存在的不共线点,根据不同点所在位置的构建平面,以其中任意一点为标准点,计算该点到平面的距离d。预设期望阈值d',存在条件d≥d'时,说明该点位于识别区域之外,不满足定位要求,需要重新处理点云数据,去除噪声点和离群点;存在条件d<d'时,说明该点在识别区域之内,满足定位要求,利用该点遍历整个场景中,统计局内点总数,直至在最大迭代次数中得到最优拟合结果。选择符合最优平面的所有点,至此得到处理后的点云数据。
1.2.2 工件几何特征提取与分类
视觉检测技术完成上述处理工作后,以二值化的人方式处理图像,假设图形像素为(a,b),其灰度值通过下列公式获得:
式中:a、b分别表示宽度和高度。根据上述公式得到灰度值划分结果,发现检测图像中只存在黑、白两种颜色,其中黑色表示背景、白色表示工件。计算二值图像中白色像素点的总数量,其中图像的第i行白色像素点数量为:
公式中:i=1,2,…b'k(i)表示数量。以图像行数为纵坐标,式(7)的计算结果为横坐标,以图像的左下角为坐标远点绘制水平投影,根据投影情况估算像素点数量,按照不同数量区域进行分割。在分割后的区域上,定义单位圆x2+y2=1的复值函数,要求该函数具有正交性功能,公式为:
式中:m为正整数、n为整数,且|n|≤m;d'根据上一节已知;β表示夹角;Emn(d')表示实值径向多项式[4]。将常用幅值作为特征向量,当图像按照θ角度旋转后,通过下列公式得到新的特征向量:
根据上述过程提取工件几何特征,利用径向基函数实现视觉检测对工件几何特征的分类,公式为:
公式中:xi表示特征目标;x表示预测值;σ表示方差。综合上述两个阶段,通过点云数据处理和特征提取分类,实现对分拣目标的视觉检测。
根据上述设计方案,设计工业机器人分拣工件的控制程序,实现对不同工件的快速分拣。以目前常用的工业机器人型号为研究标准,设计工业机器人分拣指令:
1)循环指令LAB和跳转指令JUMP。利用该指令控制机器人末端执行器的运动轨迹;
2)运动指令MOVJ和MOVL。前者以关节插补的形式控制机器人到达指定位置;后者以直线插补的形式控制机器人不同的分拣位姿。
3)视觉反馈位姿指令GETVISION。该指令在视觉检测结束后,向机器人反馈当前的运动姿态。
4)等待指令DELAY。控制机器人的工作间隔。
5)IO输出控制指令DOUT、PULSE和IO输入控制指令WAIT[5]。输出控制指令中,第一个指令用于控制端口输出电平,是对末端执行器的控制;第二个指令用于控制端口输出脉冲,是对工业摄像机的控制。输入控制指令,控制等待超时的问题。根据上述指令编制工业机器人快速分拣流程,如图1所示。
图1 工业机器人快速分拣流程
根据图1的分拣流程,控制方法要求机器人采集触发脉冲信号,发送工业摄像机拍照信号和实时拍照,根据视觉检测结果分拣目标物工件,根据抓取信号控制机械臂末端执行器的开关。根据摄像机的实时采集图像,机器人机械臂运动到不同的位置,通过收到的触发信号向摄像机发送拍照脉冲,同时保持固定的时间间隔,根据抓取信号运动到目标位置,通过控制执行器钳爪快速抓取工件并摆放到目标位置,最后移开机械臂再次抓取其他工件,直至所有工件分拣完毕。至此通过视觉检测技术,实现工业机器人对不同工件的快速分拣。
实验测试依靠工业机器人、计算机两个主要设备完成分拣,其中工业机器人用于数据获取、计算机用于分拣控制。目前的工业机器人始终采用工件坐标系执行工作,利用该坐标系获得工件位置信息,为了保证机器人有良好的数据通讯功能,修改计算机和机器人的IP地址为同一网段,分别为192.168.1.10和192.168.1.15。将计算机、机器人与无线网络之间建立连接,通过人机交互界面控制工业机器人的分拣动作,图2为控制界面和搭建的实验测试环境。
图2 测试准备
在操作台上放置两张白纸,分别作为操作区域A和操作区域B。选择四种不同的工件作为分拣目标,并随机散放到操作区域A当中。视觉检测通过图2(a)获得分拣目标的表面信息、结构特征和位置间隔,通过设置时间间隔,控制图2(b)中的机械臂,将目标工件由区域A分拣到区域B中,并按照同属性分类排序。
为了证实基于视觉检测的控制方法,能够控制工业机器人有更好的快速分拣效果,引入2种常规的控制方法作为对照组,分别为基于迁移学习的控制方法和基于场景特征的控制方法。利用两组常规方法和本文方法进行分拣控制,比较三组方法的应用效果。
四种不同工件分别为圆形、三角形、长方形以及正方形,为多目标快速分拣测试提供更有利的测试条件。分拣测试开始之前,操作台上区域A中的工件摆放位置,如图3所示。
根据上图可以确定,四类工件以随机的方式被散放在区域A中,分别利用三种方法将图3中的工件快速分拣到操作区域B中,并按照类别排序,得到的结果如图4所示。
图3 操作区域A内的工件
比较图3与图4,发现本文方法将四种工件按照不同类型分拣到操作区域B中,且没有丢失任何一种工件。两个对照组尽管也能归类四种工件,但此次测试中,基于迁移学习的控制方法丢失了1个长方形工件、1个正方形工件和2个圆形工件;基于场景特征的控制方法丢失了全部正方形工件。导出区域A中四种工件的实际位置坐标和三组方法识别定位到的理论位置坐标,其中缺失工件的坐标识别定位结果,如表1所示。
表1 工件位置数据表
图4 快速分拣控制结果
对比表1显示的工件坐标,发现本文方法的理论坐标与实际坐标之间的差异不超过0.1mm;两个对照组方法的理论坐标与实际坐标差异极大。综合上述测试结果可知,基于视觉检测的控制方法,能够获得更加精准的工件理论坐标,所以能得到更加精准的快速分拣结果。
此次研究综合常规快速分拣控制方法目标工件坐标定位效果不佳的问题,利用视觉检测优化了目标识别定位效果,实验证实了基于视觉检测的快速分拣控制方法,能够帮助工业机器人快速分拣工件,并按照类别正确排序。但综合整个设计来看,此次研究存在两点不足:第一该方法的计算量较大,难免会出现一些计算误差,导致工业机器人的机械臂会稍稍偏离工件中心,可能在抓取过程中出现工件掉落的情况。第二该方法只是在原有快速分拣控制的基础上设计的,并没有更新机器人的基本硬件。今后可以设置一套评估算法实时检验识别定位结果,在抓取之前补偿数据,同时更新工业机器人硬件,保证分拣控制工作不受硬件影响。