一种SCARA机械手Eye-in-Hand的高精度手眼标定方法和系统与流程

文档序号:18476792发布日期:2019-08-20 21:13阅读:3079来源:国知局
一种SCARA机械手Eye-in-Hand的高精度手眼标定方法和系统与流程

本发明属于手眼标定技术领域,具体涉及一种scara机械手eye-in-hand的高精度手眼标定方法和系统。



背景技术:

工业机器人作为智能制造技术的关键设备,已经广泛应用于汽车、机械、电子、家电、石化、物流等各个行业进行工件搬运、上下料、分拣等操作。传统示教型机器人完成这些操作必须要经过精确的逐点示教,且只能针对固定摆放的单种工件,有很强的局限性。随着社会的发展和需求的多样化,工业领域对自动化产线的柔性化、智能化提出了更高的要求。近年来,机器视觉技术取得飞速发展,机器人中也开始采用视觉信息引导工业机器人自动抓取目标。工业机器人视觉引导技术可以实现制造与装配的全自动化,大幅提高生产效率,已成为当前的一个研究热点。

在工业自动化生产中,如智能手机等的组装需要精度很高的定位,人工操作很难满足其要求,所以需要将机器人和机器视觉技术结合,采用需工业相机模仿人的眼睛来对产品零部件进行识别定位。

机器人和相机有各自的坐标系统,获取两者之间的对应关系才能将机器人和机器视觉技术完美结合,因此机器人和相机之间坐标的标定技术非常关键,直接决定了机器人视觉设备能够满足应用的需求。

一般机器人和视觉系统的相机存在两种位置关系,其一是eye-in-hand,即相机固定在机器人的一个手臂上;其二是eye-to-hand,即将相机安装在机器人工作范围之内的固定位置。

eye-in-hand手眼标定的基本思路是控制机器人末端以多个不同的位置姿势观察某一已知位置坐标的靶标点,从而建立多个与转换矩阵相关的方程,求解得出转换矩阵。但靶标点的位置坐标如何精确获得,及如何移动机器人以获得标定所需要的数据,以便于现场应用是需要解决的关键问题。

针对eye-in-hand视觉系统的标定,大多使用多个等间隔圆构成标准标定板进行标定,这种标定板制作费用较高且不易固定,并且目前的标定方法无法获得较高的精度,无法适用于精度要求较高的应用场合;而且目前的标定方法需要大量人工操作,使用不够方便,无法做到生产现场所需的“一键标定”。



技术实现要素:

本发明提供一种scara机械手eye-in-hand的高精度手眼标定方法,以解决现有技术中在进行手眼标定时标定结果准确性较低的问题;同时,为了解决上述技术问题,本发明还提供了一种scara机械手eye-in-hand的高精度手眼标定系统。

为实现上述目的,本发明提供如下技术方案:

一种scara机械手eye-in-hand的高精度手眼标定方法,包括如下步骤:

步骤一:建立机械手局部坐标系,采用homograph变换建立图像坐标系与机械手局部坐标系的映射关系模型;所述机械手局部坐标系的原点在机械手上;

步骤二:设置靶标,在设定范围内多次移动机械手,计算每次移动机械手时靶标在机械手局部坐标系中的坐标,检测每次移动机械手时靶标在图像坐标系中的坐标,将计算出的结果和检测的结果代入图像坐标系与机械手局部坐标系的映射关系模型,得到图像坐标系与机械手局部坐标系的初步映射关系;

步骤三:在图像坐标系中设置多个目标点,并根据图像坐标系与机械手局部坐标系的初步映射关系得到各目标在机械手局部坐标系中对应的坐标;控制机械手移动,检测当靶标处于各目标在机械手局部坐标系中对应的坐标时靶标在图像坐标系中的坐标;将计算结果和检测结果再次代入图像坐标系与机械手局部坐标系的映射关系模型,得到图像坐标系与机械手局部坐标系的精确映射关系;

