无需标定板的基于3D视觉的通用手眼标定方法与流程

文档序号:19152826发布日期:2019-11-16 00:17阅读:483来源:国知局
无需标定板的基于3D视觉的通用手眼标定方法与流程

本发明涉及工业机器人与自动化领域,特别地是,无需标定板的基于3d视觉的通用手眼标定方法。



背景技术:

在工业机械臂的自动化系统中,如何让其正确地获取和理解关于操作空间的信息,是一个十分关键的问题。在绝大多数的机械臂系统中,环境感知的最佳途径是利用视觉数据,因为视觉数据可以通过无接触的安全方式获取。进行机器视觉中分析的前提是手眼标定。所谓手眼标定,就是测定相机和机械臂之间的相对姿态和位置关系,是机械臂学中的一个基本问题。机械臂系统要分析的是一个三维的世界,而3d视觉数据最能用来描述一个3d场景,再加上近年来3d视觉传感器的造价越来越低,如何充分利用3d信息来进行手眼标定是一个亟待解决的难题。

手眼标定按照相机的安装方式可分为两类:眼在手外(eye-to-hand)和眼在手上(eye-in-hand)。前者是指相机安装在固定支架上,其位姿相对机械臂的基座固定。后者是指相机安装在机械臂的末端执行器上,其位姿相对机械臂的末端执行器固定。现有的手眼标定方法大都要利用一个标定板,通过迭代求解ax=xb或者ax=yb这两类高维非线性矩阵方程来进行标定。这种手眼标定方法有如下三种缺点:第一,非线性优化问题使得求解上述方程较为复杂且耗时较长,无法实现在线标定;第二,测定标定板姿态的过程会引入较大误差,导致最终手眼标定的精度不高;第三,在有的场合使用精确的标定板并不方便甚至不可能,例如移动机械臂由于负重有限无法携带标定板。因此,为了解决上述三大问题,一种新的通用的手眼标定方法亟待提出。



技术实现要素:

本发明要解决的技术问题是现有技术中手眼标定方法须要用标定板,提供一种新型的无需标定板的基于3d视觉的通用手眼标定方法。

为了实现这一目的,本发明的技术方案如下:无需标定板的基于3d视觉的通用手眼标定方法,包含有以下步骤,

步骤s1,提供机械臂、3d视觉传感器及特征点f,所述机械臂具有末端执行器,所述机械臂上定义有基坐标系及其原点b,所述3d视觉传感器上定义有传感器坐标系及其原点s,所述末端执行器上定义有工具坐标系及其原点h;

步骤s2,在原点h位置不变的条件下,控制所述末端执行器仅做旋转运动,利用所述3d视觉传感器获取所述特征点f在所述末端执行器旋转运动过程中关于所述传感器坐标系下的非共面的至少四个旋转空间坐标,根据所述至少四个旋转空间坐标确定所述原点h关于所述传感器坐标系下的坐标sph;以及,

步骤s3,接着步骤s2,在所述末端执行器姿态不变的条件下,控制所述末端执行器仅做平移运动,利用所述3d视觉传感器获取所述特征点f在所述末端执行器平移运动过程中关于所述传感器坐标系下的至少三个平移空间坐标,根据所述至少三个平移空间坐标求解p′=rp+t刚性变换方程以估计刚性变化参数,r为旋转矩阵,t为平移向量。

作为无需标定板的基于3d视觉的通用手眼标定方法的优选方案,所述通用手眼标定方法适用于眼在手外的标定技术。

作为无需标定板的基于3d视觉的通用手眼标定方法的优选方案,所述特征点f设置于所述末端执行器上;所述传感器坐标系到所述基坐标系的关系变换式:

bph为原点h在所述基坐标系下的坐标,从所述机械臂的控制器中读取或者通过关节参数计算得到;

为传感器坐标到基坐标的旋转矩阵;

为传感器坐标到基坐标的平移向量;

执行步骤s1,得到原点h在所述传感器坐标系的坐标sph;

执行步骤s2,通过以下公式得到该姿态向量在所述传感器坐标系中的坐标:

sph为原点h在传感器坐标系下的坐标;

spf为特征点f在传感器坐标系下的坐标;

为由原点h指向特征点f的姿态向量在传感器坐标系下的坐标;

记录每次平移后的bph和计算相应的spf,利用上式将关系变换式更新为:

bph为原点h在基坐标系下的坐标;

为传感器坐标到基坐标的旋转矩阵;

spf为特征点f在传感器坐标系下的坐标;

为由原点h指向特征点f的姿态向量在传感器坐标系下的坐标;

