掌桥专利:专业的专利平台
掌桥专利
首页

手眼系统的标定方法、装置及设备

文献发布时间:2023-06-19 10:11:51


手眼系统的标定方法、装置及设备

技术领域

本申请实施例涉及计算机视觉技术领域,尤其涉及一种手眼系统的标定方法、装置及设备。

背景技术

在物流、仓储、分拣、拆垛等多种场景中,手眼系统被广泛应用。手眼系统是由相机和机械臂组成的机器人视觉系统。机械臂末端设置有端拾器(例如手抓或者吸盘等执行机构),用于对物体进行搬移或者拣选。相机能够提供视觉信息,用于指导机械臂末端的运动轨迹。

实际应用中,需要利用标定板对手眼系统进行手眼标定,以确定出机械臂坐标系和相机坐标系之间的变换关系。以六轴机械臂为例,在机械臂第六轴的末端安装有端拾器。现有的手眼标定过程如下:将安装在机械臂第六轴末端的端拾器拆卸,将标定板安装在机械臂第六轴末端。然后,标定完成后,将标定板拆卸,再将端拾器重新安装到机械臂第六轴末端。

在实现本申请过程中,发明人发现现有技术中至少存在如下问题:上述手眼标定方式的操作流程复杂,效率较低。

发明内容

本申请实施例提供一种手眼系统的标定方法、装置及设备,用以提高手眼系统的标定效率。

第一方面,本申请实施例提供一种手眼系统的标定方法,所述手眼系统包括机械臂和相机,所述机械臂包括N个轴,所述机械臂的第K轴末端设置有标定板,K为小于N的自然数,所述方法包括:

控制所述机械臂的第N轴末端运行到预设检验位姿;

通过所述相机对所述标定板进行拍摄得到第一标定板图像,并根据所述第一标定板图像获取第一标定信息;

若所述第一标定信息与预设存储空间中存储的第二标定信息之间的误差大于预设阈值,则对所述手眼系统进行第一标定处理。

一种可能的实施方式中,根据所述第一标定板图像获取第一标定信息,包括:

根据所述第N轴末端的位姿,获取所述第K轴末端的位姿;

根据所述第K轴末端的位姿和所述第一标定板图像,获取所述第一标定信息。

一种可能的实施方式中,对所述手眼系统进行第一标定处理,包括:

确定所述第K轴末端对应的多个标定位姿;

控制所述第K轴末端运行到每个所述标定位姿,并在所述第K轴末端运行到每个所述标定位姿时,通过所述相机对所述标定板进行拍摄得到第二标定板图像;

根据所述多个标定位姿,以及所述第K轴末端运行到每个所述标定位姿时采集到的所述第二标定板图像,得到标定结果。

一种可能的实施方式中,确定所述第K轴末端对应的多个标定位姿,包括:

根据所述相机的视野范围和所述第K轴末端的当前位姿,确定所述第K轴末端对应的多个标定位姿。

一种可能的实施方式中,根据所述相机的视野范围和所述第K轴末端的当前位姿,确定所述第K轴末端对应的多个标定位姿,包括:

获取所述第N轴末端的当前位姿,并根据所述第N轴末端的当前位姿,确定所述第K轴末端的当前位姿;

在所述相机的视野范围内对所述第K轴末端的当前位姿进行随机调整,生成所述第K轴末端对应的多个标定位姿。

一种可能的实施方式中,控制所述第K轴末端运行到每个所述标定位姿,包括:

根据所述第K轴末端对应的每个所述标定位姿,确定出所述第N轴末端的目标位姿;

控制所述第N轴末端运行到所述目标位姿。

一种可能的实施方式中,控制所述机械臂的第N轴末端运行到预设检验位姿之前,还包括:

在对所述手眼系统进行第二标定处理后,控制所述第N轴末端运行到所述预设检验位姿;

通过所述相机对所述标定板进行拍摄得到第三标定板图像,并根据所述第三标定板图像获取所述第二标定信息;

将所述第二标定信息存储至所述预设存储空间。

一种可能的实施方式中,所述机械臂包括六个轴,所述标定板设置在所述机械臂的第四轴末端。

