用于3D视觉机器人系统的校准物品的制作方法

文档序号:21087707发布日期:2020-06-12 17:00阅读:199来源:国知局
用于3D视觉机器人系统的校准物品的制作方法

本发明总体上涉及机器人系统,更具体地,涉及用于机器人的3d视觉系统的校准。



背景技术:

机器人系统具有多种形式以用于许多应用。虽然机器人系统可以被编程为在没有位置反馈的情况下进行操作,但是优选的是向机器人系统提供视觉系统,该视觉系统向机器人提供关于工作空间的信息。比如,视觉系统可以用于在工作空间内定位工件。然后,机器人与工件相互作用的运动可以由视觉系统引导,以适应工作空间内工件位置和/或方位的变化。

然而,配备有视觉系统的机器人系统的一个问题是机器人和视觉系统之间缺乏协调。也就是说,机器人根据各种运动控制在其工作空间内起作用,并且视觉系统在其自己的单独相机空间内观察工件。虽然机器人的工作空间和视觉系统的相机空间必然重叠以提供期望的机器人引导,但是工作空间和相机空间并不总是彼此对准。因此,由相机空间中的相机所观察的工件的位置可能与工件空间中的工件的实际位置不匹配。这种未对准可能导致机器人运动不准确,并且降低机器人的工作质量或引起其他问题。



技术实现要素:

描述了一种校准物品以及使用该物品来校准机器人和3d相机的方法。校准物品包括侧表面和顶部表面。侧表面朝向顶部表面向内成角,并且侧表面中的至少一些侧表面成不同角度。因此,侧表面中的至少两个侧表面彼此可区分开。机器人和相机被运动到捕获侧表面和顶部表面的数据的一个或多个位置、以及机器人和相机相对于其的位置。所捕获的数据用于生成使机器人和相机彼此对准的相关数据。随后,相关数据用于在机器人和相机的操作使用期间相机空间与机器人空间中的位置之间的变换。

附图说明

通过结合附图阅读以下描述,可以更全面地理解本发明,其中:

图1是校准系统的视图,其示出了机器人、相机和校准物品;

图2是校准物品的透视图;

图3是校准物品的顶视图;

图4是用于校准物品的安装系统的透视图;

图5是根据捕获的3d图像确定校准物品的位置和方位的方法的流程图;

图6是根据捕获的3d图像识别校准物品的表面的方法的流程图;

图7是校准机器人和相机的方法的流程图;以及

图8是校准机器人和相机的另一方法的流程图。

具体实施方式

现在参考附图(具体地,图1),示出了具有机器人12和3d视觉14的校准系统10。虽然机器人12可以采用多种形式并且可以用于多种应用,但是机器人12优选地能够在工作空间内以三维方式运动。如所示出的,机器人12安装到工作表面16,尽管机器人12可以以任何传统方式安装或以其他方式定位。机器人12可以设有一系列互连的可运动连杆18,以允许机器人12在工作空间内运动。连杆18可以用电动机、液压装置或任何已知的系统致动,以使机器人12运动。优选地,机器人12的运动将由可编程控制器引导,该可编程控制器从存储器存储装置中检索预先定义的机器人12的运动。为了在工件19上执行有用任务,夹持器15通常安装在机器人末端执行器13上。本领域普通技术人员很好地理解机器人12的细节及其控制,并且本文中不需要进行详细描述。

还提供了一种视觉系统14。该视觉系统14包括3d相机14,其能够在相机14的相机空间内以三维方式观察对象。存在多种类型的3d相机14并且可以与机器人12一起使用。传统3d相机14可以使用红外线光束、激光束或立体视觉。虽然摄影相机通常输出场景的人类可视图像,但是3d相机14无需产生人类可读图像。通常,相机14的输出将是点云数据,其记录相机空间中的对象的各个表面上的有限数目的点的三维数据。如图1所示,相机14优选地安装在机器人末端执行器13上,并且随着机器人12在工作空间内运动而随机器人12运动。因此,在该实施例中,与相机14相关联的相机空间随着机器人12运动而运动。可替代地,相机14可以安装在固定位置处或不同的可运动结构(诸如第二机器人)上。然而,在任一布置中,机器人12和相机14通过中央控制器链接。

