多相机机器人手眼标定方法、装置、电子设备及存储介质与流程

文档序号:28101107发布日期:2021-12-22 11:23阅读:155来源:国知局
多相机机器人手眼标定方法、装置、电子设备及存储介质与流程

1.本技术涉及机器人标定技术领域,具体而言,涉及一种多相机机器人手眼标定方法、装置、电子设备及存储介质。


背景技术:

2.为了降低机器人运动受相机视野的限制,有些机器人会设置有多个相机,包括至少一个设置在机器人外的环境相机,以及一个设置在机器人末端的末端相机。为此,需要针对各个相机进行手眼标定。
3.目前,针对这种具有多个相机的机器人进行手眼标定时,是分别对各个相机进行一次手眼标定,因此需要执行多次手眼标定操作,耗时巨大。尤其是对于设置在机器人外的环境相机,需要进行眼在手外的标定,该标定过程的步骤复杂,从而进一步增加了耗时;对于眼在手外的标定,如果环境相机的视野较大,机器人末端因为工作区间限制,不能在大视野范围下有效运动,从而容易造成较大的标定误差。


技术实现要素:

4.本技术的目的在于提供一种多相机机器人手眼标定方法、装置、电子设备及存储介质,可减少标定过程的耗时,且可避免由于环境相机的视野过大而导致标定误差过大的现象。
5.第一方面,本技术提供了一种多相机机器人手眼标定方法,用于对具有一个末端相机和至少一个环境相机的机器人进行手眼标定,所述末端相机设置在所述机器人的末端,所述环境相机设置在所述机器人之外,所述末端相机和所述环境相机均为三维相机;包括以下步骤:a1.获取各所述环境相机、所述末端相机以及标定标准件在机器人基坐标系下的初始角度数据;所述标定标准件放置在各所述环境相机和所述末端相机的公共视野中;a2.根据所述初始角度数据获取标定标准件在各所述环境相机和所述末端相机的相机坐标系下的第一位姿数据,并获取所述机器人末端当前的第二位姿数据;所述第二位姿数据为机器人基坐标系下的位姿数据;a3.根据所述第一位姿数据计算各所述环境相机相对所述末端相机的相对位姿数据;a4.通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;a5.根据所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、所述第二位姿数据和所述相对位姿数据计算各所述环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵,完成标定。
6.该多相机机器人手眼标定方法,无需逐个地对各个相机进行一次手眼标定,从而可减少标定过程的耗时;且只需要对设置在机器人末端的末端相机进行一次眼在手上标
定,并根据该标定结果即可计算各环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵,与眼在手外标定过程相比,眼在手上标定过程的步骤复杂程度更低,耗时更少;而且由于无需针对环境相机进行眼在手外标定,可避免由于环境相机的视野过大而导致标定误差过大的现象。
7.优选地,步骤a1包括:利用角度测量仪测量各所述环境相机、所述末端相机和所述标定标准件在当地水平坐标系下的第一姿态角度数据;根据所述当地水平坐标系与所述机器人基坐标系之间的姿态转换矩阵和所述第一姿态角度数据,计算各所述环境相机、所述末端相机和所述标定标准件在机器人基坐标系下的初始角度数据。
8.优选地,所述标定标准件包括至少四个不在同一平面内的关键点;步骤a2包括:获取所述标定标准件的各关键点在各环境相机和所述末端相机的相机坐标系下的位置坐标;根据各所述关键点在各环境相机和所述末端相机的相机坐标系下的位置坐标以及所述初始角度数据,通过拟合算法求解以下方程组得到所述标定标准件在各所述环境相机和所述末端相机的相机坐标系下的第一位姿数据:;其中, m为所述关键点的总数,i=0、1

、n,n为环境相机的总数,i=0时,为所述标定标准件在所述末端相机的相机坐标系下的第一位姿数据,为第j个关键点在所述末端相机的相机坐标系下的位置坐标矩阵;i=1、

、n时,为所述标定标准件在第i个所述环境相机的相机坐标系下的第一位姿数据, 为第j个关键点在第i个所述环境相机的相机坐标系下的位置坐标矩阵;为第j个关键点在标定标准件坐标系下的位置坐标。
9.优选地,步骤a3包括:根据以下公式计算各所述环境相机相对所述末端相机的相对位姿数据:;其中,为第k个所述环境相机相对所述末端相机的相对位姿数据,k=1、2

