基于ConvPoint模型引导机械臂抓取不同位姿物料的分拣方法

文档序号:25084919发布日期:2021-05-18 16:48阅读:169来源:国知局
基于ConvPoint模型引导机械臂抓取不同位姿物料的分拣方法
基于convpoint模型引导机械臂抓取不同位姿物料的分拣方法
技术领域
1.本发明涉及一种基于convpoint模型的物料分拣方法,具体是一种基于convpoint模型引导机械臂抓取不同位姿物料的分拣方法。


背景技术:

2.目前,随着消费级视觉设备的普及,由相机引导机械臂完成抓取成为热点话题。其中,生成执行机构的6d抓取位姿(即3d位置和3d方向)是任何机械臂完成抓取的关键。但是,目前的大多数研究都是基于2d图像或者2.5d深度图像。与3d点云相比,图像和深度图像缺少三维空间几何信息,数据特征不明显或者特征点比较少,有时需要复杂的手工特征才能处理数据。而机械臂的抓取非常依赖于目标的三维空间表面特征,因此基于2d图像或者2.5d深度图像的方法将缺少几何分析,往往只能垂直抓取,很难生成精确的6d抓取位姿。
3.针对这些问题,也有研究直接处理3d点云数据。基于点云生成抓取位姿可以分为提取特征估计目标物体位姿的传统方法和基于深度学习评估机械臂抓取位姿的方法。基于点云的传统方法获取目标位姿可以概括为点云配准,即根据原始点云和目标点云,通过提取关键点、特征描述等方法进行匹配求出变换矩阵,变换矩阵包括旋转矩阵r和平移矩阵t,并计算误差来比较匹配结果质量。点云配准产生了许多算法,包括:迭代最近点算法(iterative closest point,icp)、点对特征算法(point pair features ppf)和快速点特征直方图算法(fast point feature histogram,fpfh)等。但这些算法最大的缺点是精度很大程度上受到初始位姿精度的影响,不仅如此,对于一些特征并不明显、非常稀疏的点云,求解效果并不理想。比如匹配一些对称且规则的点云,求得的变换矩阵可能会有多个。此外,点云配准的一个匹配周期只能选择一个匹配模板,因此应用于物料分拣时,只能适用于同一形状的物体,抓取目标单一。
4.为了克服传统方法的缺陷,目前行业内也有通过3d点云神经网络的方式生成最优抓取位姿,并且不需要估计目标的位姿。基于深度学习的方法主要分为两大部分:输入原始点云,使用基本的几何信息对抓取位姿进行采样,生成抓取候选;通过3d神经网络,对采样到的抓取位姿进行评估,筛选出最优解。但目前基于深度学习的方法,大都还是在网上公开数据集上进行训练的,比如modelnet、shapenet和npm3d等数据集,主要针对一些简单规则的生活用品,比如立方体纸盒、圆柱体罐子等。此外,输入到网络中的点云数据量庞大,在进行一次完整的前向传播时所花费的时间长,导致分拣效率较低,很难布置到工业现场。不仅如此,最初的抓取位姿采样对最终的效果有很大影响,目前的采样方法大多利用基本的启发式几何信息生成抓取候选。但在噪声比较大,或者点云稀疏的条件下很难估计目标表面法线,无法做到精准的高质量采样,比如沿着杯子的边缘结构很难生成抓取候选,因此亟需一种能够有效改善抓取位姿采样的手段。


技术实现要素:

5.针对上述现有技术存在的问题,本发明提供一种基于convpoint模型引导机械臂抓取不同位姿物料的分拣方法,通过3d视觉和convpoint模型相结合,能对不同位姿、不同结构的物料进行精准的抓取分拣,从而有效保证传送带的分拣效率。
6.为了实现上述目的,本发明采用的技术方案是:一种基于convpoint模型引导机械臂抓取不同位姿物料的分拣方法,采用的分拣系统包括3d结构光相机、机械臂和计算机,3d结构光相机用于拍摄柔性生产线传送带上物料的图像并反馈给计算机,计算机用于对拍摄的图像进行处理后,控制机械臂对柔性生产线传送带上的不同物料进行分拣,具体步骤为:
7.s1、通过九点标定法获取相机坐标系与机械臂坐标系之间的空间转换矩阵,具体为:
8.先通过示教器控制机械臂的末端夹具移动到标定板上的m个点得到在机器人坐标系中的坐标,同时利用3d结构光相机识别标定板上的同样数量的点得到在相机坐标系下的坐标,此时能得到m组对应的坐标,从而计算出相机坐标系与机械臂坐标系之间的空间转换矩阵t
cw