第二方面,本申请实施例提供一种手眼系统的标定装置,所述手眼系统包括机械臂和相机,所述机械臂包括N个轴,所述机械臂的第K轴末端设置有标定板,K为小于N的自然数,所述装置包括:

检验模块,用于控制所述机械臂的第N轴末端运行到预设检验位姿;

所述检验模块,还用于通过所述相机对所述标定板进行拍摄得到第一标定板图像,并根据所述第一标定板图像获取第一标定信息;

标定模块,用于若所述第一标定信息与预设存储空间中存储的第二标定信息之间的误差大于预设阈值,则对所述手眼系统进行第一标定处理。

一种可能的实施方式中,所述检验模块具体用于:

根据所述第N轴末端的位姿,获取所述第K轴末端的位姿;

根据所述第K轴末端的位姿和所述第一标定板图像,获取所述第一标定信息。

一种可能的实施方式中,所述标定模块具体用于:

确定所述第K轴末端对应的多个标定位姿;

控制所述第K轴末端运行到每个所述标定位姿,并在所述第K轴末端运行到每个所述标定位姿时,通过所述相机对所述标定板进行拍摄得到第二标定板图像;

根据所述多个标定位姿,以及所述第K轴末端运行到每个所述标定位姿时采集到的所述第二标定板图像,得到标定结果。

一种可能的实施方式中,所述标定模块具体用于:

根据所述相机的视野范围和所述第K轴末端的当前位姿,确定所述第K轴末端对应的多个标定位姿。

一种可能的实施方式中,所述标定模块具体用于:

获取所述第N轴末端的当前位姿,并根据所述第N轴末端的当前位姿,确定所述第K轴末端的当前位姿;

在所述相机的视野范围内对所述第K轴末端的当前位姿进行随机调整,生成所述第K轴末端对应的多个标定位姿。

一种可能的实施方式中,所述标定模块具体用于:

根据所述第K轴末端对应的每个所述标定位姿,确定出所述第N轴末端的目标位姿;

控制所述第N轴末端运行到所述目标位姿。

一种可能的实施方式中,所述检验模块还用于:

在对所述手眼系统进行第二标定处理后,控制所述第N轴末端运行到所述预设检验位姿;

通过所述相机对所述标定板进行拍摄得到第三标定板图像,并根据所述第三标定板图像获取所述第二标定信息;

将所述第二标定信息存储至所述预设存储空间。

一种可能的实施方式中,所述机械臂包括六个轴,所述标定板设置在所述机械臂的第四轴末端。

第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序执行如第一方面任一项所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。

本申请实施例提供的手眼系统的标定方法、装置及设备,其中手眼系统包括机械臂和相机,机械臂包括N个轴,机械臂的第K轴末端设置有标定板,该方法包括:控制机械臂的第N轴末端运行到预设检验位姿,通过相机对标定板进行拍摄得到第一标定板图像,并根据第一标定板图像获取第一标定信息,若第一标定信息与预设存储空间中存储的第二标定信息之间的误差大于预设阈值,则对手眼系统进行第一标定处理。上述过程中,通过将标定板设置在第K轴末端,避免了标定时反复拆卸的操作,提高了标定效率。进一步的,标定板可以长期安装在机械臂上,使得可以方便地对手眼系统的标定信息进行自动检验,以确定标定结果是否由于长期运行导致误差加大,从而快速决定是否重新进行手眼标定。另外,通过将标定板设置在第K轴末端,还能够降低标定板与机械臂本体发生碰撞的概率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。

图1为本申请实施例中手眼系统的架构示意图;

图2为现有技术中手眼标定的操作流程示意图;

图3为本申请实施例提供的手眼系统的示意图;

图4为本申请一个实施例提供的手眼系统的标定方法的流程示意图;

图5为本申请另一个实施例提供的手眼系统的标定方法的流程示意图;

图6为本申请又一个实施例提供的对手眼系统进行标定处理的流程示意图;

图7为本申请一个实施例提供的手眼系统的标定装置的结构示意图;

图8为本申请一个实施例提供的电子设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

首先对本申请实施例所涉及的名词进行解释:

手眼标定:机械臂末端处于不同位姿下,对相机相对于标定板的外参进行标定,根据相机相对于标定板的外参和机械臂末端的位姿,计算相机相对于机械臂末端的外参。