、n,n为环境相机的总数,为所述标定标准件在所述末端相机的相机坐标系下的第一位姿数据,为的逆矩阵,为所述标定标准件在第k个所述环境相机的相机坐标系下的第一位姿数据。
10.优选地,步骤a4包括:
使机器人带动所述末端相机在多个不同的位置拍摄所述标定标准件,获取在每个拍摄位置处的机器人末端的第四位姿数据和所述标定标准件在所述末端相机的相机坐标系下的第五位姿数据;所述第四位姿数据为机器人基坐标系下的位姿数据;根据多个所述第四位姿数据、多个所述第五位姿数据和所述初始角度数据,通过拟合算法求解以下方程组得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵:;其中,n为第四位姿数据的总个数,为所述标定标准件在机器人基坐标系下的位姿数据,为第个所述第四位姿数据,为所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵,为第个所述第五位姿数据。
11.优选地,步骤a5包括:根据所述第二位姿数据和所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵计算所述末端相机在所述机器人末端坐标系下的第三位姿数据;根据所述第三位姿数据和所述相对位姿数据计算各所述环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵。
12.通过该方式计算得到环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵,简单可靠,效率高。
13.第二方面,本技术提供了一种多相机机器人手眼标定装置,用于对具有一个末端相机和至少一个环境相机的机器人进行手眼标定,所述末端相机设置在所述机器人的末端,所述环境相机设置在所述机器人之外,所述末端相机和所述环境相机均为三维相机;包括:第一获取模块,用于获取各所述环境相机、所述末端相机以及标定标准件在机器人基坐标系下的初始角度数据;所述标定标准件放置在各所述环境相机和所述末端相机的公共视野中;第二获取模块,用于根据所述初始角度数据获取标定标准件在各所述环境相机和所述末端相机的相机坐标系下的第一位姿数据,并获取所述机器人末端当前的第二位姿数据;所述第二位姿数据为机器人基坐标系下的位姿数据;第一计算模块,用于根据所述第一位姿数据计算各所述环境相机相对所述末端相机的相对位姿数据;标定模块,用于通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;第二计算模块,用于根据所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、所述第二位姿数据和所述相对位姿数据计算各所述环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵,完成标定。
14.通过该多相机机器人手眼标定装置,无需逐个地对各个相机进行一次手眼标定,从而可减少标定过程的耗时;且只需要对设置在机器人末端的末端相机进行一次眼在手上
标定,并根据该标定结果即可计算各环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵,与眼在手外标定过程相比,眼在手上标定过程的步骤复杂程度更低,耗时更少;而且由于无需针对环境相机进行眼在手外标定,可避免由于环境相机的视野过大而导致标定误差过大的现象。
15.优选地,所述第一获取模块用于在获取各所述环境相机和所述末端相机在机器人基坐标系下的初始角度数据时,执行:利用角度测量仪测量各所述环境相机、所述末端相机和所述标定标准件在当地水平坐标系下的第一姿态角度数据;根据所述当地水平坐标系与所述机器人基坐标系之间的姿态转换矩阵和所述第一姿态角度数据,计算各所述环境相机、所述末端相机和所述标定标准件在机器人基坐标系下的初始角度数据。
16.第三方面,本技术提供了一种电子设备,其包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上文所述多相机机器人手眼标定方法中的步骤。
17.第四方面,本技术提供了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上文所述多相机机器人手眼标定方法中的步骤。
18.有益效果:本技术提供的多相机机器人手眼标定方法、装置、电子设备及存储介质,通过获取各所述环境相机、所述末端相机以及标定标准件在机器人基坐标系下的初始角度数据;所述标定标准件放置在各所述环境相机和所述末端相机的公共视野中;根据所述初始角度数据获取标定标准件在各所述环境相机和所述末端相机的相机坐标系下的第一位姿数据,并获取所述机器人末端当前的机器人基坐标系下的第二位姿数据;根据所述第一位姿数据计算各所述环境相机相对所述末端相机的相对位姿数据;通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;根据所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、所述第二位姿数据和所述相对位姿数据计算各所述环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵;从而无需逐个地对各个相机进行一次手眼标定,可减少标定过程的耗时;而且由于无需针对环境相机进行眼在手外标定,可避免由于环境相机的视野过大而导致标定误差过大的现象。
19.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术了解。
附图说明
20.图1为本技术实施例提供的多相机机器人手眼标定方法的一种流程图。
21.图2为本技术实施例提供的多相机机器人手眼标定装置的一种结构示意图。
22.图3为本技术实施例提供的电子设备的结构示意图。
具体实施方式
23.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。通常在
此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
25.请参照图1,图1是本技术一些实施例中的一种多相机机器人手眼标定方法,用于对具有一个末端相机和至少一个环境相机的机器人进行手眼标定,末端相机设置在机器人的末端,环境相机设置在机器人之外,末端相机和环境相机均为三维相机;包括以下步骤:a1.获取各环境相机、末端相机以及标定标准件在机器人基坐标系下的初始角度数据;标定标准件放置在各环境相机和末端相机的公共视野中;a2.根据初始角度数据获取标定标准件在各环境相机和末端相机的相机坐标系下的第一位姿数据,并获取机器人末端当前的第二位姿数据(为机器人基坐标系下的位姿数据,可直接从机器人控制器读取);a3.根据第一位姿数据计算各环境相机相对末端相机的相对位姿数据;a4.通过眼在手上标定方法标定得到末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;a5.根据末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、第二位姿数据和相对位姿数据计算各环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,完成标定。
26.该多相机机器人手眼标定方法,无需逐个地对各个相机进行一次手眼标定,从而可减少标定过程的耗时;且只需要对设置在机器人末端的末端相机进行一次眼在手上标定,并根据该标定结果即可计算各环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,与眼在手外标定过程相比,眼在手上标定过程的步骤复杂程度更低,耗时更少;而且由于无需针对环境相机进行眼在手外标定,可避免由于环境相机的视野过大而导致标定误差过大的现象。
27.其中,环境相机和末端相机均为3d相机,从而可测量与物体之间的距离。
28.在本实施例中,当该机器人具有多个环境相机时,这些环境相机需具有公共视野,然后可通过控制机器人带动末端相机移动,使末端相机的视野与环境相机的公共视野交叉,从而使末端相机和所有环境相机具有公共视野。即,在步骤a1之前,还包括步骤:a0.控制机器人调整末端相机的位姿,使得末端相机和所有环境相机具有公共视野。
29.具体地,可先在环境相机的公共视野内放置一个标识物(例如标识球、标识板等,但不限于此),然后向机器人发送控制指令使机器人带动末端相机沿预设路径(可根据实际需要设置)移动,并在移动过程中实时获取末端相机采集的图像,直到采集的图像中包含整个标识物的图像。至此,机器人停止运动。
30.在一些实施方式中,步骤a1包括:利用角度测量仪测量各环境相机、末端相机和标定标准件在当地水平坐标系下的
第一姿态角度数据;根据当地水平坐标系与机器人基坐标系之间的姿态转换矩阵和第一姿态角度数据,计算各环境相机、末端相机和标定标准件在机器人基坐标系下的初始角度数据。
31.其中,利用角度测量仪测量各环境相机、末端相机和标定标准件在当地水平坐标系下的第一姿态角度数据的过程为:将角度测量仪测量方向与相机或标定标准件的轴向对齐,读出示数,此操作需要执行三次,分别对应相机坐标系或标定标准件坐标系的x,y,z轴;通过计算旋转矩阵可以得出相机或标定标准件在当地水平坐标系下的转换矩阵或(具体过程为现有技术),从该转换矩阵中可提取对应的第一姿态角度数据。
32.其中,计算各环境相机和末端相机在机器人基坐标系下的初始角度数据的计算公式为:,为相机(环境相机或末端相机)在机器人基坐标系下的转换矩阵,从中可提取该相机的初始角度数据,为当地水平坐标系与机器人基坐标系之间的姿态转换矩阵;计算标定标准件在机器人基坐标系下的初始角度数据的计算公式为:,为标定标准件在机器人基坐标系下的转换矩阵,从中可提取标定标准件的初始角度数据。
33.具体地,标定标准件包括至少四个不在同一平面内的关键点,例如,该标定标准件可以是不对称三棱柱(从而关键点是其角点)或者包括至少四球体的组合件(这些球体不在同一平面内,关键点是球体的中心点),但标定标准件的结构不限于此;从而,步骤a2包括:获取标定标准件的各关键点在各环境相机和末端相机的相机坐标系下的位置坐标;根据各关键点在各环境相机和末端相机的相机坐标系下的位置坐标以及初始角度数据,通过拟合算法求解以下方程组得到标定标准件在各环境相机和末端相机的相机坐标系下的第一位姿数据(拟合算法的具体求解过程为现有技术,此处不对其进行详述):;其中, m为关键点的总数,i=0、1

