本发明属于机器视觉和图像处理技术领域,更为具体地讲,涉及一种工业机器人手眼标定方法。
背景技术:
随着人工智能技术的不断发展,将传统的工业机器人赋予机器视觉系统,通过视觉系统检测机器人的工作场景及操作对象,以自动引导机器人完成相关操作任务,使之在应用上更为灵活或智能。要将机器视觉与工业机器人的运动控制结合起来,就需要找到二者之间的转换关系,即通常所说的手眼关系,而确定这个手眼关系的过程即为手眼标定。
由视觉传感器与工业机器人机械手的位置关系可将视觉传感器系统分为:眼在手上(eye-in-hand)和眼在手外(eye-to-hand)两种形式。眼在手外是指视觉传感器(工业相机)安装在一个与机器人的基座及工作平面相对位置固定的位置,不随机器人手臂的移动而移动。在工业生产活动中,经常使用这种方式在一个较大的范围内对操作目标进行视觉定位并引导机器人进行操作。由于机器人工作平面固定与相机安装位置固定,所以只需获取图像平面和机器人工作平面的映射关系,来实现以视觉的方式对机器人进行视觉引导。
传统的工业机器人手眼标定多是采用人工标定,由于数据采集的人为介入使得标定过程耗时、费力,且精度难以保证。而现有的一些自动标定的方法对于标定环境部署(标定工具与安装等)有较高的要求,且标定过程较为繁琐或计算量较大。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种工业机器人手眼标定方法,能够实现工业机器人的自动手眼标定。
为实现上述发明目的,本发明工业机器人手眼标定方法包括以下步骤:
s1:将相机安装在工业机器人基坐标系中某个固定的位置,该相机的视野可以覆盖工业机器人的整个工作平面;将设置有标定图像的标定板安装在工业机器人的操作臂末端,令标定板在相机的可视范围内,且标定板可以由操作臂末端带动绕操作臂末端中心旋转轴进行水平旋转;
s2:根据实际情况在工业机器人的工作平面区域内设置n个标定数据采集点ai,将每个标定数据采集点ai在工业机器人基坐标系中的坐标记为
s3:对于每个标定数据采集点ai采用以下方法进行标定数据采集:控制工业机器人的操作臂末端移动至标定数据采集点ai,由操作臂末端带动标定板在水平面上绕操作臂末端的中心轴进行旋转,由相机采集标定板在3个不同位置的图像,将这3幅图像
s4:对于每个标定数据采集点ai的标定数据,分别提取m个标志点在图像
s5:根据n对操作臂末端在工业机器人基坐标系下的坐标
本发明工业机器人手眼标定方法,对相机和标定板进行部署,在工业机器人的工作平面区域内设置多个标定数据采集点并记录其在工业机器人基坐标系中的坐标,然后将工业机器人的操作臂末端依次移动至各个标定数据采集点,控制操作臂末端带动标定板绕操作臂末端的中心轴进行旋转,在此过程中控制相机采集不同位置的标定板图像,从中提取标定点,根据不同位置标定板图像中同一标定点的坐标计算出其圆心坐标,该坐标即为操作臂末端在相机图像坐标系中的坐标,从而获取工业机器人坐标系与相机图像坐标系的坐标映射数据,根据该数据即可计算得到工业机器人基坐标系和相机图像坐标系之间的转换矩阵,从而完成标定。
采用本发明,可以实现快速、高精度的工业机器人手眼自动标定,可以避免复杂的人工操作并可有效减少人为干扰,即便是普通操作人员也可实现快速部署与自动标定,降低了标定的实际操作难度和成本。
附图说明
图1是本发明工业机器人手眼标定方法的具体实施方式结构图;
图2是本实施例中标定环境部署的示例图;
图3是本实施例中采集的4组图像示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明工业机器人手眼标定方法的具体实施方式结构图。如图1所示,本发明工业机器人手眼标定方法的具体步骤包括:
s101:标定环境部署:
本发明中的标定环境部署的具体方法为:设置用于工业机器人手眼标定的相机安装位置与机器人基座保持相对固定,即将相机安装在工业机器人基坐标系中某个固定的位置。该相机可以从机器人上方拍摄整个机器人工作平面,即相机的视野可以覆盖工业机器人的整个工作平面。将设置有标定图像的标定板安装在工业机器人的操作臂末端,令标定板在相机的可视范围内,且标定板可以由操作臂末端带动绕操作臂末端中心旋转轴进行水平旋转。为了避免标定时相机采集到的标定图像存在畸变而影响标定效果,在标定板安装时最好能令标定板平面与相机图像平面基本平行,标定板平面与相机的图像平面的夹角应小于5°。标定图像可以根据实际需要选择,本实施例中采用具有黑色边缘的正方形黑白棋盘格图像。
图2是本实施例中标定环境部署的示例图。如图2所示,图2(a)是4个自由度的工业机器人的标定环境部署示意图,图2(b)是6个自由度的工业机器人的标定环境部署示意图。
s102:标定数据采集点设置:
根据实际情况在工业机器人的工作平面区域内设置n个标定数据采集点ai,将每个标定数据采集点ai在工业机器人基坐标系中的坐标记为
s103:标定数据采集:
对于每个标定数据采集点ai采用以下方法进行标定数据采集:控制工业机器的人操作臂末端移动至标定数据采集点ai,由操作臂末端带动标定板在水平面上绕操作臂末端的中心轴进行旋转,由相机采集标定板在3个不同位置的图像,将这3幅图像
s104:获取手眼坐标转换数据:
对于每个标定数据采集点ai的标定数据,分别提取m个标志点在3幅图像
可见,根据以上过程,就得到的各个标定数据采集点ai下操作臂末端在工业机器人基坐标系(手坐标系)下的坐标
s105:计算转换矩阵:
根据n对操作臂末端在工业机器人基坐标系下的坐标
现有的转换矩阵求解方法有很多,本实施例中采用最小二乘法进行求解,具体方法为:
令
yt=h·xt
那么利用最小二乘法可以求得转换矩阵h=((xtx)-1xty)t,上标t表示矩阵求转置,上标-1表示矩阵求逆。
实施例
为了更好地说明本发明的技术方案和技术效果,采用一个具体的实施例进行实验验证。本次实验验证中采用4个自由度的工业机器人,其标定环境部署按照图2(a)进行,其中相机距离工业机器人工作平面约1200mm高,使用130万分辨率的相机。为实施例说明的简单起见,本实施例在工业机器人的工作平面区域内选择了4个标定数据采集点,其在工业机器人基坐标系下坐标分别为
依次在每个标定数据采集点进行标定数据采集,具体过程如下:
控制机器人操作臂末端运动到第1个采集点,采集一次初始位置的标定板图像
接下来提取每幅图像中的标志点坐标。本实施例中依次对每幅图像采用模板匹配等方法对标定板上的标志图像进行检测。然后,对检测到的标志图像的边缘进行边缘检测获取外轮廓。再通过该外轮廓对标志图像四条边分别进行直线拟合。最后,获取四条直线的交点坐标即为该图像中标志图像的四个角点坐标(以相机图像坐标系像素坐标表示)。并由此还可求出标定图像中其他标志点的坐标。为了描述简单,本实施例中仅采用4个角点作为标志点。
以图3中第1个标定数据采集点的图像为例,在相机图像坐标系下,四个角点在第1幅图像中的坐标分别为:
标定板旋转30°后四个角点在第2幅图像中的坐标分别为:
标定板再次旋转30°后四个角点在第3幅图像中的坐标分别为:
根据四个角点所求出的圆心分别为o1=(762.8727,365.1753)、o2=(763.6524,365.1473)、o3=(763.0175,365.4985)、o4=(762.5351,365.4447)。
四个圆心坐标的均值为(763.019,365.316),将其作为第1个数据采集点的工业机器人操作臂末端在相机图像坐标系下的坐标
最后采用最小二乘法来计算转换矩阵。将4组坐标映射数据以齐次坐标表示,可得:
求解得到转换矩阵
经实验验证,在本实施例的标定环境下,标定误差在1mm左右,其标定精度已经完全能够满足实际应用需求。理论上而言,标定数据采集点和标志点的数量越多,标定精度越高,因此本发明的标定误差还可以进一步缩小。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。