工件抓取方法、装置、计算机设备和存储介质与流程

文档序号:17778126发布日期:2019-05-28 20:31阅读:243来源:国知局
工件抓取方法、装置、计算机设备和存储介质与流程

本申请涉及机器人应用技术领域,特别是涉及一种工件抓取方法、装置、计算机设备和存储介质。



背景技术:

视觉引导机器人抓取技术在工业上的应用越来越广泛,应用场景也在日益丰富,随着技术的发展,机器人将逐渐替代人类来完成一些简单、重复、低智力要求的工作。

目前,视觉引导机器人抓取应用主要集中在基于2d视觉检测的固定平面上的目标物体抓取上,2d视觉检测方法能提供的零件位姿信息有限,通常只能将零件限定在一个固定的测量深度上进行检测,这显然会限制机器人的应用范围。

随着三维扫描技术的提高,三维物体识别算法也得到了迅速的发展,使得识别和定位点云数据或深度图像中的目标物体变得越来越稳定有效。通过三维物体识别算法可以获得目标物体六个维度的位姿信息,将该技术和机器人结合起来,便可实现对散乱堆放的目标物体的抓取。但是,目前需要抓取的物体大部分都是散乱堆放,在抓取其中一个物体时,容易与其它物体发生碰撞,损坏待抓取物体。



技术实现要素:

基于此,有必要针对目前需要抓取的物体大部分都是散乱堆放,在抓取其中一个物体时,容易与其它物体发生碰撞,损坏待抓取物体的技术问题,提供一种工件抓取方法、装置、计算机设备和存储介质。

一种工件抓取方法,所述方法包括:

接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据;

识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿;

基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径;

控制机器人抓取所述待抓取工件。

在其中一个实施例中,所述接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据之前还包括:

导入待抓取工件的模型,生成模型数据库。

在其中一个实施例中,所述识别所述三维点云数据中的待抓取工件还包括:

基于所述三维点云数据,在所述模型数据库中寻找相同特征,识别所述三维点云数据中的待抓取工件。

在其中一个实施例中,所述接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据之后还包括:

对所述三维点云数据进行滤波。

在其中一个实施例中,所述识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿还包括:

识别所述三维点云数据中的待抓取工件并定位;

对所述待抓取工件的三维点云数据建立位姿假设,并对每个位姿进行评估,得到符合设定条件的待抓取工件的位姿。

在其中一个实施例中,所述基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径之前还包括:

计算所述待抓取工件的遮挡面积,若所述遮挡面积小于设定阈值,则对所述待抓取工件进行抓取路径规划。

在其中一个实施例中,所述基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径之前还包括:

计算所述待抓取工件的遮挡面积,若所述遮挡面积大于设定阈值,则重新选取待抓取工件。

一种工件抓取装置,所述装置包括:

三维数据重建模块,用于接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据;

工件识别模块,用于识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿;

路径规划模块,用于基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径;

抓取控制模块,用于控制机器人抓取所述待抓取工件。

一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据;

识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿;

基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径;

控制机器人抓取所述待抓取工件。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:

接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据;

识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿;

基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径;

控制机器人抓取所述待抓取工件。

上述工件抓取方法、装置、计算机设备和存储介质,通过基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径,控制机器人抓取工件的方法,选择机器人抓取工件时的最优路径,能够有效避免在抓取其中一个物体时,容易与其它物体发生碰撞,损坏待抓取物体的情况,使工件抓取过程更加稳定与安全。

附图说明

图1为本发明一个实施例中工件抓取方法的流程示意图;

图2为本发明一个实施例中工件抓取装置的结构框图;

图3为本发明一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

请参阅图1,图1为本发明一实施例的工件抓取方法流程示意图。

在本实施例中,所述工件抓取方法包括:

步骤100,对三维扫描仪进行标定。