端拾器:机械臂的末端执行机构,一般是手抓或吸盘。

正运动学方程:是指根据机械臂的轴角计算出机械臂末端的位姿的方程,本实施例中分别计算了第K轴和第N轴的位姿。

逆运动学方程:是指根据机械臂末端的位姿计算出机械臂的轴角的方程,本实施例中分别基于第K轴和第N轴的位姿计算。

手眼系统是由相机和机械臂组成的机器人视觉系统。机械臂末端设置有端拾器(例如手抓或者吸盘等执行机构),用于对物体进行搬移或者拣选。相机能够提供视觉信息,用于指导机械臂末端的运动轨迹。

一些手眼系统中,相机可以安装在机械臂末端,并跟随机械臂末端一起运动。该场景也可以称为眼在手(Eye-in-Hand)场景。该场景中,相机坐标系相对于机械臂坐标系总是变化的,而相机相对于机械臂末端的位姿是恒定的。

另一些手眼系统中,相机可以安装在机械臂外部的固定位置。该场景也可以称为眼在外(Eye-to-Hand)场景。该场景中,相机坐标系相对于机械臂坐标系是恒定的,而相机相对于机械臂末端的位姿总是变化的。

本申请实施例适用于眼在外(Eye-to-Hand)场景。下面结合图1对手眼系统的架构进行描述。

图1为本申请实施例中手眼系统的架构示意图。如图1所示,手眼系统中包括:机械臂、相机和控制器。其中,机械臂也可以称为机械手。机械臂通常为多轴机械臂,例如:三轴机械臂、四轴机械臂、五轴机械臂、六轴机械臂等。机械臂的轴数越多,其自由度越多,能够执行的动作越灵活。图1中以六轴机械臂为例进行示意。参见图1,机械臂第六轴末端安装有端拾器(图1中以圆圈示意)。端拾器可以为手抓、吸盘等执行机构。

图1所示的手眼系统中,机械臂相当于机器人的手,相机相当于机器人的眼。机械臂与控制器通信连接。相机与控制器通信连接。相机采集到包括目标物体的图像后,将图像发送给控制器。控制器利用相机坐标系和机械臂坐标系之间的转换关系,计算得到目标物体在机械臂坐标系中的位置信息。进而,控制器根据目标物体在机械臂坐标系中的位置信息,可以计算出机械臂末端的运动轨迹,并控制机械臂末端达到特定位置,使得端拾器可以抓取到目标物体。

实际应用中,需要利用标定板对手眼系统进行手眼标定。手眼标定的目的是获取相机坐标系和机械臂坐标系之间的变换关系。现有技术中,在进行手眼标定时,通常将标定板安装在机械臂第六轴末端。其标定的原理如下。

假设机械臂坐标系与相机坐标系之间的变换关系为矩阵X,机械臂坐标系与机械臂末端机构的变换关系为矩阵A,机械臂末端机构与标定板之间的变换关系为矩阵Z,相机到标定板之间的变换关系为矩阵B。机械臂控制标定板达到n个标定位置,在这n个位置时,机械臂末端的位姿分别为A

根据上述等式,消去Z,可以得出:

对上述多个等式进行合并求解,即可求出X,从而得到机械臂坐标系与相机坐标系之间的变换关系。

上述现有的手眼标定方式,虽然可以实现手眼标定,但是操作流程复杂,效率较低。下面结合图2对现有的手眼标定的操作流程进行描述。

图2为现有技术中手眼标定的操作流程示意图。如图2所示,在手眼系统正常运行时,需要在机械臂第六轴末端安装端拾器。当需要进行手眼标定时,需要将安装在机械臂第六轴末端的端拾器拆卸,将标定板安装在机械臂第六轴末端。然后,在标定完成后,将标定板拆卸,再将端拾器重新安装到机械臂第六轴末端。可见,上述手眼标定过程需要人工进行多次拆卸安装,操作流程复杂,导致标定效率较低。进一步的,一些应用场景中当需要快速检验手眼系统的标定信息时,需要重复以上的安装拆卸流程才能检验标定信息是否准确,检验效率较低。