为传感器坐标到基座标的平移向量;

通过求解p′=rp+t刚性变换方程来求取

作为无需标定板的基于3d视觉的通用手眼标定方法的优选方案,所述通用手眼标定方法适用于眼在手上的标定技术。

作为无需标定板的基于3d视觉的通用手眼标定方法的优选方案,所述特征点f设置于所述机械臂外,所述特征点f的位置不变;所述传感器坐标系到所述工具坐标系的关系变换式:

为传感器坐标到工具坐标的旋转矩阵;

为传感器坐标到工具坐标的平移向量;

hpf为特征点f在工具坐标系下的坐标;

spf为特征点f在传感器坐标系下的坐标;

注意到关系变换式更新为:

执行步骤s1,从所述传感器坐标系的视角来看,则是所述特征点f在绕原点h旋转,得到的sph就是要求的

执行步骤s2,则向量在所述传感器坐标系中固定,其坐标可通过如下公式得到:

hpf为特征点f在工具坐标系下的坐标;

为由原点b指向特征点f的姿态向量在工具坐标系下的坐标;

hpb为原点b在工具标系下的坐标;

注意到其中bph分别代表末端执行器在基坐标系下的姿态和位置,直接从所述机器臂的控制器中读取或者通过关节参数计算得到;

关系变换式更新为:

为工具坐标到基坐标的旋转矩阵;

hpb为原点b在工具标系下的坐标;

为传感器坐标到工具坐标的旋转矩阵;

spf为特征点f在传感器坐标系下的坐标;

为工具坐标到传感器座标的平移向量;

为由原点b指向特征点f的姿态向量在工具坐标系下的坐标;

通过求解p′=rp+t刚性变换方程来求取给出。

作为无需标定板的基于3d视觉的通用手眼标定方法的优选方案,步骤s2中,若所述3d视觉传感器获取到的所述旋转空间坐标的数量等于四个,以空间四点确定sph;若所述3d视觉传感器获取到的所述旋转空间坐标的数量大于四个,则通过最小二乘法或ransac算法求解sph。

作为无需标定板的基于3d视觉的通用手眼标定方法的优选方案,步骤s3中,若所述3d视觉传感器获取到的平移空间坐标为三个,则以p′=rp+t直接得到封闭解析解;若所述3d视觉传感器获取到的平移空间坐标大于三个,则以p′=rp+t为超定方程,通过最小二乘法或者ransac算法求解。

与现有技术相比,本发明的有益效果至少在于:1.手眼标定方法中无需标定板;2.充分利用3d视觉传感器的空间信息,避免测定标定板姿态时的高误差,无需求解复杂的高维非线性矩阵方程,因而具有较高的标定精度和标定效率;3.极大地提高精度,将误差降低到与3d视觉传感器误差相同甚至更低的水平,因而能满足工业机械臂精细操作的要求。

除了上面所描述的本发明解决的技术问题、构成技术方案的技术特征以及由这些技术方案的技术特征所带来的有益效果之外,本发明所能解决的其他技术问题、技术方案中包含的其他技术特征以及这些技术特征带来的有益效果,将连接附图作出进一步详细的说明。

附图说明

图1是本发明眼在手外标定系统的模型示意图。

图2是本发明眼在手上标定系统的模型示意图。

图3是本发明拟合球心时特征点f均匀分布在球表面上的示意图。

序号:

1.机械臂;

2.末端执行器;

3.3d视觉传感器。

具体实施方式

下面通过具体的实施方式连接附图对本发明作进一步详细说明。在此需要说明的是,对于这些实施方式的说明用于帮助理解本发明,但不构成对本发明的限定。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

实施例1-眼在手外(eye-to-hand):

请参见图1,本实施中以机械臂的末端执行器夹持乒乓球。将乒乓球的球心作为特征点f。提取乒乓球的球心位置至少有两种方法:第一,利用3d相机的深度图像数据来进行霍夫变换;第二,从2d图像数据中分割出黄色圆形区域,该区域中离相机最近的点沿着相机深度方向增加一个乒乓球的半径即为球心。

基于3d视觉的通用手眼标定方法的具体步骤如下,包含有,

步骤s1,保持机械臂的末端执行器的法兰盘中心的位置不变,控制末端执行器仅做旋转运动。就机械臂的控制器层面来说,只改变机械臂的表征姿态的abc欧拉角,而不改变机械臂的表征位置的xyz坐标。每次机械臂旋转后,都使用作为3d视觉传感器的3d相机来采集特征点f对应的在相机坐标系中的坐标,并用于进行球心拟合。若采集的特征点f坐标为四个(非共面),则利用该四个特征点f坐标就可以直接确定球心。若采集的特征点f坐标大于四个(非共面),可通过最小二乘法或者ransac算法求解球心。需要注意的是,特征点f坐标应尽可能分散在球的表面,否则可能会产生较大的误差。