在本实施例中,所述对三维扫描仪进行标定包括把标定板以不同的姿态放置在三维扫描仪的视场不同位置处,并使用三维扫描仪中左右两个相机采集多幅含有标定板的图像对,使用相机内外参标定算法对三维扫描仪中左右两个相机的内外参参数进行标定。

步骤110,标定三维扫描仪与机器人之间的位姿关系。

在本实施例中,所述标定三维扫描仪与机器人之间的位姿关系包括把标定部件安装在机器人抓取部件的末端,并以标定物上的同心圆圆心为坐标原点定义工具坐标系;其次,控制抓取部件携带标定物在三维扫描仪视场范围内分别移动四个位置,机器人在每个位置处触发三维扫描仪拍摄标定物得到左右图像对;最后,使用图像处理算法提取图像对中的标定物,使用手眼关系标定算法计算获得三维扫描仪和机器人之间的位姿关系tsb。可以理解的,所述抓取部件可以为机械臂。

步骤120,导入待抓取工件的模型,生成模型数据库。

在本实施例中,所述导入待抓取工件的模型,生成模型数据库包括导入工件(抓取对象)的cad模型和夹具的cad模型,并把导入的工件cad模型和夹具cad模型转换为面片模型,对应的面片模型由大小均匀的三角面片表示。可以理解的,为提高识别定位效率,基于所述工件的三角面片模型建立模型数据库。

步骤130,接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据。

示例性地,所述接收被观测场景图像包括控制所述三维扫描仪向所述被观测场景投射出一序列条纹图像,其中一幅为全黑图像,一幅为全白图像,其余一部分为格雷码图像,一部分为相移图像。格雷码将视场区域划分成了具有独立编码值的区域,格雷码完成了视场区域的粗略划分,这里的相移图像把各个格雷码区域进行了详细划分,以使重构得到具有更多细节特征的点云数据,同时三维扫描仪中的左右相机分别依次采集一序列二维图像,得到被观测场景图像。

示例性地,所述基于所述图像重建得到被观测场景的三维点云数据包括使用采集得到的被观测场景图像结合所述三维扫描仪中左右两个相机的内外参参数进行三维场景的重构,得到被观测场景的三维点云数据。具体地,所述基于所述图像重建得到被观测场景的三维点云数据包括:

a:使用高斯滤波对采集得到的被观测场景图像进行平滑操作;

b:使用图像序列中的黑白图像对其余图像序列进行归一化操作;

c:对采集得到的格雷码图像序列计算灰度值均值;并使用灰度值均值对图像序列进行二值化操作;根据得到的二值化序列计算格雷码相位值m;

d:根据各像素点处的灰度值和相移次数在各个格雷码周期内计算相移相位值

e:结合计算得到的格雷码相位值和相移相位值根据公式计算得到图像中各像素的全局相位φ;

f:根据左右图像中各个像素的全局相位φ和极线约束在左、右相机图像中逐个搜索确定各个像素的对应点;

g:以左、右图像所有的对应像素对和左、右相机内外参参数为输入结合双目视差原理即可逐个计算出被观测区域各个空间点的三维信息,得到三维点云数据;

h:根据步骤110中获得的三维扫描仪和机器人之间的位置关系把重构得到的所有三维点云数据变换到机器人坐标系下。

步骤140,对所述三维点云数据进行滤波。

示例性地,所述对所述三维点云数据进行滤波包括:

a:使用事先设置的包围盒,滤除待抓取工件以外的无用点云数据;

b:对于待抓取工件的点云数据使用距离统计信息滤除其中的离群点。

步骤150,识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿。

示例性地,所述识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿包括基于所述三维点云数据,在所述模型数据库中寻找相同特征,识别所述三维点云数据中的待抓取工件并定位。可以理解的,所述模型数据库即为步骤120中建立的模型数据库。

示例性地,所述识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿还包括识别所述三维点云数据中的待抓取工件并定位;对每个所述待抓取工件的三维点云数据建立位姿假设,并对每个位姿进行评估,得到符合设定阈值的待抓取工件的位姿。