另外,将标定板安装到机械臂的第六轴末端时,由于第六轴末端的姿态灵活多变,使得标定板与机械臂本体容易发生碰撞,因此,对标定板的尺寸以及机械臂的运动空间造成限制。

为了解决上述技术问题中的至少一个,本申请实施例对标定板的安装位置进行改进,将标定板固定安装到与端拾器不同的轴上。本实施例的手眼系统包括机械臂和相机。其中,相机设置在机械臂外部的固定位置。机械臂包括N个轴,机械臂的第N轴末端设置有端拾器,机械臂的第K轴末端设置有标定板。K为小于N的自然数。图3为本申请实施例提供的手眼系统的示意图。如图3所示,以六轴机械臂为例,机械臂的第六轴设置有端拾器(图3中以圆圈示意),标定板可以设置在除第六轴之外的其他任意轴上。

可选的,参见图3,标定板可以设置在机械臂的第四轴末端。由于机械臂的第四轴末端姿态较为稳定,将标定板设置在第四轴末端,能够降低标定板与机械臂本体发生碰撞的概率。

本实施例中,由于标定板和端拾器安装在不同轴上,二者互不干涉,在手眼标定时,无需进行拆卸端拾器、安装标定板、拆卸标定板、安装端拾器等一系列操作,提高手眼标定效率。进一步的,本申请实施例中,标定板可以长期安装在机械臂上,使得可以方便的对手眼系统的标定信息进行自动检验,以确定标定信息是否由于长期运行导致误差加大,从而快速决定是否需要重新进行手眼标定。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图4为本申请一个实施例提供的手眼系统的标定方法的流程示意图。本实施例的方法可以由控制器执行,可用于对图3所示的手眼系统进行标定。如图4所示,本实施例的方法可以包括:

S401:控制机械臂的第N轴末端运行到预设检验位姿。

S402:通过相机对标定板进行拍摄得到第一标定板图像,并根据第一标定板图像获取第一标定信息;

S403:若第一标定信息与预设存储空间中存储的第二标定信息之间的误差大于预设阈值,则对手眼系统进行第一标定处理。

本实施例可应用于对手眼系统的标定信息进行自动检验,以确定是否需要对手眼系统重新进行标定处理的场景。

其中,预设检验位姿是指事先指定的用于检验手眼系统的标定信息的位姿。

具体的,在本实施例执行之前,已经对手眼系统进行过标定处理。并在标定完成后,控制机械臂的第N轴末端运行到该预设检验位姿,然后通过相机对标定板进行拍摄得到标定板图像,并根据标定板图像获取第二标定信息。并将第二标定信息存储至预设存储空间。其中,第二标定信息指示的是本次标定完成后,在机械臂的第N轴末端运行到该预设检验位姿的情况下,标定板在相机坐标系中的位置信息。

本实施例中,当需要对手眼系统的标定信息进行检验时,可以控制机械臂的第N轴末端运行到该预设检验位姿,通过相机对标定板进行拍摄得到第一标定板图像,并根据第一标定板图像获取第一标定信息。其中,第一标定信息指示的是当前场景下标定板在相机坐标系中的位置信息。

进而,可以通过将第一标定信息与预设存储空间中存储的第二标定信息进行对比,确定是否需要进行重新标定。具体的,若第一标定信息与第二标定信息之间的误差大于预设阈值,则说明手眼系统由于长期运行导致标定误差加大,因此,对手眼系统重新进行标定处理。若第一标定信息与第二标定信息之间的误差小于或者等于预设阈值,则说明手眼系统的当前标定信息与上次标定完成后的标定信息误差不大,该情况下无需重新进行标定处理。

需要说明的是,本实施例对于标定处理的实施过程不作限定,一种可能的标定处理方式可以参见后续实施例的详细描述。

可选的,本实施例中的预设检验位姿可以包括一个或者多个检验位姿。当包括多个检验位姿时,可以针对每个检验位姿,在控制机械臂的第N轴末端运行到该检验位姿时,通过相机对标定板进行拍摄得到第一标定板图像,并根据第一标定板图像获取第一标定信息。这样,对多个检验位姿遍历完成后,可以得到多个检验位姿分别对应的第一标定信息。