、n,n为环境相机的总数,i=0时,为标定标准件在末端相机的相机坐标系下的第一位姿数据,为第j个关键点在末端相机的相机坐标系下的位置坐标矩阵;i=1、

、n时,为标定标准件在第i个环境相机的相机坐标系下的第一位姿数据, 为第j个关键点在第i个环境相机的相机坐标系下的位置坐标矩阵;为第j个关键点在标定标准件坐标系下的位置坐标(可预先测得)。
34.进一步地,步骤a3包括:
根据以下公式计算各环境相机相对末端相机的相对位姿数据:;其中,为第k个环境相机相对末端相机的相对位姿数据,k=1、2

、n,n为环境相机的总数,为标定标准件在末端相机的相机坐标系下的第一位姿数据,为的逆矩阵,为标定标准件在第k个环境相机的相机坐标系下的第一位姿数据。
35.其中,通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵的具体过程为现有技术,可采用现有的眼在手上标定方法进行标定。例如,在一些实施方式中,步骤a4包括:使机器人带动末端相机在多个不同的位置拍摄标定标准件,获取在每个拍摄位置处的机器人末端的第四位姿数据(为机器人基坐标系下的位姿数据,可直接从机器人的控制器读取)和标定标准件在末端相机的相机坐标系下的第五位姿数据;根据多个第四位姿数据、多个第五位姿数据和初始角度数据,通过拟合算法求解以下方程组得到末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵(拟合算法的具体求解过程为现有技术,此处不对其进行详述):;其中,n为第四位姿数据的总个数,为标定标准件在机器人基坐标系下的位姿数据(为常量矩阵,可预先测得),为第个第四位姿数据,为末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵,为第个第五位姿数据。
36.优选地,步骤a5包括:根据第二位姿数据和末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵计算末端相机在机器人末端坐标系下的第三位姿数据,具体公式为:;其中,为末端相机在机器人末端坐标系下的第三位姿数据,为第二位姿数据,为末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;根据第三位姿数据和相对位姿数据计算各环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,具体公式为:;其中,为第k个环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,为第k个环境相机相对末端相机的相对位姿数据,k=1、2

