一种手眼标定的方法及装置与流程

文档序号:23719958发布日期:2021-01-24 07:31阅读:101来源:国知局
一种手眼标定的方法及装置与流程

[0001]
本发明涉及计算机及通信技术领域,特别涉及一种手眼标定的方法及装置。


背景技术:

[0002]
将人工智能与机械臂结合,利用感知决策控制机械臂模拟人类的行为,对目标对象进行各种操作。感知系统最常见的传感器就是摄像头。摄像头相当于机械臂的眼睛,用来感知周围环境。根据摄像头拍摄到的图像确定目标物体的位置和机械臂操作目标物体时的位姿信息,并把这些信息告诉机械臂,以便机械臂实现抓取等操作。为了让机械臂知道目标物体的位置,并对该目标物体进行操作,需要预先建立起图像坐标系到机械臂坐标系的转换关系,手眼标定就是获得不同坐标系之间的转换关系。目前,该手眼标定需要专业人员花费大量时间以手动方式实现,该过程花费较多人力。并且,如果机械臂的位置或摄像头的位置发生些微变化,需要专业人员上门服务,较为不便。


技术实现要素:

[0003]
本发明提供一种手眼标定的方法及装置,用以实现自动手眼标定,使得手眼标定过程更方便、快捷。
[0004]
本发明提供一种手眼标定的方法,包括:
[0005]
对机械臂上的预设标记进行拍摄,获得包括所述预设标记的第一图像;
[0006]
确定所述预设标记在图像坐标系下的第一坐标信息;
[0007]
在获得所述第一图像的同时,获取当前机械臂末端的当前末端位姿信息;
[0008]
根据已知的所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,以及根据所述当前末端位姿信息,确定在获得所述第一图像时,所述预设标记的当前标记位姿信息;
[0009]
根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0010]
本发明的实施例提供的技术方案可以包括以下有益效果:本实施例利用预设标记进行定位,实现了自动生成图像坐标系与机械臂坐标系的转换关系,自动手眼标定,节省人力。
[0011]
可选的,所述根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系,包括:
[0012]
根据所述当前标记位姿信息得到所述预设标记在机械臂坐标系中的第二坐标信息;
[0013]
根据以下公式得到图像坐标系与机械臂坐标系的第二转换关系;
[0014]
p
marker
=r
·
p
camerab
+t
[0015]
其中,p
marker
为所述第二坐标信息,p
camerab
为所述第一坐标信息,r为旋转矩阵,t为平移矩阵;得到关于r和t的第二转换关系
[0016]
本发明的实施例提供的技术方案可以包括以下有益效果:本实施例提供具体的转换关系生成方式,利用坐标信息实现自动手眼标定。
[0017]
可选的,在根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系之前,所述方法还包括:
[0018]
重复n次获得所述第一图像;n大于或等于3;
[0019]
获得n个所述第一坐标信息和所述当前标记位姿信息;
[0020]
所述根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系,包括:
[0021]
根据预设的第一坐标关系模型、n个所述第一坐标信息和n个所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0022]
本发明的实施例提供的技术方案可以包括以下有益效果:本实施例通过多个位置可以得到较准确的手眼标定结果。
[0023]
可选的,n个所述当前标记位姿信息所表征的位置不在一条直线上。
[0024]
本发明的实施例提供的技术方案可以包括以下有益效果:本实施例通过不在一条直线上的n个预设标记的位置,可以用较少的位置得到较准确的结果。
[0025]
可选的,所述根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系,包括:
[0026]
根据拍摄所述第一图像的摄像机的内参,将所述第一坐标信息转换为相机坐标系下的第三坐标信息;
[0027]
根据预设的第一坐标关系模型、所述第三坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0028]
本发明的实施例提供的技术方案可以包括以下有益效果:本实施例通过摄像机的内参实现了图像坐标系与相机坐标系的转换,使得手眼标定结果更准确。
[0029]
可选的,所述方法还包括:
[0030]
构建第一图像坐标系与第二图像坐标系的第三转换关系;其中,所述第一图像坐标系为第二图像坐标系,第二摄像机用于拍摄所述第一图像;第一摄像机拍摄的图像属于第一图像坐标系。
[0031]
本发明的实施例提供的技术方案可以包括以下有益效果:本实施例建立了两个摄像机之间的坐标系转换关系,便于为无法拍到预设标记的摄像机进行手眼标定。
[0032]
可选的,所述构建第一图像坐标系与第二图像坐标系的第三转换关系,包括:
[0033]
分别获得所述第一摄像机和所述第二摄像机针对同一目标对象拍摄的第二图像和第三图像;
[0034]
分别从所述第二图像和所述第三图像中提取出相同的特征点,并确定所述特征点在第一图像坐标系中的第四坐标信息和在第二图像坐标系中的第五坐标信息;其中,所述第二图像位于第一图像坐标系,所述第三图像位于第二图像坐标系;
[0035]
根据预设的第二坐标关系模型、所述第四坐标信息和所述第五坐标信息,得到所述第三转换关系。
[0036]
本发明的实施例提供的技术方案可以包括以下有益效果:本实施例提供了建立两个摄像机之间的坐标系转换关系的详细实现方案。
[0037]
可选的,所述根据预设的第二坐标关系模型、所述第四坐标信息和所述第五坐标信息,得到所述第三转换关系,包括:
[0038]
根据以下公式得到所述第三转换关系;
[0039][0040]
其中,为所述第四坐标信息,为所述第五坐标信息,单应性矩阵h为所述第三转换关系。
[0041]
本发明的实施例提供的技术方案可以包括以下有益效果:本实施例利用单应性矩阵实现了摄像机之间的坐标系转换。
[0042]
本发明提供一种手眼标定的装置,包括:
[0043]
第一获取模块,用于对机械臂上的预设标记进行拍摄,获得包括所述预设标记的第一图像;
[0044]
第一确定模块,用于确定所述预设标记在图像坐标系下的第一坐标信息;
[0045]
第二获取模块,用于在获得所述第一图像的同时,获取当前机械臂末端的当前末端位姿信息;
[0046]
第二确定模块,用于根据已知的所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,以及根据所述当前末端位姿信息,确定在获得所述第一图像时,所述预设标记的当前标记位姿信息;
[0047]
关系模块,用于根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0048]
可选的,所述关系模块包括:
[0049]
获取子模块,用于根据所述当前标记位姿信息得到所述预设标记在机械臂坐标系中的第二坐标信息;
[0050]
第一关系子模块,用于根据以下公式得到图像坐标系与机械臂坐标系的第二转换关系;
[0051]
p
marker
=r
·
p
camerab
+t
[0052]
其中,p
marker
为所述第二坐标信息,p
camerab
为所述第一坐标信息,r为旋转矩阵,t为平移矩阵;得到关于r和t的第二转换关系
[0053]
可选的,所述装置还包括:
[0054]
第一重复控制模块,用于重复n次获得所述第一图像;n大于或等于3;
[0055]
第二重复控制模块,用于获得n个所述第一坐标信息和所述当前标记位姿信息;
[0056]
所述关系模块包括:
[0057]
第三关系子模块,用于根据预设的第一坐标关系模型、n个所述第一坐标信息和n个所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0058]
可选的,n个所述当前标记位姿信息所表征的位置不在一条直线上。
[0059]
可选的,所述关系模块包括:
[0060]
转换子模块,用于根据拍摄所述第一图像的摄像机的内参,将所述第一坐标信息转换为相机坐标系下的第三坐标信息;
[0061]
第四关系子模块,用于根据预设的第一坐标关系模型、所述第三坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0062]
可选的,所述装置还包括:
[0063]
构建模块,用于构建第一图像坐标系与第二图像坐标系的第三转换关系;其中,所述第一图像坐标系为第二图像坐标系,第二摄像机用于拍摄所述第一图像;第一摄像机拍摄的图像属于第一图像坐标系。
[0064]
可选的,所述构建模块包括:
[0065]
图像子模块,用于分别获得所述第一摄像机和所述第二摄像机针对同一目标对象拍摄的第二图像和第三图像;
[0066]
特征子模块,用于分别从所述第二图像和所述第三图像中提取出相同的特征点,并确定所述特征点在第一图像坐标系中的第四坐标信息和在第二图像坐标系中的第五坐标信息;其中,所述第二图像位于第一图像坐标系,所述第三图像位于第二图像坐标系;
[0067]
构建子模块,用于根据预设的第二坐标关系模型、所述第四坐标信息和所述第五坐标信息,得到所述第三转换关系。
[0068]
可选的,所述构建子模块根据以下公式得到所述第三转换关系;
[0069][0070]
其中,为所述第四坐标信息,为所述第五坐标信息,单应性矩阵h为所述第三转换关系。
[0071]
本发明提供一种手眼标定的装置,包括:
[0072]
处理器;
[0073]
用于存储处理器可执行指令的存储器;
[0074]
其中,所述处理器被配置为:
[0075]
对机械臂上的预设标记进行拍摄,获得包括所述预设标记的第一图像;
[0076]
确定所述预设标记在图像坐标系下的第一坐标信息;
[0077]
在获得所述第一图像的同时,获取当前机械臂末端的当前末端位姿信息;
[0078]
根据已知的所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,以及根据所述当前末端位姿信息,确定在获得所述第一图像时,所述预设标记的当前标记位姿信息;
[0079]
根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0080]
本发明提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述方法的步骤。
[0081]
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0082]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0083]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0084]
图1为本发明实施例中手眼标定的方法流程图;
[0085]
图2为本发明实施例中两个摄像机拍摄的示意图;
[0086]
图3为本发明实施例中手眼标定的方法流程图;
[0087]
图4为本发明实施例中手眼标定的方法流程图;
[0088]
图5为本发明实施例中机械臂工作场景的示意图;
[0089]
图6为本发明实施例中手眼标定的装置结构图;
[0090]
图7为本发明实施例中关系模块的结构图;
[0091]
图8为本发明实施例中手眼标定的装置结构图;
[0092]
图9为本发明实施例中关系模块的结构图;
[0093]
图10为本发明实施例中关系模块的结构图;
[0094]
图11为本发明实施例中手眼标定的装置结构图;
[0095]
图12为本发明实施例中构建模块的结构图。
具体实施方式
[0096]
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0097]
相关技术中,摄像机的标定分为内参和外参标定。摄像机的内参,就是摄像机的内部属性,如摄像机的焦距,像素点的大小,摄像机畸变属性等等。通过摄像机内参的标定,可以获得图像坐标系到相机坐标系的转换关系。摄像机外参描述摄像机在三维立体空间的位置,也就是摄像机坐标系相对于世界坐标系的平移和旋转。通过摄像机外参的标定,可以获得相机坐标系到机械臂坐标系的转换关系。
[0098]
为了让机械臂知道目标物体的位置,并对该目标物体进行操作,需要预先建立起图像坐标系到机械臂坐标系的转换关系,手眼标定就是获得不同坐标系之间的转换关系。目前,该手眼标定需要专业人员花费大量时间以手动方式实现,该过程花费较多人力。并且,如果机械臂的位置或摄像头的位置发生些微变化,需要专业人员上门服务,较为不便。
[0099]
为解决上述问题,本实施例利用机械臂上的预设标记,根据预设标记在机械臂坐标系下的坐标和在图像坐标系下的坐标,将机械臂坐标系与图像坐标系关联起来,得到图像坐标系与机械臂坐标系之间的转换关系,实现图像坐标系与机械臂坐标系之间的手眼标定。
[0100]
参见图1,本实施例中手眼标定的方法包括:
[0101]
步骤101:对机械臂上的预设标记进行拍摄,获得包括所述预设标记的第一图像。
[0102]
步骤102:确定所述预设标记在图像坐标系下的第一坐标信息。
[0103]
步骤103:在获得所述第一图像的同时,获取当前机械臂末端的当前末端位姿信息。
[0104]
步骤104:根据已知的所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,以及根据所述当前末端位姿信息,确定在获得所述第一图像时,所述预设标记的
当前标记位姿信息。
[0105]
步骤105:根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0106]
本实施例可以由机械臂控制系统实现,机械臂控制系统控制摄像机对预设标记进行拍摄。机械臂控制系统可以在初始化时进行手眼标定,控制摄像机对预设标记进行拍摄,也可以在机械臂工作的过程中的任何一个时间,进行手眼标定,控制摄像机对预设标记进行拍摄。
[0107]
对第一图像进行分析,分析出预设标记在图像坐标系下的第一坐标信息。其中,图像坐标系一般是以图像的左上角作为原点。
[0108]
本实施例中,预设标记可以是文字、字符、图形等,如二维码等标记,二维码可以采用较为简易的二维码,如aruco(augmented reality library from the university of cordoba,科尔多瓦大学的增强现实库)标记。预设标记印刷在机械臂上,为了更好的定位机械臂末端(有夹爪的一端),预设标记越靠近机械臂末端越好。
[0109]
获得拍摄预设标记时机械臂末端的位姿信息(即当前末端位姿信息)。位姿信息可以是6维或7维,包括3维坐标信息和旋转角信息。由于预设标记在机械臂上的位置固定,所以可以预先知道所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,且该第一转换关系固定。通过第一转换关系,可以得到在拍摄预设标记时预设标记的位姿信息(即当前标记位姿信息)。
[0110]
预先建立图像坐标系与机械臂坐标系的第一坐标关系模型,所述第一坐标信息和所述当前标记位姿信息是第一坐标关系模型中的两个值,将所述第一坐标信息和所述当前标记位姿信息带入第一坐标关系模型,便可计算出第二转换关系,实现了对图像坐标系与机械臂坐标系的手眼标定。
[0111]
在实际应用中,摄像机对目标物体进行拍摄,得到目标物体在图像坐标系中的第一坐标信息,根据第二转换关系和第一坐标信息,得到目标物体在机械臂坐标系中的坐标信息,根据该坐标信息得到机械臂末端的位姿信息,控制机械臂根据该位姿信息对目标物体进行操作。
[0112]
本实施例利用机械臂上的预设标记,根据预设标记在机械臂坐标系下的坐标和在图像坐标系下的坐标,将机械臂坐标系与图像坐标系关联起来,得到图像坐标系与机械臂坐标系之间的转换关系,实现图像坐标系与机械臂坐标系之间的手眼标定。本实施例可以自动进行手眼标定,节省了大量人力。并且可以在各种环境各种时间随时进行手眼标定。不需要专业人员上门服务。
[0113]
可选的,所述步骤105包括:步骤a1-步骤a2。
[0114]
步骤a1:根据所述当前标记位姿信息得到所述预设标记在机械臂坐标系中的第二坐标信息。
[0115]
步骤a2:根据以下公式得到图像坐标系与机械臂坐标系的第二转换关系。
[0116]
p
marker
=r
·
p
camerab
+t
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
公式1
[0117]
其中,p
marker
为所述第二坐标信息,p
camerab
为所述第一坐标信息,r为旋转矩阵,t为平移矩阵;得到关于r和t的第二转换关系
[0118]
本实施例中,由于位姿信息包括3维坐标信息,所以可以直接从当前标记位姿信息
中获得预设标记在机械臂坐标系中的第二坐标信息(x
marker1
,y
marker1
,z
marker1
)。这样,第二坐标信息与第一坐标信息(x
camerab1
,y
camerab1
,z
camerab1
)在形式上一致。其中,当前标记位姿信息是描述一个点的位姿信息,本实施例将该点确认为预设标记的中心点(也可以是其它点)。第二坐标信息为预设标记的中心点在机械臂坐标系下的坐标信息。确定的第一坐标信息可以是预设标记的中心点在图像坐标系下的坐标信息。这样,后续计算得到的第二转换关系更准确。
[0119]
图像坐标系与机械臂坐标系之间存在旋转和平移关系,所以,构建关于r和t关系矩阵模型,即公式1,通过公式1可以计算得到第二转换关系
[0120][0121]
本实施例提供了详细的实现过程,给出了模型公式1,可以较为快捷的计算出第二转换关系
[0122]
可选的,在根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系之前,所述方法还包括:步骤b1-步骤b2。
[0123]
步骤b1:重复n次获得所述第一图像;n大于或等于3。
[0124]
步骤b2:获得n个所述第一坐标信息和所述当前标记位姿信息。
[0125]
所述步骤105包括:步骤b3。
[0126]
步骤b3:根据预设的第一坐标关系模型、n个所述第一坐标信息和n个所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0127]
本实施例中,机械臂控制系统可以控制机械臂末端放置在多个位置上,这样预设标记便有了多个位置,每个位置上获得一次第一图像,n个位置可获得n个第一图像。这样便可获得n个所述第一坐标信息和n个所述当前标记位姿信息。公式1可变形为:
[0128][0129]
本实施例中,n至少等于3,当然,n值越大,计算结果越准确,计算量也越大。机械臂控制系统可以控制机械臂末端随机放置n个位置。或者,在实际应用中,也就是机械臂工作的过程中,机械臂控制系统控制摄像机在随机的n个时间点对预设标记拍摄。
[0130]
可选的,n个所述当前标记位姿信息所表征的位置不在一条直线上。
[0131]
本实施例中,可以通过随机性来保证n个位置不在一条直线上。也可以通过调高n的值(如6、8等)来降低n个位置在一条直线上的可能性,以及降低噪声,提高准确率。还可以在n=3时验证n个位置是否在一条直线上,如果不在一条直线上,则结束拍照,进行后面的处理,获得第二转换关系。如果在一条直线上,那么继续变换预设标记的位置或继续拍照,然后再次验证n个位置是否在一条直线上,直至n个位置不在一条直线上。
[0132]
可选的,所述步骤105包括:步骤c1-步骤c2。
[0133]
步骤c1:根据拍摄所述第一图像的摄像机的内参,将所述第一坐标信息转换为相机坐标系下的第三坐标信息。
[0134]
步骤c2:根据预设的第一坐标关系模型、所述第三坐标信息和所述当前标记位姿
信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0135]
本实施例中,不同的摄像机可能有不同的性能参数和配置参数,为了适配当前所使用的摄像机,本实施例还建立了图像坐标系与相机坐标系的转换关系,即关于相机内参的转换关系,可根据摄像机的内参,将所述第一坐标信息转换为相机坐标系下的第三坐标信息。
[0136][0137]
其中,为第一坐标信息,为第三坐标信息。在后续计算中,为了与机械臂坐标系在维度上对齐,本实施例通过填充1的方式使第一坐标信息和第三坐标信息变为3维信息,便于矩阵计算。
[0138]
可选的,所述方法还包括:步骤d1。
[0139]
步骤d1:构建第一图像坐标系与第二图像坐标系的第三转换关系;其中,所述第一图像坐标系为第二图像坐标系,第二摄像机用于拍摄所述第一图像;第一摄像机拍摄的图像属于第一图像坐标系。
[0140]
本实施例中,如图5所示,第一摄像机501用于在实际应用中拍摄目标物体502(其中虚线表示拍摄范围),然而,在机械臂末端对目标物体502操作的过程中,或者在机械臂503移动过程中,第一摄像机501可能无法拍摄到预设标记504,也就无法利用第一摄像机完成手眼标定。本实施例增加第二摄像机,第二摄像机505用于拍摄预设标记504,增加不同位置不同角度的摄像机,就增加了拍摄预设标记和目标物体的可能性,减少机械臂在工作过程中对摄像机的遮挡。
[0141]
由于存在多个摄像机,那么就需要建立多个摄像机之间的图像坐标系转换关系。这样才能将利用预设标记所做的手眼标定与目标物体的位置关联起来。因此,本实施例构建了第一图像坐标系与第二图像坐标系的第三转换关系。
[0142]
可选的,所述步骤d1包括:步骤d11-步骤d13。
[0143]
步骤d11:分别获得所述第一摄像机和所述第二摄像机针对同一目标对象拍摄的第二图像和第三图像。
[0144]
步骤d12:分别从所述第二图像和所述第三图像中提取出相同的特征点,并确定所述特征点在第一图像坐标系中的第四坐标信息和在第二图像坐标系中的第五坐标信息;其中,所述第二图像位于第一图像坐标系,所述第三图像位于第二图像坐标系。
[0145]
步骤d13:根据预设的第二坐标关系模型、所述第四坐标信息和所述第五坐标信息,得到所述第三转换关系。
[0146]
本实施例令第一摄像机和第二摄像机拍摄同一目标物体,参见图2所示,p0-p3表示4个特征点,d为第二摄像机到目标物体的截面的垂直距离。机械臂控制系统可以控制第一摄像机和第二摄像机的角度,使两个摄像机拍摄到同一目标物体。或者,机械臂控制系统获取第一摄像机和第二摄像机分别拍摄的多个图像,从多个图像中识别出包含同一目标物体的两个图像。
[0147]
目标物体在第二图像和第三图像中的位置可以不同。第二图像和第三图像可以包含部分或完整的目标图像,第二图像和第三图像包含目标物体的几个相同特征点即可。
[0148]
分别对第二图像和第三图像进行图像识别,提取出特征点,将第二图像中的特征点与第三图像中的特征点进行比对,确定出相同特征的特征点。如果无法确定出相同特征的特征点,则这对第二图像和第三图像不可用。共同特征点的数量最好在8个以上,数量越多计算结果越准确。
[0149]
确定出相同特征的特征点后,可确定所述特征点在第一图像坐标系中的第四坐标信息和在第二图像坐标系中的第五坐标信息;其中,所述第二图像位于第一图像坐标系,所述第三图像位于第二图像坐标系。有了第四坐标信息和第五坐标信息后,便可计算出两个摄像机之间图像坐标系的转换关系,即第三转换关系。
[0150]
可选的,所述步骤d13包括:步骤d131。
[0151]
步骤d131:根据以下公式得到所述第三转换关系;
[0152][0153]
其中,为所述第四坐标信息,为所述第五坐标信息,单应性矩阵h为所述第三转换关系。
[0154]
本实施例中,特征点越多计算结果越准确,当然,计算量也越大。特征点在第二图像和第三图像中的位置最好不共线。
[0155]
本实施例要进行转换的两个坐标系均是图像坐标系,所以采用单应性矩阵h构建转换关系模型,求得的h即为第三转换关系,该模型简单,计算方便快捷,结果理想。
[0156]
在实际应用中,第一摄像机对目标物体拍摄,得到第二图像,也得到目标物体在第二图像中的坐标信息,也是在第一图像坐标系中的坐标信息。根据单应性矩阵h,将第一图像坐标系中的坐标信息转换为关于第二摄像机的第二图像坐标系中的坐标信息。考虑到第一摄像机和第二摄像机的参数可能不同。根据第二摄像机的内参,将第二图像坐标系中的坐标信息转换为相机坐标系下的坐标信息(即第一坐标信息)。根据第三转换关系和第一坐标信息,得到目标物体在机械臂末端坐标系中的位姿信息,再根据该位姿信息和第四转换关系,得到目标物体在机械臂坐标系中的坐标信息,根据该坐标信息得到机械臂末端的位姿信息,控制机械臂根据该位姿信息对目标物体进行操作。
[0157]
下面通过几个实施例详细介绍实现过程。
[0158]
参见图3,本实施例中手眼标定的方法包括:
[0159]
步骤301:对机械臂上的预设标记进行拍摄,获得包括所述预设标记的第一图像。
[0160]
步骤302:确定所述预设标记在图像坐标系下的第一坐标信息。
[0161]
步骤303:在获得所述第一图像的同时,获取当前机械臂末端的当前末端位姿信息。
[0162]
步骤304:根据已知的所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,以及根据所述当前末端位姿信息,确定在获得所述第一图像时,所述预设标记的当前标记位姿信息。
[0163]
步骤305:重复步骤301-304,直至重复n轮。
[0164]
步骤306:根据所述当前标记位姿信息得到所述预设标记在机械臂坐标系中的第二坐标信息。
[0165]
步骤307:根据预设的第一坐标关系模型、所述第一坐标信息和所述第二坐标信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0166]
参见图4,本实施例中手眼标定的方法包括:
[0167]
步骤401:分别获得所述第一摄像机和所述第二摄像机针对同一目标对象拍摄的第二图像和第三图像。
[0168]
步骤402:分别从所述第二图像和所述第三图像中提取出相同的特征点,并确定所述特征点在第一图像坐标系中的第四坐标信息和在第二图像坐标系中的第五坐标信息;其中,所述第二图像位于第一图像坐标系,所述第三图像位于第二图像坐标系。
[0169]
步骤403:根据预设的第二坐标关系模型、所述第四坐标信息和所述第五坐标信息,得到关于单应性矩阵h的第三转换关系。
[0170]
其中,步骤401-步骤403相对于下面的过程是个独立的过程,可与后面的步骤同步进行。
[0171]
步骤404:对机械臂上的预设标记进行拍摄,获得包括所述预设标记的第一图像。
[0172]
步骤405:确定所述预设标记在图像坐标系下的第一坐标信息。
[0173]
步骤406:根据拍摄所述第一图像的摄像机的内参,将所述第一坐标信息转换为相机坐标系下的第三坐标信息。
[0174]
步骤407:在获得所述第一图像的同时,获取当前机械臂末端的当前末端位姿信息。
[0175]
步骤408:根据已知的所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,以及根据所述当前末端位姿信息,确定在获得所述第一图像时,所述预设标记的当前标记位姿信息。
[0176]
步骤409:重复步骤404-408,直至重复n轮。
[0177]
步骤410:根据所述当前标记位姿信息得到所述预设标记在机械臂坐标系中的第二坐标信息。
[0178]
步骤411:根据预设的第一坐标关系模型、所述第一坐标信息和所述第二坐标信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0179]
在实际应用中,坐标的一次次转换可参见下面所示的转换过程:
[0180][0181]
上述实施例可根据实际需要进行自由组合。
[0182]
通过以上描述介绍了手眼标定的实现过程,该过程可由装置实现,下面对该装置的内部结构和功能进行介绍。
[0183]
参见图6,本实施例中手眼标定的装置包括:第一获取模块601、第一确定模块602、第二获取模块603、第二确定模块604和关系模块605。
[0184]
第一获取模块601,用于对机械臂上的预设标记进行拍摄,获得包括所述预设标记的第一图像。
[0185]
第一确定模块602,用于确定所述预设标记在图像坐标系下的第一坐标信息。
[0186]
第二获取模块603,用于在获得所述第一图像的同时,获取当前机械臂末端的当前末端位姿信息。
[0187]
第二确定模块604,用于根据已知的所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,以及根据所述当前末端位姿信息,确定在获得所述第一图像时,所述预设标记的当前标记位姿信息。
[0188]
关系模块605,用于根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0189]
可选的,如图7所示,所述关系模块605包括:获取子模块701和第一关系子模块702。
[0190]
获取子模块701,用于根据所述当前标记位姿信息得到所述预设标记在机械臂坐标系中的第二坐标信息;
[0191]
第一关系子模块702,用于根据以下公式得到图像坐标系与机械臂坐标系的第二转换关系;
[0192]
p
marker
=r
·
p
camerab
+t
[0193]
其中,p
marker
为所述第二坐标信息,p
camerab
为所述第一坐标信息,r为旋转矩阵,t为平移矩阵;得到关于r和t的第二转换关系
[0194]
可选的,如图8所示,所述装置还包括:第一重复控制模块801和第二重复控制模块802。
[0195]
第一重复控制模块801,用于重复n次获得所述第一图像;n大于或等于3。
[0196]
第二重复控制模块802,用于获得n个所述第一坐标信息和所述当前标记位姿信息。
[0197]
如图9所示,所述关系模块605包括:第三关系子模块901。
[0198]
第三关系子模块901,用于根据预设的第一坐标关系模型、n个所述第一坐标信息和n个所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0199]
可选的,n个所述当前标记位姿信息所表征的位置不在一条直线上。
[0200]
可选的,如图10所示,所述关系模块605包括:转换子模块1001和第四关系子模块1002。
[0201]
转换子模块1001,用于根据拍摄所述第一图像的摄像机的内参,将所述第一坐标信息转换为相机坐标系下的第三坐标信息。
[0202]
第四关系子模块1002,用于根据预设的第一坐标关系模型、所述第三坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0203]
可选的,如图11所示,所述装置还包括:构建模块1101。
[0204]
构建模块1101,用于构建第一图像坐标系与第二图像坐标系的第三转换关系;其中,所述第一图像坐标系为第二图像坐标系,第二摄像机用于拍摄所述第一图像;第一摄像机拍摄的图像属于第一图像坐标系;
[0205]
可选的,如图12所示,所述构建模块1101包括:图像子模块1201、特征子模块1202和构建子模块1203。
[0206]
图像子模块1201,用于分别获得所述第一摄像机和所述第二摄像机针对同一目标对象拍摄的第二图像和第三图像。
[0207]
特征子模块1202,用于分别从所述第二图像和所述第三图像中提取出相同的特征点,并确定所述特征点在第一图像坐标系中的第四坐标信息和在第二图像坐标系中的第五
坐标信息;其中,所述第二图像位于第一图像坐标系,所述第三图像位于第二图像坐标系。
[0208]
构建子模块1203,用于根据预设的第二坐标关系模型、所述第四坐标信息和所述第五坐标信息,得到所述第三转换关系。
[0209]
可选的,所述构建子模块根据以下公式得到所述第三转换关系;
[0210][0211]
其中,为所述第四坐标信息,为所述第五坐标信息,单应性矩阵h为所述第三转换关系。
[0212]
一种手眼标定的装置,包括:
[0213]
处理器;
[0214]
用于存储处理器可执行指令的存储器;
[0215]
其中,所述处理器被配置为:
[0216]
对机械臂上的预设标记进行拍摄,获得包括所述预设标记的第一图像;
[0217]
确定所述预设标记在图像坐标系下的第一坐标信息;
[0218]
在获得所述第一图像的同时,获取当前机械臂末端的当前末端位姿信息;
[0219]
根据已知的所述预设标记的位姿信息与机械臂末端的位姿信息的第一转换关系,以及根据所述当前末端位姿信息,确定在获得所述第一图像时,所述预设标记的当前标记位姿信息;
[0220]
根据预设的第一坐标关系模型、所述第一坐标信息和所述当前标记位姿信息,得到图像坐标系与机械臂坐标系的第二转换关系。
[0221]
一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述方法的步骤。
[0222]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0223]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0224]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0225]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0226]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1