9.s2、3d结构光相机获取传送带上各个物料的三维点云信息,并反馈给计算机对获取的点云进行预处理,具体为:
10.通过3d结构光相机扫描传送带上的物料,得到原始点云信息,利用pcl点云库对点云进行直通滤波、下采样和离群点移除的预处理过程,从而获得预处理后的点云图像;
11.s3、将预处理后的点云图像进行下采样,利用基于八叉树的空间划分的半径内近邻算法找到每个采样点附近内的点,形成多个点云小模块,具体为:
12.对步骤s2预处理之后的点云图像再次进行下采样,且其使用的体素网格叶比步骤s2的下采样体素网格叶更大,获得n个采样点;利用基于八叉树的空间划分的搜索半径内近邻算法找到每个采样点附近内的点,所述搜索半径设为机械臂末端夹具最大宽度的一半;每个采样点及其对应的搜索半径内的点云重新组合形成n个点云小模块;
13.s4、对每一个点云小模块进行pca主元分析,形成多个点云包络盒,每个包络盒生成一个当前局部最优抓取位姿,从而完成高质量抓取位姿的采样,具体为:
14.设[[a,b]]表示从a到b的整数序列,步长为1,对步骤s3获得n个点云小模块分别进行主元分析,设采样点p
i
对应的点云小模块有m个点,则该点云小模块能表示为m*3的矩阵d
i

[0015][0016]
其中i∈[[0,n

1]],(x
j
,y
j
,z
j
),j∈[[0,m

1]]代表索引为j的点的三维空间坐标,将点云矩阵d
i
的每一列作均值归零处理,获得矩阵d
i’:
[0017][0018]
其中μ
x
、μ
y
和μ
z
分别代表点云矩阵d
i
中x、y和z的平均值。令每个点的质量为1,根据
质心公式:
[0019][0020]
能得出点云矩阵d
i
对应的质心p
c

