机器人视觉系统的手眼标定方法、系统、终端及介质与流程

文档序号:32615670发布日期:2022-12-20 21:19阅读:22来源:国知局
机器人视觉系统的手眼标定方法、系统、终端及介质与流程

1.本发明涉及工业生产中识别与抓取技术领域的一种相机-机器人系统标定技术,具体地,涉及一种高精度机器人视觉系统的手眼标定方法、系统、终端及介质。


背景技术:

2.随着机器视觉技术与机器人技术的发展,工业生产中深度相机与工业机器人相互协作的工作场合越来越多,需要机器人通过相机实时感知场景信息,这要求三维相机-机器人系统预先进行高精度的标定。一般的相机-机器人系统会由于工作任务的变更,而改变相机或机器人的位置,导致三维相机-机器人系统需要重新标定,因此,需要一种快速且高精度是标定系统。
3.当前常用的标定系统是基于平面标定板的,用相机识别标定板的位姿,结合机器人的坐标,解出相机-机器人的坐标关系。该方法要求相二维标定板处于相机的视野范围内,而由于标定板体积大、机器人运动空间有限,这一方法受到了较大的限制。另一种常见的方法的基于辅助装置,如激光跟踪仪或三轴跟踪仪,实现手眼标定,该方法会极大地提高标定系统的成本与操作难度。因此,一种快速、通用且低成本的三维相机-机器人标定系统具有重要的意义。
4.经对现有技术检索发现:
5.授权公告号为cn110842901b的中国发明专利,公开了一种“基于新型三维标定块的机器人手眼标定方法与装置”,通过调节机器人姿态及三维标定块的摆放姿态,使三维视觉装置能够获取三维标定块上包含有三个关键点的点云,基于关键点在相机坐标系与机器人坐标系下的坐标,可以求解出相机-机器人的手眼关系。
6.授权公告号为cn112091971b的中国发明专利,公开了一种“机器人手眼标定方法、装置、电子设备和系统”,包括以下步骤:1.获取三维相机拍摄得到的三维点云图像信息,所述三维点云图像信息包括至少三个不全在同一直线的标识球的三维点云信息;2.根据所述三维点云图像信息,计算所述标识球的质心在相机坐标系中的第一位置数据;3.获取所述标识球的质心在机器人基坐标系中的第二位置数据;4.根据所述第一位置数据和第二位置数据计算相机坐标系与机器人基坐标系之间的转换矩阵。
7.以上两件发明专利具有成本低、速度快等特点,但是仍然存在标定件过于复杂、需要同时提取三个关键点的信息、对标定件的位姿有着限制、适用性较低等问题。


技术实现要素:

