一种机器人抓取位姿估计方法、装置、设备及存储介质与流程

文档序号:31565880发布日期:2022-09-20 20:33阅读:89来源:国知局
一种机器人抓取位姿估计方法、装置、设备及存储介质与流程

1.本发明涉及机器人技术领域,特别是涉及一种机器人抓取位姿估计方法、装置、设备及存储介质。


背景技术:

2.目前多数用于抓取位姿估计的深度学习方法仍然依赖于二维图像输入,而二维图像由于缺乏深度信息,无法准确获取抓取对象在三维空间中的位置;另一方面,对于背景复杂或者遮挡严重的场景,二维图像对于物体边界敏感程度远不及深度图像。一些抓取模型需要设置复杂的手工特征才能处理数据,且很少有模型会考虑三维物体的点云信息,从而限制了其应用范围,同时也导致抓取操作的准确度低、算法不稳定等问题。


技术实现要素:

3.本发明要解决的技术问题是:提供一种机器人抓取位姿估计方法、装置、设备及存储介质,提高机器人抓取位姿的准确性。
4.为了解决上述技术问题,本发明提供了一种机器人抓取位姿估计方法,包括:
5.获取目标物体的第一点云数据,对所述第一点云数据进行预处理,得到所述目标物体的第二点云数据;
6.根据抓取位姿采样数据,构建抓取质量评估网络,将所述第二点云数据输入到所述抓取质量评估网络中,以使所述抓取质量评估网络输出最优抓取位姿。
7.在一种可能的实现方式中,所述根据抓取位姿采样数据,构建抓取质量评估网络,具体包括:
8.获取抓取位姿估计数据集,对所述抓取位姿估计数据集中的每一个模型进行抓取位姿采样,并对每个抓取位姿按预设的质量评估标准进行评分,并基于pointnet构建抓取质量评估网络,其中,所述抓取质量评估网络包括多层感知机、最大池化层和全连接层。
9.在一种可能的实现方式中,对所述第一点云数据进行预处理,其中,所述预处理包括点云直通滤波处理;
10.设置空间坐标轴各个方向上的坐标轴阈值,根据各个方向上的坐标阈值对所述第一点云数据进行分割,得到第一点云数据的感兴趣区域,并对所述感兴趣区域进行目标点云识别,生成直通滤波点云数据。
11.在一种可能的实现方式中,对所述第一点云数据进行预处理,其中,所述预处理还包括载物台平面分割处理;
12.基于随机采样一致性算法估计所述直通滤波点云数据中的背景点云近似平面,并基于所述背景点云近似平面,将所述直通滤波点云数据分割为目标物体点云和背景点云,以使得到目标物体点云。
13.在一种可能的实现方式中,对所述第一点云数据进行预处理,其中,所述预处理还包括点云降采样处理;
14.根据所述目标物体点云创建三维体素栅格,其中,所述三维体素栅格的尺寸大小由所述目标物体点云的分辨率、采样密度来确定;
15.将所述目标物体点云对应放入到所述三维体素栅格中,以使生成多个小立方体;
16.根据所述多个小立方体的重心点,计算每个小立方体内各个目标物体点云与所述重心点的距离,将所述距离最小的目标物体点云进行保留。
17.本发明还提供了一种机器人抓取位姿估计装置,包括:点云数据处理模块和最优抓取位姿输出模块;
18.其中,所述点云数据处理模块,用于获取目标物体的第一点云数据,对所述第一点云数据进行预处理,得到所述目标物体的第二点云数据;
19.所述最优抓取位姿输出模块,用于根据抓取位姿采样数据,构建质量评估网络,将所述第二点云数据输入到所述抓取质量评估网络中,以使所述抓取质量评估网络输出最优抓取位姿。
20.在一种可能的实现方式中,所述最优抓取位姿输出模块,用于根据抓取位姿采样数据,构建抓取质量评估网络,具体包括:
21.获取抓取位姿估计数据集,对所述抓取位姿估计数据集中的每一个模型进行抓取位姿采样,并对每个抓取位姿按预设的质量评估标准进行评分,并基于pointnet构建抓取质量评估网络,其中,所述抓取质量评估网络包括多层感知及机、最大池化层和全连接层。
22.在一种可能的实现方式中,所述点云数据处理模块,用于对所述第一点云数据进行预处理,其中,所述预处理包括点云直通滤波处理;
23.设置空间坐标轴各个方向上的坐标轴阈值,根据各个方向上的坐标阈值对所述第一点云数据进行分割,得到第一点云数据的感兴趣区域,并对所述感兴趣区域进行目标点云识别,生成直通滤波点云数据;
24.在一种可能的实现方式中,所述点云数据处理模块,用于对所述第一点云数据进行预处理,其中,所述预处理还包括载物台平面分割处理;
25.基于随机采样一致性算法估计所述直通滤波点云数据中的背景点云近似平面,并基于所述背景点云近似平面,将所述直通滤波点云数据分割为目标物体点云和背景点云,以使得到目标物体点云。
26.在一种可能的实现方式中,所述点云数据处理模块,用于对所述第一点云数据进行预处理,其中,所述预处理还包括点云降采样处理;
27.根据所述目标物体点云创建三维体素栅格,其中,所述三维体素栅格的尺寸大小由所述目标物体点云的分辨率、采样密度来确定;
28.将所述目标物体点云对应放入到所述三维体素栅格中,以使生成多个小立方体;
29.根据所述多个小立方体的重心点,计算每个小立方体内各个目标物体点云与所述重心点的距离,将所述距离最小的目标物体点云进行保留。
30.本发明还提供了一种终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时实现如上述任意一项所述的机器人抓取位姿估计方法。
31.本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行
如上述任意一项所述的机器人抓取位姿估计方法。
32.本发明实施例一种机器人抓取位姿估计方法、装置、设备及存储介质,与现有技术相比,具有如下有益效果:
33.通过获取目标物体的第一点云数据,对所述第一点云数据进行预处理,得到所述目标物体的第二点云数据;根据抓取位姿采样数据,构建抓取质量评估网络,将所述第二点云数据输入到所述抓取质量评估网络中,以使所述抓取质量评估网络输出最优抓取位姿。与现有技术相比,能直接基于三维点云进行机器人抓取位姿估计,能准确获取抓取目标物体在三维空间中的位置,且通过直接处理第一点云数据,能最大化地保持原始点云信息,更为有效和准确地估计抓取位姿。
附图说明
34.图1是本发明提供的一种机器人抓取位姿估计方法的一种实施例的流程示意图;
35.图2是本发明提供的一种机器人抓取位姿估计装置的一种实施例的结构示意图;
36.图3是本发明提供的一种实施例的第一点云数据的示意图;
37.图4是本发明提供的一种实施例的点云直通滤波的结果示意图;
38.图5是本发明提供的一种实施例的体素滤波原理示意图;
39.图6是本发明提供的一种实施例的点云降采样的结果示意图。
40.图7是本发明提供的一种实施例的pointnet中的空间转换网络stn各层结构示意图;
41.图8是本发明提供的一种实施例的基于pointnet的抓取质量评估网络示意图。
具体实施方式
42.下面将结合本发明中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
43.实施例1
44.参见图1,图1是本发明提供的一种机器人抓取位姿估计方法的一种实施例的流程示意图,如图1所示,该方法包括步骤101-步骤102,具体如下:
45.步骤101:获取目标物体的第一点云数据,对所述第一点云数据进行预处理,得到所述目标物体的第二点云数据。
46.一实施例中,使用深度相机采集获取物体的第一点云数据,其中,第一点云数据是三维坐标系中的一组向量集合,是一种三维模型的表现形式,每个点云通常用三维坐标(x,y,z)表示。
47.与二维图像和网格图像相比,点云数据包含了rgb值和灰度值等信息,能够直观的描绘现实世界,第一点云数据的示意图如图3所示。
48.一实施例中,由于环境光线、相机本身误差等原因,深度相机采集的第一点云数据会包含数据噪点,并且除了目标物体的点云信息外,还会存在多余的背景信息、载物台平面信息等,这些噪音会影响目标的识别与计算,因此,本实施例中,为了避免不必要的计算量
并提高后续的识别效率和准确度,需要对获取的第一点云数据进行预处理。
49.一实施例中,对第一点云数据进行预处理,其中,所述预处理包括:点云直通滤波处理、载物台平面分割处理和点云降采样处理。
50.一实施例中,对所述第一点云数据进行点云直通滤波处理,通过设置空间坐标轴各个方向上的坐标轴阈值,根据各个方向上的坐标阈值对所述第一点云数据进行分割,得到第一点云数据的感兴趣区域,并对所述感兴趣区域进行目标点云识别,生成直通滤波点云数据。对第一点云数据进行点云直通滤波处理后的效果如图4所示,图4为点云直通滤波的结果示意图。
51.具体的:针对深度相机采集得到的第一点云数据,为了更快的找到目标物体所在的感兴趣区域,通过采用点云直通滤波算法去除数据噪音和离群点,点云直通滤波在指定坐标范围内进行裁剪,可以选择保留范围内的点或者范围外的点,因此,可以极大地减少目标范围以外的离群点和噪音点云数量。
52.由于待识别的目标物体点云与深度相机的距离保持不变,故可以通过设置空间坐标轴各个方向上的坐标轴阈值,通过坐标轴阈值截取空间坐标轴方向一定范围内的点云数据作为感兴趣区域,然后进行目标点云的识别。空间坐标轴各个方向上的距离阈值设置如下所示:
[0053][0054]
式中,x
min
、x
max
、y
min
、y
max
、z
min
、z
max
阈值可以根据实际情况合理设置方向阈值,在减少点云数量和保留感兴趣区域之间达到平衡。
[0055]
一实施例中,对所述第一点云数据进行载物台平面分割处理,基于随机采样一致性算法估计所述直通滤波点云数据中的背景点云近似平面,并基于所述背景点云近似平面,将所述直通滤波点云数据分割为目标物体点云和背景点云,以使得到目标物体点云。
[0056]
具体的:随机采样一致性算法的本质是在三维电机中寻找最佳面片,通过随机选择迭代的方式在含有外部点的点云数据中估计并优化数学模型,将数学模型设置为平面模型。将载物台平面与目标物体分离。
[0057]
在机器人抓取场景中,目标物体摆放平台可看作平面,但由于深度相机采样过程中的噪声,背景点云不完全处于同一平面上,而是分布在某个平面附近,基于此,通过采用随机采样一致性算法估计背景点云近似平面,然后将以背景点云近似平面为参照将目标物体点云和背景点云分割,得到独立的目标物体点云。
[0058]
一实施例中,对所述第一点云数据进行点云降采样处理,根据所述目标物体点云创建三维体素栅格,其中,所述三维体素栅格的尺寸大小由所述目标物体点云的分辨率、采样密度来确定;将所述目标物体点云对应放入到所述三维体素栅格中,以使生成多个小立方体;根据所述多个小立方体的重心点,计算每个小立方体内各个目标物体点云与所述重心点的距离,将所述距离最小的目标物体点云进行保留。
[0059]
具体的:由于深度相机获取的第一点云数据比较稠密,为了提高后续点云处理的
速度,在保留物体特征信息的基础上,采用体素滤波算法对目标物体点云进行下采样。
[0060]
体素滤波算法是根据点云数据创建三维体素栅格,然后根据点云分辨率、采样密度等确定立方体栅格大小,例如对于点云分辨率较低、采样密度较小的大规模点云数据,立方体边长可设定为1cm到1m,对于点云分辨率较高、采样密度较大的小规模小型点云数据,立方体边长可设定为0.1mm到10mm,具体边长可基于人为进行设定;然后将目标物体点云数据对齐放到三维体素栅格中,组成多个小立方体。采用小立方体的重心替代该立方体内的点,对点云数据进行稀疏化。如图5所示,图5为体素滤波原理示意图,图5中所示的小立方体中点p代替这个小立方体中的所有点。
[0061]
每个小立方体重心(xc,yc,zc)的计算公式为:
[0062][0063]
式中,n为小立方体中点云数据点的个数。计算小立方体内各点与重心点距离,将距离重心点最近的点云保留下来,其余数据点删除,距离重心点最近的点云作为这个小立方体所在区域数据点的代表,从而实现点云降采样。点云降采样的结果如图6所示。
[0064]
本实施例中,通过对获取的第一点云数据直接进行处理,最大化地保持原始点云信息,以便后续能更有效和准确地估计抓取位姿。
[0065]
步骤102:根据抓取位姿采样数据,构建抓取质量评估网络,将所述第二点云数据输入到所述抓取质量评估网络中,以使所述抓取质量评估网络输出最优抓取位姿。
[0066]
一实施例中,通过获取抓取位姿估计数据集ycb,其中,所述抓取位姿估计数据集ycb包含77个常见的物体模型,46200张rgb图像和对应的深度图像。将该抓取位姿估计数据集ycb用于后续的网络模型训练,通过对抓取位姿估计数据集ycb中的每一个模型进行抓取位姿采样,以使获得抓取位姿采样数据,并将采样得到的每一个抓取位姿按照预设的质量评估标准进行评分。
[0067]
一实施例中,在对抓取位姿估计数据集ycb中的每一个模型进行抓取位姿采样时,先随机寻找物体模型的两个表面点作为抓取器的接触点,并随即指定一个0至90度的抓取角度,然后根据指定的接触点和抓取角度构建一个抓取位姿;通过对上述抓取位姿构建过程进行反复执行,以获得大量的候选抓取位姿,并对得到的大量的候选抓取位姿进行筛选,通过判断抓取器执行抓取动作后,是否会与网格碰撞,若是,则去除该抓取位姿,若否。则保存合适的候选抓取位姿。
[0068]
一实施例中,为了评估抓取位姿的质量,还需要将采样得到的每一个抓取位姿按照预设的质量评估标准进行评分。
[0069]
基于力闭合的q
fc
和基于抓取旋量空间的q
gws
是两种主流的抓取质量指标。其中,力
闭合方法考虑了抓取器和物体之间的摩擦,而在无摩擦的情况下可以采用基于抓取旋量空间的分析方法。q
fc
的取值取决于摩擦系数,摩擦系数越低,抓取质量越高,抓取更鲁棒,所以q
fc
的具体数值的计算的公式为摩擦系数的倒数。q
gws
的具体数值即为gws半径。基于上述,本实施例通过结合力闭合的q
fc
和抓取旋量空间的q
gws
来预设的质量评估标准,确保了对抓取位姿的评分质量,从而提高了位姿估计的准确度和可信性,其中,预设的质量评估比标准为如下所示:
[0070]
q=αq
fc
+βq
gws

