王汉其,肖曙红
(广东工业大学 机电工程学院,广州 510006)
随着国家战略发展以及劳动成本的提高,促使加工制造业朝着自动化、智能化的方向发展。装配作为加工制造业比较关键的技术之一,由于大多数装配过程采用人工完成,费时费力费财,在产品的生产过程中所占的投资比例相对较大。工业机器人的应用,使得这个领域产生了新的格局,但工况是多变的,而机器人并不能完美适应多变的工况。机器视觉系统的引入仿佛给予了机器人一双“眼睛”,使其更灵活的适应多变的工况。在机器人装配中应用视觉系统,可以进行装配环境中的障碍检测、工件识别、工件测量、工件姿态检测、工件相对位置检测等[1,2]。
从上个世纪50年代开始,机器视觉逐渐出现和应用,当时的主要应用于对于图片的分析和识别[3]。到了60年代“积木世界”[4,5]的提出,学者们开始着手研究图像的各种要素和特征,并建立了大量的理论方法,为后续的发展提供新的基础和方向。20世纪70年代,Shirai等人将图像采集系统加入到控制系统中[6],大大提高了机器人控制的精度,该视觉系统的引入对工业机器人智能化、自动化提供了有力的技术基础。在美国机器人融合机器视觉得到了大力的发展和应用,美国斯坦福大学机器人研究所的“沙克”机器人、美国航天探测机器人以及智能作战机器人等相继出现。在日本2008年,Fanuc机器人制造公司研发出了一套能够快速动作的工业机器人实体和系统。在欧洲,瑞典ABB公司研发的主要用于目标抓取的机器人IRB360,该机器人采用简单的二维视觉检测系统,可以实现快速捡取静止的或者传送带上的物品[7]。
在国内,由于机器人发展相对较晚,跟国外的技术存在很大的差距,而在机器视觉的应用方面,用机器视觉对目标特征的识别是一个非常热门的方向[8],各高校以及研究院都进行了深入地研究。哈尔滨工业大学段喜萍等人利用图像中的文本信息辅助进行图像特征识别[9],文本信息的辅助提高了识别的性能。广东省科学院张昱,陈光黎等人对采集图像提取特征后,主要采用最小二乘支持向量机的识别模型[10],得到了更好地识别效果。天津理工大学申晓霞等人提出RGB图像和深度图像有效结合[11],并且融合了SVM分类器的行为识别算法,具有更好的鲁棒性和区分性。西安工业大学王鹏等人等提出了一种基于模糊理论焊缝缺陷的自动识别检测方法,有比较好的实用性[12]。
本文就是在这校的背景之下提出来的,选择以ABB六自由度机器人为执行部件,以Open CV为视觉检测库,以Python为编程语言进行开发设计的。采用机器视觉和传感器测量相结合的方法对目标孔中心点P进行图像识别和坐标转换以及机器人姿态的调整,然后控制机器人从固定位置拾取枪体部件,并将枪体部件和目标孔完美贴合,进行自动装配操作。
目前机器人常见的手眼标定系统是:Eye-to-Hand系统和Eye-in-Hand系统。Eye-to-Hand系统是指相机固定在机器人外部的系统,Eye-in-Hand系统则是把相机固定在机器人执行末端法兰盘上,使相机跟随机器人执行末端运动的系统。
Eye-to-Hand系统的相机固定,一般拍摄范围较大,可以适应大范围物体定位,但受限于相机物理像素限制,定位精度会相对较低。而Eye-in-Hand系统的相机可以跟随机器人同步移动,理论上可以实现运动范围内的高精度定位,但系统定位构成相对复杂。
本文结合实际研究对象采用Eye-in-Hand系统,机器人姿态调整主要是指机器人末端轴在图像扫描检测的过程中姿态保持不变,目的是保证机器人末端所在的平面和目标孔所在的平面平行。采用的方法是:用压力传感器分别测量目标孔所在平面的三个点,根据其中任意两点压力值得大小,可以求出相应方向上的角度,并将该角度信息发送给机器人进行姿态调整,最后在误差允许范围内,三个点压力传感器测量的值大小接近。
如图1所示,是根据其中的两点测量相应角度的图像,求解可知:
在此条件下,利用机器人示教器和几何测量相结合的方法,求解出相机坐标系与机器人工具坐标系(TCP)的相对位置关系为:
2.1.1 工业相机
视觉相机整个定位系统的重要部件,设计理论检测精度不低于为0.2mm。结合多方面考虑,选用映美精牌工业相机。该相机使用千兆以太网接口传输数据,支持POE供电模式,方便长距离布线,镜头使用8mm焦距,最大F2.0光圈工业相机镜头,最大可以支持1/1.8''寸感光元件成像。
2.1.2 标定板
张氏标定法是通过拍摄一块高精度平面标定板,识别标定板上的标定点,通过成像点和物理点的对应关系建立方程组,解出相机内外参数,再通过极大似然准则对解出参数进行优化,得出最优的相机内外参数。本文采用9×9黑白相间的棋盘格,每个格子的大小为30mm×30mm,所以一共有8×8个角点。
图2 棋盘标定板
理想相机的成像规律服从凸透镜成像规律,也就是物理学中的小孔成像,而根据像所处的平面不同,可以分为如下坐标系:
1)世界坐标系,用W来表示。所有三维世界物体位置的描述都需要相对一个原始坐标系来描述,才能统一其位置,设定世界坐标系为原始坐标系,以毫米为计量单位。而本文中的世界坐标系是指以ABB机器人基座中心为坐标原点的右手坐标系。
2)TCP坐标系,也就是工具坐标系,ABB机器人默认以机器人第六轴法兰盘几何中心为坐标原点,轴向为Z方向的右手笛卡尔坐标系,该坐标系可以在ABB示教器上进行定义。
3)相机坐标系,用C来表示。这个坐标系的原点为相机的光心,Z轴与光轴重合,XY轴与图像坐标系的XY轴平行,以毫米为计量单位。
4)图像坐标系以感光元件中心为坐标原点,XY轴平行于图像边沿,以毫米为计量单位。
5)像素坐标系,一般是以感光元件的左上角为原点,XY轴同校平行于图像边沿,以像素为计量单位。
图3 相关坐标系
为表述简洁,推导均直接使用矩阵形式表示,图像坐标系到像素坐标系的转换:
其中,u0,u0为图像坐标系原点在像素坐标系的坐标,dx,dy为每个像素的单位物理尺寸。图像坐标系与相机坐标系的转换:
其中f为焦距;相机到世界坐标系的变换为:
其中R为旋转矩阵,t为平移向量,综合上述:
其中,ax,ay为图像尺度因子;K为内参矩阵,主要是包含焦距、主点坐标的等内部参数的矩阵;M为外参矩阵,主要是包含由相机坐标系到世界坐标系的旋转矩阵和平移向量。
上述转换是理想的透镜成像模型,物和像完美遵循相似三角形定律,但现实中由于透镜的加工和装配误差,透镜实际成像存在一定程度上的畸变,是属于几何成像失真范畴。这主要是因为在焦平面上图像放大率不同造成的,在画面边沿图像畸变相对会更严重,因此在实际标定过程中要考虑到相机畸变引起的误差并进行误差矫正。
本文也使用基于张氏标定法,并利用Open CV工具库和Python语言对相机进行标定。由方法可以求出,相机的内参数矩阵K和畸变系数DIST:
畸变系数:
相机标定和机器人姿态调整完成之后,就需要用相机目标孔所在平面得到的图片进行圆特征提取。在图像处理和计算机视觉等领域,从得到的图像中提取出所需要的特征,比如直线或者圆形,为了快速准确地检测出直线或圆形,Paul Hough于1960年首次提出霍夫变换,为了检测直线和曲线。1972年由Richard Duda和Peter Hart推广,后来的霍夫变换可以实现对任何形状的检测。Hough变换的基本思想是将图像中具有一定关系的像素点进行聚类,采用投票的方式寻找图像中能够用某种参数形式来描述的曲线。本文也采用该方法对加气孔特征进行提取,并求得目标孔中心点在像素坐标系上的坐标值P(u,v)。
图4 霍夫变换提取特征圆以及圆心
已经求出目标孔中心点在像素坐标系上的坐标值P(u,v),现在将其转换到图像坐标系上。设图像的长和宽分别为:width,high。像素单元为pixl,单位为mm/pix,本文相机pixl=0.0278mm/pix。所以图像坐标系下加气孔中心点 P(X,Y)可以由公式计算得到:
单位:mm。
图5 图像坐标系
由相机标定后的结果可知:光学中心点(CX,CY)和焦距F,物距为ZC,由距离传感器测出。根据三角形相似原理可以得相机坐标系P(XC,YC):
图6 目标点成像示意图
已知机器人TCP坐标系与相机坐标系的相对位置关系(dx,dy,dz),由机器人指令实时返回机器人末端也就是TCP坐标系原点的坐标值,设为(XTCP,YTCP,ZTCP)。
综上所述,目标孔中心点在世界坐标系下P(XW,YW,ZW):
在实验室现有设备的基础上,通过上文所述的方法,可以求出目标孔中心点在以世界坐标系下的坐标值。将该坐标值传输给机器人控制器,调用对应的机器人相关指令,完成圆柱形枪体部件和目标孔的装配。由于在机器人坐标系下,X轴方向为目标孔和圆柱形枪体部件的轴向方向,所以在实现圆柱形枪体部件和目标孔装配的时候,首先根据已经求出的P(XW,YW,ZW),调整枪体部件Y方向和Z方向的坐标,使得枪体部件和目标孔同轴。然后控制枪体部件X方向进给,直到完成装配。
为了验证该方法的可行性,本文记录了多组实验数据,均实现了机器人自动化完成枪体部件和目标孔的装配,选取其中15组为校本,如表1所示,对实验数据分析和比较,由于X方向为轴向进给方向未列在表中。
表1 目标孔中心点坐标值数据表(世界坐标系)
根据实验数据,可以得出在重复试验时,目标孔中心点坐标值是在一个范围内波动的,而在该范围内枪体部件和目标孔是可以实现装配。由表1实验数据可以看出:加气孔中心点Y方向平均值为219.310mm,其中最大值为219.748mm,偏离平均值0.438mm,最小值为218.980mm,偏离平均值0.330mm。而在目标孔中心点Z方向平均值为317.096mm,其中最大值为317.274mm,偏离平均值0.178mm,最小值为316.950mm,偏离平均值0.146mm。Z方向上的相对误差比Y方向上的相对误差小,但整体的误差均在允许的范围内。
图7 加气孔Y方向值
图8 加气孔Z方向值
本文提出了一种视觉和传感器相结合的机器人定位矫正系统,其目的是实现机器人自动完成圆柱形枪体部件和平面凸出目标孔的装配,并在实验室的基础上进行相关可行性测试。理论性和实验性均表明:在误差允许的情况下,该方法可以实现将目标孔中心点坐标值经视觉特征检测和提取,并在世界坐标系下求解出来,将该坐标值传输给机器人控制器,从而实现控制枪体部件和目标孔的自动装配。该方法具有原理简单,标定过程易于操作,实用性强等优点。