步骤四:根据机械手局部坐标系和机械手坐标系之间的对应关系、图像坐标系与机械手局部坐标系的精确映射关系得到机械手坐标系与图像坐标系之间的映射关系。

一种scara机械手eye-in-hand的高精度手眼标定系统,包括处理器和存储器,所述存储器上存储有用于在处理器上执行的计算机程序;所述处理器执行所述计算机程序时实现如下步骤:

步骤一:建立机械手局部坐标系,采用homograph变换建立图像坐标系与机械手局部坐标系的映射关系模型;所述机械手局部坐标系的原点在机械手上;

步骤二:设置靶标,在设定范围内多次移动机械手,计算每次移动机械手时靶标在机械手局部坐标系中的坐标,检测每次移动机械手时靶标在图像坐标系中的坐标,将计算出的结果和检测的结果代入图像坐标系与机械手局部坐标系的映射关系模型,得到图像坐标系与机械手局部坐标系的初步映射关系;

步骤三:在图像坐标系中设置多个目标点,并根据图像坐标系与机械手局部坐标系的初步映射关系得到各目标在机械手局部坐标系中对应的坐标;控制机械手移动,检测当靶标处于各目标在机械手局部坐标系中对应的坐标时靶标在图像坐标系中的坐标;将计算结果和检测结果再次代入图像坐标系与机械手局部坐标系的映射关系模型,得到图像坐标系与机械手局部坐标系的精确映射关系;

步骤四:根据机械手局部坐标系和机械手坐标系之间的对应关系、图像坐标系与机械手局部坐标系的精确映射关系得到机械手坐标系与图像坐标系之间的映射关系。

进一步的,所述图像坐标系与机械手局部坐标系之间的映射关系模型为:

其中(u,v)是靶标在图像坐标系中的坐标,(xg,yg)是靶标在机械手局部坐标系中的坐标,h11、h12、h14、h21、h22、h24、h31、h32和h34为目标参数。

进一步的,所述步骤二中在设定范围内移动机械手对靶标检测时,至少移动九次机械手。

进一步的,设机械手在世界坐标系中的坐标为(hx,hy),靶标在世界坐标系中的坐标为(mx,my),靶标在机械手局部坐标系中的坐标为(xg,yg),则

xg=(mx-hx)×cos(θ2)+(my-hy)×sin(θ2)

yg=-(mx-hx)×sin(θ2)+(my-hy)×cos(θ2)

其中θ2是第二机械臂与水平方向之间的夹角。

进一步的,所述第二机械臂与水平方向之间的夹角θ2根据机械手在机械手坐标系中的位置得到。

进一步的,所述步骤三中在图像坐标系中设置目标点时,各目标点在图像坐标系中均匀分布。

进一步的,还包括步骤五:得到机械手坐标系与图像坐标系之间的映射关系后,检测靶标在图像坐标系中的位置,根据机械手坐标系与图像坐标系之间的映射关系、机械手坐标系与世界坐标系之间的对应关系计算出靶标在机械手坐标系中的坐标;根据计算出的靶标在机械手坐标系中的坐标,采用所述步骤二、步骤三和步骤四,再次计算机械手坐标系与图像坐标系之间的映射关系,直到误差值小于设定误差值。

进一步的,划分为多个区域,按照上述步骤二、步骤三和步骤四得到各区域机械手坐标系与图像坐标系之间的映射关系。

本发明所提供的技术方案,首先采用homograph变换建立图像坐标系与机械手局部坐标系之间的映射关系模型,然后根据初级靶标在机械手局部坐标系中的坐标和在图像坐标系中的坐标得到图像坐标系与机械手局部坐标系之间的初步映射关系,然后再得到其精确映射关系,从而解决现有技术中图像坐标系与机械手局部坐标系之间映射关系精确度较低的问题。

附图说明

图1是本发明方法实施例中scara机械手eye-in-hand的高精度手眼标定方法的流程图;

图2是本发明方法实施例中机械手在所建坐标系中的示意图;

图3是本发明方法实施例步骤二中检测靶标的示意图;

图4是本发明方法实施例中靶标在机械手局部坐标系和世界坐标系对应关系的示意图;

