一种基于子图嵌入图神经网络的机械臂碰撞检测方法技术

技术编号:39174734 阅读:14 留言:0更新日期:2023-10-27 08:22
一种基于子图嵌入图神经网络的机械臂碰撞检测方法,涉及虚拟仿真碰撞检测技术领域,将机械臂和障碍物分别用图表示,使用图表示机械臂和障碍物的几何信息,并构造连通图,为防止局部碰撞特征被稀释,将连通图分割为若干包含局部碰撞信息的子图,通过图神经网络嵌入图之间的几何关系,提取机械臂和障碍物的局部碰撞信息,提高特征提取性能,其检测精度相对于以往方法大大提高。使用基于注意力的选择机制构建机械臂和障碍物的连通图,在保留结构信息的同时,降低模型发现远距离信息的可能,提高消息传递的性能。消息传递的性能。消息传递的性能。

【技术实现步骤摘要】
一种基于子图嵌入图神经网络的机械臂碰撞检测方法


[0001]本专利技术涉及虚拟仿真碰撞检测
,具体涉及一种基于子图嵌入图神经网络的机械臂碰撞检测方法。

技术介绍

[0002]“工业4.0”时代主要分为两大主题,“智能工厂”和“智能生产”,其基础就是通过机器人来代替人类进行劳动生产,以实现智能制造。因此,提高对机器人的智能控制效率对“工业4.0”时代来说至关重要。在各种类型的机器人中,最具有灵活性以及通用性的非机械臂莫属,并且机械臂的应用领域最为广泛。随着机械臂的工作环境越来越复杂,以及其完成任务的难度也越来越高,机械臂的自由度在不断增加,工作空间也由二维转换到三维。机械臂帮我们高效的完成重复性的工作的同时,对其运动稳定性、安全性也提出了较高的要求。高效的碰撞检测技术能够提前检测出危险情况,大大提高机械臂的安全性,避免对机械臂本体和周围环境物品造成破坏,同时也节约了人力和资金的投入,为机械臂能够在各种工作场景作业提供的坚定的基础。
[0003]目前,机械臂碰撞检测方法主要可分为外接设备法以及基于模型的方法两种,外接设备法需要添加额外的传感器和相机,以进行信息的采集避免碰撞。但这种检测效果易受环境影响,并且成本高,效果也不稳定。Lumelsky.V.J等在机械臂上安装智能皮肤来检测碰撞,这种方法虽然准确率非常高,但检测过程复杂,需要处理的数据很多,检测速度过度依赖于处理器的性能。相比而言,基于模型的方法更为可靠。基于模型的方法是输入机器人和环境场景信息并将机器人的网格元素与周围物体和障碍物的网格进行比较的算法,但这种方法的效率和精度都比较低。随着深度学习技术的发展,Yeseung Kim等人提出将图神经网络应用在碰撞检测上,通过将机械臂和障碍物表示为图结构,使用图神经网络来回归机械臂和障碍物的碰撞距离并检测碰撞,它存在的一个问题,由于邻居节点之间信息的反复更新,以及信息从主要节点扩散到外围节点,图嵌入会收敛到优势节点信息,即节点信息稀释,其中分布相对较少的带有碰撞信息的节点会被其他节点信息隐藏或稀释,这会导致预测性能严重恶化,在机械臂和周围障碍物的碰撞检测中,这是一个重要的问题。

技术实现思路