x
,μ
y
,μ
z
),d
i
均值归零处理是将点云的质心移到原点,不影响主元方向;则该点云小模块的协方差矩阵c
i
表示为:c
i
=d
i
'
t
d
i
';
[0021]
根据协方差矩阵c
i
求出其特征向量v1、v2和v3以及对应的特征值λ1、λ2和λ3;根据pca理论得出,该点云小模块的主元向量为其协方差矩阵c
i
的特征向量v1、v2和v3,各自保存的信息量为对应的特征值λ1、λ2和λ3;根据每个点云小模块的3个主元向量,绘制出各自对应的包络盒,比较每个包络盒各自的长宽高,计算出其中最小的一边所对应的主元向量v
min
,同时求出每个包络盒对应的采样点p
i
处的法线向量v
n
;以点p
i
作为抓取点,求得机械臂末端夹具的3d抓取位置p
i
=p
i
,令机械臂末端方向与法线向量v
n
相同,机械臂末端夹具平面平行于向量v
min
,求得机械臂末端夹具的3d抓取方向r
i
,从而获得机械臂执行机构的6d抓取位姿g
i
=(p
i
,r
i
),最终完成高质量抓取位姿的采样;
[0022]
s5、将步骤s4获得的高质量抓取位姿候选输入到提前训练好的convpoint模型中进行评估,在多目标抓取中将抓取位姿的实际高度也作为评估指标之一,得分最高的作为最后的全局最优抓取位姿,具体为:
[0023]
设步骤s4获取的机械臂末端夹具抓取位姿为g,用s=(w
o
,m
o

o
)表示抓取目标o,其中w
o
、m
o
和γ
o
分别表示抓取目标o的6d位姿、几何属性以及与夹具之间的摩擦系数,为评估步骤s4采样到的抓取位姿g的质量,定义质量指标为q(s,g)为:
[0024]
q(s,g)=αq
fc
(s,g)+βq
gws
(s,g)+γq
h
(s,g)
[0025]
其中q
fc
(s,g)为夹具与抓取目标之间摩擦力的倒数,q
gws
(s,g)为夹具完成夹取任务时的宽度,q
h
为抓取位姿实际的垂直高度,α、β和γ为系数常量,即当夹具与目标之间的摩擦力越小,实际夹取的宽度越窄,抓取点越高,则q(s,g)越大,抓取位姿g的质量越高;
[0026]
根据抓取位姿g以及夹具的长宽高参数,将步骤s2预处理之后的点云图像通过直通滤波操作获取夹具闭合区域内部的点云,并将该点云进行上/下采样、归一化和中心化的操作,最后输入到提前训练好的convpoint模型中进行质量评估;本发明并没有与输入整个目标点云,而是输入部分少数点云,大大提高了学习和推理效率。
[0027]
s6、将最终得到的最优抓取位姿通过步骤s1获取的转换矩阵,变换到机械臂坐标系中,通过串口发送给机械臂,机械臂运动到最优抓取位姿处,通过夹具实现物料的抓取分拣,具体为:
[0028]
根据步骤s5质量评估的输出和抓取的垂直高度进行综合评估,得分最高的作为最优抓取位姿,根据步骤s1获得的转换矩阵t
cw
,再将最优抓取位姿转换到机械臂坐标系中,并将信息发送给机械臂,机械臂通过夹具实现一个物料的抓取分拣;
[0029]
s7、重复s2至s6的步骤,直到传送带上的所有物料全部被分拣完毕。
[0030]
进一步,所述convpoint模型的建立及训练过程为:
[0031]
建立convpoint模型,设x={(p
j
,x
j
)}为点云输入,k={(c
i
,w
i
)}为卷积核,p
j
和c
i
,x
j
和w
i
分别代表空间域值和特征域值,y为卷积层输出,令x和k的基数分别为|x|和|k|,其中i,j∈|x|;c为输出通道数,|q|为输出点云个数,k为k近邻搜索算法中搜索点个数;与图像相反,点云是非结构和无序的数据。因此,大多数为图像开发的机器学习方法无法直接转移
到点云上。convpoint模型通过将连续卷积核替代离散核来处理点云,提出了离散卷积神经网络(cnn)的泛化。这种结构非常简单,允许任意点云作为输入,并且可以应用于设计类似于2d cnn的神经网络。最终卷积层输出y被定义为:
[0032][0033]
其中β为偏移量,为几何权重函数,将函数应用于{p
j

c
i
},即点对于卷积核元素的相对位置的集合,同时选择求和函数作为对称函数来提取特征,这样就解决了点云的排列不变性和旋转不变性的问题,最后通过一个全连接(mlp)学习获取如图3所示,输入点云在经过5层上述卷积操作之后,逐渐减少点云的输出数量|q|,增加输出通道c,并根据质量指标q(s,g)进行人工标注,最后再将最终卷积层输出y输入到神经网络里面,利用标注的数据对convpoint模型进行训练。
[0034]
进一步,所述步骤s1中的m值为9。
[0035]
与现有技术相比,本发明通过3d结构光相机获取物料的三维点云数据,并与convpoint模型相结合进行物料分拣,该方法不受物料初始位姿和外形影响,抓取目标多样,系统鲁棒性更强。与现有的深度学习方法相比,本发明利用pca改善抓取采样,使得物料抓取的准确率明显提高,另外评估网络输入夹具内部的点云而非整个物体点云,减少了学习和推理时间,极大的提高了物料分拣的效率。此外,在convpoint模型训练阶段,本发明实时采集了不同种类复杂结构物料的点云数据作为训练集,并没有依赖网上开源的简单物体的数据集,实现了对不同位姿的复杂物体抓取,提高了分拣系统的智能化和自动化水平。
附图说明
[0036]
图1是本发明基于convpoint模型引导机械臂实现物料分拣的流程示意图;
[0037]
图2是本发明中convpoint模型卷积层流程示意图;
[0038]
图3是本发明中convpoint模型分类网络结构示意图;
[0039]
图4是本发明中3d结构光相机采集目标原始点云数据的示意图;
[0040]
图5是本发明对点云数据进行预处理之后的示意图;
[0041]
图6是本发明基于convpoint模型的抓取位姿质量评估网络结构示意图。
具体实施方式
[0042]
下面将对本发明作进一步说明。
[0043]
如图所示,本发明采用的分拣系统包括3d结构光相机、机械臂和计算机,3d结构光相机用于拍摄柔性生产线传送带上物料的图像并反馈给计算机,计算机用于对拍摄的图像进行处理后,控制机械臂对柔性生产线传送带上的不同物料进行分拣,具体步骤为:
[0044]
s1、通过九点标定法获取相机坐标系与机械臂坐标系之间的空间转换矩阵,具体为:
[0045]
先通过示教器控制机械臂的末端夹具移动到标定板上的9个点得到在机器人坐标系中的坐标,同时利用3d结构光相机识别标定板上的同样数量的点得到在相机坐标系下的坐标,此时能得到9组对应的坐标,从而计算出相机坐标系与机械臂坐标系之间的空间转换
矩阵t
cw