相应的,预设存储空间中存储了多个检验位姿分别对应的第二标定信息。在进行比对时,可以将每个检验位姿对应的第一标定信息和第二标定信息进行比对,确定出该检验位姿对应的误差值。最后,将多个检验位姿对应的多个误差值求和或者求平均,若计算结果大于预设阈值,则对手眼系统进行重新标定处理。

可选的,预设检验位姿包括五个检验位姿,五个检验位姿中的其中四个对应正方形的四个顶点,另外一个对应正方形的中心点。这样,保证了检验位姿分布的均匀性,进而保证了检验结果的准确性。

本实施例提供的手眼系统的标定方法,其中手眼系统包括机械臂和相机,机械臂包括N个轴,机械臂的第K轴末端设置有标定板,该方法包括:控制机械臂的第N轴末端运行到预设检验位姿,通过相机对标定板进行拍摄得到第一标定板图像,并根据第一标定板图像获取第一标定信息,若第一标定信息与预设存储空间中存储的第二标定信息之间的误差大于预设阈值,则对手眼系统进行第一标定处理。上述过程中,通过将标定板设置在第K轴末端,避免了标定时反复拆卸的操作,提高了标定效率。进一步的,标定板可以长期安装在机械臂上,使得可以方便地对手眼系统的标定信息进行自动检验,以确定标定结果是否由于长期运行导致误差加大,从而快速决定是否重新进行手眼标定。另外,通过将标定板设置在第K轴末端,还能够降低标定板与机械臂本体发生碰撞的概率。

在上述实施例的基础上,下面结合一个具体的示例对手眼系统的标定过程进行详细描述。

本实施例中,假设在某次标定处理完成之后,确定出五个检验位姿。示例性的,确定出一个正方形的四个角和正中心,一共五个点,将这五个点作为第N轴末端对应的五个检验位姿。打开相机,确保当第N轴末端运行到这五个检验位姿时,标定板都位于相机视野中。

控制第N轴末端运行到第一个检验位姿,根据第N轴末端的位姿,通过逆运动学方程计算得出机械臂的轴角;再根据机械臂的轴角通过正运动学方程计算得出第K轴末端的位姿。通过相机对标定板进行拍摄得到标定板图像,进而,根据该标定板图像和第K轴末端的位姿,确定出第一个检验位姿对应的第二标定信息。

控制第N轴末端运行到第二个检验位姿,根据第N轴末端的位姿,通过逆运动学方程计算得出机械臂的轴角;再根据机械臂的轴角通过正运动学方程计算得出第K轴末端的位姿。通过相机对标定板进行拍摄得到标定板图像,进而,根据该标定板图像和第K轴末端的位姿,确定出第二个检验位姿对应的第二标定信息。

控制第N轴末端运行到第三个检验位姿,并采用上述类似的过程,确定出第三个检验位姿对应的第二标定信息;控制第N轴末端运行到第四个检验位姿,并采用上述类似的过程,确定出第四个检验位姿对应的第二标定信息;控制第N轴末端运行到第五个检验位姿,并采用上述类似的过程,确定出第五个检验位姿对应的第二标定信息。

将上述五个检验位姿各自对应的第二标定信息存储至预设存储空间中。

当需要对手眼系统的标定信息进行检验时,例如,当手眼系统运行了较长时间,或者,根据手眼系统的运行情况怀疑手眼系统的当前标定信息不准确时,可以采用如图5所示的流程对手眼系统进行自动检验和自动标定。

图5为本申请另一个实施例提供的手眼系统的标定方法的流程示意图。如图5所示,本实施例的方法包括:

S501:获取预设的五个检验位姿。

该五个校验位姿为上述的正方形的四个角和正中心所对应的位姿。

S502:从五个检验位姿中取出一个未检验的检验位姿。

S503:控制第N轴末端运行到该检验位姿。

S504:获取第K轴末端的位姿,并通过相机对标定板进行拍摄得标定板图像,根据标定板图像和第K轴末端的位姿,获取该检验位姿对应的第一标定信息。

具体的,可以采用如下方式获取第K轴末端的位姿:根据第N轴末端的位姿,通过逆运动学方程计算得出机械臂的轴角;再根据机械臂的轴角通过正运动学方程计算得出第K轴末端的位姿。