[0004]本专利技术为了克服以上技术的不足,提供了一种使用图神经网络更新节点特征,捕获连通图内机械臂和障碍物之间的空间关系,提高特征提取性能,检测精度大大提高的方法。
[0005]本专利技术克服其技术问题所采用的技术方案是:
[0006]一种基于子图嵌入图神经网络的机械臂碰撞检测方法,包括如下步骤:
[0007]a)拍摄N张机械臂随机取物过程中的环境照片,提取每张环境照片中机械臂和障碍物的边界作为多边形;
[0008]b)使用Flexible Collision Library库计算第i张环境照片中机械臂的多边形和
障碍物的多边形之间的最小距离d
i
,i∈{1,2,...,N};
[0009]c)将第i张环境照片中机械臂的多边形转换为无向图G
r
,G
r
=(V
r

r
,X
r
),V
r
为无向图G
r
中节点集合,无向图G
r
中的节点为第i张环境照片中机械臂的多边形的顶点,中的节点为第i张环境照片中机械臂的多边形的顶点,为节点集合V
r
中第i个节点,i∈{1,2,...,n},n为第i张环境照片中机械臂的多边形的顶点的总数,ε
r
为无向图G
r
中边的集合,无向图G
r
中的边为第i张环境照片中机械臂的多边形的边,为第i个节点与和其邻近的第j个节点之间的边,j∈{1,2,...,n},X
r
为无向图G
r
中节点特征的集合,中节点特征的集合,为第i个节点的节点特征,x
i
为第i个节点在直角坐标系中的X轴坐标,y
i
为第i个节点在直角坐标系中的Y轴坐标;
[0010]d)将第i张环境照片中障碍物的多边形转换为无向图G
o
,G
o
=(V
o

o
,X
o
),V
o
为无向图G
o
中节点集合,无向图G
o
中的节点为第i张环境照片中障碍物的多边形的顶点,中的节点为第i张环境照片中障碍物的多边形的顶点,为节点集合V
o
中第i个节点,i∈{1,2,...,m},m为第i张环境照片中障碍物的多边形的顶点的总数,ε
o
为无向图G
o
中边的集合,无向图G
o
中的边为第i张环境照片中障碍物的多边形的边,为第i个节点与和其邻近的第j个节点之间的边,j∈{1,2,...,m},X
o
为无向图G
o
中节点特征的集合,中节点特征的集合,为第i个节点的节点特征,x

i
为第i个节点在直角坐标系中的X轴坐标,y

i
为第i个节点在直角坐标系中的Y轴坐标;
[0011]e)第i个样本为(G
r
,G
o
)
i
,i∈{1,2,...,N},最小距离d
i
为第i个样本(G
r
,G
o
)的标签值,得到N个样本{(G
r
,G
o
)1,(G
r
,G
o
)2,...,(G
r
,G
o
)
i
,...,(G
r
,G
o
)
N
},在N个样本中划分P%的样本作为测试集,将1

P%的样本作为训练集;
[0012]f)构建训练集中第i个样本(G
r
,G
o
)
i
的连通图G
u

[0013]g)将连通图G
u
划分为subn个子图G
sub1
、G
sub2
、...、G
subi
、...、G
subn
,G
subi
为第i个子图,i∈{sub1,...,subn},对subn个子图G
sub1
、G
sub2
、...、G
subi
、...、G
subn
分别使用图注意力网络更新节点特征,得到更新图分别计算更新图的加权信息特征
[0014]h)根据更新图得到无向图和无向图通过无向图和无向图构建连通图将连通图划分为subn个子图划分为subn个子图为第i个子图,i∈{sub1,...本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于子图嵌入图神经网络的机械臂碰撞检测方法,其特征在于,包括如下步骤:a)拍摄N张机械臂随机取物过程中的环境照片,提取每张环境照片中机械臂和障碍物的边界作为多边形;b)使用Flexible Collision Library库计算第i张环境照片中机械臂的多边形和障碍物的多边形之间的最小距离d
i
,i∈{1,2,...,N};c)将第i张环境照片中机械臂的多边形转换为无向图G
r
,G
r
=(V
r

r
,X
r
),V
r
为无向图G
r
中节点集合,无向图G
r
中的节点为第i张环境照片中机械臂的多边形的顶点,中的节点为第i张环境照片中机械臂的多边形的顶点,为节点集合V
r
中第i个节点,i∈{1,2,...,n},n为第i张环境照片中机械臂的多边形的顶点的总数,ε
r
为无向图G
r
中边的集合,无向图G
r
中的边为第i张环境照片中机械臂的多边形的边,为第i个节点与和其邻近的第j个节点之间的边,j∈{1,2,...,n},X
r
为无向图G
r
中节点特征的集合,中节点特征的集合,为第i个节点的节点特征,x
i
为第i个节点在直角坐标系中的X轴坐标,y
i
为第i个节点在直角坐标系中的Y轴坐标;d)将第i张环境照片中障碍物的多边形转换为无向图G
o
,G
o
=(V
o

o
,X
o
),V
o
为无向图G
o
中节点集合,无向图G
o
中的节点为第i张环境照片中障碍物的多边形的顶点,中的节点为第i张环境照片中障碍物的多边形的顶点,为节点集合V
o
中第i个节点,i∈{1,2,...,m},m为第i张环境照片中障碍物的多边形的顶点的总数,ε
o
为无向图G
o
中边的集合,无向图G
o
中的边为第i张环境照片中障碍物的多边形的边,为第i个节点与和其邻近的第j个节点之间的边,j∈{1,2,...,m},X
o
为无向图G
o
中节点特征的集合,中节点特征的集合,为第i个节点的节点特征,x