图5是本发明方法实施例步骤三中检测级靶标的示意图。

具体实施方式

方法实施例:

本实施例提供一种scara机械手eye-in-hand的高精度手眼标定方法,用于获取图像坐标系与机械手坐标系之间的映射关系,解决现有技术中图像坐标系与机械手坐标系之间映射关系精确度较低的问题。

本实施例所提供的一种scara机械手eye-in-hand的高精度手眼标定方法,其流程如图1所示,包括如下步骤:

步骤一:建立机械手局部坐标系,并采用homograph变换建立图像坐标系与机械手局部坐标系之间的映射关系模型。

所建立的机械手局部坐标系,其原点设置在机械手上,由于本实施例中是对eye-in-hand视觉系统进行手眼标定,摄像机设置在机械手局部坐标系所在的手臂,因此机械手局部坐标系与图像坐标系的相对位置关系是一定的。

采用homograph变换得到机械手局部坐标系与图像坐标系的映射关系模型,机械手局部坐标系与图像坐标系的仿射变换模型为如下所示的齐次坐标放射变换模型:

其中ω为齐次系数:

ω=h31xg+h32yg+h33zg+h34

仿射变换矩阵为:

其中(u,v)为靶标在图像坐标系的坐标,(xg,yg,zg)为靶标在机械手局部坐标系的坐标;本实施例中只考虑平面,即假设工作台位于z=0的平面内,所以zg=0,可得:

该公式(1)即为图像坐标系与机械手局部坐标系之间的映射关系模型。

步骤二:即粗标定,在机械手坐标系中设置靶标,控制机械手在设定范围内移动,计算每次移动机械手时靶标在机械手局部坐标系中的坐标,检测每次移动机械手时靶标在图像坐标系中的坐标,并将计算出的结果和检测的结果代入图像坐标系与机械手局部坐标系的映射关系模型,得到图像坐标系与机械手局部坐标系的初步映射关系。

首先移动机械手,使靶标位于摄像机采集区域的中心位置,即图像坐标系的中心位置;然后在设定范围内移动机械手九次,检测每次移动机械手时靶标在图像坐标系中的坐标,如图2所示,并计算每次移动机械手时靶标在机械手局部坐标系中的坐标。

每次移动机械手时,计算靶标在机械手局部坐标系中坐标的方法为:

以机械手第一机械臂的起点为原点建立机械手坐标系,设第一机械臂的长度为l1,第二机械臂的长度为l2,第一机械臂与x轴之间的夹角为θ1,第二机械臂与x轴之间的夹角为θ2,机械手与原点之间的距离为l,如图3所示,则机械手在该机械手坐标系中的坐标为:

可得到:

θ1=β±α

由此可知,通过改变夹角θ1和夹角θ2可控制机械手的位置,也可得到机械手局部坐标系与机械手坐标系之间的对应关系,并根据机械手坐标系与世界坐标系之间的对应关系,可得到机械手局部坐标系与世界坐标系之间的对应关系,方法为:

设机械手在世界坐标系中的坐标为ho(hx,hy),靶标在世界坐标系中的坐标为m(mx,my),如图4所示,设靶标m在机械手局部坐标系中的坐标为(xg,yg,zg),则有:

根据该公式(2),在得到每次移动机械手时对应的夹角θ2后可得到靶标在机械手局部坐标系中的坐标。

将每次计算出的靶标在机械局部手坐标系中的坐标和检测到的靶标在图像坐标系中的坐标代入上述图像坐标系与机械手局部坐标系之间的映射关系模型,即上述公式(1),得到一个包括9个方程式的方程组,对该方程组求解,计算出该映射关系模型中的参数h11、h12、h14、h21、h22、h24、h31、h32和h34;将计算出的这些参数带入到上述图像坐标系与机械手局部坐标系之间的映射关系模型中,得到图像坐标系与机械手局部坐标系之间的初步映射关系。