步骤s2,保持机械臂的末端执行器的姿态不变,控制末端执行器仅做平移运动。就机械臂的控制器层面来说,只改变机械臂的表征位置的xyz坐标,而不改变机械臂的表征姿态的abc欧拉角。每次机械臂平移后,都使用3d相机来采集对应的特征点f在相机坐标系中的坐标,使用机械臂的控制器来记录对应的法兰盘中心的xyz坐标,并用于估计刚性变换的参数,也就是求解方程p′=rp+t。若采集的特征点f坐标为三个,则上述方程可以直接得到封闭解析解;若采集的特征点f坐标大于三个,则上述方程为超定方程,可通过最小二乘法或者ransac算法求解。

进一步地,为了提高标定精度,在上述步骤s1采集特征点f坐标用于球心拟合时,应尽可能使采集的特征点f分散在球的表面上。如图3所示,以机械臂的法兰盘为中心,可预先设定100个机械臂的姿态,也就是特征点f应到达的位置。实际操作过程中由于机械臂限位不能到达,或者超出相机的视野范围等原因,实际采集到的特征点f坐标位置会少于100个。

此外,为了提高标定效率,可以设定机械臂的运动频率和相机的拍摄频率。本实施例中设置机械臂的运动到另一位姿的频率和相机的采集拍摄频率都为每秒一次,并且相机从时刻第0秒开始第一次拍摄,机械臂从时刻第0.1秒开始第一次运动。

本实施例中以封闭解析解的数据来对眼在手外标定技术做更直观的解释。在步骤s1中得到特征点f四个坐标的数据分别为:

由这四个点唯一确定的球心位置为sph=(134.7001-104.7773527.3778)。

在步骤s2中选定为固定的姿态此时采集到的三组特征点f数据分别为:

将上述三组数据用于求解以下p′=rp+t形式的刚性变换方程:

bph-法兰盘中心原点h在基坐标系下的坐标;

-相机坐标到基坐标的旋转矩阵;

spf-特征点f在相机坐标系下的坐标;

-由原点h指向点f的姿态向量在相机坐标系下的坐标;

-相机坐标到基座标的平移向量;

其中注意到旋转矩阵r为正交矩阵,那么其封闭解析解的形式由以下方法给出:

令px=p1-p2,py=px×(p2-p3),pz=px×py,p′x=p′1-p′2,p′y=p′x×(p′2-p′3),p′z=p′x×p′y,则r=p′(p)t,t=p′1-rp1。

最终求得的手眼关系变换式为:

由于手眼标定结果的真值无法取得,可以通过以下方法来间接分析手眼标定结果的精度:

在拟合球心的时候,采集更多的数据点则对于该点拟合球心过程的误差由下式给出:

其中r为拟合得到的球的半径。

在估计刚性变换的参数的时候,采集更多的数据点对则对于该点对估计刚性变换的参数的误差由下式给出:

e2,i=|rpi+t-p′i|

此外,采集到更多的数据点后,可以把这些数据点用最小二乘法或者ransac算法来拟合球心和估计刚性变换的参数,这两种迭代方法的优化目标由以下式子给出:

在拟合球心的时候,若采集的特征点f个数大于4,则拟合球心过程的优化目标函数为:

在估计刚性变换的参数的时候,若采集的数据点对个数大于3,则估计刚性变换的参数的优化目标函数和约束条件为:

s.t.rtr=i3

其中i3表示3×3的单位矩阵。

按照以上方法,下表给出了使用封闭解析解、最小二乘法迭代优化解和ransac算法迭代优化解的误差统计:

实施例中所用的3d相机的测量范围是0.5m到8m,测量误差是测量目标到相机距离的0.2%到1%,距离越远误差越大。由上表可以看出,本发明提出的手眼标定方法能极大地提高精度,将误差降低到与相机误差相同甚至更低的水平,因而能满足工业机械臂精细操作的要求。

实施例2-眼在手上(eye-in-hand):

请参见图2,眼在手上标定技术的操作步骤与上述实施例基本相同,只是在步骤s2中要增加记录机械臂的姿态,具体实施方式此处不再一一赘述。

而以上仅表达了本发明的实施方式,其描述较为具体和详细,但且不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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