本发明属于机器人视觉领域,涉及一种基于3d视觉传感器的三自由度并联机器人手眼标定方法。
背景技术:
手眼标定是机器人实现视觉定位引导的关键技术环节。针对不同工作模式的机器人和不同类型的视觉传感器,研究恰当可行且具有高精度、良好稳定性的手眼标定方法对机器人视觉系统的发展具有重要意义。
相比常见的六自由度机器人,三自由度并联机器人有更大的工作范围和更高的定位精度,但其执行机构只具有三个相互正交方向上的平移自由度,并不具备旋转自由度。传统的手眼标定方法大都需要操作机器人执行机构对标定物进行多个姿态下的数据采集,这在三自由度并联机器人上是无法实现的。
视觉传感器是机器人的“眼睛”,使机器人可以无接触地采集到待测物体的位置信息,随着视觉技术的发展,3d视觉传感器替代传统的平面相机,被应用到机器人视觉系统中。基于结构光的3d视觉传感器能够快速获取相机视野范围内物体的三维坐标信息,生成实时的点云数据。对点云数据进行分析和处理,从中获取所需的标定信息,是实现基于3d视觉传感器的手眼标定的重要环节。
技术实现要素:
针对上述现有技术中存在的问题,本发明提供了一种基于3d视觉传感器的三自由度并联机器人手眼标定方法。考虑到三自由度并联机器人末端执行机构的可控自由度有限的问题,设计了无需执行机构和传感器的姿态变化便可求出手眼关系唯一解的方法。在此方法的基础上,针对从3d视觉传感器采集的点云数据中获取标定信息的问题,设计了通过二维图像辅助点云定位的方法,并进行了相应的优化。
本发明的技术方案:
一种基于3d视觉传感器的三自由度并联机器人手眼标定方法,包括以下过程:
1)建立三自由度并联机器人视觉系统的坐标转换数学模型:
其中,xcam=[xcyczc1]t表示待测物体在3d视觉传感器的点云坐标系下的齐次坐标,xc、yc、zc分别表示待测物体在点云坐标系的x轴、y轴、z轴方向上的坐标;xtool=[xtytzt1]t表示待测物体在机器人的工具坐标系下的齐次坐标,xt、yt、zt分别表示待测物体在工具坐标系的x轴、y轴、z轴方向上的坐标;xbase=[xbybzb1]t表示待测物体在机器人的基坐标系下的齐次坐标,xb、yb、zb分别表示待测物体在机器人的基坐标系的x轴、y轴、z轴方向上的坐标;矩阵
其中,
其中,矩阵
2)求取手眼关系的旋转部分
其中,矩阵
其中,向量pt1是由向量
3)求取手眼关系的平移部分
其中,
4)通过在点云坐标系中精确定位标定板上的标志点来获取式(7)中的xcam0,包含以下步骤:
步骤1:使用3d视觉传感器采集标定板的图片及对应的点云;其中,图片的行数为rows,列数为cols;点云是有序排列的三维坐标的集合,三维坐标的数量为:
n=rows*cols(8)
点云中的每一个三维坐标xi(i=0,1,…,n-1)对应一个它在点云的三维坐标集合中的序号ini以及一个图片的像素坐标系中的整数像素坐标pi(i=0,1,…,n-1);
步骤2:在标定板的图片中定位标志点,得到标志点在像素坐标系中的亚像素坐标pc=(uc,vc),uc表示标志点在像素坐标系中的行坐标,uc∈(0,rows-1),vc表示标志点在像素坐标系中的列坐标,vc∈(0,cols-1);计算在像素坐标系中标志点的亚像素坐标pc周围的四个整数像素坐标pc0、pc1、pc2、pc3为:
其中,c0、c1、c2、c3∈(0,1,…n-1);u0为uc的整数部分,即
步骤3:计算四个整数像素坐标pc0、pc1、pc2、pc3对应的三维坐标在点云的三维坐标集合中的序号inc0、inc1、inc2、inc3为:
在点云的三维坐标集合中查找出序号inc0、inc1、inc2、inc3对应的三维坐标
步骤4:以pc为中心,将四个整数像素坐标围成的正方形划分为四个小矩形区域,分别计算这四个矩形区域的面积s0、s1、s2、s3为:
根据面积的倒数可以得到四个整数像素点的插值比例为:
步骤5:根据式(12)得到的插值比例对四个三维坐标xc0、xc1、xc2、xc3进行插值计算,插值计算后得到三维坐标
xc=w(0)*xc0+w(1)*xc1+w(2)*xc2+w(3)*xc3(13)
三维坐标xc即为标志点在点云坐标系中的精确定位结果,即xcam0=xc;
5)由式(4)得到手眼矩阵的旋转部分
本发明的有益效果:本发明使用一种只通过两次平移运动即可求解出手眼关系旋转部分的方法,适用于三自由度并联机器人的工作模式;求解平移部分只需要操控机器人接触式测量出最少一个标志点在基坐标系下的三维坐标,简化了标定流程;针对3d传感器采集的图片和点云数据所设计的标志点定位方法,对解决此类问题有实用参考意义;使用的标定板制作方法简单,成本低;标定结果精度达到±0.2mm,满足机器人焊接,抓取等工艺要求。
附图说明
图1是三自由度并联机器人手眼标定流程图。
图2是三自由度并联机器人手眼视觉系统示意图。
图3是标定板圆心点在图片中的定位效果图。
图4是标定板圆心点在点云中的定位效果图。
图5是亚像素插值区域划分示意图。
图6是分别使用插值法和取整法得到标定结果的16个标志点绝对误差对比图。
具体实施方式
下面结合附图对本发明的具体实施方式做进一步说明。
参照附图1,一种基于3d视觉传感器的三自由度并联机器人手眼标定方法,包含两个操作步骤:
步骤1:操作机器人执行机构执行两次相互垂直的平移运动
实际操作时,只需要控制执行机构沿着三自由度并联机器人基坐标系的x轴和y轴方向分别运动一次即可得到严格垂直的两次平移运动。分别记录下两次移动前后执行机构在三个位置的tcp三维坐标xtcp0、xtcp1、xtcp2,记录下3d视觉传感器在三个位置采集的标定板图片和点云数据,并从中提取出三个位置下标志点的三维坐标xcam0、xcam1、xcam2。通过tcp坐标的变化可以求出工具坐标系的平移向量,通过标志点坐标的变化可以求出点云坐标系的平移向量为:
其中,tt1和tt2相当于技术方案第2)部分中的
步骤2:操作机器人对标志点进行tcp接触式测量
控制机器人的执行机构缓慢移动向标定板,使工具中心点与标定板上的标志点接触重合,此时的工具中心点在基坐标系下的坐标值相当于标志点在机器人基坐标系下的三维坐标xbase0,在已经求得旋转部分
参照附图2,对技术方案的第1)部分进行补充说明:
三自由度并联机器人以工具中心点的零位点为基坐标系的原点,分别以执行机构的三个正交运动方向为坐标轴方向来建立基坐标系obase。由于三自由度并联机器人的执行机构不具有旋转自由度,工具坐标系otool与基坐标系obase的相对姿态关系是固定的,因此建立的工具坐标系与基坐标系的坐标轴方向相同,可以认为两个坐标系的转换关系旋转部分为单位阵
参照附图3和附图4,对技术方案的第4)部分进行补充说明:
本方法使用一种不对称的圆形平面标定板,以标定板的圆心作为标志点,标定板上的圆部分为白色,其余部分为黑色,这样既能在图片上准确提取到圆心,也使点云中圆上的区域不因为投影光线的吸收而产生误差。标定板圆心的在图片上的定位效果如附图3所示,在点云中定位的效果如附图4所示。
技术方案2)中获取点云坐标系的平移向量
实施例:
使用本方法进行标定实验,实验所用三自由度并联机器人的重复定位精度为±0.01mm,3d传感器的图像分辨率为728×544、点云一次成像点数为396032、标准工作距离为44mm。选择16个测试点,先通过接触式测量出测试点在基坐标系下的三维坐标x'base,再通过式(1)计算出手眼视觉系统测量出的测试点在基坐标系下的三维坐标x”base,计算测试点的绝对误差e的方法为:
e=|x”base-x'base|(16)
使用本文方法标定结果得到16个测试点的平均绝对误差为0.119mm,最大绝对误差为0.174mm。作为比较,对亚像素近似取整的方法也进行了实验,得到测试点平均绝对误差为0.248mm,最大绝对误差为0.347mm。实验结果如附图6所示。