i
为第i个节点在直角坐标系中的X轴坐标,y

i
为第i个节点在直角坐标系中的Y轴坐标;e)第i个样本为(G
r
,G
o
)
i
,i∈{1,2,...,N},最小距离d
i
为第i个样本(G
r
,G
o
)的标签值,得到N个样本{(G
r
,G
o
)1,(G
r
,G
o
)2,...,(G
r
,G
o
)
i
,...,(G
r
,G
o
)
N
},在N个样本中划分P%的样本作为测试集,将1

P%的样本作为训练集;f)构建训练集中第i个样本(G
r
,G
o
)
i
的连通图G
u
;g)将连通图G
u
划分为subn个子图G
sub1
、G
sub2
、...、G
subi
、...、G
subn
,G
subi
为第i个子图,i∈{sub1,...,subn},对subn个子图G
sub1
、G
sub2
、...、G
subi
、...、G
subn
分别使用图注意力网络更新节点特征,得到更新图分别计算更新图的加权信息特征h)根据更新图得到无向图和无向图通过无向图和无向图构建连通图将连通图划分为subn个子图
为第i个子图,i∈{sub1,...,subn},对subn个子图分别使用图注意力网络更新节点特征,得到更新图分别计算更新图的加权信息特征i)重复步骤h)K次,第k次重复执行步骤h)时得到更新图的加权信息特征的加权信息特征,k∈{1,2,...,K};j)将加权信息特征分别求转置变为行向量特征将堆叠成为一个2+K行的矩阵C
subi
,得到subn个子图的矩阵C
sub1
、C
sub2
、...C
subn
;k)将subn个子图的矩阵C
sub1
、C
sub2
、...C
subn
分别按列进行逐元素最大池化,得到向量C
f,sub1
、C
f,sub2
、...C
f,subn
,将向量C
f,sub1
、C
f,sub2
、...C
f,subn
相互串联后输入到多层感知机MLP中,输出得到训练集中第i个样本(G
r
,G
o
)
i
的碰撞距离完成碰撞检测模型的建立;l)训练碰撞检测模型,得到优化后的碰撞检测模型;m将测试集中第j个样本(G
r
,G
o
)
j
输入到优化后的碰撞检测模型中,输出得到测试集中第j个样本(G
r
,G
o
)
j
的碰撞距离设定安全距离为d
safe
,当碰撞距离小于安全距离d
safe
时,判定为发生碰撞。2.根据权利要求1所述的基于子图嵌入图神经网络的机械臂碰撞检测方法,其特征在于:步骤a)中N取值为50000。3.根据权利要求1所述的基于子图嵌入图神经网络的机械臂碰撞检测方法,其特征在于:步骤a)中使用labelme工具中的多边形注释方法提取每张环境照片中机械臂和障碍物的边界作为多边形。4.根据权利要求1所述的基于子图嵌入图神经网络的机械臂碰撞检测方法,其特征在于:步骤e)中P取值为20。5.根据权利要求1所述的基于子图嵌入图神经网络的机械臂碰撞检测方法,其特征在于,步骤f)包括如下步骤:f

1)建立二部图G
c
,G
c
=(V
c

c
,X
c
),其中V
c
为训练集中第i个样本(G
r
,G
o
)
i
的无向图G
r
中节点与无向图G
o
中节点相加后的集合,V
c
=V
r
+V
o
,,为节点集合V
c
中第i个节点,i∈{1,2,...,n+m},X<...

【专利技术属性】
技术研发人员:王英龙赵鹏舒明雷狄冲
申请(专利权)人:山东省人工智能研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1