掌桥专利:专业的专利平台
掌桥专利
首页

一种用于线扫3D相机的手眼标定方法

文献发布时间:2024-04-18 20:01:30


一种用于线扫3D相机的手眼标定方法

技术领域

本发明属于手眼标定技术领域,具体涉及一种用于线扫3D相机的手眼标定方法。

背景技术

在eye-in-hand情况,相机相对于机械臂末端是固定的,机器人手眼标定即标定得到机器人末端与相机之间的坐标变换关系。其中有几个坐标系:基坐标系是机械臂的基座坐标系,用Base表示;末端坐标系是机械臂的末端坐标系,用End表示;相机坐标系是固定在机械臂上面的相机自身的坐标系,用Camera表示,工具坐标系是机械臂的工具坐标系,用t表示。

手眼标定的前提是要获取物体表面的完整三维信息。激光线扫相机单次采集的数据为激光一瞬间照射区域的3D坐标,即需要将激光匀速扫描中产生的数据按照规律拼接在一起,默认平行,构建成为相机坐标系。实际机械臂运动过程用,机械臂末端会倾斜移动或者相机与机械臂末端不平行,导致位置点坐标会不同。因此,需要一种标定方法解决了相机坐标系和扫描方向不平行的问题。

发明内容

为解决上述问题,本发明采用了以下技术方案:

一种用于线扫3D相机的手眼标定方法,所述方法包括:

通过单行上的特征点在相机坐标系中的坐标,和所述特征点对应所述单行在基坐标系中的坐标,求解得出所述特征点在基坐标系中的坐标。

进一步地,所述方法具体步骤包括:

构建相机坐标系;

标记标定工具的坐标:移动所述标定工具,标记所述标定工具在基座坐标系中的坐标,标记所述标定工具在相机坐标系中的坐标;

计算相机坐标系到工具坐标系的旋转矩阵;

计算相机坐标系到工具坐标系的平移矩阵;

求解任意特征点在基坐标系中的坐标。

进一步地,所述构建相机坐标系包括:

相机坐标系设定的方向与相机扫描设定的方向相同;

每一行的中间点的X值为0,每行的X坐标为点数乘点间距,每行的Y坐标为行数乘行间距。

进一步地,所述标记标定工具的坐标包括:所述标定工具为圆球和圆锥,获取圆球球心和圆锥顶点在基座坐标系中的坐标;获取圆球球心和圆锥顶点在相机坐标系中的坐标。

进一步地,所述计算相机坐标系到工具坐标系的旋转矩阵包括:

所述圆球球心/圆锥顶点在基座坐标系中的坐标与在相机坐标系中的坐标的关系表达式为:

Base

式中所示:Base

移动相机,任意两个圆球球心位置在基座坐标系中的坐标与在相机坐标系中的坐标相减得到:

T

获取多组数据,用最小二乘法求得相机坐标系到工具坐标系的旋转矩阵R

进一步地,所述计算相机坐标系到工具坐标系的平移矩阵包括:将求得的相机坐标系到工具坐标系的旋转矩阵R

进一步地,还包括:计算工具坐标系的旋转角度;

根据罗德里格斯旋转公式计算当前法向量到理想法向量的旋转矩阵R

式中所示,E为三阶单位矩阵,θ为当前向量转到理想向量位置的旋转角,

计算R

R

旋转矩阵R