[0046]
s2、3d结构光相机获取传送带上各个物料的三维点云信息,并反馈给计算机对获取的点云进行预处理,具体为:
[0047]
通过3d结构光相机扫描传送带上的物料,得到原始点云信息,如图4所示,利用pcl点云库对点云进行直通滤波(xyz的范围分别设定为(

70,70),(

100,100),(250,390))、下采样(体素网格叶大小为0.6*0.6*0.6)和离群点移除的预处理过程,从而获得预处理后的点云图像,如图5所示。
[0048]
s3、将预处理后的点云图像进行下采样,利用基于八叉树的空间划分的半径内近邻算法(neighbors within radius search)找到每个采样点附近内的点,形成多个点云小模块,具体为:
[0049]
对步骤s2预处理之后的点云图像再次进行下采样,且其使用的体素网格叶比步骤s2的下采样体素网格叶更大(体素网格叶大小为15*15*15),获得n个采样点;利用基于八叉树的空间划分的搜索半径内近邻算法找到每个采样点附近内的点,所述搜索半径设为机械臂末端夹具最大宽度的一半,即12mm;每个采样点及其对应的搜索半径内的点云重新组合形成n个点云小模块;
[0050]
s4、对每一个点云小模块进行主元分析,形成多个点云包络盒,每个包络盒生成一个当前局部最优抓取位姿,从而完成高质量抓取位姿的采样,主元分析(即pca),是一种对数据进行分析的技术,最重要的应用是对原有数据进行简化,可以有效的找出数据中最“主要”的元素和结构,去除噪音和冗余。本发明将其应用在点云数据的简化上,利用pca求出点云数据的主元向量,再根据主元向量的方向求出点云的包络盒,根据pca理论可知,点云的主元向量为其协方差矩阵的特征向量,保存的信息量就是它对应的特征值,具体为:
[0051]
设[[a,b]]表示从a到b的整数序列,步长为1,对步骤s3获得n个点云小模块分别进行主元分析,设采样点p
i
对应的点云小模块有m个点,则该点云小模块能表示为m*3的矩阵d
i

[0052][0053]
其中i∈[[0,n

1]],(x
j
,y
j
,z
j
),j∈[[0,m

1]]代表索引为j的点的三维空间坐标,将点云矩阵d
i
的每一列作均值归零处理,获得矩阵d
i’:
[0054][0055]
其中μ
x
、μ
y
和μ
z
分别代表点云矩阵d
i
中x、y和z的平均值。令每个点的质量为1,根据质心公式:
[0056][0057]
能得出点云矩阵d
i
对应的质心p
c