具体地,所述对所述待抓取工件的三维点云数据建立位姿假设,并对每个位姿进行评估,得到符合设定阈值的待抓取工件的位姿包括根据对所述待抓取工件的三维点云数据建立位姿假设,并按照预设标准对位姿假设的质量进行评估以得到该位姿的得分,并保留其中得分高于预设得分的位姿对应的待抓取工件,选取得分最高的位姿对应的待抓取工件。可以理解的,所述预设标准和预设得分可以由用户进行设定。具体地,所述待抓取工件的位姿得分越高,表示识别定位结果越准确。

步骤160,计算所述待抓取工件的遮挡面积,若所述遮挡面积小于设定阈值,则对所述待抓取工件进行抓取路径规划。

具体地,所述计算所述待抓取工件的遮挡面积包括统计待抓取工件上方点云数量以判断该工件是否适合被抓取。在本实施例中,先在重构得到的场景三维点云数据中去除在待抓取工件一定距离外的点云,其次,统计在待抓取工件周围的点云数量并计算出对应的二维连通面积即遮挡面积,若所述待抓取工件的遮挡面积小于设定阈值,进行下一步的抓取路径规划。可以理解的,计算所述遮挡面积并在所述待抓取工件的遮挡面积小于设定阈值进行路径规划可以避免待抓取工件的遮挡面积过大导致无法抓取。具体地,当所述待抓取工件的遮挡面积大于设定阈值时,则重新选取待抓取工件,并重新执行步骤150和步骤160。

步骤170,基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径。

示例性地,所述基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径包括:

a:基于选取的所述待抓取工件设置一种或多种抓取方式,并设置夹具倾角阈值θ和碰撞点数阈值n;

b:根据识别定位得到的待抓取工件的位姿,计算该工件对应的所有抓取方式,并计算各个抓取方式夹具的倾角,仅保留倾角小于倾角阈值θ的抓取方式;

c:以重构得到的场景的三维点云数据为输入,逐个对符合倾角要求的抓取方式进行碰撞检测,即在虚拟环境中把夹具放置在抓取位姿处,统计此时在该夹具一定距离范围内的点云数量,并对不同抓取方式进行模拟,得到不同抓取方式对应的碰撞点数,仅保留碰撞点数小于碰撞点数阈值n的抓取方式。

d:对所有满足倾角阈值和碰撞点数阈值条件的抓取方式按倾角升序排列,选取倾角最小的抓取方式,即为最终抓取路径。

可以理解的,倾角和碰撞点数满足预设阈值的抓取路径均可用于抓取所述待抓取工件,而对所有满足倾角阈值和碰撞点数阈值条件的抓取方式按倾角升序排列,选取倾角最小的抓取方式作为最终抓取路径的效果更好,效率更高。

可以理解的,若所述待抓取工件的抓取方式中不存在倾角小于倾角阈值θ且碰撞点数小于碰撞点数阈值n的抓取方式,则重新选取待抓取工件,并重新执行步骤150、步骤160和步骤170。

可以理解的,所述倾角阈值θ和碰撞点数阈值n可以不设定为一个固定值,而设定为预设范围,在进行路径规划时保留倾角和碰撞点数位于所述预设范围内的抓取方式。

可以理解的,所述夹具倾角阈值θ和碰撞点数阈值n可以在其它步骤中进行设置,只需在所述模型数据库建立完成之后,步骤170执行之前设置即可。

步骤180,控制机器人抓取所述待抓取工件。

可以理解的,可以通过tcp/ip通信协议把所述倾角最小的抓取方式传送给所述机器人,并控制所述机器人抓取所述待抓取工件。