S505:将该检验位姿对应的第一标定信息和预设存储空间中存储的该检验位姿对应的第二标定信息进行对比,确定出该检验位姿对应的误差值。

S506:判断五个检验位姿是否遍历完毕。若是,则执行S507,若否,则返回执行S502。

S507:根据五个检验位姿对应的误差值,得到手眼系统的检验误差。

例如,可以将五个检验位姿对应的误差值之和作为检验误差,还可以将五个检验位姿对应的误差值的平均值作为检验误差。

S508:判断检验误差是否大于预设阈值。

若是,则执行S509。若否,则无需重新标定处理,上次的标定结果可以继续使用。

S509:对手眼系统进行标定处理。

通过本实施例,可以实现对手眼系统的标定误差进行自动检验,并在检验到标定误差较大时,对手眼系统进行自动标定,从而提高手眼系统的标定效率。

在上述任意实施例的基础上,下面结合图6对手眼系统的标定处理过程进行描述。

图6为本申请又一个实施例提供的对手眼系统进行标定处理的流程示意图。如图6所示,本实施例的方法包括:

S601:确定第K轴末端对应的多个标定位姿。

其中,在S601之前,打开相机,控制机械臂运行,使机械臂的第K轴的标定板大致位于相机视野中央。

可选的,可以根据相机的视野范围和第K轴末端的当前位姿,确定出第K轴末端对应的多个标定位姿。示例性的,可以通过对第K轴末端的当前位姿进行调整,得到多个标定位姿,并确保得到的多个标定位姿不超出相机的视野范围。

一种可能的实施方式中,获取第N轴末端的当前位姿,并根据第N轴末端的当前位姿,确定第K轴末端的当前位姿,在相机的视野范围内对第K轴末端的当前位姿进行随机调整,生成第K轴末端对应的多个标定位姿。

S602:控制第K轴末端运行到每个标定位姿,并在第K轴末端运行到每个标定位姿时,通过相机对标定板进行拍摄得到第二标定板图像。

可选的,可以采用如下方式控制第K轴末端运行到每个标定位姿:根据第K轴末端对应的每个标定位姿,确定出第N轴末端的目标位姿,控制第N轴末端运行到该目标位姿,使得第K轴末端运行到该标定位姿。

S603:根据多个标定位姿,以及第K轴末端运行到每个标定位姿时采集到的第二标定板图像,得到标定结果。

通过对每个标定位姿以及该标定位姿对应的第二标定板图像,计算得到该标定位姿对应的标定结果。然后,根据多个标定位姿对应的标定结果,得到本次标定处理的标定结果。

可选的,得到标定结果之后,还可以判断该标定结果是否在标准误差范围内。若是,则确定该标定结果可用。若否,则确定该标定结果不可用,需要重新进行标定。

一个示例中,在确定需要对手眼系统进行标定时,获取机械臂第N轴的当前位姿,通过逆运动学方程算出机械臂N个轴的轴角,再根据正运动学方程以及N个轴的轴角计算得出第K轴末端的位姿。根据相机的视野范围,在视野范围内对第K轴末端的位姿进行随机调整,得到第K轴末端对应的标定位姿。根据第K轴末端对应的标定位姿,通过逆运动学方程算出机械臂的N个轴的轴角,再通过正运动学方程以及N个轴的轴角计算得出机械臂第N轴末端对应的目标位姿。控制机械臂的第N轴末端运行到这个目标位姿,通过相机对标定板进行拍摄得到标定板图像,对该标定板图像和当前第K轴末端的标定位姿进行存储。

循环执行上述流程,直至达到预设循环次数。循环结束后,获取存储的多个标定位姿以及多个标定板图像,计算得到标定结果。若该标定结果在标准误差范围内,代表标定结果可用,将该标定结果进行存储。

后续手眼系统运行时,根据相机拍摄到的目标物体的图像以及该标定结果,确定出目标物体在机械臂坐标系中的位置,进而确定出机械臂的运行轨迹,使得机械臂末端的端拾器能够抓取该目标物体。