、n,n为环境相机的总数。
37.通过该方式计算得到环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,简单可靠,效率高。
38.由上可知,该多相机机器人手眼标定方法,通过获取各所述环境相机、所述末端相机以及标定标准件在机器人基坐标系下的初始角度数据;所述标定标准件放置在各所述环境相机和所述末端相机的公共视野中;根据所述初始角度数据获取标定标准件在各所述环境相机和所述末端相机的相机坐标系下的第一位姿数据,并获取所述机器人末端当前的机器人基坐标系下的第二位姿数据;根据所述第一位姿数据计算各所述环境相机相对所述末端相机的相对位姿数据;通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;根据所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、所述第二位姿数据和所述相对位姿数据计算各所述环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵;从而无需逐个地对各个相机进行一次手眼标定,可减少标定过程的耗时;而且由于无需针对环境相机进行眼在手外标定,可避免由于环境相机的视野过大而导致标定误差过大的现象。
39.第二方面,本技术提供了一种多相机机器人手眼标定装置,用于对具有一个末端相机和至少一个环境相机的机器人进行手眼标定,末端相机设置在机器人的末端,环境相机设置在机器人之外,末端相机和环境相机均为三维相机;包括:第一获取模块1,用于获取各环境相机、末端相机以及标定标准件在机器人基坐标系下的初始角度数据;标定标准件放置在各环境相机和末端相机的公共视野中;第二获取模块2,用于根据初始角度数据获取标定标准件在各环境相机和末端相机的相机坐标系下的第一位姿数据,并获取机器人末端当前的第二位姿数据(为机器人基坐标系下的位姿数据,可直接从机器人控制器读取);第一计算模块3,用于根据第一位姿数据计算各环境相机相对末端相机的相对位姿数据;标定模块4,用于通过眼在手上标定方法标定得到末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;第二计算模块5,用于根据末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、第二位姿数据和相对位姿数据计算各环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,完成标定。
40.通过该多相机机器人手眼标定装置,无需逐个地对各个相机进行一次手眼标定,从而可减少标定过程的耗时;且只需要对设置在机器人末端的末端相机进行一次眼在手上标定,并根据该标定结果即可计算各环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,与眼在手外标定过程相比,眼在手上标定过程的步骤复杂程度更低,耗时更少;而且由于无需针对环境相机进行眼在手外标定,可避免由于环境相机的视野过大而导致标定误差过大的现象。
41.在本实施例中,当该机器人具有多个环境相机时,这些环境相机需具有公共视野,然后可通过控制机器人带动末端相机移动,使末端相机的视野与环境相机的公共视野交叉,从而使末端相机和所有环境相机具有公共视野。即,该多相机机器人手眼标定装置还包括:第一控制模块,用于控制机器人调整末端相机的位姿,使得末端相机和所有环境
相机具有公共视野。
42.具体地,可先在环境相机的公共视野内放置一个标识物(例如标识球、标识板等,但不限于此),然后向机器人发送控制指令使机器人带动末端相机沿预设路径(可根据实际需要设置)移动,并在移动过程中实时获取末端相机采集的图像,直到采集的图像中包含整个标识物的图像。至此,机器人停止运动。
43.在一些实施方式中,第一获取模块1用于在获取各环境相机和末端相机在机器人基坐标系下的初始角度数据时,执行:利用角度测量仪测量各环境相机、末端相机和标定标准件在当地水平坐标系下的第一姿态角度数据;根据当地水平坐标系与机器人基坐标系之间的姿态转换矩阵和第一姿态角度数据,计算各环境相机、末端相机和标定标准件在机器人基坐标系下的初始角度数据。
44.其中,利用角度测量仪测量各环境相机、末端相机和标定标准件在当地水平坐标系下的第一姿态角度数据的过程为:将角度测量仪测量方向与相机或标定标准件的轴向对齐,读出示数,此操作需要执行三次,分别对应相机坐标系或标定标准件坐标系的x,y,z轴;通过计算旋转矩阵可以得出相机或标定标准件在当地水平坐标系下的转换矩阵或(具体过程为现有技术),从该转换矩阵中可提取对应的第一姿态角度数据。
45.其中,计算各环境相机和末端相机在机器人基坐标系下的初始角度数据的计算公式为:,为相机(环境相机或末端相机)在机器人基坐标系下的转换矩阵,从中可提取该相机的初始角度数据,为当地水平坐标系与机器人基坐标系之间的姿态转换矩阵;计算标定标准件在机器人基坐标系下的初始角度数据的计算公式为:,为标定标准件在机器人基坐标系下的转换矩阵,从中可提取标定标准件的初始角度数据。
46.具体地,标定标准件包括至少四个不在同一平面内的关键点,例如,该标定标准件可以是不对称三棱柱(从而关键点是其角点)或者包括至少四球体的组合件(这些球体不在同一平面内,关键点是球体的中心点),但标定标准件的结构不限于此;从而,第二获取模块2用于在根据初始角度数据获取标定标准件在各环境相机和末端相机的相机坐标系下的第一位姿数据的时候,执行:获取标定标准件的各关键点在各环境相机和末端相机的相机坐标系下的位置坐标;根据各关键点在各环境相机和末端相机的相机坐标系下的位置坐标以及初始角度数据,通过拟合算法求解以下方程组得到标定标准件在各环境相机和末端相机的相机坐标系下的第一位姿数据(拟合算法的具体求解过程为现有技术,此处不对其进行详述):;
其中, m为关键点的总数,i=0、1

