基于标定块的机器人手眼标定中关键点位置确定方法与装置与流程

文档序号:20193089发布日期:2020-03-27 19:51阅读:260来源:国知局
基于标定块的机器人手眼标定中关键点位置确定方法与装置与流程

本发明涉及机器人自动化加工系统中视觉引导系统标定、机器人自动装配系统中待装配零件的位置和相关参数检测中的视觉系统标定、加工中心中通过分析传感器数据获取瑕疵后的目标位置信息的转换中的视觉检测系统标定及其他自动化加工(操作)过程中的视觉引导作业等自动化领域的检测系统的手眼标定技术领域,具体涉及一种基于标定块的机器人手眼标定中关键点位置确定方法与装置。



背景技术:

自动化装备是制造强国的利器,因此必须要向高速化,智能化方向迈进,其一个重要的手段是给机器装上“眼睛”和能够与这颗眼睛配合的“大脑”。这只眼睛可以是单目相机,双目相机,多目相机,三维扫描仪,也可以是rgb-d传感器。通过视觉传感器获取相关数据,可以分析得到的加工信息,这里的加工信息是以视觉传感器的坐标系定义的,这些加工信息在被机器人执行前必须变换到机器人基坐标系下。因此,机器人视觉引导系统的手眼关系的标定非常重要。

目前,眼在手上的视觉系统的手眼标定方法很多,但是对于机器人动态三维视觉系统来说,现有的这些标定方法要么标定精度较低,要么标定成本较高(需要激光跟踪仪等昂贵的仪器设备),且不利于快速标定。因此急需一种能低成本的、便捷的、高精度的手眼标定方法,而在进行手眼标定前,需要提供一种在机器人视觉系统手眼标定中关键点的提取方法,以快速进行手眼标定。三维标定块在机器人视觉系统手眼标定中关键点的提取方法与装置



技术实现要素:

针对现有技术的不足,本发明提出一种基于标定块的机器人手眼标定中关键点位置确定方法与装置,可低成本、便捷、高精度地对关键点进行提取,从而低成本、便捷、高精度地在机器人视觉系统中进行手眼标定。

本发明的技术方案是这样实现的:

一种基于标定块的机器人手眼标定中关键点位置确定方法,所述标定块为三维标定块,所述三维标定块为多面体结构且形状不规则,所述关键点为三维标定块上且不少于三个的预设点,所述预设点在高度方向不重合;所述关键点提取方法包括以下步骤:

步骤1,对三维标定块的摆放姿态进行调节,使三维标定块上的关键点中的任意两点的连线在xy平面的投影,与机器人基坐标系的任意坐标轴不平行;

步骤2,对机器人的姿态进行调节,使处于机器人末端的三维视觉系统能够获取所述三维标定块上包含所述关键点周边面的三维标定块点云;

步骤3,将三维标定块的cad模型转变为点云得到三维标定块模型点云;

步骤4,将三维标定块模型点云与所获得的三维标定块点云进行配准;

步骤5,以三维标定块模型点云上的关键点位置为基准,设置相应阈值以从三维标定块点云中获取关键点附近点云从而确定三维标定块上的关键点在三维视觉系统坐标系的坐标值。

进一步的,步骤3包括以下子步骤:

步骤301,获取三维标定块的cad模型,并将其转换为ply格式文件;

步骤302,根据所述ply格式文件,利用pcl库中的数据格式转换函数,将其转换为点云数据格式,获取三维标定块模型点云。

进一步的,步骤4包括以下子步骤:

步骤401,分别对三维标定块点云和三维标定块模型点云进行采样;

步骤402,分别计算三维标定块点云和三维标定块模型点云的特征点描述子,得到各自的快速点特征直方图;

步骤403,根据三维标定块点云和三维标定块模型点云的快速点特征直方图,通过使用采样一致性初始配准算法对点云进行粗配准;

步骤404,通过迭代最近点算法对点云进行精准配准。

进一步的,步骤5中,设置相应阈值,以通过近邻搜索的方法从三维标定块点云中分别搜索出距离三维标定块模型点云上关键点云最近的点,确定该点的坐标值为三维标定块上的关键点在三维视觉系统坐标系的坐标值。

一种基于标定块的机器人手眼标定中关键点位置确定装置,所述标定块为三维标定块,所述三维标定块为多面体结构且形状不规则,所述关键点为三维标定块上且不少于三个的预设点,所述预设点在高度方向不重合;所述关键点提取装置包括

三维标定块姿态调节模块,用于对三维标定块的摆放姿态进行调节,使三维标定块上的关键点中的任意两点的连线在xy平面的投影,与机器人基坐标系的任意坐标轴不平行;

机器人姿态调节模块,用于对机器人的姿态进行调节,使处于机器人末端的三维视觉系统能够获取所述三维标定块上包含所述关键点周边面的三维标定块点云;