为了在机器人12的工作空间和3d相机14的相机空间之间提供精确变换,提供了校准物品20。在图1中总体地示出了校准物品20,并且在图2和图3中更详细地示出了校准物品20。尽管物品20可以安装或搁置在凸起支撑结构上,但是图1中示出了具有平坦底部表面22的物品20,其搁置在平坦工作表面16上。

坐标系{oxyz}可以分别附接到机器人基座11(b)、机器人末端执行器13(e)、相机14(c)、以及校准物品20(a)。坐标系可以被指定为{oxyz}b、{oxyz}e、{oxyz}c、以及{oxyz}a。任意两个坐标系之间的关系可以由4×4变换矩阵表示,该变换矩阵基本上是坐标系s在坐标系r中的位置和方位。利用该变换矩阵,任意点p在坐标系r中的坐标可以使用如下方程从其在坐标系s中的坐标获得:

在图1中,要在相机14的空间和机器人12的空间之间校准的变换关系由表示,其定义了相机14的坐标系c相对于机器人末端执行器13的坐标系e的位置和方位。一旦已知,就可以使用以下方程将在相机14的空间中检测到的任何对象(p)的位置和方位转换为机器人12的空间:

其中是对象(p)相对于机器人基座11的坐标系b和相机14的坐标系c的位置和方位,并且是机器人末端执行器13的坐标系e相对于机器人基座11的坐标系b的位置和方位。通常将被编程到机器人12的控制器中,并且由其提供。

校准物品20被设计为允许视觉系统14容易且准确地根据相对于相机14的坐标系c的捕获图像确定校准物品20的位置和方位。在一个实施例中,校准物品20可以被认为是截棱锥或截头锥体。然而,因为传统的截头锥体被定义为两个平行平面之间的棱锥的一部分,所以校准物品20的一些实施例不能被认为是截头锥体,因为可能希望顶部表面24不与底部表面22平行。可替代地,可以在本文中使用底部表面28来代替顶部表面24。

虽然校准物品20可以在每个侧表面26的相对侧处具有与相邻侧表面26邻接的四个或更多个侧表面26,但是校准物品20可以优选地仅具有四个侧表面26。也就是说,在一些实施例中,校准物品20可以具有五个、六个、七个或八个侧表面26,但是校准物品20优选地具有至少四个侧表面26,并且可以具有不多于四个侧表面26。如所示出的,侧表面26可以沿着底部边缘与底部表面22邻接,并且可以沿着顶部边缘与顶部表面24邻接。

如所示出的,侧表面26优选地从底部表面22向顶部表面24向内成角。因此,侧表面26朝向顶部表面24向内成角。校准物品20的一个特征是侧表面26中的至少一些侧表面相对于彼此向内成不同角度。因此,校准物品20至少在一些方面不对称。例如,当侧表面26中的至少两个侧表面彼此进行比较时,侧表面26相对于顶部表面24和/或底部表面22以不同角度定向。为了在侧表面26中的每个侧表面之间提供进一步区分,还可能期望侧表面26中的至少三个侧表面相对于彼此成不同角度,或者侧表面26中的至少四个侧表面相对于彼此成不同角度。在顶部表面24和底部表面22彼此平行的情况下,可以从顶部表面24或底部表面22测量角度。在顶部表面24和底部表面22不平行的情况下,优选的是从底部表面22测量角度;然而,可以可替代地从顶部表面24测量角度。