、n,n为环境相机的总数,i=0时,为标定标准件在末端相机的相机坐标系下的第一位姿数据,为第j个关键点在末端相机的相机坐标系下的位置坐标矩阵;i=1、

、n时,为标定标准件在第i个环境相机的相机坐标系下的第一位姿数据, 为第j个关键点在第i个环境相机的相机坐标系下的位置坐标矩阵;为第j个关键点在标定标准件坐标系下的位置坐标(可预先测得)。
47.进一步地,第一计算模块3用于在根据第一位姿数据计算各环境相机相对末端相机的相对位姿数据的时候,执行:根据以下公式计算各环境相机相对末端相机的相对位姿数据:;其中,为第k个环境相机相对末端相机的相对位姿数据,k=1、2

、n,n为环境相机的总数,为标定标准件在末端相机的相机坐标系下的第一位姿数据,为的逆矩阵,为标定标准件在第k个环境相机的相机坐标系下的第一位姿数据。
48.其中,通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵的具体过程为现有技术,可采用现有的眼在手上标定方法进行标定。例如,在一些实施方式中,标定模块4用于在通过眼在手上标定方法标定得到末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵的时候,执行:使机器人带动末端相机在多个不同的位置拍摄标定标准件,获取在每个拍摄位置处的机器人末端的第四位姿数据(为机器人基坐标系下的位姿数据,可直接从机器人控制器读取)和标定标准件在末端相机的相机坐标系下的第五位姿数据;根据多个第四位姿数据、多个第五位姿数据和初始角度数据,通过拟合算法求解以下方程组得到末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵(拟合算法的具体求解过程为现有技术,此处不对其进行详述):;其中,n为第四位姿数据的总个数,为标定标准件在机器人基坐标系下的位姿数据(为常量矩阵,可预先测得),为第个第四位姿数据,为末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵,为第个第五位姿数据。
49.优选地,第二计算模块5用于在根据末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、第二位姿数据和相对位姿数据计算各环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵的时候,执行:根据第二位姿数据和末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵计算末端相机在机器人末端坐标系下的第三位姿数据,具体公式为:
;其中,为末端相机在机器人末端坐标系下的第三位姿数据,为第二位姿数据,为末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;根据第三位姿数据和相对位姿数据计算各环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,具体公式为:;其中,为第k个环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,为第k个环境相机相对末端相机的相对位姿数据,k=1、2