模型点云转换模块,用于将三维标定块的cad模型转变为点云得到三维标定块模型点云;

配准模块,用于将三维标定块模型点云与所获得的三维标定块点云进行配准;

关键点坐标确定模块,用于以三维标定块模型点云上的关键点位置为基准,设置相应阈值以从三维标定块点云中获取关键点附近点云从而确定三维标定块上的关键点在三维视觉系统坐标系的坐标值。

进一步的,所述模型点云转换模块包括

ply格式文件转换单元,用于获取三维标定块的cad模型,并将其转换为ply格式文件;

模型点云获取单元,用于根据所述ply格式文件,利用pcl库中的数据格式转换函数,将其转换为点云数据格式,获取三维标定块模型点云。

进一步的,所述配准模块包括采样单元、快速点特征直方图单元、粗配置单元和精准配准单元,其中

采样单元,用于分别对三维标定块点云和三维标定块模型点云进行采样;

快速点特征直方图单元,用于分别计算三维标定块点云和三维标定块模型点云的特征点描述子,得到各自的快速点特征直方图;

粗配置单元,用于根据三维标定块点云和三维标定块模型点云的快速点特征直方图,通过使用采样一致性初始配准算法对点云进行粗配准;

精准配准单元,用于通过迭代最近点算法对点云进行精准配准。

进一步的,所述关键点坐标确定模块,用于设置相应阈值,以通过近邻搜索的方法从三维标定块点云中分别搜索出距离三维标定块模型点云上关键点云最近的点,确定该点的坐标值为三维标定块上的关键点在三维视觉系统坐标系的坐标值。

与现有技术相比,本发明具有以下优点:本发明通过借助多面体结构且形状不规则的三维标定块,并且该三维标定块上多个关键点在高度方向不重合,从而低成本、便捷、高精度地确定关键点在机器人视觉系统中的坐标值;具体的,通过对三维标定块的摆放姿态进行调节,使多个关键点的任意两点的连线在xy平面的投影,并且与机器人基坐标系的任意坐标轴不平行;然后再通过对机器人的姿态进行调节,使三维视觉系统能给获取到关键点周边面的点云;最后将三维标定块模型点云与采集到的三维标定块点云进行配准,设置相应阈值确定关键点附近点云,从而获取关键点在三维视觉系统坐标系的坐标值。根据关键点在机器人基坐标系下的坐标值及关键点在三维视觉系统坐标系的坐标,可快速求解出机器人动态三维视觉系统的手眼关系的变换矩阵,从而低成本、便捷、高精度地实现在机器人三维动态视觉系统中的手眼标定。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明中所使用的标定块的结构示意图;

图2为本发明机器人检测姿态调节的示意图;

图3为本发明机器人动态三维视觉系统标定中的关键点提取方法一实施方式的流程图;

图4为本发明机器人动态三维视觉系统标定中的关键点提取装置一实施方式的结构框图;

图5为本发明机器人动态三维视觉系统标定中的关键点提取方法一实施方式中步骤3的流程图;

图6为本发明机器人动态三维视觉系统标定中的关键点提取方法一实施方式中模型点云转换模块的结构框图;

图7为本发明机器人动态三维视觉系统标定中的关键点提取方法一实施方式中步骤4的流程图;

图8为本发明机器人动态三维视觉系统标定中的关键点提取方法一实施方式中模型点云配准模块的结构框图。

具体实施方式

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

图1为本发明中所使用的标定块,其中,所述标定块为三维标定块,所述关键点为图1中的p1、p2、p3点;图2为本发明机器人检测姿态调节的示意图,通过对三维标定块的摆放姿态进行调节后,再对机器人的检测姿态进行调节,以确定p1、p2、p3点在三维视觉系统坐标系的坐标值。当p1、p2、p3点在机器人基坐标系下的坐标值也确定后,根据p1、p2、p3点在三维视觉系统坐标系的坐标值及p1、p2、p3点在机器人基坐标系下的坐标值,即可求解出机器人动态三维视觉系统的手眼关系的变换矩阵,实现在机器人三维动态视觉系统中的手眼标定。下面结合图1~图4进行具体说明。

其中,本发明实施方式中所使用的标定块为一种具有特殊形状的三维标定块,具体表现为:如图1所示,三维标定块为多面体结构且形状不规则,所述关键点为三维标定块上p1、p2、p3点,其中关键点p1、p2、p3在高度方向不重合,且基本在高度方向均匀分布。本发明实施方式通过这种特殊结构的三维标定块确定关键点在三维视觉系统坐标系的坐标值。

参阅图3,本发明实施方式公开了一种基于标定块的机器人手眼标定中关键点位置确定方法,包括以下步骤:

步骤1,如图2所示,对三维标定块的摆放姿态进行调节,使三维标定块上的p1、p2、p3点中的任意两点的连线在xy平面的投影,与机器人基坐标系的任意坐标轴不平行;

步骤2,如图2所示,对机器人的姿态进行调节,使处于机器人末端的三维视觉系统能够获取所述三维标定块上包含p1、p2、p3点周边面的三维标定块点云;

步骤3,将三维标定块的cad模型转变为点云得到三维标定块模型点云;

步骤4,将三维标定块模型点云与所获得的三维标定块点云进行配准;

步骤5,以三维标定块模型点云上的关键点位置(即p1’、p2’、p3’点,其中p1’与p1相对应,p2’与p2相对应,p3’与p3相对应)为基准,设置相应阈值以从三维标定块点云中获取关键点附近点云从而确定三维标定块上的关键点在三维视觉系统坐标系的坐标值。

参阅图4,本发明实施方式还公开了一种基于标定块的机器人手眼标定中关键点位置确定装置,包括:

三维标定块姿态调节模块10,用于对三维标定块的摆放姿态进行调节,使三维标定块上的p1、p2、p3点中的任意两点的连线在xy平面的投影,与机器人基坐标系的任意坐标轴不平行;

机器人姿态调节模块20,用于对机器人的姿态进行调节,使处于机器人末端的三维视觉系统能够获取所述三维标定块上包含p1、p2、p3点周边面的三维标定块点云;

模型点云转换模块30,用于将三维标定块的cad模型转变为点云得到三维标定块模型点云;

配准模块40,用于将三维标定块模型点云与所获得的三维标定块点云进行配准;

关键点坐标确定模块50,用于以三维标定块模型点云上的关键点位置(即p1’、p2’、p3’点,其中p1’与p1相对应,p2’与p2相对应,p3’与p3相对应)为基准,设置相应阈值以从三维标定块点云中获取关键点附近点云从而确定三维标定块上的关键点在三维视觉系统坐标系的坐标值。

本发明实施方式中,基于标定块的机器人手眼标定中关键点位置确定方法是以基于标定块的机器人手眼标定中关键点位置确定装置作为步骤的执行对象。其中,步骤1是以三维标定块姿态调节模块10作为步骤的执行对象,步骤2是以机器人姿态调节模块20作为步骤的执行对象,步骤3是以模型点云转换模块30作为步骤的执行对象,步骤4是以配准模块40作为步骤的执行对象,步骤5是以关键点坐标确定模块50作为步骤的执行对象。

本发明中,关键点p1、p2、p3在三维视觉系统坐标系下的坐标值的确定及关键点p1、p2、p3在机器人基坐标系下的坐标值,是变换矩阵求解的关键,而关键点p1、p2、p3在机器人基坐标系下的坐标值利用设于机器人末端的探针进行快速确定,具体的,通过探针分别触及p1、p2、p3点时,机器人控制器中经探针长度补偿后的坐标值即可为关键点p1、p2、p3在机器人基坐标系下的坐标值。因此,确定关键点p1、p2、p3在三维视觉系统坐标系下的坐标值,是求解变换矩阵的关键。本发明实施方式通过借助这种多面体结构且形状不规则的三维标定块,利用三维标定块上的关键点,从而可低成本、便捷、高精度地确定关键点在三维视觉系统坐标系下的坐标值,进而低成本、便捷、高精度地实现在机器人三维动态视觉系统中的手眼标定。

步骤1中,三维标定块的摆放姿态关系到所获取的数据是否可用,因此,本发明实施方式中,如图1及图2所示,对三维标定块的姿态进行调节时,需要使关键点p1、p2、p3中的任意两点的连线在xy平面的投影,与机器人基坐标系的任意坐标轴不平行,以便于机器人末端在同一个检测姿态下,能够同时获得关键点周边多个面的点云数据。

步骤2中,同样需要对机器人的检测姿态进行调整,以便于三维视觉系统,如单目相机,双目相机,多目相机,三维扫描仪等,可以得到可用的空间位置数据。如图2所示,在进行调节时,能够通过机器人末端安装的三维视觉系统,在同一个末端检测姿态下,能够同时获得图1所示的三维标定块上的目标位置点p1、p2、p3周边面的点云。

具体的,如图5所示,步骤3包括以下子步骤:

步骤301,获取三维标定块的cad模型,并将其转换为ply格式文件;

步骤302,根据所述ply格式文件,利用pcl库中的数据格式转换函数,将其转换为点云数据格式,获取三维标定块模型点云。

对应的,如图6所示,基于标定块的机器人手眼标定中关键点位置确定装置中的模型点云转换模块30包括

ply格式文件转换单元31,用于获取三维标定块的cad模型,并将其转换为ply格式文件;

模型点云获取单元32,用于根据所述ply格式文件,利用pcl库中的数据格式转换函数,将其转换为点云数据格式,获取三维标定块模型点云。