[0071]
其中,由于q
gws
比q
fc
大得多,因此系数(α,β)设置为(1.0,0.01)。
[0072]
一实施例中,基于pointnet构建抓取质量评估网络,其中,构建抓取质量评估网络由共享的64
×
64和64
×
128
×
1024的多层感知机、最大池化层(max pooling)和输出大小为512
×
256
×
c(c为类别数)的全连接层组成。基于pointnet的抓取质量评估网络示意图如图8所示。
[0073]
具体的:输入一个n
×
3的矩阵到pointnet中的空间转换网络stn,做一个输入的矩阵变换,其中,n是点云的个数,如图7所示,图7是pointnet中的空间转换网络stn各层结构示意图,空间转换网络stn输出为一个3
×
3的矩阵,然后通过多层感知机把每个点投射到64高维空间,再做一个高维空间的变换,形成一个更加归一化的64维矩阵,继续用多层感知机将64维映射到1024维,在1024维中可以做对称性的操作,得到维度为1024维的全局特征,对称性的操作即通过取最大值的方法保证了点云数据对称,最后通过级联的全连接网络进行点云分类,输出最优抓取位姿;其中,点云分类的类别包括两类,分别为好的抓取和坏的抓取。
[0074]
一实施例中,将第二点云数据输入到所述抓取质量评估网络中,以使所述抓取质量评估网络输出最优抓取位姿。
[0075]
本实施例中,由于第二点云数据是第一点云数据预处理后得到的,区别于现有技术中,将整个物体点云数据作为输入,本实施例中,能减少输入的点云数量,从而大大降低了计算量,在网络训练和预测阶段,能有效提高网络学习和推断的效率。且基于第二点云数据直接输出抓取位姿,不需要将3d点云投影为多幅2d照片,也不需要栅格化为稠密的3d体数据,能够最大化地保持原始点云的几何信息,更为有效的推断抓取质量,并提高抓取效率。
[0076]
实施例2
[0077]
参见图2,图2是本发明提供的一种机器人抓取位姿估计方法的一种实施例的流程示意图,如图2所示,该装置包括点云数据处理模块201和最优抓取位姿输出模块202,具体如下:
[0078]
点云数据处理模块201,用于获取目标物体的第一点云数据,对所述第一点云数据进行预处理,得到所述目标物体的第二点云数据。
[0079]
最优抓取位姿输出模块202,用于根据抓取位姿采样数据,构建质量评估网络,将所述第二点云数据输入到所述抓取质量评估网络中,以使所述抓取质量评估网络输出最优抓取位姿。
[0080]
一实施例中,最优抓取位姿输出模块202,用于根据抓取位姿采样数据,构建抓取质量评估网络,具体包括:获取抓取位姿估计数据集,对所述抓取位姿估计数据集中的每一
个模型进行抓取位姿采样,并对每个抓取位姿按预设的质量评估标准进行评分,并基于pointnet构建抓取质量评估网络,其中,所述抓取质量评估网络包括多层感知及机、最大池化层和全连接层。
[0081]
一实施例中,点云数据处理模块201,用于对所述第一点云数据进行预处理,其中,所述预处理包括点云直通滤波处理;通过设置空间坐标轴各个方向上的坐标轴阈值,根据各个方向上的坐标阈值对所述第一点云数据进行分割,得到第一点云数据的感兴趣区域,并对所述感兴趣区域进行目标点云识别,生成直通滤波点云数据。
[0082]
一实施例中,点云数据处理模块201,用于对所述第一点云数据进行预处理,其中,所述预处理还包括载物台平面分割处理;基于随机采样一致性算法估计所述直通滤波点云数据中的背景点云近似平面,并基于所述背景点云近似平面,将所述直通滤波点云数据分割为目标物体点云和背景点云,以使得到目标物体点云。
[0083]
一实施例中,点云数据处理模块201,用于对所述第一点云数据进行预处理,其中,所述预处理还包括点云降采样处理;根据所述目标物体点云创建三维体素栅格,其中,所述三维体素栅格的尺寸大小由所述目标物体点云的分辨率、采样密度来确定;将所述目标物体点云对应放入到所述三维体素栅格中,以使生成多个小立方体;根据所述多个小立方体的重心点,计算每个小立方体内各个目标物体点云与所述重心点的距离,将所述距离最小的目标物体点云进行保留。
[0084]
所属领域的技术人员可以清楚的了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不在赘述。
[0085]
需要说明的是,上述机器人抓取位姿估计装置的实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0086]
在上述的机器人抓取位姿估计方法的实施例的基础上,本发明另一实施例提供了一种机器人抓取位姿估计终端设备,该机器人抓取位姿估计终端设备,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序时,实现本发明任意一实施例的机器人抓取位姿估计方法。
[0087]
示例性的,在这一实施例中所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述机器人抓取位姿估计终端设备中的执行过程。
[0088]
所述机器人抓取位姿估计终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述机器人抓取位姿估计终端设备可包括,但不仅限于,处理器、存储器。
[0089]
所称处理器可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器
等,所述处理器是所述机器人抓取位姿估计终端设备的控制中心,利用各种接口和线路连接整个机器人抓取位姿估计终端设备的各个部分。
[0090]
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述机器人抓取位姿估计终端设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据手机的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0091]
在上述机器人抓取位姿估计方法的实施例的基础上,本发明另一实施例提供了一种存储介质,所述存储介质包括存储的计算机程序,其中,在所述计算机程序运行时,控制所述存储介质所在的设备执行本发明任意一实施例的机器人抓取位姿估计方法。
[0092]
在这一实施例中,上述存储介质为计算机可读存储介质,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
[0093]
综上,本发明一种机器人抓取位姿估计方法、装置、设备及存储介质,通过获取目标物体的第一点云数据,对所述第一点云数据进行预处理,得到所述目标物体的第二点云数据;根据抓取位姿采样数据,构建抓取质量评估网络,将所述第二点云数据输入到所述抓取质量评估网络中,以使所述抓取质量评估网络输出最优抓取位姿。与现有技术相比,能直接基于三维点云进行机器人抓取位姿估计,能准确获取抓取目标物体在三维空间中的位置,且通过直接处理第一点云数据,最大化地保持原始点云信息,更为有效和准确地估计抓取位姿。
[0094]
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1