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

技术编号:38632916 阅读:11 留言:0更新日期:2023-08-31 18:30
一种基于异构图神经网络的机械臂碰撞检测方法,使用图表示机械臂和障碍物,并构造连通图交换其几何信息。图是一种更直接的结构,可以存储和表示结构信息。在这个图中,节点为我们提取的机械臂和障碍物几何形状的顶点,边代表我们机械臂和障碍物各自内部几何形状的边以及我们构造连通图时添加的边。考虑到连通图中边的不同,以及异构图更强的描述能力,使用异构图编码两个物体之间的结构关系,通过消息传递捕获连通图内机械臂和障碍物之间的空间关系,其检测精度相对于以往方法大大提高。其检测精度相对于以往方法大大提高。其检测精度相对于以往方法大大提高。

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


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

技术介绍

[0002]随着人工智能技术的迅速发展,机械臂的应用领域已经十分广泛了,并且,机械臂的自由度也在不断增加,其工作空间也由二维转换到三维,完成任务的复杂性也在不断提高,机械臂可以在复杂的环境中高效的完成很多重复性的工作。但是在其工作中,很可能与环境中的障碍物发生碰撞从而造成严重后果,在这种情况下,我们需要进一步提高机械臂的安全性。最常见的提高机械臂安全性的方法就是碰撞检测,良好的碰撞检测技术可以大大提高机械臂的安全性,减少机械臂的磨损,同时节约人力和资金的投入。
[0003]现有的碰撞检测技术可分为传感器检测法和几何体模型检测法。传感器检测法如基于力矩传感器、基于加速度计和基于智能皮肤等方法,虽然这些方法可以快速检测到碰撞,但其检测性能受到传感器和处理器的限制,并且增加了机械臂的成本,几何体模型检测法通过计算机械臂运动时的轨迹插补点位置和障碍物几何体模型位置的距离来判断是否碰撞,但这种方法的效率和精度都比较低。主流的轨迹优化方法依靠基于梯度的、有约束的、非线性的优化器来获得解,因此它们只能在可微分目标和约束条件下工作,这就带来了对可微分碰撞探测器的需求。然而,大多数探测器使用不稳定的数值梯度或随机梯度。同时,随着自由度的增加,需要预计算的状态数量呈指数级增长,因此为了计算效率,解析可微的碰撞检测方法是我们的首选。此外,随着图形处理单元(GPU)的兴起和深度学习包中自动微分工具的发展,一种用于碰撞检测的解析可微分模型尤其可取。另外有研究人员提出将同构图应用在碰撞检测上,通过将机械臂和障碍物表示为同构图,来回归机械臂和障碍物的碰撞距离并检测碰撞,虽然它在计算效率和鲁棒性较以往方法有所提升,但同构图并没有考虑机械臂和障碍物的差异性,所以将机械臂和障碍物表示为同构图会丢失节点或边中的信息,比如几何信息,这会造成在描述机械臂和障碍物的碰撞问题时不够全面。

技术实现思路

[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
中节点的节点特征,获得图和图计算得到图的加权信息特征及图的加权信息特征
[0014]h)通过图和图构建连通图使用消息传递更新连通图获得图和图计算得到图的加权信息特征及图的加权信息特征
[0015]i)重复步骤h)K次,第k次重复执行步骤h)时得到图的加权信息特征及图的加权信息特征
[0016]j)将加权信息特征加权信息特征加权信息特征分别求转置变为行向量特征行向量特征行向量特征将堆叠成为一个2+K行的矩阵C
r
,将加权信息特征加权信息特征加权信息特征分别求转置变为行向量特征行向量特征行向量特征将加权得到矩阵C
o
,将矩阵C
r
按列进行逐元素最大池化,得到特征C
f,r
,将矩阵C
o...

【技术保护点】

【技术特征摘要】
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张环境照片中机械臂的多边形的顶点,为节点集合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张环境照片中障碍物的多边形的顶点,为节点集合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
中节点的节点特征,获得图和图计算得到图的加权信息特征及图的加权信息特征h)通过图和图构建连通图使用消息传递更新连通图获得图和图计算得到图的加权信息特征及图的加权信息特征i)重复步骤h)K次,第k次重复执行步骤h)时得到图的加权信息特征及图的加权信息特征j)将加权信息特征加权信息特征加权信息特征分别求转置变为行向量特
征行向量特征行向量特征将堆叠成为一个2+K行的矩阵C
r
,将加权信息特征加权信息特征加权信息特征分别求转置变为行向量特征行向量特征行向量特征将加权得到矩阵C
o
,将矩阵C
r
按列进行逐元素最大池化,得到特征C
f,r
,将矩阵C
o
按列进行逐元素最大池化,得到特征C
f,o
,将特征C
f,r
及特征C
f,o
分别输入到多层感知机MLP中,输出得到训练集中第i个样本(G
r
,G
o
)
i
的碰撞距离完成碰撞检测模型的建立;k)训练碰撞检测模型,得到优化后的碰撞检测模型;l)将测试集中第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<...

【专利技术属性】
技术研发人员:王英龙赵鹏舒明雷狄冲陈超刘照阳
申请(专利权)人:齐鲁工业大学山东省科学院
类型:发明
国别省市:

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

1