8.本发明针对现有技术中存在的上述不足,提供了一种机器人视觉系统的手眼标定方法、系统、终端及介质。
9.根据本发明的一个方面,提供了一种机器人视觉系统的手眼标定方法,包括:
10.设定三维点云相机的工作空间;
11.在机器人端部安装标定球,并将所述标定球运动至所述三维点云相机的工作空间
内,控制所述标定球在所述工作空间内的位置,计算所述标定球在机器人坐标系下的球心坐标,并发送至标定模块;
12.获取所述标定球在工作空间内的三维点云信息,并进行点云筛选,得到标定球点云信息;
13.根据所述标定球点云信息,对标定球进行提取,获取所述标定球在三维相机坐标系下的球心坐标;
14.重复上述步骤,多次获得所述标定球在机器人坐标系和三维相机坐标系下的球心坐标;
15.根据每一次所述标定球的球心在相机坐标系与机器人坐标系下的坐标,计算出相机与机器人之间的手眼标定关系,完成机器人视觉系统的手眼标定。
16.可选地,所述设定三维点云相机的工作空间,包括:
17.将三维点云相机固定在特定的工作位置,并根据环境因素,调节三维点云相机的工作参数,得到三维点云相机的工作空间。
18.可选地,所述在机器人端部安装标定球,并将所述标定球运动至所述三维点云相机的工作空间内,控制所述标定球在所述工作空间内的位置,计算所述标定球在机器人坐标系下的球心坐标,包括:
19.定制标定球,所述标定球包括标定件和定位件;其中,所述标定件包括金属球、连接杆和底座法兰,所述定位件设有与所述金属球半径适配的圆柱槽;
20.将所述金属球依次通过所述连接杆和所述底座法兰与机器人端部固定;将所述定位件固定在工作平台上;通过所述金属球与所述圆柱槽的底面和侧面的接触,得到标定件和定位件之间确定的配合状态,固定所述标定球在工作空间的位置;
21.多次改变机器人的位姿,利用所述标定件与所述定位件之间的配合状态确保所述标定球的球心的位置不变,计算出所述标定球的球心在机器人坐标系下的坐标。
22.可选地,还包括:多次改变所述标定球在所述工作空间内的位置,获得相应位置上所述标定球在机器人坐标系下的球心坐标。
23.可选地,所述进行点云筛选,包括:
24.根据三维点云相机与工作台之间的距离以及工作空间的大小,去除工作空间以外的点云,仅仅保留工作空间内的点云;
25.利用体素滤波方法或直通滤波方法,筛除无关点云信息,获得标定球点云信息。
26.可选地,所述对标定球进行提取,包括:
27.利用离群点移除算法,去除分布不集中的点云;
28.利用聚类算法,将点云分割为不同部分,并按照点云包围框的体积,选出标定球球面所在的点云;
29.利用随机抽样一致性算法,对标定球进行初步拟合;
30.根据拟合结果,对点云进一步筛选;
31.再次进行随机抽样一致性算法,提取标定球的精细坐标,得到标定球在三维相机坐标系下的球心坐标。
32.可选地,所述根据每一次所述标定球的球心在相机坐标系与机器人坐标系下的坐标,计算出相机与机器人之间的手眼标定关系,包括:
33.分别计算相机坐标系和机器人坐标系下的球心坐标均值,并将得到的两个坐标系下的球心坐标均值的差值作为两个坐标系间的平移量;
34.分别获得相机坐标系下的一组球心坐标和机器人坐标系下的一组球心坐标,并分别减去球心坐标均值,完成中心化处理,获得两组球心坐标;
35.计算两组球心坐标的协方差矩阵h,并对所述协方差矩阵h进行奇异值分解,得到机器人坐标系相对于相机坐标系的位姿矩阵,进而得到相机与机器人之间的手眼标定关系。
36.根据本发明的另一个方面,提供了一种机器人视觉系统的手眼标定系统,包括:
37.机器人模块,该模块包括预先在机器人端部安装的标定球,通过将所述标定球运动至三维点云相机的工作空间内,获得所述标定球在所述工作空间内的位置,计算所述标定球在机器人坐标系下的球心坐标;
38.点云采集模块,该模块基于三维点云相机,获取所述标定球在三维点云相机工作空间内的三维点云信息,并进行点云筛选,得到标定球点云信息,并发送至标定模块;
39.标定模块,该模块用于控制所述机器人模块在三维点云相机的工作空间内的位置,根据所述标定球点云信息,对标定球进行提取,获取所述标定球在三维相机坐标系下的球心坐标;根据每一次所述标定球的球心在相机坐标系与机器人坐标系下的坐标,计算出相机与机器人之间的手眼标定关系,完成机器人视觉系统的手眼标定。
40.根据本发明的第三个方面,提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时可用于执行上述中任一项所述的方法。
41.根据本发明的第四个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可用于执行上述任一项所述的方法。
42.由于采用了上述技术方案,本发明与现有技术相比,具有如下至少一项的有益效果:
43.本发明提供的机器人视觉系统的手眼标定方法、系统、终端及介质,部署方便、成本低廉、应用广泛,可快速部署在任何型号的工业机器人与三维相机构成的系统中,对推进制造业发展、降低企业生产成本并提高生产效率有着重要的意义。
附图说明
44.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
45.图1为本发明一实施例中机器人视觉系统的手眼标定方法的工作流程图;
46.图2为本发明一实施例中机器人视觉系统的手眼标定系统的组成模块示意图;
47.图3为本发明一优选实施例中标定球的结构示意图;
48.图4为本发明一优选实施例中标定球在机器人坐标系下标定环节的定位示意图。
49.图中,1为标定件,2为定位件,11为金属球,12为连接杆,13为底座法兰,21为圆柱槽。
具体实施方式
50.下面对本发明的实施例作详细说明:本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
51.本发明一实施例提供了一种机器人视觉系统的手眼标定方法。
52.如图1所示,该实施例提供的机器人视觉系统的手眼标定方法,可以包括如下步骤:
53.s100,设定三维点云相机的工作空间;
54.s200,在机器人端部安装标定球,并将标定球运动至三维点云相机的工作空间内,控制标定球在工作空间内的位置,计算标定球在机器人坐标系下的球心坐标;
55.s300,获取标定球在工作空间内的三维点云信息,并进行点云筛选,得到标定球点云信息;
56.s400,根据标定球点云信息,对标定球进行提取,获取标定球在三维相机坐标系下的球心坐标;
57.重复上述步骤,多次获得标定球在机器人坐标系和三维相机坐标系下的球心坐标;
58.s500,根据每一次标定球的球心在相机坐标系与机器人坐标系下的坐标,计算出相机与机器人之间的手眼标定关系,完成机器人视觉系统的手眼标定。
59.在s100的一优选实施例中,设定三维点云相机的工作空间,包括:
60.将三维点云相机固定在特定的工作位置,并根据环境因素,调节三维点云相机的工作参数,得到三维点云相机的工作空间。
61.在s200的一优选实施例中,在机器人端部安装标定球,并将标定球运动至三维点云相机的工作空间内,控制标定球在工作空间内的位置,计算标定球在机器人坐标系下的球心坐标,包括:
62.定制标定球,标定球包括标定件和定位件;其中,标定件包括金属球、连接杆和底座法兰,定位件设有与金属球半径适配的圆柱槽;
63.将金属球依次通过连接杆和底座法兰与机器人端部固定;将定位件固定在工作平台上;通过金属球与圆柱槽的底面和侧面的接触,得到标定件和定位件之间确定的配合状态,固定标定球在工作空间的位置;
64.多次改变机器人的位姿,利用标定件与定位件之间的配合状态确保标定球的球心的位置不变,计算出标定球的球心在机器人坐标系下的坐标。
65.在s200的一优选实施例中,多次改变标定球在工作空间内的位置,获得相应位置上标定球在机器人坐标系下的球心坐标。
66.在s300的一优选实施例中,进行点云筛选,包括:
67.根据三维点云相机与工作台之间的距离以及工作空间的大小,去除工作空间以外的点云,仅仅保留工作空间内的点云;
68.利用体素滤波方法或直通滤波方法,筛除无关点云信息,获得标定球点云信息。
69.在s400的一优选实施例中,对标定球进行提取,包括:
70.利用离群点移除算法,去除分布不集中的点云;
71.利用聚类算法,将点云分割为不同部分,并按照点云包围框的体积,选出标定球球面所在的点云;在该步骤中,点云包围框是包围特定点云的最小立方体,标定球所在的点云呈球状,故它的包围框的长、宽、高与球半径相近。而其他点云如机器人末端、杂物、噪声等的包围框没有上述特征,故可以以此识别出标定球点云;
72.利用随机抽样一致性算法,对标定球进行初步拟合;
73.根据拟合结果,对点云进一步筛选;
74.再次进行随机抽样一致性算法,提取标定球的精细坐标,得到标定球在三维相机坐标系下的球心坐标;在该步骤中,初次ransac(随机抽样一致)时,由于标定球的点云包含着部分连接杆的点云,为了确保将球识别出,该次使用的ransac采用较低的标准,得到精度较差的标定球信息。第二次ransac前,先把初步识别的球外点云滤除,此时点云基本只保留球的点云,再以高精度ransac计算球的信息,此时的球心坐标更为精确;精细坐标、球心坐标均指球心在相机坐标系下的坐标,第二次ransac后得到精细坐标,表示结果更为准确。
75.在s500的一优选实施例中,根据每一次标定球的球心在相机坐标系与机器人坐标系下的坐标,计算出相机与机器人之间的手眼标定关系,包括:
76.分别计算相机坐标系和机器人坐标系下的球心坐标均值,并将得到的两个坐标系下的球心坐标均值的差值作为两个坐标系间的平移量;
77.分别获得相机坐标系下的一组球心坐标和机器人坐标系下的一组球心坐标,并分别减去球心坐标均值,完成中心化处理,获得两组球心坐标;
78.计算两组球心坐标的协方差矩阵h,并对协方差矩阵h进行奇异值分解,得到机器人坐标系相对于相机坐标系的位姿矩阵,进而得到相机与机器人之间的手眼标定关系。在一具体应用实例中,位姿矩阵为一个4x4的矩阵。
79.本发明上述实施例提供的机器人视觉系统的手眼标定方法,获取标定件点云信息,并基于拍摄结果对点云信息进行降噪、分割等;在机器人末端固定特制的球形标定球,特制的标定球及法兰使标定件的安装误差在0.1mm以下;通过控制机器人,变换标定球的空间坐标,识别标定球的位置并结合多次识别结果,求解出三维相机-机器人的手眼变换矩阵。
80.本发明一实施例提供了一种机器人视觉系统的手眼标定系统。
81.如图2所示,该实施例提供的机器人视觉系统的手眼标定系统,可以包括如下模块:
82.机器人模块,该模块包括预先在机器人端部安装的标定球,通过将标定球运动至三维点云相机的工作空间内,获得标定球在工作空间内的位置,计算标定球在机器人坐标系下的球心坐标,并发送至标定模块;
83.点云采集模块,该模块基于三维点云相机,获取标定球在三维点云相机工作空间内的三维点云信息,并进行点云筛选,得到标定球点云信息,并发送至标定模块;
84.标定模块,该模块用于控制机器人模块在三维点云相机的工作空间内的位置,根据标定球点云信息,对标定球进行提取,获取标定球在三维相机坐标系下的球心坐标;根据每一次标定球的球心在相机坐标系与机器人坐标系下的坐标,计算出相机与机器人之间的手眼标定关系,完成机器人视觉系统的手眼标定。
85.需要说明的是,本发明提供的方法中的步骤,可以利用系统中对应的模块、装置、单元等予以实现,本领域技术人员可以参照方法的技术方案实现系统的组成,即,方法中的实施例可理解为构建系统的优选例。
86.进一步地,本发明提供的机器人视觉系统的手眼标定系统,包括如下模块:
87.机器人模块,该模块包含与机器人(工业机器人或协作机器人)相适配的标定球,标定球固定在机器人末端,通过特制的标定球标定工装(即定位件),确定标定球球心在机器人坐标系下的坐标。该模块在标定阶段,会多次改变标定球的位置,并将标定球在机器人坐标系下的球心坐标输出至标定模块中。在一优选实施例中,标定球可以根据三维相机的精度与最佳工作距离定制,包括特定半径的金属球与特定高度的连接杆,通过底座法兰与机器人末端固定;标定球做了表面处理,避免了金属球反光造成三维相机无法拍摄的问题。标定球标定工装的圆柱槽可与标定球的金属球高精度配合,用于标定球在机器人坐标系下的标定。
88.点云采集模块,该模块基于三维相机,获取标定球在工作空间内的三维点云信息,并根据环境光照、拍摄噪声等环境因素,调节三维相机的工作参数,降低外界因素对拍摄效果的干扰;接着对三维点云信息执行点云筛选处理,筛除工作台、物料框、机器人、法兰盘、标定球连接杆等无关点云信息,在每次点云采集后,对获取的点云进行点云筛选处理去除无关点云信息,只保留标定球的点云信息,极大降低的点云文件的体积,完成上述操作后,再将得到的标定球点云信息传输至标定模块,用于后续的标定件检测与手眼标定工作;
89.标定模块,该模块控制机器人模块运动并在不同的位置,调用点云采集模块获取标定球点云信息。接着,对标定球进行提取,基于标定球球面点云对球进行拟合,获取三维相机坐标系下的球心坐标。完成至少三次球心识别后,根据每次的球心在相机坐标系与机器人坐标系下的坐标,计算出相机与机器人之间的手眼标定关系,并输出标定的误差情况。
90.进一步地,点云采集模块包括:
91.点云获取模块,该模块基于三维点云相机获取工作空间内标定球的三维点云信息,该相机可拍摄2米以内的物体三维点云信息,三维点云信息包括点在三维相机坐标系下的三维坐标,以及点的灰度和rgb颜色信息。三维相机类型为结构光相机,无需为系统配置额外的光源。
92.相机支架,该相机支架将三维点云相机固定在特定的工作位置。
93.点云筛选算法模块,该模块采用点云筛选算法,根据预先输入的工作距离以及物料框的位置参数、大小参数,删除不需要的点云数据(即无关点云信息),得到标定球云信息。
94.进一步地,机器人模块包括:
95.基于工业机器人或协作机器人,采用特质的标定球,固定在机器人的末端;安装了标定球后,利用机器人自带的标定程序,结合与标定球适配的标定工装,完成标定球的工具标定。标定球的结构,如图3所示。标定球在机器人坐标系下标定环节的定位,如图4所示。
96.进一步地,标定模块包括:
97.标定球提取算法模块,该模块利用标定球提取算法,从复杂的点云中提取出标定球的精确位置,并返回其球心坐标;
98.手眼标定算法模块,该模块基于至少三个位置的标定球在机器人坐标系与相机坐
标系下的坐标,计算出相机与机器人之间的手眼关系,返回标定的矩阵与误差结果。
99.进一步地,点云筛选算法,包括如下步骤:
100.步骤1,根据三维点云相机与工作台之间的距离以及工作空间的大小,去除工作空间以外的点云,仅仅保留工作空间内的点云;
101.步骤2,利用体素滤波方法或直通滤波方法,筛除无关点云信息,降低点云的密度,并保持点云的分布特征,获得标定球点云信息。
102.进一步地,标定球提取算法,包括如下步骤:
103.第一步,利用离群点移除算法,去除分布不集中的点云,从而实现保留标定球点云并使标定球与其他点云分离的效果;
104.第二步,利用聚类算法,将点云分割为不同部分,并按照点云包围框的体积,选出标定球球面所在的点云;
105.第三步,利用ransac(随机抽样一致性)算法,对标定球进行初步拟合;
106.第四步,根据拟合结果,对点云进一步筛选;
107.第五步,再次进行ransac(随机抽样一致性)算法,提取标定球的精细坐标,并将标定求的球心坐标作为结果返回。
108.本发明上述实施例提供的机器人视觉系统的手眼标定系统,机器人模块预先安装标定球并计算标定球的工具坐标系,将标定球运动至在相机的工作空间内,并将此时标定球在相机坐标系下的球心坐标传输至标定模块;点云采集模块用于获取工作空间内的三维点云信息,并对三维点云信息进行降采样处理(点云筛选处理),处理后的点云传至标定模块;标定模块在获取至少三组不同位置标定球的球心坐标以及点云数据后开始工作,对标定球进行提取,获取标定球在相机坐标系下的球心坐标,根据标定算法,解算出相机-机器人的标定矩阵。
109.本发明一实施例提供了一种终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时可用于执行本发明上述实施例中任一项的方法。
110.可选地,存储器,用于存储程序;存储器,可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:ram),如静态随机存取存储器(英文:static random-access memory,缩写:sram),双倍数据率同步动态随机存取存储器(英文:double data rate synchronous dynamic random access memory,缩写:ddr sdram)等;存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory)。存储器用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等,上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
111.上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器中。并且上述的计算机程序、计算机指令、数据等可以被处理器调用。
112.处理器,用于执行存储器存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。具体可以参见前面方法实施例中的相关描述。
113.处理器和存储器可以是独立结构,也可以是集成在一起的集成结构。当处理器和存储器是独立结构时,存储器、处理器可以通过总线耦合连接。
114.本发明一实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可用于执行本发明上述实施例中任一项的方法。
115.本发明上述实施例提供的机器人视觉系统的手眼标定方法、系统、终端及介质,部署方便、成本低廉、应用广泛,可快速部署在任何型号的工业机器人与三维相机构成的系统中,对推进制造业发展、降低企业生产成本并提高生产效率有着重要的意义。
116.本发明上述实施例中未尽事宜均为本领域公知技术。
117.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1