进一步地,所述求解任意特征点在基坐标系中的坐标包括,通过已知单行上的任意特征点在相机坐标系中的坐标(X

与现有技术相比,本发明的有益效果是:

一种用于线扫3D相机的手眼标定方法,线扫3D相机与6轴机械臂是眼在手上的手眼标定模式,标定用的相机坐标采用单行点云来计算,提高了速度和精度;平移矩阵的计算按照直接接触法来实现;手眼标定完成后,将目标特征点在相机坐标系的6自由度信息均转换至基坐标系下;通过此目标特征点的坐标转换关系,解决了相机坐标系和扫描方向不平行的问题。

附图说明

图1是本发明一种用于线扫3D相机的手眼标定方法的流程示意图。

图2是本发明一种用于线扫3D相机的手眼标定方法的激光线扫3D相机扫描多行拼接示意图。

图3是本发明一种用于线扫3D相机的手眼标定方法的构建相机坐标系示意图。

图4是本发明一种用于线扫3D相机的手眼标定方法的线扫3D相机与机械臂的手眼标定示意图;

图5是本发明一种用于线扫3D相机的手眼标定方法的单条点云计算圆球球心/圆锥顶点坐标的示意图。

图6是本发明一种用于线扫3D相机的手眼标定方法的线扫3D相机与机械臂的手眼标定另一示意图。

图7是本发明一种用于线扫3D相机的手眼标定方法的机械臂两次移动扫描圆锥的点云数据图。

图8是本发明一种用于线扫3D相机的手眼标定方法的任意特征点在在相机坐标系下的坐标的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,应理解,本申请不受这里公开描述的示例实施例的限制。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

如图2所示,激光线扫3D相机扫描过程是一行一行的,多行拼接在一起。当机械臂末端倾斜移动或者相机与机械臂末端不平行时,行拼接会错位,导致位置数据不准。因此提出一种用于线扫3D相机的手眼标定方法,通过单行上的特征点在相机坐标系中的坐标,和特征点对应单行在基坐标系中的坐标,求解得出特征点在基坐标系中的坐标。

如图1所示,一种用于线扫3D相机的手眼标定方法具体步骤包括:

S1构建相机坐标系;

S2标记标定工具的坐标:移动标定工具,标记标定工具在基座坐标系中的坐标,标记标定工具在相机坐标系中的坐标;

S3计算相机坐标系到工具坐标系的旋转矩阵;

S4计算相机坐标系到工具坐标系的平移矩阵;

S5求解任意特征点在基坐标系中的坐标。

本方法通过S1-S4计算出标定参数,即可实现通过相机扫描物体,计算出物体在基坐标系中的坐标,让机械臂末端准确走物体所在位置。S5说明如何使用标定参数,实现相机引导机械臂的功能。本发明标定信息计算特征坐标的方式,通过单条点云计算圆球球心/圆锥顶点在基座坐标系中的坐标,和圆球球心/圆锥顶点在相机坐标系中的坐标。此方式可有效规避未标定时扫描方向与相机Y轴不平行的问题,提高标定精度。

在本实施例中,如图3所示,S1构建相机坐标系包括:相机坐标系设定的方向与相机扫描设定的方向相同。具体地,相机沿X轴扫描单条,再沿Y轴方面移动,扫描出若干条,最后沿Z轴方向移动到另一平面,继续沿X轴扫描单条,再沿Y轴方面移动,扫描出若干条的动作。每一行的中间点的X值为0,每行的X坐标为点数乘点间距,每行的Y坐标为行数乘行间距。

在本实施例中,构建相机坐标系的扫描相机为激光线扫3D相机。激光线扫3D相机扫描出的图像为一行一行,一条一条的。

在本实施例中,如图4所示,S2标记标定工具的坐标包括:标定工具为圆球和圆锥。圆球用来标定旋转矩阵,固定不动。圆锥用来标定平移矩阵,也是固定不动。点云坐标系是用来描述点云中点的位置和方向的一组坐标,包括笛卡尔坐标系和极坐标系。如图5所示,通过单条点云计算圆心坐标。获取圆球球心和圆锥顶点在基座坐标系中的坐标;获取圆球球心和圆锥顶点在相机坐标系中的坐标。

在本实施例中,S3计算相机坐标系到工具坐标系的旋转矩阵包括:

S31圆球球心/圆锥顶点在基座坐标系中的坐标与在相机坐标系中的坐标的关系表达式为:

Base

其中,Base

R

R

Camera

T

T

按照在基座坐标系中的坐标与在相机坐标系中的坐标的关系表达式,需要求解的是R

S32移动激光线扫3D相机,圆球球心/圆锥顶点和基坐标的相对位置不变,获取两组机械臂和相机坐标。

Base

Base

S33任意两个圆球球心位置在基座坐标系中的坐标与在相机坐标系中的坐标相减得到:

T

S34获取多组数据,用最小二乘法求得相机坐标系到工具坐标系的旋转矩阵R

在本实施例中,因为上述已求出未知量R

S4计算相机坐标系到工具坐标系的平移矩阵具体步骤如下:将求得的相机坐标系到工具坐标系的旋转矩阵R

针对步骤S1-S4统一说明:所有的目的是解方程,求出R

公式Base

公式T

在本实施例中,还包括:S41计算工具坐标系的旋转角度。目的是要计算出特征点在基坐标系的坐标,这个坐标包括6个自由度,X、Y、Z、RX、RY、RZ,步骤S1-S4只能计算出X、Y、Z,因此需要计算出工具坐标系的旋转角度。具体步骤如下:

S411根据罗德里格斯旋转公式计算当前法向量到理想法向量的旋转矩阵R

S412计算R

R

旋转矩阵R

如图4-5所示,标定旋转矩阵过程,轮廓可随意选取,操作简单。获取多组圆球球心坐标时,工具坐标的位置需要保持不变,用来消除相机到工具坐标的平移矩阵。

在本实施例中,因在基座坐标系中的坐标与在相机坐标系中的坐标的关系表达式中,各参数已求解得出,因此带入任意特征点在在相机坐标系中的坐标即可转换得出此特征点在基座坐标系中的坐标。如图8所示,S5求解任意特征点在基坐标系中的坐标具体步骤如下:

S51机械臂每一行采集的起点和终点的坐标是已知的,机械臂运动的时间和匀速运动参数的已知的,因此根据时间和速度得出特征点在某一时候在此单行的坐标。即单行上的特征点在相机坐标系中的坐标(X

S52任意特征点对应单行在基坐标系的坐标(X

为了使用标定参数时更好兼容更多的使用情况。因为当机械臂运动方向和激光线夹角变化的时候,行间距也会变化,因此会导致点云中的特征点(X

特征点(X

将以上坐标带入公式Base

一种用于线扫3D相机的手眼标定方法,线扫3D相机与6轴机械臂是眼在手上的手眼标定模式,标定用的相机坐标采用单行点云来计算,提高了速度和精度;平移矩阵的计算按照直接接触法来实现;手眼标定完成后,将目标特征点在相机坐标系的6自由度信息均转换至基坐标系下;通过此目标特征点的坐标转换关系,解决了相机坐标系和扫描方向不平行的问题。

还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

技术分类

06120116561489