步骤三:即精标定,在图像坐标系中设置9个均匀分布的目标点,根据步骤二中得到的图像坐标系与机械手局部坐标系之间的初步映射关系计算出各目标点在机械手局部坐标系中的对应坐标,将计算出的坐标作为期望坐标;

根据机械手坐标系与机械手局部坐标系之间的对应关系,即根据上述公式(2)计算出期望坐标在机械手坐标系中对应的坐标,然后控制机械手移动到这些坐标上,如图5所示,检测当靶标处于这些坐标时靶标在图像坐标系中的坐标。

将检测到的靶标在图像坐标系中的坐标和计算出的各目标点在机械手局部坐标系中的期望坐标代入上述图像坐标系与机械手局部坐标系之间的映射关系模型,即上述公式(1),再次得到一个包括9个方程式的方程组;对该方程组求解,得到映射关系模型中的参数h11、h12、h14、h21、h22、h24、h31、h32和h34;将计算出的这些参数带入到上述图像坐标系与机械手局部坐标系之间的映射关系模型中,得到图像坐标系与机械手局部坐标系之间的精确映射关系。

步骤四:根据图像坐标系与机械手局部坐标系之间的精确映射关系、机械手局部坐标系与机械手坐标系之间的对应关系,得到图像坐标系与机械手坐标系之间的映射关系。

为了提高图像坐标系与机械手坐标系之间映射关系的精确性,还包括对图像坐标系与机械手坐标系之间映射关系进行更新的步骤,该步骤为:

控制机械手移动,检测靶标在图像坐标系中的坐标;

根据图像坐标系与机械手坐标系之间的映射关系得到靶标在机械手坐标系中的坐标;

执行上述步骤二、步骤三个步骤四,再次得到图像坐标系与机械手坐标系之间的映射关系;在执行上述步骤二时,根据靶标在机械手坐标系中的坐标计算每次移动机械手时靶标在机械手坐标系中的坐标。

多次执行对图像坐标系与机械手坐标系之间映射关系进行更新的步骤,直到本次得到的结果与上次得到的结果误差小于设定误差为止。

为了减少由于靶标所处位置造成的误差,本实施例中将机械手的工作区域划分为多个子区域,采用上述scara机械手eye-in-hand的高精度手眼标定方法对各子区域分别进行标定,得到各子区域内图像坐标系与机械手局部坐标系之间的精确映射关系,在机械手工作时,各子区域分别应用对应的图像坐标系与机械手局部坐标系之间的精确映射关系。

为了验证本实施例所提供的scara机械手eye-in-hand的高精度手眼标定方法,下面采用yamahayk500tw,sentech工业相机及wil图像处理库进行仿真实验。实验过程中靶标在机械手坐标系和图像坐标系的坐标值如表1所示。

利用第1-9组的数据进行粗标定,即步骤2中的标定步骤;利用第10-18组的数据进行精标定,即步骤3中的标定步骤。机械手臂长等参数可通过命令获取。通过验证机械手的标定误差一般在2个像素以下。

对于频繁更换生产品种的工厂需要机械手对位时,本实施例所提供的标定方法减少了操作步骤和操作时间,提高了生产效率;对于高精度机械手对位的需求,可以根据需要自动生成更多的精标定的校正步骤,采集更多数据来提高校正精度。本实施例中的scara机械手eye-in-hand的高精度手眼标定方法完全自动化,操作方便;用户只需输入机器人平移距离、旋转角度等很少参数,校正过程即可自动完成;现场操作人员无需繁琐的操作即可完成校正过程。本发明的方法通过实现软件自动完成由初步的粗标定到进一步的精标定的机械手移动位置的计算,然后由控制系统移动机械手采集相关校正数据,从而由粗标定到精标定完成一键校正的过程。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

表1

系统实施例:

本实施例提供一种scara机械手eye-in-hand的高精度手眼标定系统,包括处理器和存储器,所述存储器上存储有用于在处理器上执行的计算机程序;所述处理器执行所述计算机程序时,实现如上述方法实施例中所提供的scara机械手eye-in-hand的高精度手眼标定方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1