通过本实施例,可以实现对手眼系统的自动标定,而无需用户通过手动调节机械臂的位姿来进行标定,提高了手眼系统的标定效率。

图7为本申请一个实施例提供的手眼系统的标定装置的结构示意图,本实施例的手眼系统的标定装置可以为软件和/或硬件的形式,该装置可以设置在图1中的控制器中。如图7所示,本实施例提供的手眼系统的标定装置10,可以包括:检验模块11和标定模块12。

检验模块11,用于控制所述机械臂的第N轴末端运行到预设检验位姿;

所述检验模块11,还用于通过所述相机对所述标定板进行拍摄得到第一标定板图像,并根据所述第一标定板图像获取第一标定信息;

标定模块12,用于若所述第一标定信息与预设存储空间中存储的第二标定信息之间的误差大于预设阈值,则对所述手眼系统进行第一标定处理。

一种可能的实施方式中,所述检验模块11具体用于:

根据所述第N轴末端的位姿,获取所述第K轴末端的位姿;

根据所述第K轴末端的位姿和所述第一标定板图像,获取所述第一标定信息。

一种可能的实施方式中,所述标定模块12具体用于:

确定所述第K轴末端对应的多个标定位姿;

控制所述第K轴末端运行到每个所述标定位姿,并在所述第K轴末端运行到每个所述标定位姿时,通过所述相机对所述标定板进行拍摄得到第二标定板图像;

根据所述多个标定位姿,以及所述第K轴末端运行到每个所述标定位姿时采集到的所述第二标定板图像,得到标定结果。

一种可能的实施方式中,所述标定模块12具体用于:

根据所述相机的视野范围和所述第K轴末端的当前位姿,确定所述第K轴末端对应的多个标定位姿。

一种可能的实施方式中,所述标定模块12具体用于:

获取所述第N轴末端的当前位姿,并根据所述第N轴末端的当前位姿,确定所述第K轴末端的当前位姿;

在所述相机的视野范围内对所述第K轴末端的当前位姿进行随机调整,生成所述第K轴末端对应的多个标定位姿。

一种可能的实施方式中,所述标定模块12具体用于:

根据所述第K轴末端对应的每个所述标定位姿,确定出所述第N轴末端的目标位姿;

控制所述第N轴末端运行到所述目标位姿。

一种可能的实施方式中,所述检验模块11还用于:

在对所述手眼系统进行第二标定处理后,控制所述第N轴末端运行到所述预设检验位姿;

通过所述相机对所述标定板进行拍摄得到第三标定板图像,并根据所述第三标定板图像获取所述第二标定信息;

将所述第二标定信息存储至所述预设存储空间。

一种可能的实施方式中,所述机械臂包括六个轴,所述标定板设置在所述机械臂的第四轴末端。

本实施例提供的手眼系统的标定装置,可用于执行上述任一方法实施例中的技术方案,其实现原理和技术效果类似,此处不作赘述。

图8为本申请实施例提供的电子设备的结构示意图。该电子设备可以作为控制器。如图8所示,本实施例的电子设备20,包括:处理器21以及存储器22;其中,存储器22,用于存储计算机程序;处理器21,用于执行存储器中存储的计算机程序,以实现上述实施例中的手眼系统的标定方法。具体可以参见前述方法实施例中的相关描述。

可选地,存储器22既可以是独立的,也可以跟处理器21集成在一起。

当所述存储器22是独立于处理器21之外的器件时,所述电子设备20还可以包括:总线23,用于连接所述存储器22和处理器21。

可选的,电子设备20还可以包括通信部件24,用于与机械臂、相机等进行通信。

本实施例提供的电子设备,可用于执行上述任一方法实施例中的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。

本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,所述计算机程序用于实现如上任一方法实施例中的技术方案。

本申请实施例还提供一种芯片,包括:存储器、处理器以及计算机程序,所述计算机程序存储在所述存储器中,所述处理器运行所述计算机程序执行上述任一方法实施例中的技术方案。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例所述方法的部分步骤。

应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备或主控设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

相关技术
  • 相机安装于机器人手臂上的手眼标定方法及手眼标定装置
  • 机械臂的手眼标定方法、标定板、装置、设备和存储介质
技术分类

06120112455116