、n,n为环境相机的总数。
50.通过该方式计算得到环境相机的相机坐标系到机器人基坐标系的位姿转换矩阵,简单可靠,效率高。
51.由上可知,该多相机机器人手眼标定装置,通过获取各所述环境相机、所述末端相机以及标定标准件在机器人基坐标系下的初始角度数据;所述标定标准件放置在各所述环境相机和所述末端相机的公共视野中;根据所述初始角度数据获取标定标准件在各所述环境相机和所述末端相机的相机坐标系下的第一位姿数据,并获取所述机器人末端当前的机器人基坐标系下的第二位姿数据;根据所述第一位姿数据计算各所述环境相机相对所述末端相机的相对位姿数据;通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;根据所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、所述第二位姿数据和所述相对位姿数据计算各所述环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵;从而无需逐个地对各个相机进行一次手眼标定,可减少标定过程的耗时;而且由于无需针对环境相机进行眼在手外标定,可避免由于环境相机的视野过大而导致标定误差过大的现象。
52.请参照图3,图3为本技术实施例提供的一种电子设备的结构示意图,该电子设备包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当电子设备运行时,处理器301执行该计算机程序,以执行上述实施例的任一可选的实现方式中的多相机机器人手眼标定方法,以实现以下功能:获取各所述环境相机、所述末端相机以及标定标准件在机器人基坐标系下的初始角度数据;所述标定标准件放置在各所述环境相机和所述末端相机的公共视野中;根据所述初始角度数据获取标定标准件在各所述环境相机和所述末端相机的相机坐标系下的第一位姿数据,并获取所述机器人末端当前的第二位姿数据;根据所述第一位姿数据计算各所述环境相机相对所述末端相机的相对位姿数据;通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;根据所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、所述第二位姿数据和所述相对位姿数据计算各所述环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵。
53.本技术实施例提供一种存储介质,其上存储有计算机程序,计算机程序被处理器
执行时,执行上述实施例的任一可选的实现方式中的多相机机器人手眼标定方法,以实现以下功能:获取各所述环境相机、所述末端相机以及标定标准件在机器人基坐标系下的初始角度数据;所述标定标准件放置在各所述环境相机和所述末端相机的公共视野中;根据所述初始角度数据获取标定标准件在各所述环境相机和所述末端相机的相机坐标系下的第一位姿数据,并获取所述机器人末端当前的第二位姿数据;根据所述第一位姿数据计算各所述环境相机相对所述末端相机的相对位姿数据;通过眼在手上标定方法标定得到所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵;根据所述末端相机的相机坐标系到机器人末端坐标系的位姿转换矩阵、所述第二位姿数据和所述相对位姿数据计算各所述环境相机的相机坐标系到所述机器人基坐标系的位姿转换矩阵。其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(static random access memory, 简称sram),电可擦除可编程只读存储器(electrically erasable programmable read

only memory, 简称eeprom),可擦除可编程只读存储器(erasable programmable read only memory, 简称eprom),可编程只读存储器(programmable red

only memory, 简称prom),只读存储器(read

only memory, 简称rom),磁存储器,快闪存储器,磁盘或光盘。
54.在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
55.另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
56.再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
57.在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
58.以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1