吸盘阵列校验方法、装置、电子设备和存储介质与流程

文档序号:32564704发布日期:2022-12-16 17:32阅读:85来源:国知局
吸盘阵列校验方法、装置、电子设备和存储介质与流程

1.本技术涉及机械手控制技术领域,更具体而言,特别涉及吸盘阵列校验方法、装置、电子设备和存储介质。


背景技术:

2.目前,随着智能程控机器人的广泛普及,越来越多的物品能够借助智能程控机器人实现抓取以及运输操作。例如,物流包装能够通过智能程控机器人进行抓取,从而大幅提升抓取效率。为了提升抓取效率,也为了能够灵活适配多种物品对象,智能程控机器人通常会安装由多个夹具构成的夹具组,以便根据不同的物品对象灵活调用夹具组中的不同夹具。不同的夹具能够抓取的对象不同,例如吸盘阵列,能够吸取类似玻璃材质的物体,而一旦遇到橡胶或者凸起等时,则会导致抓取失败。对于此类夹具无法抓取的物体或结构,称之为障碍。
3.常规的智能机器人只能针对固定型号的抓取对象以及障碍物单一简单的情况进行避障抓取,这种情况下,抓取对象以及障碍物的大小,形态和位置均是固定的。现有技术中根据型号以及障碍物的位置将夹具设定在抓取对象的中心且非障碍物的位置,从而避开障碍物进行抓取。然而这种避障抓取方法存在以下缺陷:首先,该抓取方法只能用于障碍物在固定位置且型号固定的物品,即在待抓取的物品型号未知时或者待抓取的物品型号已知但是障碍物的位置不固定时,无法准确地避开障碍物进行抓取;其次,该抓取方法并不判断多个夹具是否能稳定地抓取物体,假如使用的夹具数量不够或者多个夹具的排列不合适,例如多个夹具排列成一条直线,在该情形下抓取物体后,重心不稳,抓取过程中物体可能会摆动,导致物体掉落或者与预期之外的其它物品碰撞而损毁。


技术实现要素:

4.鉴于上述问题,提出了本发明以便克服上述问题或者至少部分地解决上述问题。具体地,根据上述实施例,首先,本发明能够先获取夹具可能的抓取方式,选取其中最佳的且不会抓到障碍的抓取方式执行物品的抓取,使得即便物品上存在不能抓取的障碍时,也能够准确地避障抓取物品;其次,针对突起/凹陷这类导致夹具可能无法正确抓取的障碍,本发明提出了一种通过分组确定特定区域各个像素点的深度值差异以及不同的深度值的数量来确定该区域是否存在非平面结构的方法,由于本方法使用了数值统计的方式而非确定非平面结构具体位置的方式来判定非平面结构是否存在,因此处理效率高且实用性强,并且还能适用于抓取之外的可能需要判断物体表面是否存在非平面结构的工业场景;再次,本发明能够在夹具组执行抓取之前,预先校验所使用的抓取方式能否正确抓取物品,提高了抓取的稳定性,避免了抓取过程中可能出现的重心不稳而导致被抓取物品损毁、灭失等问题;最后,本发明基于通用的避障抓取方法以及夹具校验方法,开发了专用于使用吸盘阵列进行玻璃抓取这一工业场景的避障抓取方法以及吸盘校验方法,能够提高使用吸盘阵列进行玻璃抓取的准确性和稳定性。由此可见,本发明解决了使用夹具进行物品抓取这一
工业场景中出现的方方面面的问题。
5.本技术权利要求和说明书所披露的所有方案均具有上述一个或多个创新之处,相应地,能够解决上述一个或多个技术问题。具体地,本技术提供一种吸盘阵列校验方法、装置、电子设备和存储介质。
6.本技术的实施方式的吸盘阵列校验方法,包括:
7.根据吸盘阵列的形态将阵列中的全部吸盘分组;
8.获取吸盘阵列的状态信息;
9.基于吸盘阵列的状态信息确定可开启吸盘的数量信息和可开启吸盘所在的分组信息;
10.判断可开启吸盘的数量是否满足预设的条件和/或可开启吸盘的分组信息是否满足预设的条件;
11.根据所述判断结果确定吸盘阵列在该状态下能否执行抓取。
12.在某些实施方式中,所述根据吸盘阵列的形态将阵列中的全部吸盘分组包括将吸盘阵列划分为左上,左下,右上,右下四个区域,并根据全部吸盘所在区域将全部吸盘分为四组。
13.在某些实施方式中,基于待抓取物品的重量预设可开启吸盘的数量需要满足的条件。
14.在某些实施方式中,基于待抓取物品的重心预设可开启吸盘的分组信息需要满足的条件。
15.在某些实施方式中,可开启吸盘的分组信息需要满足的条件包括:可开启的吸盘至少分布在三个组中。
16.在某些实施方式中,所述根据所述判断结果确定吸盘阵列在该状态下能否执行抓取包括:当吸盘数量满足预设条件且吸盘分组信息满足预设条件时,确定能够执行抓取。
17.本技术的实施方式的吸盘阵列校验装置,包括:
18.分组模块,用于根据吸盘阵列的形态将阵列中的全部吸盘分组;
19.状态信息获取模块,用于获取吸盘阵列的状态信息;
20.信息确定模块,用于基于吸盘阵列的状态信息确定可开启吸盘的数量信息和可开启吸盘所在的分组信息;
21.条件判定模块,用于判断可开启吸盘的数量是否满足预设的条件和/或可开启吸盘的分组信息是否满足预设的条件;
22.抓取确定模块,用于根据所述判断结果确定吸盘阵列在该状态下能否执行抓取。
23.在某些实施方式中,所述分组模块具体用于将吸盘阵列划分为左上,左下,右上,右下四个区域,并根据全部吸盘所在区域将全部吸盘分为四组。
24.在某些实施方式中,基于待抓取物品的重量预设可开启吸盘的数量需要满足的条件。
25.在某些实施方式中,基于待抓取物品的重心预设可开启吸盘的分组信息需要满足的条件。
26.在某些实施方式中,可开启吸盘的分组信息需要满足的条件包括:可开启的吸盘至少分布在三个组中。
27.在某些实施方式中,抓取确定模块具体用于:当吸盘数量满足预设条件且吸盘分组信息满足预设条件时,确定能够执行抓取。
28.本技术的实施方式的电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式的吸盘阵列校验方法。
29.本技术的实施方式的计算机可读存储介质其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式的吸盘阵列校验方法。
30.本技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本技术的实践了解到。
附图说明
31.本技术的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
32.图1是本技术某些实施方式的夹具避障抓取方法的流程示意图;
33.图2是本技术某些实施方式的物品表面非平面结构判定方法的流程示意图;
34.图3是本技术某些实施方式的夹具校验方法的流程示意图;
35.图4是本技术某些实施方式的使用吸盘的玻璃抓取方法的流程示意图;
36.图5是本技术某些实施方式的玻璃及障碍点云以及吸盘排列的示意图;
37.图6是本技术某些实施方式的优选的玻璃抓取时的障碍判断的流程示意图;
38.图7是本技术某些实施方式的待贴条的涂胶工艺的示意图;
39.图8是本技术某些实施方式的吸盘阵列校验方法的流程示意图;
40.图9是本技术某些实施方式的夹具避障抓取装置的结构示意图;
41.图10是本技术某些实施方式的物品表面非平面结构判定装置的结构示意图;
42.图11是本技术某些实施方式的夹具校验装置的结构示意图;
43.图12是本技术某些实施方式的使用吸盘的玻璃抓取装置的结构示意图;
44.图13是本技术某些实施方式的吸盘阵列校验装置的结构示意图;
45.图14是本技术某些实施方式的电子设备的结构示意图。
具体实施方式
46.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
47.图1示出了根据本发明一个实施例的基于机器人的夹具避障抓取方法的流程示意图,如图1所示,该方法包括:
48.步骤s100,获取待抓取物品组的点云信息。
49.待抓取物品组可以包括一个或多个待抓取物品,还可以包括一个或多个障碍物。障碍物可能存在与待抓取物品上,例如待抓取物品上的凸起,粘在待抓取物品上的胶条等;障碍物也可能存在于待抓取物品之外,例如待抓取物品可能按层堆叠放置,层之间会有橡
胶垫等。相应地,待抓取物品组的点云信息可以包括一个或多个待抓取物品和/或障碍物的点云信息。
50.作为一个示例,可以通过3d工业相机获取点云信息,3d工业相机一般装配有两个镜头,分别从不同的角度捕捉待抓取物品组,经过处理后能够实现物体的三维图像的展示。将待抓取物品组置于视觉传感器的下方,两个镜头同时拍摄,根据所得到的两个图像的相对姿态参数,使用通用的双目立体视觉算法计算出待涂胶玻璃的各点的x、y、z坐标值及各点的坐标朝向,进而转变为待抓取物品组的点云数据。具体实施时,也可以使用激光探测器、led等可见光探测器、红外探测器以及雷达探测器等元件生成点云,本发明对具体实现方式不作限定。
51.通过以上方式获取的点云数据是三维的数据,为了滤除对抓取影响较小的维度对应的数据,减小数据处理量进而加速数据处理速度,提高效率,可将获取的三维的待抓取物品组点云数据正投影映射到二维平面上。
52.作为一个示例,也可以生成该正投影对应的深度图。可以沿垂直于物品的深度方向获取与三维物品区域相对应的二维彩色图以及对应于二维彩色图的深度图。其中,二维彩色图对应于与预设深度方向垂直的平面区域的图像;对应于二维彩色图的深度图中的各个像素点与二维彩色图中的各个像素点一一对应,且各个像素点的取值为该像素点的深度值。
53.步骤s110:基于待抓取物品组的点云信息以及夹具的搜索边界因素参数生成搜索状态。
54.夹具的搜索边界因素参数包括夹具的可控参数的控制边界,控制粒度及其它边界因素参数。根据实际情况,例如,所使用的夹具类型,待抓取物品类型和尺寸等,搜索边界因素参数及数值可以不同。
55.作为一个示例,可控参数可以包括x方向的移动距离、y方向的移动距离及旋转的角度,x方向的移动距离边界(即可控边界)可以设定为-500mm到500mm,控制粒度为100mm,则夹具能够在x方向上从-500mm,以100mm为单位,移动到500mm,如此在x方向上共有11个搜索状态;y方向的移动距离边界可以设定为-100mm到100mm,控制粒度为50mm,则夹具能够在y方向上从-100mm,以50mm为单位,移动到100mm,如此在y方向上共有5个搜索状态;旋转的角度可以设定为-50度到+50度,控制粒度为10度,则夹具能够从-50度,以10度为单位,旋转到+50度,如此旋转角度上共有11个搜索状态。在上述搜索边界因素参数的设置下,总计有11
×5×
11=605个搜索状态。此外,还可以设置其它边界因素参数,例如可以设定夹具的移动距离不能超过某一边的100mm,则夹具向该边移动时只能移动到距离该边的100mm的位置。
56.为了方便对夹具进行控制,可以对夹具的形态,尺寸等信息进行配置,配置信息可以使用json文件配置保存。根据实际情况的不同,比如使用的夹具或者待抓取物品的不同,配置信息可以不同。例如在使用吸盘阵列进行抓取时,配置信息可以包括单个吸盘相对整个吸盘阵列中心的位置、单个吸盘的编号、半径等。
57.本发明的方案可以用于多种类型的夹具,例如,包括各类通用夹具,通用夹具是指结构已经标准化,且有较大适用范围的夹具,例如,车床用的三爪卡盘和四爪卡盘,铣床用的平口钳及分度头等。又如,按夹具所用夹紧动力源,可将夹具分为手动夹紧夹具、气动夹
紧夹具、液压夹紧夹具、气液联动夹紧夹具、电磁夹具、真空夹具等。本发明不限定夹具的具体类型,只要能够实现物品抓取操作即可。
58.步骤s120:针对每一种搜索状态,执行障碍判定,将通过障碍判定的搜索状态设为备选搜索状态。
59.障碍判定用于判断某种搜索状态下,夹具所面对的障碍情况,例如障碍存在与否,是否影响抓取等,若没有障碍,或障碍不影响抓取,则通过障碍判定,否则不通过。如果使用多个夹具或由多个夹具构成的夹具阵列进行抓取,可以对每个夹具分别执行障碍判定。本发明的重点之一在于遍历所有搜索状态,进行障碍判定,因而并不对障碍判定方式进行限定,任意的障碍判定方式都可以用在本发明中。可以只通过一种障碍判定方式对待抓取物品的障碍情况进行判定,也可以将多种障碍判定方式组合起来进行判定。如果采取多种判定方式的组合,多种判定方式之间可以依照一定顺序进行,也可以并行进行,当多种判定方式中的任一判定方式不通过时,则认为该搜索状态的障碍判定不通过。
60.在一种可选的实现方式中,本发明示例性地给出了边界避障,固定障碍物避障,凸起\凹陷避障和自定义避障这四种障碍判定方法。
61.边界障碍判定
62.一些夹具无法在物品边缘抓取物品,使用这些夹具时,物品边界本身将构成抓取的障碍,因此需要识别出物品的边界以避免在边界处抓取待抓取物品。为了识别出边界,可以获取待抓取物品组的点云数据,具体地,可以使用步骤100的方法获取点云数据,将该点云数据中处于边缘的部分进行截取,得到待抓取物品组的轮廓点云,由于获得的待抓取物品组的轮廓点云是三维点云数据,而三维点云数据会由于各种外界或内在因素而影响物品边缘轮廓的确定。为此,为了能够更加精准的明确物品边缘的轮廓,可对物品边缘的轮廓点云进行投影,将上述轮廓点云映射到二维平面上,得到待抓取物品组边缘的轮廓点。由于此时待抓取物品组边缘的轮廓点是二维数据,基于该二维数据可以更加清楚地明确该待抓取物品组边缘的轮廓点。
63.为了避免获取的点云不完整,可以从所得到的待抓取物品组的二维图案中获取到待抓取物品的四个角落处的轮廓点。根据上述待涂胶玻璃四个角落处的轮廓点,得到待涂胶玻璃的最小外接矩形,将该最小外接矩形看作待抓取物品组的轮廓四边形。或者将四个角落处的轮廓点按照从左到右、从上到下的顺序顺时针依次连接,形成待抓取物品的边缘线,将边缘线围成的四边形看作待抓取物品组的轮廓四边形。
64.对于每一种搜索状态,判定该搜索状态下夹具的中心与物品边缘轮廓点的关系,若夹具中心位于所得到的的轮廓之外,表示该夹具位于待抓取物品的边界,此时,判定存在边界障碍,障碍判定不通过;若夹具中心位于轮廓之内,则障碍判定通过。
65.固定障碍判定
66.待抓取物品可能同某些固定的障碍物放置在一起从而组成待抓取物品组,例如,待抓取物品是钢板或者玻璃时,多块钢板或者玻璃可能会堆叠放置时,每层钢板或者玻璃之间可能会通过橡胶垫或泡沫塑料隔开,当上层钢板或者玻璃被抓取后,橡胶垫或泡沫塑料会遗留在下层钢板或者玻璃之上,从而成为抓取时的障碍。在此类情况下,需要对这些固定存在但是位置并不确定的,影响夹具抓取待抓取物品的固定障碍物进行障碍判定。
67.为了识别出固定障碍物,可以获取待抓取物品组的三维点云数据,将其映射到二
维平面上,其中,可以使用步骤100的方法获取点云数据并进行映射。由于固定障碍物通常具有统一的规格,例如,统一的尺寸或形状,因此可以预设固定障碍物的规格参数,对于每一个搜索状态,可以基于二维点云数据,判断该搜索状态下,夹具下方是否存在满足该预设规格参数的物品,如果存在,则判定存在固定障碍物,障碍判定不通过;否则,障碍判定通过。
68.凸起\凹陷障碍判定
69.根据待抓取物品的不同,物品自身可能存在凸起或凹陷部分,这些凸起/凹陷可能是物品本身就有的,也可能是因为碰撞等原因导致。某些夹具在凸起或凹陷处可能无法正确地抓取物品,例如,如果使用吸盘夹具吸在了凸起棱处,吸盘无法与物体完全贴紧导致漏气,继而也无法在该位置抓取物品。故在某些情形下,需要将凸起/凹陷作为障碍进行障碍判定。
70.申请人在研发过程中发现,凸起/凹陷作为待抓取物品的一部分,通过轮廓点云数据难以区分,并且,与固定障碍物不同,凸起/凹陷通常也并不具有固定的规格,常规的方式无法识别出物品的凸起/凹陷。
71.为了解决该问题,本发明提出了一种物体表面非平面结构的判定方法,该方法也是本发明的重点之一,该方法可以用于本发明某些实施例中用于判断凸起/凹陷障碍,也可以在其它需要判断物体表面是否具有非平面结构的情况下使用,而不局限于在避障抓取的方案中使用。图2示出了根据本发明的物体表面非平面结构的判定方法的流程示意图,非平面结构包括凸起,凹陷等结构。如图2所示,该方法包括:
72.步骤200,获取物品表面待判定区域的二维平面深度图信息。
73.将物品三维的点云数据正投影映射到二维平面上后,生成该正投影对应的深度图作为待判定区域的二维平面深度图信息。可以采用与步骤100类似的方式获取该深度图。也可以不获取物品整体的深度图,而获取物品部分区域或待判定区域的深度图。
74.步骤210,根据二维平面深度图信息获取待判定区域内每个像素点的深度值。
75.深度图中的各个像素点与正投影的二维图中的各个像素点一一对应,且各个像素点的取值为该像素点的深度值。为了确定待判定区域内是否存在凸起或凹陷等非平面结构,本步骤中可以获取待判定区域内每个像素点的深度值。
76.步骤220,将获得的深度值分组。
77.平面结构的各个像素点的深度值相同或者差距较小,而凸起或凹陷等非平面结构的各个像素点的深度值会有较大差异。本步骤中将获得的全部像素点的深度值分组,如果有多个相同的深度值,则可以合并为一个深度值再进行分组。
78.在分组时,可以将所有获得的深度值按照两个或两个以上的深度值为一组进行分组。分组的方式可以采用随机分组或其它任意的分组方式,本发明对此不作限制。作为一个优选的实施例,可以先将所有的深度值进行排序,之后将最高值和最低值分为一组,次高值和次低值分为一组,依次类推,将所有的深度值分组。
79.步骤230,计算每个分组内深度值的差值,并与预设的差值阈值进行比较;和/或,计算分组的数量,并与预设的分组数阈值进行比较。
80.深度值的差值能够反映出像素点之间的距离,两个像素点之间的深度值差值越大,则表示两点之间的高度差越大,因此深度值的差值能够反映出待判定区域凹凸不平的
程度。此外,分组的数量能够反映出具有不同高度的像素点的数量,待判定区域内的分组数量越大,则表示有越多高低起伏的像素点。因此分组数量能够从另一个角度反映出待判定区域内凹凸不平的程度。深度值的差值或分组数量可以单独使用以判断物体是否存在非平面结构。作为一个优选的实施例,也可以使用深度值的差值和分组数量联合判定物体是否存在非平面结构,申请人发现与单独使用相比,此种方式能够大幅增加非平面结构判定的准确率。在另一个实施例中,差值阈值和/或分组数阈值可以根据实际情况的需要进行设定,例如在将方法运用于抓取避障时,对于某些夹具来说,较小的凸起并不影响抓取,因而可以将阈值设置得比较大,这样不会将较小的凸起判定为不可抓取的障碍。
81.步骤240,根据比较结果判定区域的非平面结构情况。
82.非平面结构情况可以包括非平面结构是否存在,当深度值的差值和/或分组数量超过阈值时,判定存在非平面结构;还可以包括非平面结构的起伏程度,可以为起伏程度设定多个等级。在其它的实施例中,还可以设置多级阈值,通过不同阈值的组合判定非平面结构是否存在或者起伏程度等级。作为一个优选的实施例,在使用深度值的差值和分组数量联合判定非平面结构情况时,可以设定深度值的差值超过差值阈值且分组数量超过分组数阈值时,判定存在非平面结构。
83.自定义障碍判定
84.工业场景中,存在部分无法通过机器人视觉技术识别的障碍,例如在待抓取物是玻璃时,玻璃上可能会涂胶,涂胶通常较为透明,特征也不明显,无法正确识别,而夹具也不能在涂胶位置抓取玻璃。为了识别诸如此类的障碍,可以在抓取前自定义障碍的尺寸,形态以及位置等信息。如此,对于每一个搜索状态,根据预先定义好的障碍信息判定夹具下是否存在障碍。在一种实施方式中,可以先根据自定义的障碍信息生成该障碍的边缘轮廓,之后对于每一搜索状态,判定该搜索状态下夹具的中心与该自定义的障碍物边缘轮廓的关系,若夹具中心位于所得到的的轮廓之外,判定存在障碍,障碍判定不通过;若夹具中心位于轮廓之内,则障碍判定通过。在另一个实施例中,还可以设置边缘轮廓的内缩距离,即令障碍物的原始边缘轮廓向内部收缩一定的距离,再执行夹具中心与边缘轮廓相对位置的判定。
85.在步骤s120中,还可以对方案进行如下的扩展或改进:
86.对于某个搜索状态,若夹具通过障碍判断,则在该搜索状态下,设定开启该夹具;没有通过,则在该搜索状态下,将该夹具设为关闭状态;
87.如果使用多个夹具或由多个夹具构成的夹具阵列进行抓取,则在执行障碍判定时,可以针对多个夹具中的每一个夹具执行障碍判定;
88.在某个搜索状态下,若至少一个夹具通过障碍判定,则可以将该搜索状态设定为备选搜索状态;
89.在执行障碍判定时,也可以在存在障碍但不影响抓取时,判定通过障碍判定,而在障碍存在且影响抓取时,才判定不通过。
90.步骤s130,从备选搜索状态中选择最佳搜索状态。
91.根据实际情况,例如待抓取物品以及使用的夹具的不同,选择最佳搜索状态的方式也不同,本发明对此不作限定,任意的选择方式都可以用在本发明的方案中。作为一个较佳的实施例,可以根据每个搜索状态下,夹具距待抓取物品中心的距离选择最佳搜索状态。通常来说,夹具的抓取位置距离物品中心越近,则抓得越稳,因此可以将夹具距物品中心最
近的搜索状态设为最佳搜索状态。为了计算夹具距物品中心的距离,可以先确定某一搜索状态下夹具的中心位置p1,接着求取物品的外接矩形,然后根据物品的外接矩形求取物体的中心位置p2,则p1与p2的距离即为夹具距物品中心的距离。
92.如果使用多个夹具或由多个夹具构成的夹具阵列进行抓取,还可以根据通过障碍判定的夹具的数量选择最佳的搜索状态,或者综合考虑夹具距物品中心的距离以及通过障碍判定的夹具的数量选择最佳搜索状态。在一种优选的实施方式中,可以优先根据数量选取,如果通过数量最多的搜索状态有多个,则从通过的多个搜索状态中,进一步选择夹具距离物品中心位置最近的搜索状态作为最佳搜索状态;在其它实施方式中,也可以预设一数量阈值,先选择所有夹具开启数量超过该阈值的搜索状态,再从这些搜索状态中选取距离中心最近的搜索状态作为最佳搜索状态。
93.步骤s140,基于所述最佳搜索状态抓取待抓取物品。
94.机器人根据最佳搜索状态下夹具的各项配置参数设定夹具的位置,角度以及数量等,然后执行物品的抓取并将物品放置在指定的位置。指定的位置包括地面,物品放置架等,一些物品在放置时有位置和状态的要求,例如需要垂直放置,以及不能过高或过低等。因此还可以求取最终规划结果的夹具中心到物体指定边的距离,从而将物品准确地放置在指定位置。
95.发明人发现在使用多个夹具或由多个夹具构成的夹具阵列进行抓取时,假如最佳搜索状态中使用的夹具数量不够或者多个夹具的排列不合适,例如多个夹具排列成一条直线,会导致抓取时重心不稳,如此抓取过程中物品可能会摆动,掉落或者与预期之外的其它物品碰撞而损毁。为此,本发明还提出了一种夹具抓取校验的方法,该方法可以在抓取物品之前,确定待使用的抓取方式是否能够稳稳抓住物品,从而避免抓取时不必要的损失。该方法可以在本发明的避障抓取方法中使用,也可以在其它抓取场景中使用,本发明对具体的使用情形不作限制,只要某抓取场景中使用了多个夹具或多个夹具组成的夹具阵列,就可以适用本方法进行校验,为了方便说明,本发明中将多个夹具,或多个夹具组成的夹具阵列统称为夹具组。
96.图3示出了根据本发明一个实施例的夹具组的校验方法的流程示意图。如图3所示,该方法包括:
97.步骤s300:获取夹具组的状态信息。
98.夹具组的状态是指夹具组中的各个夹具的特定参数的组合,夹具组在某个状态下执行抓取是指夹具基于该状态中的各项参数进行配置并执行抓取的动作,例如假设某个夹具具有3个夹具,分别为1-3号,1号夹具在待抓取物品的左边缘,且旋转角度为30度,2号夹具在物品的右边缘,且旋转角度为0度,1,2号夹具均设为开启,3号夹具在物品之外,设为不开启,这样的特定参数的组合即为夹具组的一个状态。状态信息可以包括该状态下夹具组的位置信息,夹具组中的各个夹具的位置信息,角度信息,以及这些夹具在当前状态下是否能够开启,哪些夹具能够开启等信息。
99.步骤s310:基于夹具组的状态信息确定可开启夹具的数量信息和/或可开启夹具的位置信息。
100.在确定可开启夹具的位置信息时,可以根据待抓取物品的轮廓信息,结合夹具边界参数确定夹具相对于待抓取物品的位置;也可以确定夹具相对于其它夹具的位置,或者
夹具相对于夹具阵列的位置作为夹具的位置。在一种实施方式中,可以将多个夹具或夹具阵列划分多个区域,夹具的位置信息可以用夹具所在的区域来表示。
101.步骤s320:判断可开启夹具的数量是否满足预设的条件;和/或判断可开启夹具的位置信息是否满足预设的条件。
102.可开启夹具的数量不足,或者可开启夹具的位置不佳,均可能导致抓取不稳。如果可开启夹具的数量不可调节或无需调节,或者夹具的位置不可调节或无需调节时,可以仅判断其中一项。本领域技术人员能够理解,相比于只判断一种条件,同时判断两种条件能够显著提高夹具抓稳的概率。可以根据待抓取物品的信息,例如根据待抓取物品的重量,预先设定需要满足的条件,例如设置可开启夹具的数量应当满足的条件。举个例子,在抓取较重的物品时,可以将夹具数量设为5个,如此可开启夹具的数量超过5个时才满足预设的条件;而对于较轻的物品,则可以设为3个。在待抓取物品的密度均匀时,也可以根据物品的面积大小设定需要使用的夹具数量,例如面积较大的物品,预设条件为5个夹具,面积较小的物品,则为3个,可以根据物品的轮廓信息确定物品的面积。对于可开启夹具的位置信息需要满足的条件,通常至少要避免多个夹具位于一条直线或近似于位于一条直线,根据实际情况的需要,也可以设置更加具体的位置信息,例如可以设置多个可开启夹具的位置的连线必须形成稳定的三角形;也可以根据待抓取物品的重心设置可开启夹具需要满足的位置信息以保证在抓取时具有稳定的重心,例如当待抓取物品中心质量较大时,则预设条件可以为在该待抓取物品的中心附近必须有可开启夹具或必须有特定数量的可开启夹具。
103.步骤s330:根据所述判断结果确定夹具组在该状态下能否执行抓取。
104.在具体实施时,可以仅在可开启夹具的数量满足条件或可开启夹具的位置信息满足条件时即执行抓取。也可以在两者同时满足条件时才执行抓取。位置信息的条件包括多个时,可以在满足多个条件时才进行抓取。
105.在一种实施方式中,可以在确定以某种状态执行物品的抓取之后,且在进行抓取之前,进行夹具校验。如果结合避障抓取方案使用,可以在前述实施例的步骤s130到步骤s140之间执行步骤s300-s330,即在选出最佳搜索状态后,将最佳搜索状态作为夹具阵列的状态执行夹具校验,确定是否可以使用该最佳搜索状态进行抓取。在另一种实施方式中,也可以结合夹具校验的方法来确定以某种状态执行物品的抓取。如果结合避障抓取方案使用,可以在前述实施例的步骤s120或步骤s130中执行步骤s300-s330,例如可以通过夹具校验方式选择备选搜索状态或者在选出备选搜索状态后,先将该备选搜索状态作为夹具阵列的状态,以夹具校验方法从中剔除不可执行抓取的搜索状态,再根据夹具的数量和距中心的距离选择最佳搜索状态。
106.本发明的避障抓取方法以及夹具抓取校验方法并不限制具体的夹具以及应用场景。为了能够在使用吸盘阵列抓取玻璃的工业场景中应用上述方法,发明人付出了艰辛的劳动对方法进行了进一步细化以适应该场景,这也是本发明的重点之一。
107.如图4示出了根据本发明优选实施例的使用吸盘阵列的玻璃避障抓取方法的流程图,该方法包括:
108.步骤s400:获取待抓取玻璃及障碍的点云信息。
109.本实施例中,玻璃可以按层堆叠放置,每层玻璃之间设有橡胶垫,将玻璃隔开。可以使用类似步骤s100的方式分别获取橡胶垫点云和物体自身点云,并将点云正投影到2d图
并生成正投影后对应的深度图。图5示出了以此方式获取的点云图,图中黑色部分是透明的玻璃,白色部分是非透明部分的点云。
110.步骤s410:基于点云信息以及吸盘阵列的搜索边界因素参数生成搜索状态。
111.吸盘的搜索状态包括吸盘在物体上不同的位置状态及吸盘本身的旋转状态。指定搜索边界因素参数可以包括x向、y向及旋转,还可以包括吸盘边界到指定边的距离。根据不同的搜索边界参数生成多种不同的搜索状态。如图5所示,所使用的吸盘阵列包括10个吸盘,分别编号为1-10,图5示出了某个搜索状态下这10个吸盘的位置,在其他搜索状态下,吸盘可能处于其他位置或者有不同的旋转角度。作为一个示例,x方向的移动距离边界(即可控边界)可以设定为-500mm到500mm,控制粒度为100mm,则夹具能够在x方向上从-500mm,以100mm为单位,移动到500mm,如此在x方向上共有11个搜索状态;y方向的移动距离边界可以设定为-100mm到100mm,控制粒度为50mm,则夹具能够在y方向上从-100mm,以50mm为单位,移动到100mm,如此在y方向上共有5个搜索状态;旋转的角度可以设定为-50度到+50度,控制粒度为10度,则夹具能够从-50度,以10度为单位,旋转到+50度,如此旋转角度上共有11个搜索状态。在上述搜索边界因素参数的设置下,总计有11
×5×
11=605个搜索状态。还可以设定夹具的移动距离不能超过上边界的100mm,则夹具在y向上只能移动到距离上边100mm为止。
112.步骤s420:针对每一种搜索状态,判断每个吸盘下方是否存在障碍,存在则在该搜索状态下关闭该吸盘。
113.如图6所示,判断吸盘下方是否存在障碍可以包括如下步骤:
114.步骤s421:判断吸盘下方是否存在玻璃边界障碍。
115.在当前的搜索状态,对每个吸盘,检查此单个吸盘中心是否在物体轮廓内部。可以通过判断吸盘下方区域内点云占比判断单个吸盘中心是否在物体轮廓内部,点云占比是指吸盘下方区域内,点云区域与整体区域的比例。当吸盘处于玻璃边界时,点云会显著增多,图5中的吸盘4-6即位于玻璃的边界,这些吸盘下方白色的点云区域占比明显较大,因此可以预设点云占比阈值,当吸盘下方区域内点云占比超过该阈值时,则判断吸盘下方存在玻璃边界障碍。占比阈值可以根据实际情况的需要,例如吸盘吸力,障碍物情况,而自行设定,本发明对具体取值不作限定。发明人发现占比阈值在5%-40%之内选取能够提高边界障碍判断的准确率,其中以为10%为最佳。
116.步骤s422:判断吸盘下方是否存在橡胶垫障碍。
117.本实施例中,玻璃一层层堆叠摆放,层与层之间通过橡胶垫隔开,除了最上层的玻璃,下层的每个玻璃上面都会存在用于隔开玻璃层的橡胶垫。如此在抓走上层玻璃后,下层玻璃上会有剩下的橡胶垫。由于橡胶块的尺寸是固定且已知的,可以根据尺寸过滤出橡胶块如果在。在一个实施方式中,可以预先设定障碍点云面积,当吸盘下方区域内的点云面积超过障碍点云面积时,则判断吸盘下方存在橡胶垫障碍。障碍点云面积可以根据所使用的橡胶垫的大小任意设定。
118.步骤s423:判断吸盘下方是否存在胶条障碍。
119.在工业场景中,可能会在玻璃的边界附近涂胶,涂胶后形成的胶条通常是透明的,这样的胶条点云特征不明显,难以识别,但是也不能让吸盘在胶条处抓取玻璃。为了能正确识别胶条障碍,可以由用户自行设定胶条的位置,机器人根据用户自行设定的胶条障碍信
息,判断吸盘阵列下方是否存在胶条障碍。具体地,可以根据用户设置而在玻璃的边缘轮廓附近生成一圈胶条,用户可以设置胶条的位置,内缩距离和胶条宽度,也可以在同一边生成两个胶条。图7示出了4种不同的涂胶工艺,对于工艺1,无需贴条,也无需预设贴条信息;对于工艺2,共两段内外层轨迹,可在内外层轨迹之间不涂的地方进行贴条,也可以不对内层轨迹进行贴条,单独生成指定边的内层轨迹段;对于工艺3,将开口段,即图中右侧无轨迹段,进行贴条;对于工艺4,对内层轨迹外的开口段,即图中与工艺3开口段类似位置的段,进行贴条。对于上述工艺2-4,预先在需要贴条的位置设定贴条障碍信息。如此,在贴条后,机器人能够根据用户设置的胶条信息,判断吸盘下方区域是否存在胶条障碍。
120.步骤s424:判断吸盘下方是否存在凸起障碍。
121.玻璃表面可能存在凸起,如果吸盘吸在了凸起棱处,则无法与玻璃表面完全贴紧,从而导致吸盘漏气,吸取失败。可根据吸盘下方区域的点云中各个像素点之间的深度差值及像素点的数量来判断该区域内是否存在凸起障碍。在一种实施方式中,可以获取吸盘下方区域所有点云的深度值,将所有深度值排序,再将最高的深度值与最低的深度值配对,次高的与次低的配对,第三高的与第三低的配对
……
以此方式将所有深度值配对。计算配对的深度值之间的差值,将深度差值与预设的深度差阈值进行比较,以及将配对数量与预设的对数阈值进行比较,如果高度差值超过阈值且配对数量超过阈值,则判断吸盘下方区域存在凸起障碍。深度差阈值和对数阈值可以根据实际情况的需要,例如吸盘吸力,障碍物情况,而自行设定,本发明对具体取值不作限定。发明人发现对数阈值和深度差阈值在以下范围内选取能够提高凸起障碍判断的准确率:对数阈值可以在10对-50对之内选取,以20对为最佳;深度差阈值可以在0.500mm-0.005mm之内选取,以0.015mm为最佳。
122.作为优选的实施例,可以严格按照步骤s421-s424的顺序执行障碍判断,在上一步骤判断存在障碍并关闭吸盘后,之后的步骤则不再执行,例如如果步骤s421中判断吸盘下方存在玻璃边界障碍,则关闭该吸盘,步骤s422-s424不再执行。由于上述四个步骤之间相对独立,因此也可以仅通过s421-s424中的任一步骤的障碍判定方式对玻璃的障碍情况进行判定,或者将其中任意多个步骤组合起来进行判定,例如,使用步骤s421和s422的组合,而不使用步骤s423和s424。如果使用多个步骤的组合,多个步骤之间可以依照一定顺序进行,也可以并行进行。需要说明的是,虽然单一步骤或各种组合均能实现障碍判断,但是如果使用本发明最优实施例的顺序执行步骤s421-s424的障碍判断方法,与其它判断方法相比,不仅能够提高障碍判断的准确度,并且因为先判断出现可能性较大的障碍且先使用较简单的算法,还能提高障碍判断的效率,进而提高机器人抓取的效率,因而在工业场景中具有特别的优势。
123.步骤s430,根据每个搜索状态的吸盘开启情况,选取备选搜索状态。
124.可以自行设定选取的条件,例如开启数量,特定吸盘是否开启等。在一种实施方式中,如果至少存在一个开启的吸盘,则将该搜索状态选为备选搜索状态。
125.步骤s440,根据吸盘开启数量和/或吸盘距玻璃中心的距离从备选搜索状态中选择最佳搜索状态。
126.可以根据每个搜索状态距待抓取玻璃中心的距离选择最佳搜索状态,通常来说,距离物品中心越近,则抓得越稳,因此可以将距物品中心最近的搜索状态设为最佳搜索状态。对于每一个搜索状态,确定该搜索状态下夹具的中心位置p1,之后通过玻璃的外接矩形
求取物体中心位置p2,p1与p2的距离即为夹具距玻璃中心的距离。也可以根据通过障碍判定的吸盘的数量,选择通过数量最多的搜索状态作为最佳搜索状态。在一个优选的实施例中,可以结合吸盘开启数量和吸盘距玻璃中心的距离选择最佳搜索状态,例如可以优先根据数量选取,如果通过数量最多的搜索状态有多个时,则从选出的多个搜索状态中,进一步选择距离物品中心位置最近的搜索状态作为最佳搜索状态;在另外的实施例中,也可以预设一数量阈值,先选择所有吸盘开启数量超过该阈值的搜索状态,再从这些搜索状态中选取距离中心最近的搜索状态作为最佳搜索状态。
127.步骤s450,使用最佳搜索状态抓取玻璃。
128.工业场景中通常需要将抓取的玻璃放置在地面或者物品放置架上,如果将玻璃放置在架子上,不能让玻璃超过架子边缘太多,因此还可以求取最终规划结果的吸盘阵列中心到玻璃指定边的距离,如此在放置时机器人能够较为精确地控制玻璃的放置位置,从而将玻璃准确地放置在指定位置。
129.如图8示出了根据本发明优选实施例的使用吸盘阵列的玻璃抓取校验方法的流程图。如图8所示,该方法包括:
130.步骤s500:根据吸盘阵列的形态将阵列中的全部吸盘分组。
131.可以根据吸盘在吸盘阵列上的分布进行分组。如图5所示的实施方式中,吸盘阵列包括12个吸盘,分别编号为1-12,可以将吸盘按照其与吸盘阵列的相对位置,分为左上,右上,左下,右下共4组,具体地,吸盘3和9为第一组,吸盘4和8为第二组,吸盘1、2和10为第三组,吸盘5、6和7为第四组。
132.步骤s510:获取吸盘阵列的状态信息。
133.吸盘阵列的状态是指吸盘阵列中的各个吸盘的特定参数的组合,吸盘阵列在某个状态下执行抓取是指吸盘阵列基于该状态中的各项参数进行配置并执行抓取的动作,例如假设某个吸盘阵列具有3个吸盘,分别为1-3号,1号吸盘在待抓取物品的左边缘,且旋转角度为30度,2号吸盘在物品的右边缘,且旋转角度为0度,1,2号吸盘均设为开启,3号吸盘在物品之外,设为不开启,这样的特定参数的组合即为吸盘阵列的一个状态。吸盘阵列的状态信息包括吸盘阵列的位置,吸盘阵列中的各个吸盘的位置,角度,以及这些吸盘在当前状态下是否能够开启,哪些吸盘能够开启等信息。
134.步骤s520:基于吸盘阵列的状态信息确定可开启吸盘的数量信息和可开启吸盘所在的分组信息。
135.在该步骤中,对于每种吸盘状态,确定该状态下可开启吸盘的数量及可开启吸盘所在的分组。
136.步骤s530:判断可开启吸盘的数量是否满足预设的条件和/或可开启吸盘的分组信息是否满足预设的条件。
137.开启吸盘的数量不足,或者开启吸盘的位置不佳,均可能导致抓取不稳。对于开启吸盘的数量,可以设定单一阈值,例如必须超过5个吸盘才允许抓取。也可以根据待抓取玻璃的大小预设吸盘数量阈值,例如,可以设定一最低数量阈值为3个吸盘,即不管玻璃面积多大,至少得能开启3个吸盘;还可以为1平米-2平米的玻璃面积设置4个吸盘,2平米玻璃以上则为5个吸盘。以此方式判断玻璃的面积以及吸盘开启数量,判断能否执行抓取。如此,在判断可开启吸盘的数量时,还要判断玻璃的面积,例如,可以判断玻璃面积为2平米,可开启
吸盘数量为4,当满足面积与数量的对应关系时,认为满足数量条件。
138.对于开启吸盘的分组信息,可以仅判断哪些分组中具有开启的吸盘。例如,在上述将吸盘分为4组的实施例中,可以根据吸盘开启情况,分别判断第一组到第四组中,哪些组里有能够开启的吸盘。可以预设需要满足的吸盘分布条件,例如可以设定至少三个分组(在此种情况下,吸盘能够排列为稳定的三角形或四边形)中有能够开启的吸盘时,满足吸盘分布条件。
139.步骤s540:根据所述判断结果确定吸盘阵列在该状态下能否执行抓取。
140.在具体实施时,可以仅在可开启吸盘的数量满足条件或可开启吸盘的分布满足条件时即执行抓取。也可以在两者同时满足条件时才执行抓取。吸盘分组的预设条件包括多个时,可以在满足多个条件时才进行抓取。
141.步骤s500可以在s510之前的任意时刻执行,只要保证在顺序执行步骤s510-s540时,已经有确定的分组信息即可。在一个实施方式中,可以在确定以某种状态执行玻璃抓取之后,且在进行抓取之前,进行吸盘校验。如果结合避障抓取方案使用,可以在前述实施例的步骤s430到步骤s440之间执行步骤s510-s540,即在选出最佳搜索状态后,将该最佳搜索状态作为吸盘阵列的状态,执行吸盘校验,确定是否可以使用该最佳搜索状态进行抓取。在另一种实施方式中,也可以结合吸盘校验的方法来确定以某种状态执行物品的抓取。如果结合避障抓取方案使用,可以在前述实施例的步骤s420或步骤s430中执行步骤s510-s540,例如可以通过吸盘校验方法选择备选搜索状态或者在选出备选搜索状态后,先以该备选搜索状态作为吸盘阵列的状态,根据吸盘校验方法从中剔除不可执行抓取的搜索状态,再根据吸盘的数量和距中心的距离选择最佳搜索状态。
142.另外,需要说明的是,虽然本发明将通用的机器人抓取方法和专用于玻璃抓取的抓取方法分别放在多个实施例中进行描述,并且多个实施例的技术细节不尽相同,然而本领域技术人员能够理解,在专用方法中未描述而在通用方法中描述的技术细节实际上也可以在专用方法中使用,反之亦然。换句话说,虽然本发明的每个实施例都具有特定的特征组合,然而,这些特征在实施例之间的进一步组合和交叉组合也是可行的。
143.根据上述实施例,首先,本发明能够先获取夹具可能的抓取方式,选取其中最佳的且不会抓到障碍的抓取方式执行物品的抓取,使得即便物品上存在不能抓取的障碍,也能够准确地避障抓取物品;其次,针对可能需要判断物体表面是否存在非平面结构的工业场景,本发明提出了能够识别出物体表面的非平面区域的方案;第三,本发明能够在夹具组执行抓取之前,预先校验所使用的抓取方式能够正确抓取物品,提高了抓取的稳定性,避免了抓取过程中可能出现的重心不稳等问题;第四,本发明基于通用的避障抓取方法以及夹具校验方法,开发了专用于使用吸盘阵列进行玻璃抓取这一工业场景的避障抓取方法以及吸盘校验方法,能够提高使用吸盘阵列进行玻璃抓取的准确性和稳定性。由此可见,本发明解决了使用夹具进行物品抓取这一工业场景中出现的方方面面的问题。
144.图9示出了根据本发明又一个实施例的夹具控制装置,该装置包括:
145.点云获取模块600,用于获取待抓取物品组的点云信息,即用于实现步骤s100;
146.搜索状态生成模块610,用于基于待抓取物品组的点云信息以及夹具的搜索边界因素参数生成搜索状态,即用于实现步骤s110;
147.障碍判定模块620,用于针对每一种搜索状态,执行障碍判定,将通过障碍判定的
搜索状态设为备选搜索状态,即用于实现步骤s120;
148.最佳搜索状态确定模块630,用于从备选搜索状态中选择最佳搜索状态,即用于实现步骤s130;
149.抓取模块640,用于基于所述最佳搜索状态抓取待抓取物品,即用于实现步骤s140。
150.图10示出了根据本发明又一个实施例的基于机器人的非平面结构判定装置,该装置包括:
151.深度图获取模块700,用于获取物品表面待判定区域的二维平面深度图,即用于实现步骤s200;
152.深度值获取模块710,用于根据二维平面深度图获取待判定区域内每个像素点的深度值,即用于实现步骤s210;
153.分组模块720,用于将获得的深度值分组,即用于实现步骤s220;
154.比较模块730,用于计算每个分组内深度值的差值,并与预设的差值阈值进行比较;和/或,计算分组的数量,并与预设的分组数阈值进行比较,即用于实现步骤s230;
155.判定模块740,用于根据比较结果判定区域的非平面结构情况,即用于实现步骤s240。
156.图11示出了根据本发明又一个实施例的夹具组校验装置的结构示意图,该装置包括:
157.状态信息获取模块800,用于获取夹具阵列的状态信息,即用于执行步骤s300;
158.信息确定模块810,用于基于所述状态信息,确定可开启夹具的数量信息和/或可开启夹具的位置信息,即用于执行步骤s310;
159.条件判定模块820,用于判断可开启夹具的数量是否满足预设的条件和/或判断可开启夹具的位置信息是否满足预设的条件,即用于执行步骤s320;
160.抓取确定模块830,用于根据所述判断结果确定夹具组在该状态下能否执行抓取,即用于执行步骤s330。
161.图12示出了根据本发明又一个实施例的吸盘阵列控制装置的结构示意图,该装置包括:
162.点云获取模块900,用于获取待抓取玻璃及障碍的点云信息,即用于执行步骤s400;
163.搜索状态生成模块910,用于基于点云信息以及吸盘阵列的搜索边界因素参数生成搜索状态,即用于执行步骤s410;
164.障碍判定模块920,用于针对每一种搜索状态,判断每个吸盘下方是否存在障碍,存在则在该搜索状态下关闭该吸盘,即用于执行步骤s420;
165.备选搜索状态选取模块930,用于根据每个搜索状态的吸盘开启情况,选取备选搜索状态.即用于执行步骤s430;
166.最佳搜索状态选取模块940,用于根据吸盘开启数量和/或吸盘距玻璃中心的距离从备选搜索状态中选择最佳搜索状态,即用于执行步骤s440;
167.抓取模块950,用于基于最佳搜索状态抓取玻璃,即用于执行步骤s450。
168.图13示出了根据本发明又一个实施例的吸盘阵列校验装置的结构示意图,该装置
包括:
169.分组模块1000,用于根据吸盘阵列的形态将阵列中的全部吸盘分组,即用于执行步骤s500;
170.状态信息获取模块1010,用于获取吸盘阵列的状态信息,即用于执行步骤s510;
171.信息确定模块1020,用于基于吸盘阵列的状态信息确定可开启吸盘的数量信息和可开启吸盘所在的分组信息,即用于执行步骤s520;
172.条件判定模块1030,用于判断可开启吸盘的数量是否满足预设的条件和/或可开启吸盘的分组信息是否满足预设的条件,即用于执行步骤s530;
173.抓取确定模块1040,用于根据所述判断结果确定吸盘阵列在该状态下能否执行抓取,即用于执行步骤s540。
174.上述图9-图13所示的装置实施例中,仅描述了模块的主要功能,各个模块的全部功能与方法实施例中相应步骤相对应,各个模块的工作原理同样可以参照方法实施例中相应步骤的描述,此处不再赘述。另外,虽然上述实施例中限定了功能模块的功能与方法的对应关系,然而本领域技术人员能够理解,功能模块的功能并不局限于上述对应关系,即特定的功能模块还能够实现其他方法步骤或方法步骤的一部分。例如,上述实施例描述了抓取确定模块1040用于实现步骤s540的方法,然而根据实际情况的需要,抓取确定模块1040也可以用于实现步骤s500、s510、s520或s530的方法或方法的一部分。
175.本技术还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施方式的方法。需要指出的是,本技术实施方式的计算机可读存储介质存储的计算机程序可以被电子设备的处理器执行,此外,计算机可读存储介质可以是内置在电子设备中的存储介质,也可以是能够插拔地插接在电子设备的存储介质,因此,本技术实施方式的计算机可读存储介质具有较高的灵活性和可靠性。
176.图14示出了根据本发明实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
177.如图14所示,该电子设备可以包括:处理器(processor)1102、通信接口(communications interface)1104、存储器(memory)1106、以及通信总线1108。
178.其中:
179.处理器1102、通信接口1104、以及存储器1106通过通信总线1108完成相互间的通信。
180.通信接口1104,用于与其它设备比如客户端或其它服务器等的网元通信。
181.处理器1102,用于执行程序1110,具体可以执行上述方法实施例中的相关步骤。
182.具体地,程序1110可以包括程序代码,该程序代码包括计算机操作指令。
183.处理器1102可能是中央处理器cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
184.存储器1106,用于存放程序1110。存储器1106可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
185.程序1110具体可以用于使得处理器1102执行上述方法实施例中的各项操作。
186.概括地说,本发明的发明内容包括:
187.一种夹具控制方法,包括:
188.获取待抓取物品组的点云信息;
189.基于待抓取物品组的点云信息以及夹具的搜索边界因素参数生成搜索状态;
190.针对每一种搜索状态,执行障碍判定,将通过障碍判定的搜索状态设为备选搜索状态;
191.从备选搜索状态中选择最佳搜索状态;
192.基于所述最佳搜索状态抓取待抓取物品。
193.可选的,所述待抓取物品组包括一个或多个待抓取物品和/或障碍物。
194.可选的,使用json文件保存夹具的配置参数。
195.可选的,所述障碍判定至少包括以下一种:边界障碍判定,固定障碍判定,凸起\凹陷障碍判定和自定义障碍判定。
196.可选的,所述边界障碍判定包括根据夹具的中心与物品边缘轮廓点的关系判定是否存在边界障碍。
197.可选的,所述固定障碍判定包括根据障碍尺寸或形状判定是否存在固定障碍。
198.可选的,所述凸起\凹陷障碍判定包括根据二维平面深度图信息判定是否存在凸起\凹陷障碍。
199.可选的,所述自定义障碍判定包括生成自定义障碍的边缘轮廓,基于该边缘轮廓判定是否存在自定义障碍。
200.可选的,还包括:针对最佳搜索状态执行夹具校验以确定使用该搜索状态能否正确抓取物品。
201.一种夹具控制装置,包括:
202.点云获取模块,用于获取待抓取物品组的点云信息;
203.搜索状态生成模块,用于基于待抓取物品组的点云信息以及夹具的搜索边界因素参数生成搜索状态;
204.障碍判定模块,用于针对每一种搜索状态,执行障碍判定,将通过障碍判定的搜索状态设为备选搜索状态;
205.最佳搜索状态确定模块,用于从备选搜索状态中选择最佳搜索状态;
206.抓取模块,用于基于所述最佳搜索状态抓取待抓取物品。
207.可选的,所述待抓取物品组包括一个或多个待抓取物品和/或障碍物。
208.可选的,还包括:使用json文件保存夹具的配置参数。
209.可选的,所述障碍判定模块用于执行以下至少一种障碍判定:边界障碍判定,固定障碍判定,凸起\凹陷障碍判定和自定义障碍判定。
210.可选的,所述障碍判定模块执行边界障碍判定时根据夹具的中心与物品边缘轮廓点的关系判定是否存在边界障碍。
211.可选的,所述障碍判定模块执行固定障碍判定时根据障碍尺寸或形状判定是否存在固定障碍。
212.可选的,所述障碍判定模块执行凸起\凹陷障碍判定时根据二维平面深度图信息判定是否存在凸起\凹陷障碍。
213.可选的,所述障碍判定模块执行自定义障碍判定时根据自定义障碍的边缘轮廓判定是否存在自定义障碍。
214.可选的,还包括:针对最佳搜索状态执行夹具校验以确定使用该搜索状态能否正确抓取物品。
215.一种基于机器人的非平面结构判定方法,包括:
216.获取物品表面待判定区域的二维平面深度图信息;
217.根据二维平面深度图信息获取待判定区域内每个像素点的深度值;
218.将获得的深度值分组;
219.计算每个分组内深度值的差值,并与预设的差值阈值进行比较;和/或,计算分组的数量,并与预设的分组数阈值进行比较;
220.根据比较结果判定区域的非平面结构情况。
221.可选的,获得每个像素点的深度值后,对于多个相同深度值,只保留其中一个。
222.可选的,所述分组包括将两个不同的深度值分成一组。
223.可选的,所述分组包括以如下方式将所有的深度值进行分组:将获取的全部深度值从高到低排序,并将第一个深度值与倒数第一个深度值分为一组,第二个深度值与倒数第二个深度值分为一组
……
第n个深度值与倒数第n个深度值分为一组,其中n为大于等于1的自然数。
224.可选的,所述预设的差值阈值和/或分组数阈值包括基于夹具的能力预设的差值阈值和/或分组数阈值。
225.可选的,所述非平面结构情况包括存在非平面结构或者不存在非平面结构。
226.可选的,所述非平面结构情况包括非平面结构的起伏程度。
227.一种基于机器人的非平面结构判定装置,包括:
228.深度图获取模块,用于获取物品表面待判定区域的二维平面深度图;
229.深度值获取模块,用于根据二维平面深度图获取待判定区域内每个像素点的深度值;
230.分组模块,用于将获得的深度值分组;
231.比较模块,用于计算每个分组内深度值的差值,并与预设的差值阈值进行比较;和/或,计算分组的数量,并与预设的分组数阈值进行比较;
232.判定模块,用于根据比较结果判定区域的非平面结构情况。
233.可选的,所述深度值获取模块获得每个像素点的深度值后,对于多个相同深度值,只保留其中一个。
234.可选的,所述分组模块将两个不同的深度值分成一组。
235.可选的,所述分组模块以如下方式将所有的深度值进行分组:将获取的全部深度值从高到低排序,并将第一个深度值与倒数第一个深度值分为一组,第二个深度值与倒数第二个深度值分为一组
……
第n个深度值与倒数第n个深度值分为一组,其中n为大于等于1的自然数。
236.可选的,所述预设的差值阈值和/或分组数阈值包括基于夹具的能力预设的差值阈值和/或分组数阈值。
237.可选的,所述判定模块判定存在非平面结构或者不存在非平面结构。
238.可选的,所述判定模块判定非平面结构的起伏程度。
239.一种夹具组校验方法,包括:
240.获取夹具组的状态信息;
241.基于所述状态信息,确定该状态下可开启夹具的数量信息和/或可开启夹具的位置信息;
242.判断可开启夹具的数量是否满足预设的条件和/或判断可开启夹具的位置信息是否满足预设的条件;
243.根据所述判断结果确定夹具组在该状态下能否执行抓取。
244.可选的,所述确定可开启夹具的位置信息包括根据待抓取物品的轮廓信息确定可开启夹具的位置信息。
245.可选的,基于待抓取物品的重量预设可开启夹具的数量需要满足的条件。
246.可选的,基于待抓取物品的重心预设可开启夹具的位置需要满足的条件。
247.可选的,可开启夹具的位置需要满足的条件包括:多个夹具的位置连线不能形成一条直线。
248.可选的,所述根据所述判断结果确定夹具组在该状态下能否执行抓取包括,当夹具数量满足预设条件且夹具位置满足预设条件时,确定能够执行抓取。
249.一种夹具组校验装置,包括:
250.状态信息获取模块,用于获取夹具阵列的状态信息;
251.信息确定模块,用于基于所述状态信息,确定可开启夹具的数量信息和/或可开启夹具的位置信息;
252.条件判定模块,用于判断可开启夹具的数量是否满足预设的条件和/或判断可开启夹具的位置信息是否满足预设的条件;
253.抓取确定模块,用于根据所述判断结果确定夹具组在该状态下能否执行抓取。
254.可选的,所述所述信息确定模块根据待抓取物品的轮廓信息确定可开启夹具的位置信息。
255.可选的,基于待抓取物品的重量预设可开启夹具的数量需要满足的条件。
256.可选的,基于待抓取物品的重心预设可开启夹具的位置需要满足的条件。
257.可选的,可开启夹具的位置需要满足的条件包括:多个夹具的位置连线不能形成一条直线。。
258.可选的,所述抓取确定模块在夹具数量满足预设条件且夹具位置满足预设条件时,确定能够执行抓取。
259.一种吸盘阵列控制方法,包括:
260.获取待抓取玻璃及障碍的点云信息;
261.基于点云信息以及吸盘阵列的搜索边界因素参数生成搜索状态;
262.针对每一种搜索状态,判断每个吸盘下方是否存在障碍,存在则在该搜索状态下关闭该吸盘;
263.根据每个搜索状态的吸盘开启情况,选取备选搜索状态;
264.根据吸盘开启数量和/或吸盘距玻璃中心的距离从备选搜索状态中选择最佳搜索状态;
265.使用最佳搜索状态抓取玻璃。
266.可选的,所述障碍判定至少包括以下一种:玻璃边界障碍判定,橡胶垫障碍判定,胶条障碍判定和凸起障碍判定。
267.可选的,所述玻璃边界障碍判定包括根据吸盘下方区域内点云占比判定是否存在玻璃边界障碍。
268.可选的,所述橡胶垫障碍判定包括:基于障碍点云面积判定是否存在橡胶垫障碍,其中障碍点云面积根据橡胶垫面积预先设定。
269.可选的,所述凸起障碍判定包括:基于预先设定的深度差阈值和对数阈值判定是否存在凸起障碍。
270.可选的,所述根据每个搜索状态的吸盘开启情况,选取备选搜索状态包括:如果至少存在一个开启的吸盘,则将该搜索状态选为备选搜索状态。
271.可选的,所述根据吸盘开启数量和/或吸盘距玻璃中心的距离从备选搜索状态中选择最佳搜索状态包括:选取吸盘开启数量最多的搜索状态,若吸盘开启数量最多的搜索状态有多个,则进一步选取其中吸盘距玻璃中心最近的搜索状态。
272.可选的,还包括:针对最佳搜索状态执行夹具校验以确定使用该搜索状态能否正确抓取玻璃。
273.一种吸盘阵列控制装置,包括:
274.点云获取模块,用于获取待抓取玻璃及障碍的点云信息;
275.搜索状态生成模块,用于基于点云信息以及吸盘阵列的搜索边界因素参数生成搜索状态;
276.障碍判定模块,用于针对每一种搜索状态,判断每个吸盘下方是否存在障碍,存在则在该搜索状态下关闭该吸盘;
277.备选搜索状态选取模块,用于根据每个搜索状态的吸盘开启情况,选取备选搜索状态;
278.最佳搜索状态选取模块,用于根据吸盘开启数量和/或吸盘距玻璃中心的距离从备选搜索状态中选择最佳搜索状态;
279.抓取模块,用于基于最佳搜索状态抓取玻璃。
280.可选的,所述障碍判定模块用于执行以下至少一种障碍判定:玻璃边界障碍判定,橡胶垫障碍判定,胶条障碍判定和凸起障碍判定。
281.可选的,所述障碍判定模块执行玻璃边界障碍时,根据吸盘下方区域内点云占比判定是否存在玻璃边界障碍。
282.可选的,所述障碍判定模块执行橡胶垫障碍判定时,基于障碍点云面积判定是否存在橡胶垫障碍,其中障碍点云面积根据橡胶垫面积预先设定。
283.可选的,所述障碍判定模块执行凸起障碍判定时,基于预先设定的深度差阈值和对数阈值判定是否存在凸起障碍。
284.可选的,所述备选搜索状态选取模块在某个搜索状态至少存在一个开启的吸盘时,则将该搜索状态选为备选搜索状态。
285.可选的,所述最佳搜索状态选取模块选取吸盘开启数量最多的搜索状态作为最佳搜索状态,若吸盘开启数量最多的搜索状态有多个,则进一步选取其中吸盘距玻璃中心最
近的搜索状态。
286.可选的,还包括:针对最佳搜索状态执行夹具校验以确定使用该搜索状态能否正确抓取玻璃。
287.一种吸盘阵列校验方法,包括:
288.根据吸盘阵列的形态将阵列中的全部吸盘分组;
289.获取吸盘阵列的状态信息;
290.基于吸盘阵列的状态信息确定可开启吸盘的数量信息和可开启吸盘所在的分组信息;
291.判断可开启吸盘的数量是否满足预设的条件和/或可开启吸盘的分组信息是否满足预设的条件;
292.根据所述判断结果确定吸盘阵列在该状态下能否执行抓取。
293.可选的,所述根据吸盘阵列的形态将阵列中的全部吸盘分组包括将吸盘阵列划分为左上,左下,右上,右下四个区域,并根据全部吸盘所在区域将全部吸盘分为四组。
294.可选的,基于待抓取物品的重量预设可开启吸盘的数量需要满足的条件。
295.可选的,基于待抓取物品的重心预设可开启吸盘的分组信息需要满足的条件。
296.可选的,可开启吸盘的分组信息需要满足的条件包括:可开启的吸盘至少分布在三个组中。
297.可选的,所述根据所述判断结果确定吸盘阵列在该状态下能否执行抓取包括:当吸盘数量满足预设条件且吸盘分组信息满足预设条件时,确定能够执行抓取。
298.一种吸盘阵列校验装置,包括:
299.分组模块,用于根据吸盘阵列的形态将阵列中的全部吸盘分组;
300.状态信息获取模块,用于获取吸盘阵列的状态信息;
301.信息确定模块,用于基于吸盘阵列的状态信息确定可开启吸盘的数量信息和可开启吸盘所在的分组信息;
302.条件判定模块,用于判断可开启吸盘的数量是否满足预设的条件和/或可开启吸盘的分组信息是否满足预设的条件;
303.抓取确定模块,用于根据所述判断结果确定吸盘阵列在该状态下能否执行抓取。
304.可选的,所述分组模块具体用于将吸盘阵列划分为左上,左下,右上,右下四个区域,并根据全部吸盘所在区域将全部吸盘分为四组。
305.可选的,基于待抓取物品的重量预设可开启吸盘的数量需要满足的条件。
306.可选的,基于待抓取物品的重心预设可开启吸盘的分组信息需要满足的条件。
307.可选的,可开启吸盘的分组信息需要满足的条件包括:可开启的吸盘至少分布在三个组中。
308.可选的,抓取确定模块具体用于:当吸盘数量满足预设条件且吸盘分组信息满足预设条件时,确定能够执行抓取。
309.在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结
构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
310.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
311.在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
312.处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
313.应当理解,本技术的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
314.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
315.此外,在本技术的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
316.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
317.尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施方式进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1