本发明实施方式中,步骤3是以模型点云转换模块30中的各个单元作为步骤的执行对象。具体的,步骤301是以ply格式文件转换单元31作为步骤的执行对象,步骤302是以模型点云获取单元32作为步骤的执行对象。

具体的,如图7所示,步骤4包括以下子步骤:

步骤401,分别对三维标定块点云和三维标定块模型点云进行采样;

步骤402,分别计算三维标定块点云和三维标定块模型点云的特征点描述子,得到各自的快速点特征直方图;

步骤403,根据三维标定块点云及三维标定块模型点云的快速点特征直方图,通过使用采样一致性初始配准算法对点云进行粗配准;

步骤404,通过使用迭代最近点算法对点云进行精准配准。

对应的,如图8所示,基于标定块的机器人手眼标定中关键点位置确定装置中的配准模块40包括

采样单元41,用于分别对三维标定块点云和三维标定块模型点云进行采样;

快速点特征直方图单元42,用于分别计算三维标定块点云和三维标定块模型点云的特征点描述子,得到各自的快速点特征直方图;

粗配置单元43,用于根据三维标定块点云和三维标定块模型点云的快速点特征直方图,通过使用采样一致性初始配准算法对点云进行粗配准;

精准配准单元44,用于通过迭代最近点算法对点云进行精准配准。

本发明实施方式中,步骤4是以配准模块40中的各个单元作为步骤的执行对象。具体的,步骤401是以采样单元41作为步骤的执行对象,步骤402是以快速点特征直方图单元42作为步骤的执行对象,步骤403是以粗配置单元43作为步骤的执行对象,步骤404是以精准配准单元44作为步骤的执行对象。

步骤401中,可通过使用volgograd滤波器采样三维标定块点云和三维标定块模型点云,以提高点云对的配准速度。

步骤402中,点云对的配准依赖于特征描述,因此本发明中需要分别计算三维标定块点云和三维标定块模型点云的特征点描述子,得到各自的快速点特征直方图(fpfh,fastpointfeaturehistograms);

步骤403中,在精确配准点云对前通常需要先粗配准点云对,因此在本发明中采用采样一致性初始配准算法(sac-ia,sampleconsensusinitialaligment)实现点云对的粗配准。

步骤404中,经点云对的粗配准后,再通过使用迭代最近点算法(icp,iterativeclosestpoint)实现点云对的精确配准。

进一步的,步骤5中,设置相应阈值,以通过近邻搜索的方法从三维标定块点云中分别搜索出距离三维标定块模型点云上关键点云最近的点,确定该点的坐标值为三维标定块上的关键点在三维视觉系统坐标系的坐标值。

对应的,基于标定块的机器人手眼标定中关键点位置确定装置中的关键点坐标确定模块50,用于设置相应阈值,以通过近邻搜索的方法从三维标定块点云中分别搜索出距离三维标定块模型点云上关键点云最近的点,确定该点的坐标值为三维标定块上的关键点在三维视觉系统坐标系的坐标值。

本发明实施方式中,以三维标定块模型点云上的关键点位置(即p1’、p2’、p3’点,其中p1’与p1相对应,p2’与p2相对应,p3’与p3相对应)为基准,通过近邻搜索的方法,从三维标定块点云中,搜索出距离三维标定块模型点云上关键点(即p1’、p2’、p3’点)处点云最近的点,该点的坐标值即为所需的关键点坐标值,即关键点p1、p2、p3在三维视觉系统坐标系的坐标值。

综上所述,本发明通过借助多面体结构且形状不规则的三维标定块,并且该三维标定块上多个关键点在高度方向不重合,从而低成本、便捷、高精度地确定关键点在机器人视觉系统中的坐标值;具体的,通过对三维标定块的摆放姿态进行调节,使多个关键点的任意两点的连线在xy平面的投影,并且与机器人基坐标系的任意坐标轴不平行;然后再通过对机器人的姿态进行调节,使三维视觉系统能给获取到关键点周边面的点云;最后将三维标定块模型点云与采集到的三维标定块点云进行配准,设置相应阈值确定关键点附近点云,从而获取关键点在三维视觉系统坐标系的坐标值。根据关键点在机器人基坐标系下的坐标值及关键点在三维视觉系统坐标系的坐标,可快速求解出机器人动态三维视觉系统的手眼关系的变换矩阵,从而低成本、便捷、高精度地实现在机器人三维动态视觉系统中的手眼标定。

在本发明的实施方式的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

下文的公开提供了许多不同的实施方式或例子用来实现本发明的实施方式的不同结构。为了简化本发明的实施方式的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明的实施方式可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明的实施方式提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。

应当理解,本发明的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。

本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本发明的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

上述提到的存储介质可以是只读存储器,磁盘或光盘等。

尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

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