示例性地,上述工件抓取方法通过对三维扫描仪进行标定,标定三维扫描仪与机器人之间的位姿关系,导入待抓取工件的模型,生成模型数据库,接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据,对所述三维点云数据进行滤波,基于所述模型数据库识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿,选取位姿得分高于预设得分的待抓取工件计算所述待抓取工件的遮挡面积,若所述遮挡面积小于设定阈值,则计算每种抓取路径抓取时与其它点云的碰撞点数以及夹具倾角,选择倾角小于倾角阈值θ且碰撞点数小于碰撞点数阈值n的抓取方式中倾角最小的抓取方式,控制机器人抓取所述待抓取工件的方法,选择机器人抓取工件时的最优路径,能够有效避免在抓取其中一个物体时,容易与其它物体发生碰撞,损坏待抓取物体的情况,使工件抓取过程更加稳定与安全。

应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图2所示,提供了一种工件抓取装置,包括:三维数据重建模块200、工件识别模块210、路径规划模块220和抓取控制模块230,其中:

三维数据重建模块200,用于接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据。

工件识别模块210,用于识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿。

工件识别模块210,还用于基于所述三维点云数据,在所述模型数据库中寻找相同特征,识别所述三维点云数据中的待抓取工件。

工件识别模块210,还用于识别所述三维点云数据中的待抓取工件并定位;

对所述待抓取工件的三维点云数据建立位姿假设,并对每个位姿进行评估,得到符合设定条件的待抓取工件的位姿。

路径规划模块220,用于基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径。

抓取控制模块230,用于控制机器人抓取所述待抓取工件。

关于工件抓取装置的具体限定可以参见上文中对于工件抓取方法的限定,在此不再赘述。上述工件抓取装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种工件抓取方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据;

识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿;

基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径;

控制机器人抓取所述待抓取工件。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

导入待抓取工件的模型,生成模型数据库。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

基于所述三维点云数据,在所述模型数据库中寻找相同特征,识别所述三维点云数据中的待抓取工件。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

对所述三维点云数据进行滤波。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

识别所述三维点云数据中的待抓取工件并定位;

对所述待抓取工件的三维点云数据建立位姿假设,并对每个位姿进行评估,得到符合设定条件的待抓取工件的位姿。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

计算所述待抓取工件的遮挡面积,若所述遮挡面积小于设定阈值,则对所述待抓取工件进行抓取路径规划。

在一个实施例中,处理器执行计算机程序时还实现以下步骤:

计算所述待抓取工件的遮挡面积,若所述遮挡面积大于设定阈值,则重新选取待抓取工件。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

接收被观测场景图像,基于所述图像重建得到被观测场景的三维点云数据;

识别所述三维点云数据中的待抓取工件,得到待抓取工件的位姿;

基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径;

控制机器人抓取所述待抓取工件。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

导入待抓取工件的模型,生成模型数据库。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

基于所述三维点云数据,在所述模型数据库中寻找相同特征,识别所述三维点云数据中的待抓取工件。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

对所述三维点云数据进行滤波。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

识别所述三维点云数据中的待抓取工件并定位;

对所述待抓取工件的三维点云数据建立位姿假设,并对每个位姿进行评估,得到符合设定条件的待抓取工件的位姿。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

计算所述待抓取工件的遮挡面积,若所述遮挡面积小于设定阈值,则对所述待抓取工件进行抓取路径规划。

在一个实施例中,计算机程序被处理器执行时还实现以下步骤:

计算所述待抓取工件的遮挡面积,若所述遮挡面积大于设定阈值,则重新选取待抓取工件。

上述工件抓取方法、装置、计算机设备和存储介质,通过基于待抓取工件的位姿计算每种抓取路径抓取时与其它点云的碰撞点数,并选择碰撞点数在设定范围内的抓取路径,控制机器人抓取工件的方法,选择机器人抓取工件时的最优路径,能够有效避免在抓取其中一个物体时,容易与其它物体发生碰撞,损坏待抓取物体的情况,使工件抓取过程更加稳定与安全。同时通过计算不同抓取方式对应的夹具的倾角,并选取倾角最小的抓取方式控制机器人进行抓取,简化了机器人抓取工件时的轨迹,可以提高抓取效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

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