如图3所示,校准物品20的形状允许侧表面26中的至少两个或更多个侧表面彼此区分开。在图3的特定实施例中,(由侧表面26的底部边缘所限定的)基部28为矩形,顶部表面24也为矩形并且与基部28对准。因此,基部28和顶部表面24的一侧d,b比基部28和顶部表面24的另一侧c,a更长。进一步地,在图3中,顶部表面24相对于基部28偏离中心。因此,侧表面s1,s2,s3,s4中的每个侧表面通过底部边缘c,d的长度,顶部边缘a,b的长度,或侧表面s1,s2,s3,s4相对于彼此的向内角度彼此区分开。优选地,每个侧表面26的角度在从穿过基部28的垂直平面落入30°到75°的范围之内。也就是说,优选的是,侧表面26的方位不是过度垂直(即,75°或更小),并且还优选的是,侧表面26的方位不是过度水平或平坦(即,30°或更大)。如图3所示,还优选的是,侧表面26和顶部表面24的形状为平面。甚至更优选地,侧表面26和顶部表面24完全平坦,并且在其上没有任何凹陷或突起。虽然侧表面26、顶部表面24和底部表面28可以彼此相同,但是侧表面26,顶部表面24和/或底部表面28中的一个或多个表面还可以被彼此不同地着色,或在其上可以具有一个或多个图案化表面(例如,棋盘图案)。

图4示出了校准物品20如何安装在工作空间内。优选地,安装板27是从侧表面26的底部向外延伸的平板。安装板27的形状可以为矩形、圆形或任何其他期望的形状。可以设置若干个安装孔29,使得螺钉可以用于将安装板27固定到工作表面16或其他所需的安装位置上。为了将校准物品固定到安装板27上,底部表面28和安装板27可以设置有若干个匹配安装孔。可替代地,安装板27可以是校准物品20的底部表面28的延伸部分。

在使用中,视觉系统14可以利用校准物品20的形状来根据捕获的图像确定校准物品20的位置和方位。图5中示出了这种过程的示例。校准物品20的形状数据优选地在校准过程开始之前存储在计算机存储器中(50)。形状数据的特定内容和格式将取决于使用数据的编程和/或算法,但是数据通常将包括定义侧表面26和顶部表面24相对于彼此或共同表面的3d表面和方位的三维数据。可以使用平面寻找算法对校准物品20的捕获的3d图像进行处理(51)。例如,randomsampleconsensus(ransac)平面拟合算法可以用于此目的,并且可从开源代码广泛获得。可以施加选择准则,使得仅找到其上具有足够点的主导平面。下一步可以是计算找到的主导平面中的每个主导平面的特性(52),诸如面积、宽度、长度、法线、质心等。然后,可以在匹配算法中使用这些特性来比较校准物品20的预先存储的形状数据,以便识别主导平面(53)。因此,在步骤(51)和(52)中标识的主导平面与从步骤(50)检索的形状数据匹配。结果,校准物品20上的每个主导平面的匹配标识允许计算校准物品20的位置和方位(54)。

图6示出了示例性匹配算法的流程图。然而,应当指出,存在执行匹配和识别的许多方式。假设安装板27与校准物品20的其他表面24,26相比是最大平面,图6的方法开始于使用来自主导平面的最大平面准则找到安装板27(60)。使用安装板27作为公共参考表面,然后可以计算每个主导平面相对于安装板27的相对方位(61)。由于校准物品20的表面24,26中的任一表面可以被设计有相对于底部表面28和/或安装板27的可区分方位,因此每个标识的主导平面可以被识别为校准物品20的表面24,26中的任一表面或作为不在校准物品20上的表面。例如,后一种情况可能发生在相机14的空间的背景中存在大平面时。还可以使用其他计算的平面特性作为将背景中的类似定向的平面与校准物品20的表面24,26区分开的识别准则。例如,平面质心到安装板27的距离可以用作附加识别准则。优选地,匹配算法至少使用校准物品20的每个表面24,26相对于从存储的形状数据检索的底部表面28的相对方位,以便识别所标识的主导平面。

在识别校准物品20的捕获的3d图像中的主导平面之后计算校准物品20的位置和方位可以以多种方式完成。例如,一种方法是最小二乘拟合。在该方法中,校准物品20的预先存储的形状数据可以包括每个表面相对于校准物品20的坐标系的平面方程参数[nx,ny,nz,d]a:

其中<nx,ny,nz>是表示法线平面的单位矢量,d是校准物品20的坐标系a的原点与标识的主导平面的距离。校准物品20的位置和方位可以相对于相机14的坐标系c定义为然后图5的步骤(51)中的平面拟合算法可以找到相对于相机14的坐标系c具有平面方程参数[nx,ny,nz,d]c的平面:

使用关系式:

平面方程(3)和(4)可以被定义为:

由于识别的表面的数目优选地至少为三个,因此存在可用于线性最小二乘拟合以求解的针对(6)的至少三个方程。因为还可以识别底部表面28或安装板29,所以该表面还可以添加到线性最小二乘拟合中以求解

使用上文所描述的算法根据捕获的图像计算校准物品20的位置和方位,存在使用校准物品20来校准机器人12的空间和相机14的空间之间的几何关系的各种方式。图7和图8示出了两种可能方法。如先前所描述的,优选的是,定义校准物品20的形状的3d数据初始存储在计算机存储器中(70,80)。为了开始校准过程,还需要将校准物品20定位在机器人12的工作空间内和3d相机14的相机14空间内的位置中(71,81)。

相机14到机器人12校准的数学基础可以基于闭合的运动链:

其中θ是机器人关节角度的测量值,是机器人末端执行器13相对于机器人基座11的坐标系b的位置和方位,并且通过正向运动学计算由机器人控制器提供:

其中m是机器人运动模型参数,其包括臂连杆18的长度、初始关节位置、以及其他因子;是由θ限定的视图配置中如图5所计算的校准物品20相对于相机12的坐标系c的位置和方位;并且是校准物品20相对于机器人基座11的坐标系b的位置和方位。

应当指出,方程(7)对于图1所示的机器人系统是有效的,其中相机安装在机器人末端执行器13上。对于其他系统配置,可以使用不同的方程。如图7所示,如果校准物品20在机器人12的空间中的位置和方位通过使用其他方法(诸如光学传感或手动触摸)获得(72),则方程(7)可能只有一个未知矩阵其只能用(7)的一个方程求解。这将意味着相机14仅需要以一个观察角度捕获校准物品20。应当通过将机器人12定位在相机14可以观察校准物品20的至少两个侧表面26和顶部表面24的位置中来选择该观察角度(73)。另外,为了使用图5的方法,安装板27还优选地是可见的,并且可以是图像中的最大平面。然后,相机14捕获校准物品20的3d图像(74),并且系统根据捕获的图像计算校准物品20在相机14的空间中的位置和方位(75)。

如果校准物品20在机器人12的空间中的位置和方位未知,则方程(7)将具有两个未知矩阵为了求解它们,需要方程(7)的至少两个实例,其意味着需要至少两个相机14的观察角度。如图8所示,在实践中通常使用两个以上的相机14的观察角度,以减少测量噪声并且增加鲁棒性。这可以通过将机器人12运动到n个不同位置来实现(89),其中在每个位置处,相机14可以观察校准物品20的至少两个侧表面26和顶部表面24(82),记录机器人的位置(83),捕获3d图像(84),并且检测位置和方位(85)。最后,n个方程可以使用方程(7)获得,如下:

其中θ(i)是第i个观察位置处的机器人关节角度,是在第i个观察位置处的相机14的坐标系c中的校准物品20的检测位置和方位。方程(9)具有两个未知数其可以使用标准线性最小二乘算法或其他已知算法来求解。该方法也称为手眼校准。

在校准之后,以方程(2)的形式使用相关数据。也就是说,在生成相关数据之后(76,86),通过观察工件由相机14捕获的位置数据可以用相关数据变换到机器人12相对于机器人基座11的坐标系b的精确位置。因此,在校准例程完成之后,相关数据优选地存储在存储器中(77,87)并且在机器人12和视觉14系统的常规操作期间由系统使用以用于在相机空间和机器人空间之间变换位置(78,88)。

虽然已经描述了本发明的优选实施例,但是应当理解,本发明不限于此,并且可以在不脱离本发明的情况下进行修改。虽然本文中所描述的每个实施例可以仅是指某些特征并且可以不具体地是指关于其他实施例所描述的每个特征,但是应当认识到,除非另有说明,否则本文中所描述的特征是可互换的,即使没有参考特定特征。还应当理解,上文所描述的优点不一定是本发明的唯一优点,并且不一定期望利用本发明的每个实施例实现所有描述的优点。本发明的范围由所附权利要求限定,并且在字面上或通过等同的方式落入权利要求的含义内的所有设备和方法旨在涵盖在其中。

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