一种基于相机测量的多模型工件无序抓取方法及装置
文献发布时间:2023-06-19 12:14:58
技术领域
本发明一般涉及机器视觉领域,并且更具体地,涉及一种基于相机测量的多模型工件无序抓取方法及装置。
背景技术
随着机器人领域技术的不断发展完善及国家对生产力水平需求的不断提高,机器人自动化产业迎来了自己的春天。机器视觉作为通过测量实现机器人自动化的关键技术,衍生出了很多应用领域,其中用光学仪器测量工件大小和位姿,实现机器自动化无序抓取成为机器视觉领域在实际生产中的一项有着广泛应用的热门话题。
目前工件无序抓取技术一般都包含3D视觉测量、点云生成、点云处理、手眼标定、模板匹配、位姿计算、抓取策略等技术,然而现有技术在点云处理和模板匹配时一般利用神经网络技术实现。然而由于神经网络训练需要大量的训练集和验证集,使整个抓取过程耗时较长,效率低下;另一方面,现有技术没有考虑到机械臂夹取工件的过程中由于存在其他工件的遮挡,导致机械臂在运动过程中与遮挡物会发生碰撞的问题。
发明内容
根据本发明的实施例,提供了一种基于相机测量的多模型工件无序抓取方案,使工件识别速度更快,效率更高,抓取更安全。
在本发明的第一方面,提供了一种基于相机测量的多模型工件无序抓取方法。该方法包括:
S101:对待抓取工件进行完整建模和/或部分建模,得到所述待抓取工件的完整模型和/或部分模型;
S102:获取所述待抓取工件所在区域的测量图像,得到世界坐标系下的第一点云,通过手眼标定将所述第一点云转化到机械臂基坐标系,并将机械臂基坐标系下的点云进行自切割预处理,得到第二点云;
S103:将所述待抓取工件的完整模型和/或部分模型与所述第二点云进行匹配,得到匹配结果;
S104:从所述匹配结果中确定目标工件,获取所述目标工件的位姿,并根据所述目标工件的位姿得到抓取工具的抓取位姿;
S105:将所述抓取位姿进行逆变换,以所述逆变换后的位姿对所述第二点云进行仿射变换,将所述第二点云由机械臂基坐标系转换到抓取工具坐标系;
S106:在所述抓取工具坐标系中构建所述抓取工具的包围盒模型,设置阈值,当所述包围盒模型中点的数量不超过所述阈值时,对目标工件执行抓取。
进一步地,对待抓取工件进行完整建模和/或部分建模,包括:
通过测量工具逐个对所述待抓取工件在平面上放置的稳定状态进行测量;
当所述待抓取工件俯视测量时呈现的特征占其表面全部特征的比例均小于最小匹配比例,则仅对所述待抓取工件俯视测量时呈现的特征进行部分建模;
当所述待抓取工件俯视测量时呈现的特征占其表面全部特征的比例均大于最小匹配比例,则仅对所述待抓取工件进行全部建模;
当所述待抓取工件俯视测量时呈现的特征占其表面全部特征的比例中既有小于最小匹配比例的比例,又有不小于最小匹配比例的比例时,对所述待抓取工件进行完整建模,以及对小于最小匹配比例的比例对应的特征进行部分建模。
进一步地,所述自切割预处理,包括:
识别出所述机械臂基坐标系下的点云中的Z轴最小值,以所述Z轴最小值向Z轴正方向累加预设值,得到区间最大值;以所述Z轴最小值与所述区间最大值作为切割区间的最小值和最大值,构建切割区间;
所述机械臂基坐标系下Z轴坐标在所述切割区间内的点进行清除,将剩余的点云作为第二点云。
进一步地,将所述待抓取工件的完整模型和/或部分模型与所述第二点云进行匹配,包括:
S201:当存在所述待抓取工件的完整模型时,将所述完整模型与所述第二点云进行匹配,直至遍历全部待抓取工件的完整模型,执行S202;
S202:判断是否匹配出一个或多个工件,如果是,则将匹配出的工件作为匹配结果;否则,执行S203;
S203:判断是否存在所述待抓取工件的部分模型,如果不存在,则未匹配出工件,抓取结束;如果存在,则将所述部分模型与所述第二点云进行匹配,直至遍历全部待抓取工件的全部部分模型,执行S204;
S204:判断是否匹配出一个或多个工件,如果是,则将匹配出的工件作为匹配结果;否则,未匹配出工件,抓取结束。
进一步地,当所述匹配结果中包括多个工件时,计算每个工件的匹配分数,按照所述匹配分数由高到低对各个工件进行排序,将所述匹配分数最高的工件作为目标工件;
所述匹配分数为:
S=k
其中,S为匹配分数;S
进一步地,所述根据所述目标工件的位姿得到抓取工具的抓取位姿,包括:
获取所述目标工件的位姿矩阵,根据抓取工具对所述目标工件的抓取点进行识别;所述抓取点为一个或多个;
获取所述目标工件在所述抓取点处与所述抓取工具的相对位姿关系矩阵;
将所述目标工件的位姿矩阵与其在所述抓取点处与所述抓取工具的相对位姿关系矩阵的乘积作为所述抓取工具的抓取位姿;所述抓取位姿为一个或多个。
进一步地,所述抓取工具的包围盒模型为所述抓取工具坐标系中的长方体模型;所述抓取工具被包围在所述长方体模型内;所述长方体模型的任一边长与所述抓取工具坐标系的一坐标轴平行。
进一步地,当所述包围盒模型中点的数量超过所述阈值时,判断所述目标工件是否存在其他抓取位姿,如果是,则任选其中一抓取位姿,返回S105;否则判断所述匹配结果中是否有可抓取工件,如果所述匹配结果中有可抓取工件,则返回S104;如果所述匹配结果中没有可抓取工件,则抓取结束。
在本发明的第二方面,提供了一种基于相机测量的多模型工件无序抓取装置。该装置包括:
第一建模模块,用于对待抓取工件进行完整建模和/或部分建模,得到所述待抓取工件的完整模型和/或部分模型;
第一转换模块,用于获取所述待抓取工件所在区域的测量图像,得到世界坐标系下的第一点云,通过手眼标定将所述第一点云转化到机械臂基坐标系,并将机械臂基坐标系下的点云进行自切割预处理,得到第二点云;
匹配模块,用于将所述待抓取工件的完整模型和/或部分模型与所述第二点云进行匹配,得到匹配结果;
确定模块,用于从所述匹配结果中确定目标工件,获取所述目标工件的位姿,并根据所述目标工件的位姿得到抓取工具的抓取位姿;
第二转换模块,用于将所述抓取位姿进行逆变换,以所述逆变换后的位姿对所述第二点云进行仿射变换,将所述第二点云由机械臂基坐标系转换到抓取工具坐标系;
第二建模模块,用于在所述抓取工具坐标系中构建所述抓取工具的包围盒模型,设置阈值,当所述包围盒模型中点的数量不超过所述阈值时,则对目标工件执行抓取。
在本发明的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
在本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本发明的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了根据本发明的实施例的基于相机测量的多模型工件无序抓取方法的流程图;
图2示出了根据本发明的实施例的所述待抓取工件的完整模型和/或部分模型与所述第二点云进行匹配的流程图;
图3示出了根据本发明的另一实施例的基于相机测量的多模型工件无序抓取方法的流程图;
图4示出了根据本发明的实施例的基于相机测量的多模型工件无序抓取装置的方框图;
图5示出了能够实施本发明的实施例的示例性电子设备的方框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本发明保护的范围。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
图1示出了根据本发明的实施例的基于相机测量的多模型工件无序抓取方法的流程图。
该方法包括:
S101:对待抓取工件进行完整建模和/或部分建模,得到所述待抓取工件的完整模型和/或部分模型。
在抓取之前,首先要对待抓取工件进行建模。常规的建模过程一般是使用测量工具对待抓取工件进行测量,根据测量数据对待抓取工件进行完整建模,从而得到一个完整建模的工件模型,以此完整模型去匹配点云可以匹配出大部分工件,但是由于待抓取工件的自身形状特点以及摆放角度问题,有些情况下点云中包含的工件信息过少,导致使用完整模型无法准确匹配出工件。
在本发明的实施例中,通过测量工具逐个对所述待抓取工件在平面上放置的稳定状态进行测量,如果所述待抓取工件俯视测量时呈现的特征占其表面全部特征的比例小于最小匹配比例,则对所述待抓取工件俯视测量时呈现的特征进行部分建模;否则对所述待抓取工件进行完整建模。也就是说,如果所述待抓取工件俯视测量时呈现的特征占其表面全部特征的比例都小于最小匹配比例,则需要对所述待抓取工件俯视测量时呈现的特征进行部分建模,即对小于最小匹配比例的比例对应的特征进行部分建模,而不需要完整建模;如果所述待抓取工件俯视测量时呈现的特征占其表面全部特征的比例都大于最小匹配比例,则需要对待抓取工件进行完整建模,而不需要部分建模;如果所述待抓取工件俯视测量时呈现的特征占其表面全部特征的比例既有大于最小匹配比例的特征,也有小于最小匹配比例的特征,则不仅需要对待抓取工件进行完整建模,而且需要对小于最小匹配比例的比例对应的特征进行部分建模。所述俯视测量时呈现的特征指当待抓取工件在平面上平稳放置时,通过测量工具从所述待抓取工件的正上方向下俯视拍照呈现的带抓取工件的表面积;所述表面全部特征则为所述待抓取工件能够暴露的全部表面积之和。一般当所述待抓取工件俯视测量时呈现的特征占其表面全部特征的比例小于最小匹配比例时,测量工具即光学相机生成的点云信息较少,会出现匹配失败或匹配准确率低的问题。所述最小匹配比例可以根据需要自行设定,一般在0.2~0.5之间;如果最小匹配比例设置过小,会降低匹配准确率;如果最小匹配比例设置过大,则会造成匹配失败。
而部分建模只需要针对所述待抓取工件对应测量工具俯视测量时呈现的特征进行建模,或将待抓取工件的完整建模中仅保留所述待抓取工件对应测量工具俯视测量时呈现的特征,而将其他部分特征删除。
在本实施例中,如一个细高圆柱体,其表面积特征包括两个底面和一个侧面,对两个底面的其中一个作为特征进行部分建模;如一个类似于硬币的扁平圆柱体,其表面积特征包括两个底面和一个侧面,对俯视测量时其侧面部分特征进行部分建模;如细长圆锥体,其表面积特征包括一个锥面和一个底面,由于其底面固定在平面上时,侧面足够用于模板匹配,且不存在稳定的只能看见底面的情况,故不需要部分建模;如一个球体或多面体,不需要进行部分建模;如“T”型工件,当“T”中心朝下固定时,上方只能看见“T”的一横,且占总面积比例小,需要部分建模;当“T”横过来一头固定时,也满足条件,也需要部分建模,所以一个“T”型工件根据对称情况存在两个以上部分建模;如“L”型工件,由于短边放置在平面时,俯视拍照仅能看到长边的末端横截面以及短边,故需要进行部分建模,并且在不同实施例中,根据“L”两边长短可存在一个或两个部分建模,例如,如果“L”的两边不相等,需要分别针对两个不等长边建立部分模型;如果“L”的两边等长,则只需要针对一边建立部分模型即可。
在本实施例中,所述测量工具为光学相机,例如可以是两个光学相机也可以是一个光学相机加一个投影仪,可以是三维激光扫描仪等所有可以计算物体三维关系的仪器;用于对待抓取工件及待抓取工件所在区域进行成像。通过光学相机得出物体三维信息,其三维坐标通过相机内参(焦距、形变等)、外参(设备之间的相对位姿等)以及三角关系得到,将得到的所有点在空间中生成点云。
所述平面可以是工作台或载物台,也可以是托盘等容器的底面。所述稳定状态指待抓取工件能够稳定放置在水平平面中的状态,例如圆柱体工件,稳定状态可以有两种,包括下底面落在水平平面上的状态以及侧面静置在水平平面上的状态。
在通常情况下,如果使用完整模型无法匹配出工件或匹配的准确率较低时,需要进行部分建模。
另外,由于不同工件特征的不同,不同工件建立的部分模型的数量也不相同,即所述部分模型为一个或多个。所述待抓取工件建立部分模型数量趋势是如果从不同角度观察待抓取工件的不同特征越多且越明显,则建立的部分模型的数量就越多。例如,一个球型工件,无论从哪个角度观察都一样,这就不需要部分建模。如一个“十”字型工件根据各边的长短可存在一个或多个部分建模。又如一个“T”型工件,当“T”中心朝下固定时,上方只能看见“T”的一横,且占总面积比例小,需要部分建模;当“T”横过来一头固定时,也满足条件,也需要部分建模,所以一个“T”型工件根据对称情况存在两个以上部分建模;如“L”型工件,由于短边放置在平面时,俯视拍照仅能看到长边的末端横截面以及短边,故需要进行部分建模,并且在不同实施例中,根据“L”两边长短可存在一个或两个部分建模,例如,如果“L”的两边不相等,需要分别针对两个不等长边建立部分模型;如果“L”的两边等长,则只需要针对一边建立部分模型即可。
S102:获取所述待抓取工件所在区域的测量图像,得到世界坐标系下的第一点云,通过手眼标定将所述第一点云转化到机械臂基坐标系,并将机械臂基坐标系下的点云进行自切割预处理,得到第二点云。
所述区域表示所述待抓取工件所在的区域,可以包括工作台区域或工作台区域内的容器等区域。
使用光学相机对区域进行拍摄测量,将测量图像转化为世界坐标系下的点云,成为第一点云。所述世界坐标系是用户定义的三维世界的坐标系;世界坐标系的位置可以根据实际情况自由确定,例如,在该系统中取标定相机时标定板的第一张图像的中心点作为原点,标定板的横向为X轴,纵向Y轴,垂直标定板方向为Z轴。
在得到世界坐标系下的第一点云后,需要通过手眼标定将所述第一点云转化到机械坐标系下。所述机械臂基坐标系简称基坐标系,一般定义在机械臂基座的位置上,如果机械臂是固定在地面上的,则机械臂基坐标系相对世界坐标系就是静止的; 如果机械臂安装在滑轨/移动平台上,基坐标系相对于世界坐标系就是动态变换的。该系统中机械臂基坐标系原点为基座所在位置,X、Y、Z轴分别是机械臂所在位置前后、左右、上下方向。
手眼标定的过程为:通过机械臂拿取标定板,在不同位姿下进行拍照,记录拍照时机械臂示教器显示的位姿,理论上只需要三张不同位姿的照片即可,实际操作中为了减少误差,一般可设置多张。计算出机械臂示教器显示位姿与世界坐标系下标定板位姿之间的关系,所述关系就是机械臂基坐标系与世界坐标系转换矩阵,即为手眼标定。
当将所述第一点云转化到机械臂基坐标系下后,由于点云中往往会存在工作台、容器等无用信息,这些信息会对模板匹配造成干扰,因此在本发明的实施例中,对转化到机械臂基坐标系下的点云进行自切割预处理,自切割预处理后得到第二点云。
所述自切割预处理包括:
识别出所述机械臂基坐标系下的点云中的Z轴最小值,以所述Z轴最小值向Z轴正方向累加预设值,得到区间最大值;以所述Z轴最小值与所述区间最大值作为切割区间的最小值和最大值,构建切割区间;所述机械臂基坐标系下Z轴坐标在所述切割区间内的点进行清除,将剩余的点云作为第二点云。
由于点云中一般会包括工作台、容器等无用工件,此时所述预设值一般近似为工作台的厚度与容器底边厚度之和。
通过自切割预处理能够排除工作台以及容器等无用点云对待抓取工件的点云的干扰,提高模板匹配的成功率。
S103:将所述待抓取工件的完整模型和/或部分模型与所述第二点云进行匹配,得到匹配结果。具体过程如图2所示,包括:
S201:当存在所述待抓取工件的完整模型时,将所述完整模型与所述第二点云进行匹配,直至遍历全部待抓取工件的完整模型,执行S202;
S202:判断是否匹配出一个或多个工件,如果是,则将匹配出的工件作为匹配结果;否则,执行S203;
S203:判断是否存在所述待抓取工件的部分模型,如果不存在,则未匹配出工件,抓取结束;如果存在,则将所述部分模型与所述第二点云进行匹配,直至遍历全部待抓取工件的全部部分模型,执行S204;
S204:判断是否匹配出一个或多个工件,如果是,则将匹配出的工件作为匹配结果;否则,未匹配出工件,抓取结束。
作为本发明的一种实施例,如果所述待抓取工件只有完整模型,则将所述完整模型与所述第二点云进行匹配,直至遍历全部待抓取工件的完整模型。在本实施例中,匹配出的工件可能有一个或者多个,也可能匹配不出工件。当仅匹配出一个工件时,该工件即为匹配结果;当匹配出多个工件时,将匹配出的若干工件作为匹配结果;当未匹配出工件时,抓取结束。
作为本发明的一种实施例,如果所述待抓取工件只有部分模型,则将所述部分模型与所述第二点云进行匹配,直至遍历全部待抓取工件的部分模型。在本实施例中,匹配出的工件可能有一个或者多个,也可能匹配不出工件。当仅匹配出一个工件时,该工件即为匹配结果;当匹配出多个工件时,将匹配出的若干工件作为匹配结果;当未匹配出工件时,抓取结束。
作为本发明的一种实施例,如果所述待抓取工件既有完整模型,又有部分模型,则先将所述完整模型与所述第二点云进行匹配,直至遍历全部待抓取工件的完整模型;判断通过完整模型与第二点云的匹配是否匹配出一个或多个工件,如果是,则将匹配出的工件作为匹配结果;否则继续将所述部分模型与所述第二点云进行匹配,直至遍历全部待抓取工件的全部部分模型;判断通过部分模型与第二点云的匹配是否匹配出一个或多个工件,如果是,则将匹配出的工件作为匹配结果;否则,未匹配出工件,抓取结束。
作为本发明的一种实施例,将模型与点云进行匹配的过程,包括:
首先,对模型进行采样。
可以自行设置采样点相对采样物体直径的距离,距离越小,采样精度越大,采样点越多,匹配越准确,但计算速度也越慢;反之采样距离越大,采样精度越小,采样点越少,但计算速度也越快。
其次,保存建模采样信息。
一般采用的是记录点对信息,这里包括四个维度,分别是两点距离、两个点各自法向量以及两点法向量夹角;最后将所有采样信息存储到一个哈希表里。
最后,在第二点云里进行匹配。
就是看所述第二点云与模板之间重合的采样点的比例,占比越高,得分越高;最高得分是1,最低得分是0。通常需要设置最小匹配分数,如果模型匹配分数大于最小匹配分数,则认为是匹配成功。最小匹配分数一般设置在0.2-0.5之间。
通过综合使用完整模型和部分模型进行模型匹配,能够解决仅靠完整模型匹配,只能匹配出部分工件,对于点云中包含信息较少的工件无法准确进行匹配的问题。
在一些实施例中,当所述匹配结果中包括多个工件时,计算每个工件的匹配分数,按照所述匹配分数由高到低对各个工件进行排序,将所述匹配分数最高的工件作为目标工件;
所述匹配分数为:
S=k
其中,S为匹配分数;S
作为本发明的一种实施例,以工件的倾斜角度和工件的Z轴高度作为两个指标,对匹配分数进行计算,即:
第一指标为工件实际位姿与最方便抓取位姿的倾斜角度(一般为水平放置),该指标可从匹配位姿中直接获得,如设置一个工件X轴与工件多个轴心中的一个重合,YZ两轴垂直与工件轴心,且在工件平放在工作台上时,定义最方便抓取位姿为X与Y轴平行工作台,Z轴垂直工作台,那么绕Y轴的旋转角度就是该工件与最方便抓取位姿的倾斜角度。第二个指标是工件的高度,即Z坐标参数,因为工件从顶端抓取方便于从底端抓取,同样条件抓取时先抓取顶端,Z轴越大分数越高。为两个指标分配权重,通过公式S=k
S104:从所述匹配结果中确定目标工件,获取所述目标工件的位姿,并根据所述目标工件的位姿得到抓取工具的抓取位姿。具体包括:
首先,获取所述目标工件的位姿矩阵,根据抓取工具对所述目标工件的抓取点进行识别;所述抓取点为一个或多个。
将匹配分数排序最高的工件作为目标工件,获取所述目标工件的位姿矩阵。由于所述目标工件的形状不同,可能会存在不止一个抓取点,例如一个细长圆柱体,当其位姿处于水平放置在工作台上时,其抓取点可以是圆柱体侧面的各个位置点,即理论上存在无数个抓取点;当其一底面放置在工作台上时,可以其抓取点可以是上顶面,也可以是侧面的若干位置点。选择其中一个抓取点即可作为抓取工具对所述目标工件的抓取点。
其次,获取所述目标工件在所述抓取点处与所述抓取工具的相对位姿关系矩阵。要保证抓取工具抓取点与工件可抓取点重合且抓取状态的稳定,在此前提下,仍可以确定多个抓取工具与工件的相对位姿关系。例如一个细长圆柱体,当其位姿处于水平放置在工作台上时,选择其侧面上一个位置点作为抓取点,在抓取工具抓取目标工件的抓取状态稳定前提下,抓取工具可以竖直向下抓取,也可以绕抓取点进行旋转,旋转最大角度为抓取工具与工作台平面碰撞的临界值。在旋转的过程中,不同的角度都会产生不同的抓取位姿,得到所述目标工件在所述抓取点处与所述抓取工具的若干个相对位姿关系矩阵。
最后,将所述目标工件的位姿矩阵与其在所述抓取点处与所述抓取工具的相对位姿关系矩阵的乘积作为所述抓取工具的抓取位姿;所述抓取位姿为一个或多个。
作为本发明的一种实施例,一个相对位姿关系矩阵为A、工件匹配位姿矩阵为B,则抓取工具的最终位姿H=B×A。
而在上述实施例中,细长圆柱体工件平放在工作台上,可取竖直向下抓取工具位姿矩阵A1,沿工件轴左右分别旋转到安全极限的抓取工具位姿矩阵A2、A3,此时根据工件实际匹配位姿计算抓取工具位姿分别为H1=B×A1、H2=B×A2、H3=B×A3。
所述抓取工具包括多种能够实现抓取功能的工具,例如夹爪工具、吸盘工具等。
S105:将所述抓取位姿进行逆变换,以所述逆变换后的位姿对所述第二点云进行仿射变换,将所述第二点云由机械臂基坐标系转换到抓取工具坐标系。
所述逆变换有两种方式:可以将位姿转换成矩阵,对矩阵求逆,再转换回位姿;也可以根据位姿旋转平移顺序反推,如位姿先旋转后平移,位姿的逆就先平移后旋转,位姿以XYZ轴为顺序分别旋转角度α、β、γ,逆则以ZYX为顺序分别旋转-γ、-β、-α,平移向量(a,b,c)逆平移向量(-a,-b,-c)。
所述仿射变换,指对空间向量发生一次线性变换与平移,例如一个向量从原点指向X轴上(1,0,0)点,要使向量变为从(1,0,0)点指向(1,1,0)点,首先要对向量进行一次线性变换,这里指绕Z轴逆时针旋转90度,旋转后向量为从原点指向(0,1,0),再沿着X轴平移一个单位即可完成仿射变换。
S106:在所述抓取工具坐标系中构建所述抓取工具的包围盒模型,设置阈值,当所述包围盒模型中点的数量不超过所述阈值时,对目标工件执行抓取。
所述抓取工具的包围盒模型为所述抓取工具坐标系中的长方体模型;所述抓取工具被包围在所述长方体模型内;所述长方体模型的任一边长与所述抓取工具坐标系的一坐标轴平行。
所述抓取工具坐标系的定义方法是以抓取工具与目标工件的接触点为原点,以抓取工具从根部到末端方向为Z轴建立的坐标系。
所述第二点云当前处于抓取工具坐标系下,抓取工具本身在抓取工具坐标系下位姿为[0,0,0,0,0,0],只要在所述抓取工具坐标系中建立一个或多个的各边都与对应坐标轴平行的长方体包围盒即可模拟抓取工具。
在长方体包围盒中检测目标点云数量,设定一个阈值,判断点云数量是否超过阈值,即可完成冲突检测。安全起见,点云阈值最好设为0,即表示包围盒模型中有点云存在就判断为冲突。
作为本发明的一种实施例,如图3所示,当所述包围盒模型中点的数量超过所述阈值时,判断所述目标工件是否存在其他抓取位姿,如果是,则任选其中一抓取位姿,返回S105;否则判断所述匹配结果中是否有可抓取工件,如果所述匹配结果中有可抓取工件,则返回S104;如果所述匹配结果中没有可抓取工件,则抓取结束。
所述目标工件是否存在其他抓取位姿需要根据S104中得到的抓取工具的抓取位姿中,除了当前抓取位姿是否还有其他抓取位姿进行判断。
所述匹配结果中是否有可抓取工件需要根据S103中得到的匹配结果中是否有下一次序的待抓取工件进行判断。
根据本发明的实施例,通过利用完整模型和部分模型相结合的方式进行模型匹配,能够提升工件识别效率和速度,节省匹配时间;对抓取工具建立包围盒模型,使抓取工具在抓取的过程中能够考虑到机械臂夹取工件时可能会与遮挡物碰撞的问题,提升抓取安全性。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本发明所必须的。
以上是关于方法实施例的介绍,以下通过装置实施例,对本发明所述方案进行进一步说明。
如图4所示,装置400包括:
第一建模模块410,用于对待抓取工件进行完整建模和/或部分建模,得到所述待抓取工件的完整模型和/或部分模型。
第一转换模块420,用于获取所述待抓取工件所在区域的测量图像,得到世界坐标系下的第一点云,通过手眼标定将所述第一点云转化到机械臂基坐标系,并将机械臂基坐标系下的点云进行自切割预处理,得到第二点云;
匹配模块430,用于将所述待抓取工件的完整模型和/或部分模型与所述第二点云进行匹配,得到匹配结果;
确定模块440,用于从所述匹配结果中确定目标工件,获取所述目标工件的位姿,并根据所述目标工件的位姿得到抓取工具的抓取位姿;
第二转换模块450,用于将所述抓取位姿进行逆变换,以所述逆变换后的位姿对所述第二点云进行仿射变换,将所述第二点云由机械臂基坐标系转换到抓取工具坐标系;
第二建模模块460,用于在所述抓取工具坐标系中构建所述抓取工具的包围盒模型,设置阈值,当所述包围盒模型中点的数量不超过所述阈值时,则对目标工件执行抓取。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,所述描述的模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
如图5所示,设备包括中央处理单元(CPU),其可以根据存储在只读存储器(ROM)中的计算机程序指令或者从存储单元加载到随机访问存储器(RAM)中的计算机程序指令,来执行各种适当的动作和处理。在RAM中,还可以存储设备操作所需的各种程序和数据。CPU、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
设备中的多个部件连接至I/O接口,包括:输入单元,例如键盘、鼠标等;输出单元,例如各种类型的显示器、扬声器等;存储单元,例如磁盘、光盘等;以及通信单元,例如网卡、调制解调器、无线通信收发机等。通信单元允许设备通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元执行上文所描述的各个方法和处理,例如方法S101~S106。例如,在一些实施例中,方法S101~S106可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元。在一些实施例中,计算机程序的部分或者全部可以经由ROM和/或通信单元而被载入和/或安装到设备上。当计算机程序加载到RAM并由CPU执行时,可以执行上文描述的方法S101~S106的一个或多个步骤。备选地,在其他实施例中,CPU可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法S101~S106。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)等等。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
- 一种基于相机测量的多模型工件无序抓取方法及装置
- 一种基于相机测量的多模型工件无序抓取方法及装置