x
,μ
y
,μ
z
),d
i
均值归零处理是将点云的质心移到
原点,不影响主元方向;则该点云小模块的协方差矩阵c
i
表示为:c
i
=d
i
'
t
d
i
';
[0058]
根据协方差矩阵c
i
求出其特征向量v1、v2和v3以及对应的特征值λ1、λ2和λ3;根据pca理论得出,该点云小模块的主元向量为其协方差矩阵c
i
的特征向量v1、v2和v3,各自保存的信息量为对应的特征值λ1、λ2和λ3;根据每个点云小模块的3个主元向量,绘制出各自对应的包络盒,比较每个包络盒各自的长宽高,计算出其中最小的一边所对应的主元向量v
min
,同时求出每个包络盒对应的采样点p
i
处的法线向量v
n
;以点p
i
作为抓取点,求得机械臂末端夹具的3d抓取位置p
i
=p
i
,令机械臂末端方向与法线向量v
n
相同,机械臂末端夹具平面平行于向量v
min
,求得机械臂末端夹具的3d抓取方向r
i
,从而获得机械臂执行机构的6d抓取位姿g
i
=(p
i
,r
i
),最终完成高质量抓取位姿的采样;
[0059]
s5、将步骤s4获得的高质量抓取位姿候选输入到提前训练好的convpoint模型中进行评估,在多目标抓取中将抓取位姿的实际高度也作为评估指标之一,得分最高的作为最后的全局最优抓取位姿,具体为:
[0060]
设步骤s4获取的机械臂末端夹具抓取位姿为g,用s=(w
o
,m
o

o
)表示抓取目标o,其中w
o
、m
o
和γ
o
分别表示抓取目标o的6d位姿、几何属性以及与夹具之间的摩擦系数,为评估步骤s4采样到的抓取位姿g的质量,定义质量指标为q(s,g)为:
[0061]
q(s,g)=αq
fc
(s,g)+βq
gws
(s,g)+γq
h
(s,g)
[0062]
其中q
fc
(s,g)为夹具与抓取目标之间摩擦力的倒数,q
gws
(s,g)为夹具完成夹取任务时的宽度,q
h
为抓取位姿实际的垂直高度,α、β和γ为系数常量,即当夹具与目标之间的摩擦力越小,实际夹取的宽度越窄,抓取点越高,则q(s,g)越大,抓取位姿g的质量越高;
[0063]
本发明基于convpoint模型的抓取位姿质量评估网络结构如图6所示,根据抓取位姿g以及夹具的长宽高参数,将步骤s2预处理之后的点云图像通过直通滤波操作获取夹具闭合区域内部的点云,并将该点云进行上/下采样、归一化和中心化的操作,最后输入到提前训练好的convpoint模型中进行质量评估;本发明并没有与输入整个目标点云,而是输入部分少数点云,大大提高了学习和推理效率。所述convpoint模型的训练过程为:
[0064]
建立convpoint模型,设x={(pj,xj)}为点云输入,k={(ci,wi)}为卷积核,pj和ci,xj和wi分别代表空间域值和特征域值,y为卷积层输出,令x和k的基数分别为|x|和|k|,且|x|=|k|,其中i,j∈|x|;在图3中,c为输出通道数,|q|为输出点云个数,k为k近邻搜索算法中搜索点个数;与图像相反,点云是非结构和无序的数据。因此,大多数为图像开发的机器学习方法无法直接转移到点云上。convpoint模型通过将连续卷积核替代离散核来处理点云,提出了离散卷积神经网络(cnn)的泛化。这种结构非常简单,允许任意点云作为输入,并且可以应用于设计类似于2d cnn的神经网络。从图2中可以看出,该卷积流程与离散卷积类似,但与pointnet和pointnet++模型只输入空间域值不同的是,该模型综合考虑了空间域和特征域的值。最终卷积层输出y被定义为:
[0065][0066]
其中β为偏移量,为几何权重函数,将函数应用于{pj

ci},即点对于卷积核元素的相对位置的集合,同时选择求和函数作为对称函数来提取特征,这样就解决了点云的排列不变性和旋转不变性的问题,最后通过一个全连接(mlp)学习获取如图3所示,输入
点云在经过5层上述卷积操作之后,逐渐减少点云的输出数量|q|,增加输出通道c。最后再将卷积输出y输入到神经网络里面,并根据质量指标q(s,g)人工对其进行标注,利用标注的数据对convpoint模型进行训练。
[0067]
s6、将最终得到的最优抓取位姿通过步骤s1获取的转换矩阵,变换到机械臂坐标系中,通过串口发送给机械臂,机械臂运动到最优抓取位姿处,通过夹具实现物料的抓取分拣,具体为:
[0068]
根据步骤s5质量评估的输出和抓取的垂直高度进行综合评估,得分最高的作为最优抓取位姿,根据步骤s1获得的转换矩阵t
cw
,再将最优抓取位姿转换到机械臂坐标系中,并将信息发送给机械臂,机械臂通过夹具实现一个物料的抓取分拣;
[0069]
s7、重复s2至s6的步骤,直到传送带上的所有物料全部被分拣完毕。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1