CN116645585A - 一种基于异构图神经网络的机械臂碰撞检测方法 - Google Patents
一种基于异构图神经网络的机械臂碰撞检测方法 Download PDFInfo
- Publication number
- CN116645585A CN116645585A CN202310590867.6A CN202310590867A CN116645585A CN 116645585 A CN116645585 A CN 116645585A CN 202310590867 A CN202310590867 A CN 202310590867A CN 116645585 A CN116645585 A CN 116645585A
- Authority
- CN
- China
- Prior art keywords
- node
- graph
- mechanical arm
- nodes
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 44
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 15
- 238000010586 diagram Methods 0.000 claims abstract description 27
- 238000000034 method Methods 0.000 claims abstract description 26
- 238000004891 communication Methods 0.000 claims abstract description 12
- 230000007613 environmental effect Effects 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 6
- 238000011176 pooling Methods 0.000 claims description 6
- 238000012360 testing method Methods 0.000 claims description 6
- 238000012546 transfer Methods 0.000 claims description 6
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 claims description 3
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- FGUUSXIOTUKUDN-IBGZPJMESA-N C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 Chemical compound C1(=CC=CC=C1)N1C2=C(NC([C@H](C1)NC=1OC(=NN=1)C1=CC=CC=C1)=O)C=CC=C2 FGUUSXIOTUKUDN-IBGZPJMESA-N 0.000 claims description 3
- YTAHJIFKAKIKAV-XNMGPUDCSA-N [(1R)-3-morpholin-4-yl-1-phenylpropyl] N-[(3S)-2-oxo-5-phenyl-1,3-dihydro-1,4-benzodiazepin-3-yl]carbamate Chemical compound O=C1[C@H](N=C(C2=C(N1)C=CC=C2)C1=CC=CC=C1)NC(O[C@H](CCN1CCOCC1)C1=CC=CC=C1)=O YTAHJIFKAKIKAV-XNMGPUDCSA-N 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 abstract description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005299 abrasion Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
- G06V10/422—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation for representing the structure of the pattern or shape of an object therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
- G06V10/457—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Image Analysis (AREA)
Abstract
一种基于异构图神经网络的机械臂碰撞检测方法,使用图表示机械臂和障碍物,并构造连通图交换其几何信息。图是一种更直接的结构,可以存储和表示结构信息。在这个图中,节点为我们提取的机械臂和障碍物几何形状的顶点,边代表我们机械臂和障碍物各自内部几何形状的边以及我们构造连通图时添加的边。考虑到连通图中边的不同,以及异构图更强的描述能力,使用异构图编码两个物体之间的结构关系,通过消息传递捕获连通图内机械臂和障碍物之间的空间关系,其检测精度相对于以往方法大大提高。
Description
技术领域
本发明涉及虚拟仿真碰撞检测技术领域,具体涉及一种基于异构图神经网络的机械臂碰撞检测方法。
背景技术
随着人工智能技术的迅速发展,机械臂的应用领域已经十分广泛了,并且,机械臂的自由度也在不断增加,其工作空间也由二维转换到三维,完成任务的复杂性也在不断提高,机械臂可以在复杂的环境中高效的完成很多重复性的工作。但是在其工作中,很可能与环境中的障碍物发生碰撞从而造成严重后果,在这种情况下,我们需要进一步提高机械臂的安全性。最常见的提高机械臂安全性的方法就是碰撞检测,良好的碰撞检测技术可以大大提高机械臂的安全性,减少机械臂的磨损,同时节约人力和资金的投入。
现有的碰撞检测技术可分为传感器检测法和几何体模型检测法。传感器检测法如基于力矩传感器、基于加速度计和基于智能皮肤等方法,虽然这些方法可以快速检测到碰撞,但其检测性能受到传感器和处理器的限制,并且增加了机械臂的成本,几何体模型检测法通过计算机械臂运动时的轨迹插补点位置和障碍物几何体模型位置的距离来判断是否碰撞,但这种方法的效率和精度都比较低。主流的轨迹优化方法依靠基于梯度的、有约束的、非线性的优化器来获得解,因此它们只能在可微分目标和约束条件下工作,这就带来了对可微分碰撞探测器的需求。然而,大多数探测器使用不稳定的数值梯度或随机梯度。同时,随着自由度的增加,需要预计算的状态数量呈指数级增长,因此为了计算效率,解析可微的碰撞检测方法是我们的首选。此外,随着图形处理单元(GPU)的兴起和深度学习包中自动微分工具的发展,一种用于碰撞检测的解析可微分模型尤其可取。另外有研究人员提出将同构图应用在碰撞检测上,通过将机械臂和障碍物表示为同构图,来回归机械臂和障碍物的碰撞距离并检测碰撞,虽然它在计算效率和鲁棒性较以往方法有所提升,但同构图并没有考虑机械臂和障碍物的差异性,所以将机械臂和障碍物表示为同构图会丢失节点或边中的信息,比如几何信息,这会造成在描述机械臂和障碍物的碰撞问题时不够全面。
发明内容
本发明为了克服以上技术的不足,提供了一种通过消息传递捕获连通图内机械臂和障碍物之间的空间关系,提高检测精度的方法。
本发明克服其技术问题所采用的技术方案是:
一种基于异构图神经网络的机械臂碰撞检测方法,包括如下步骤:
a)拍摄N张机械臂随机取物过程中的环境照片,提取每张环境照片中机械臂和障碍物的边界作为多边形;
b)使用Flexible Collision Library库计算第i张环境照片中机械臂的多边形和障碍物的多边形之间的最小距离di,i∈{1,2,…,N};
c)将第i张环境照片中机械臂的多边形转换为无向图Gr,Gr=(Vr,εr,Xr),Vr为无向图Gr中节点集合,无向图Gr中的节点为第i张环境照片中机械臂的多边形的顶点, 为节点集合Vr中第i个节点,i∈{1,2,…,n},n为第i张环境照片中机械臂的多边形的顶点的总数,εr为无向图Gr中边的集合,无向图Gr中的边为第i张环境照片中机械臂的多边形的边,/>为第i个节点/>与和其邻近的第j个节点/>之间的边,j∈{1,2,…,n},/>Xr为无向图Gr中节点特征的集合,/> 为第i个节点/>的节点特征,/>xi为第i个节点/>在直角坐标系中的X轴坐标,yi为第i个节点/>在直角坐标系中的Y轴坐标;
d)将第i张环境照片中障碍物的多边形转换为无向图Go,Go=(Vo,εo,Xo),Vo为无向图Go中节点集合,无向图Go中的节点为第i张环境照片中障碍物的多边形的顶点, 为节点集合Vo中第i个节点,i∈{1,2,...,m},m为第i张环境照片中障碍物的多边形的顶点的总数,εo为无向图Go中边的集合,无向图Go中的边为第i张环境照片中障碍物的多边形的边,/>为第i个节点/>与和其邻近的第j个节点/>之间的边,j∈{1,2,...,m},/>Xo为无向图Go中节点特征的集合,/> 为第i个节点/>的节点特征,/>x′i为第i个节点/>在直角坐标系中的X轴坐标,y′i为第i个节点/>在直角坐标系中的Y轴坐标;
e)第i个样本为(Gr,Go)i,i∈{1,2,...,N},最小距离di为第i个样本(Gr,Go)的标签值,得到N个样本{(Gr,Go)1,(Gr,Go)2,...,(Gr,Go)i,...,(Gr,Go)N},在N个样本中划分P%的样本作为测试集,将1-P%的样本作为训练集;
f)构建训练集中第i个样本(Gr,Go)i的关系连通图Gu;
g)使用消息传递更新关系连通图Gu中节点的节点特征,获得图和图/>计算得到图/>的加权信息特征/>及图/>的加权信息特征/>
h)通过图和图/>构建连通图/>使用消息传递更新连通图/>获得图/>和图/>计算得到图/>的加权信息特征/>及图/>的加权信息特征/>
i)重复步骤h)K次,第k次重复执行步骤h)时得到图的加权信息特征/>及图的加权信息特征/>
j)将加权信息特征加权信息特征/>加权信息特征/>分别求转置变为行向量特征/>行向量特征/>行向量特征/>将/>堆叠成为一个2+K行的矩阵Cr,将加权信息特征/>加权信息特征/>加权信息特征/>分别求转置变为行向量特征/>行向量特征/>行向量特征/>将/>加权得到矩阵Co,将矩阵Cr按列进行逐元素最大池化,得到特征Cf,r,将矩阵Co按列进行逐元素最大池化,得到特征Cf,o,将特征Cf,r及特征Cf,o分别输入到多层感知机MLP中,输出得到训练集中第i个样本(Gr,Go)i的碰撞距离/>完成碰撞检测模型的建立;
k)训练碰撞检测模型,得到优化后的碰撞检测模型;
l)将测试集中第j个样本(Gr,Go)j输入到优化后的碰撞检测模型中,输出得到测试集中第j个样本(Gr,Go)j的碰撞距离设定安全距离为dsafe,当碰撞距离/>小于安全距离dsafe时,判定为发生碰撞。
优选的,步骤a)中N取值为50000。
优选的,步骤a)中使用labelme工具中的多边形注释方法提取每张环境照片中机械臂和障碍物的边界作为多边形。
优选的,步骤e)中P取值为20。
进一步的,步骤f)包括如下步骤:
f-1)建立二部图Gc,Gc=(Vc,εc,Xc),其中Vc为训练集中第i个样本(Gr,Go)i的无向图Gr中节点与无向图Go中节点相加后的集合,Vc=Vr+Vo,
为节点集合Vc中第i个节点,i∈{1,2,...,n+m},Xc为二部图Gc中节点特征的集合,Xc=Xr+Xo,
为第i个节点/>的节点特征,从无向图Go的节点集合Vo中随机选择f个节点,f个节点分别与无向图Gr的节点集合Vr中n个节点相连形成若干边,各个边构成边集合εf,从无向图Gr的节点集合Vr中随机选择g个节点,g个节点分别与无向图Go的节点集合Vo中m个节点相连形成若干边,各个边构成边集合εg,εc为二部图Gc中边的集合,εc=εf+εg;
f-2)基于无向图Gr、无向图Go、二部图Gc构建关系连通图Gu,Gu=(Vc,εu,Xc,REL),εu为关系连通图Gu中边的集合,εu=εr+εo+εc,REL为关系集合,REL={rel1,rel2},rel1为障碍物或机械臂自身图内节点与其1-hop邻域节点之间的关系,rel2为障碍物或机械臂自身图内节点与对方物品内1-hop邻域节点之间的关系。
进一步的,步骤g)包括如下步骤:
g-1)通过公式计算得到第i个节点/>的节点特征/>经过第一次消息传递后的节点特征/>式中rel为关系连通图Gu中任一节点与其内1-hop邻域节点之间的关系,/>为第j个节点/>的节点特征,/>为与第i个节点/>具有rel关系的邻居集合索引集,/>Wr为可学习参数,Wo为可学习参数,得到更新后的节点特征的集合/>
g-2)得到更新图为 删除更新图/>中的边的集合εc,得到图/>和图/>
g-3)通过公式计算得到图/>中第i个节点/>的注意力权重式中T为转置,a(1)为可训练注意力值向量;
g-4)通过公式
计算得到图/>的加权信息特征/>
g-5)通过公式计算得到图/>中第i个节点/>的注意力权重式中T为转置,b(1)为可训练注意力值向量;
g-6)通过公式
计算得到图/>的加权信息特征/>
进一步的,步骤h)包括如下步骤:
h-1)选取图中注意力权重最大的前f个节点/>f个节点分别与图的节点集合Vo中m个节点相连形成若干边,各个边构成边集合ε′f,选取图/>中注意力权重最大的前g个节点/>g个节点分别与图/>的节点集合Vr中n个节点相连形成若干边,各个边构成边集合ε′g;
h-2)构建连通图 ε′c为连通图/>中边的集合,ε′c=ε′f+ε′g+εr+εo;
h-3)通过公式
计算得到第i个节点/>的节点特征/>经过第二次消息传递后的节点特征/> 为第j个节点/>的节点特征/>经过第一次消息传递后的节点特征,/>为可学习参数,/>为可学习参数,得到更新后的节点特征的集合/>
h-4)得到更新图为 删除更新图/>中的边的集合εc,得到图/>和图/>
h-5)通过公式计算得到图/>中第i个节点/>的注意力权重式中a(2)为可训练注意力值向量;
h-6)通过公式
计算得到图/>的加权信息特征/>
h-7)通过公式计算得到图/>中第i个节点/>的注意力权重式中b(2)为可训练注意力值向量;
h-8)通过公式
计算得到图/>的加权信息特征优选的,步骤j)中多层感知机MLP的中间层具有三个隐藏层,三个隐藏层的维度均为16。
步骤k)中使用均方误差MSE损失函数通过ADAM优化器训练步骤f)至步骤j)的碰撞检测模型,得到优化后的碰撞检测模型,训练时学习率lr设置为0.001,每经过100个epoch动态调整下降一半,训练500个epoch,当连续20个epoch的均方误差MSE损失函数不变时,结束训练。
本发明的有益效果是:将机械臂和障碍物分别用图表示,使用图表示机械臂和障碍物的几何信息,并构造连通图,考虑到连通图中节点之间关系的不同,使用异构图编码两个物体之间的结构关系,通过消息传递嵌入图之间的几何关系,其检测精度相对于以往方法大大提高。使用基于注意力的选择机制构建机械臂和障碍物的连通异构图,在保留结构信息的同时,降低模型发现远距离边缘的可能,提高消息传递的性能。
附图说明
图1为本发明的提取多边形的示意图;
图2为本发明的构建机械臂与障碍物图
图3为本发明的网络模型结构图;
图4为本发明的构建的连通图的示意图。
具体实施方式
下面结合附图1、附图2、附图3、附图4对本发明做进一步说明。
一种基于异构图神经网络的机械臂碰撞检测方法,包括如下步骤:
a)创建碰撞检测数据集,首先拍摄N张机械臂随机取物过程中的环境照片,提取每张环境照片中机械臂和障碍物的边界作为多边形。
b)如附图2所示,使用Flexible Collision Library库计算第i张环境照片中机械臂的多边形和障碍物的多边形之间的最小距离di,i∈{1,2,...,N}。
c)将第i张环境照片中机械臂的多边形转换为无向图Gr,Gr=(Vr,εr,Xr),Vr为无向图Gr中节点集合,无向图Gr中的节点为第i张环境照片中机械臂的多边形的顶点, 为节点集合Vr中第i个节点,i∈{1,2,…,n},n为第i张环境照片中机械臂的多边形的顶点的总数,εr为无向图Gr中边的集合,无向图Gr中的边为第i张环境照片中机械臂的多边形的边,/>为第i个节点/>与和其邻近的第j个节点/>之间的边,j∈{1,2,…,n},/>Xr为无向图Gr中节点特征的集合,/> 为第i个节点/>的节点特征,/>xi为第i个节点/>在直角坐标系中的X轴坐标,yi为第i个节点/>在直角坐标系中的Y轴坐标。无向图Gr中节点和边分别对应于所提取多边形的顶点和边。
d)将第i张环境照片中障碍物的多边形转换为无向图Go,Go=(Vo,εo,Xo),Vo为无向图Go中节点集合,无向图Go中的节点为第i张环境照片中障碍物的多边形的顶点, 为节点集合Vo中第i个节点,i∈{1,2,...,m},m为第i张环境照片中障碍物的多边形的顶点的总数,εo为无向图Go中边的集合,无向图Go中的边为第i张环境照片中障碍物的多边形的边,/>为第i个节点/>与和其邻近的第j个节点/>之间的边,j∈{1,2,...,m},/>Xo为无向图Go中节点特征的集合,/> 为第i个节点/>的节点特征,/>x′i为第i个节点/>在直角坐标系中的X轴坐标,y′i为第i个节点/>在直角坐标系中的Y轴坐标。无向图Go中节点和边分别对应于所提取多边形的顶点和边。
e)开始构建膨胀检测模型,第i个样本为(Gr,Go)i,i∈{1,2,...,N},最小距离di为第i个样本(Gr,Go)的标签值,得到N个样本{(Gr,Go)1,(Gr,Go)2,...,(Gr,Go)i,...,(Gr,Go)N},在N个样本中划分P%的样本作为测试集,将1-P%的样本作为训练集。
f)构建训练集中第i个样本(Gr,Go)i的关系连通图Gu。
g)使用消息传递更新关系连通图Gu中节点的节点特征,获得图和图/>计算得到图/>的加权信息特征/>及图/>的加权信息特征/>
h)通过图和图/>构建连通图/>使用消息传递更新连通图/>获得图/>和图/>计算得到图/>的加权信息特征/>及图/>的加权信息特征/>
i)重复步骤h)K次,第k次重复执行步骤h)时得到图的加权信息特征/>及图的加权信息特征/>
j)将加权信息特征加权信息特征/>加权信息特征/>分别求转置变为行向量特征/>行向量特征/>行向量特征/>将/>堆叠成为一个2+K行的矩阵Cr,将加权信息特征/>加权信息特征/>加权信息特征/>分别求转置变为行向量特征/>行向量特征/>行向量特征/>将/>加权得到矩阵Co,将矩阵Cr按列进行逐元素最大池化,得到特征Cf,r,将矩阵Co按列进行逐元素最大池化,得到特征Cf,o,将特征Cf,r及特征Cf,o分别输入到多层感知机MLP中,输出得到训练集中第i个样本(Gr,Go)i的碰撞距离/>完成碰撞检测模型的建立。
k)训练碰撞检测模型,得到优化后的碰撞检测模型。
l)将测试集中第j个样本(Gr,Go)j输入到优化后的碰撞检测模型中,输出得到测试集中第j个样本(Gr,Go)j的碰撞距离设定安全距离为dsafe,当碰撞距离/>小于安全距离dsafe时,判定为发生碰撞。
使用图表示机械臂和障碍物,并构造连通图交换其几何信息。图是一种更直接的结构,可以存储和表示结构信息。在这个图中,节点为我们提取的机械臂和障碍物几何形状的顶点,边代表我们机械臂和障碍物各自内部几何形状的边以及我们构造连通图时添加的边。考虑到连通图中边的不同,以及异构图更强的描述能力,使用异构图编码两个物体之间的结构关系,通过消息传递捕获连通图内机械臂和障碍物之间的空间关系,其检测精度相对于以往方法大大提高。
实施例1:
步骤a)中N取值为50000。步骤a)中使用labelme工具中的多边形注释方法提取每张环境照片中机械臂和障碍物的边界作为多边形,如附图1所示,以图片左下角为原点,建立直角坐标系,放入所提取多边形。步骤e)中P取值为20。
实施例2:
步骤f)包括如下步骤:
f-1)建立二部图Gc,Gc=(Vc,εc,Xc),其中Vc为训练集中第i个样本(Gr,Go)i的无向图Gr中节点与无向图Go中节点相加后的集合,Vc=Vr+Vo,
为节点集合Vc中第i个节点,i∈{1,2,...,n+m},Xc为二部图Gc中节点特征的集合,Xc=Xr+Xo,
为第i个节点/>的节点特征,从无向图Go的节点集合Vo中随机选择f个节点,f个节点分别与无向图Gr的节点集合Vr中n个节点相连形成若干边,各个边构成边集合εf,从无向图Gr的节点集合Vr中随机选择g个节点,g个节点分别与无向图Go的节点集合Vo中m个节点相连形成若干边,各个边构成边集合εg,εc为二部图Gc中边的集合,εc=εf+εg。
f-2)基于无向图Gr、无向图Go、二部图Gc构建关系连通图Gu,Gu=(Vc,εu,Xc,REL),εu为关系连通图Gu中边的集合,εu=εr+εo+εc,REL为关系集合,REL={rel1,rel2},rel1为障碍物或机械臂自身图内节点与其1-hop邻域节点之间的关系,rel2为障碍物或机械臂自身图内节点与对方物品内1-hop邻域节点之间的关系。
实施例3:
步骤g)包括如下步骤:
g-1)通过公式计算得到第i个节点/>的节点特征经过第一次消息传递后的节点特征/>式中rel为关系连通图Gu中任一节点与其内1-hop邻域节点之间的关系,/>为第j个节点/>的节点特征,/>为与第i个节点/>具有rel关系的邻居集合索引集,/>Wr为可学习参数,Wo为可学习参数,得到更新后的节点特征的集合/>
g-2)得到更新图为 删除更新图/>中的边的集合εc,得到图/>和图/>
g-3)通过公式计算得到图/>中第i个节点/>的注意力权重式中T为转置,a(1)为可训练注意力值向量;g-4)通过公式
计算得到图/>的加权信息特征/>
g-5)通过公式计算得到图/>中第i个节点/>的注意力权重式中T为转置,b(1)为可训练注意力值向量;
g-6)通过公式
计算得到图/>的加权信息特征/>
实施例4:
步骤h)包括如下步骤:
h-1)选取图中注意力权重最大的前f个节点/>f个节点分别与图的节点集合Vo中m个节点相连形成若干边,各个边构成边集合ε′f,选取图/>中注意力权重最大的前g个节点/>g个节点分别与图/>的节点集合Vr中n个节点相连形成若干边,各个边构成边集合ε′g。
h-2)构建连通图 ε′c为连通图/>中边的集合,ε′c=ε′f+ε′g+εr+εo。
h-3)通过公式
计算得到第i个节点/>的节点特征/>经过第二次消息传递后的节点特征/> 为第j个节点/>的节点特征/>经过第一次消息传递后的节点特征,/>为可学习参数,/>为可学习参数,得到更新后的节点特征的集合/>
h-4)得到更新图为 删除更新图/>中的边的集合εc,得到图/>和图/>
h-5)通过公式计算得到图/>中第i个节点/>的注意力权重式中a(2)为可训练注意力值向量。
h-6)通过公式
计算得到图/>的加权信息特征
h-7)通过公式计算得到图/>中第i个节点/>的注意力权重式中b(2)为可训练注意力值向量。
h-8)通过公式
计算得到图/>的加权信息特征实施例5:
步骤j)中多层感知机MLP的中间层具有三个隐藏层,三个隐藏层的维度均为16。
步骤k)中使用均方误差MSE损失函数通过ADAM优化器训练步骤f)至步骤j)的碰撞检测模型,得到优化后的碰撞检测模型,训练时学习率lr设置为0.001,每经过100个epoch动态调整下降一半,训练500个epoch,当连续20个epoch的均方误差MSE损失函数不变时,结束训练。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于异构图神经网络的机械臂碰撞检测方法,其特征在于,包括如下步骤:
a)拍摄N张机械臂随机取物过程中的环境照片,提取每张环境照片中机械臂和障碍物的边界作为多边形;
b)使用Flexible Collision Library库计算第i张环境照片中机械臂的多边形和障碍物的多边形之间的最小距离di,i∈{1,2,…,N};
c)将第i张环境照片中机械臂的多边形转换为无向图Gr,Gr=(Vr,εr,Xr),Vr为无向图Gr中节点集合,无向图Gr中的节点为第i张环境照片中机械臂的多边形的顶点,为节点集合Vr中第i个节点,i∈{1,2,…,n},n为第i张环境照片中机械臂的多边形的顶点的总数,εr为无向图Gr中边的集合,无向图Gr中的边为第i张环境照片中机械臂的多边形的边,/>为第i个节点/>与和其邻近的第j个节点/>之间的边,j∈{1,2,…,n},/>Xr为无向图Gr中节点特征的集合,为第i个节点/>的节点特征,/>xi为第i个节点/>在直角坐标系中的X轴坐标,yi为第i个节点/>在直角坐标系中的Y轴坐标;
d)将第i张环境照片中障碍物的多边形转换为无向图Go,Go=(Vo,εo,Xo),Vo为无向图Go中节点集合,无向图Go中的节点为第i张环境照片中障碍物的多边形的顶点,为节点集合Vo中第i个节点,i∈{1,2,…,m},m为第i张环境照片中障碍物的多边形的顶点的总数,εo为无向图Go中边的集合,无向图Go中的边为第i张环境照片中障碍物的多边形的边,/>为第i个节点/>与和其邻近的第j个节点/>之间的边,j∈{1,2,…,m},/>Xo为无向图Go中节点特征的集合, 为第i个节点/>的节点特征,/>x′i为第i个节点/>在直角坐标系中的X轴坐标,y′i为第i个节点/>在直角坐标系中的Y轴坐标;
e)第i个样本为(Gr,Go)i,i∈{1,2,...,N},最小距离di为第i个样本(Gr,Go)的标签值,得到N个样本{(Gr,Go)1,(Gr,Go)2,...,(Gr,Go)i,...,(Gr,Go)N},在N个样本中划分P%的样本作为测试集,将1-P%的样本作为训练集;
f)构建训练集中第i个样本(Gr,Go)i的关系连通图Gu;
g)使用消息传递更新关系连通图Gu中节点的节点特征,获得图和图/>计算得到图的加权信息特征/>及图/>的加权信息特征/>
h)通过图和图/>构建连通图/>使用消息传递更新连通图/>获得图/>和图计算得到图/>的加权信息特征/>及图/>的加权信息特征/>
i)重复步骤h)K次,第k次重复执行步骤h)时得到图的加权信息特征/>及图/>的加权信息特征/>
j)将加权信息特征加权信息特征/>加权信息特征/>分别求转置变为行向量特征/>行向量特征/>行向量特征/>将/>堆叠成为一个2+K行的矩阵Cr,将加权信息特征/>加权信息特征/>加权信息特征/>分别求转置变为行向量特征/>行向量特征/>行向量特征/>将/>加权得到矩阵Co,将矩阵Cr按列进行逐元素最大池化,得到特征Cf,r,将矩阵Co按列进行逐元素最大池化,得到特征Cf,o,将特征Cf,r及特征Cf,o分别输入到多层感知机MLP中,输出得到训练集中第i个样本(Gr,Go)i的碰撞距离/>完成碰撞检测模型的建立;
k)训练碰撞检测模型,得到优化后的碰撞检测模型;
l)将测试集中第j个样本(Gr,Go)j输入到优化后的碰撞检测模型中,输出得到测试集中第j个样本(Gr,Go)j的碰撞距离设定安全距离为dsafe,当碰撞距离/>小于安全距离dsafe时,判定为发生碰撞。
2.根据权利要求1所述的基于异构图神经网络的机械臂碰撞检测方法,其特征在于:步骤a)中N取值为50000。
3.根据权利要求1所述的基于异构图神经网络的机械臂碰撞检测方法,其特征在于:步骤a)中使用labelme工具中的多边形注释方法提取每张环境照片中机械臂和障碍物的边界作为多边形。
4.根据权利要求1所述的基于异构图神经网络的机械臂碰撞检测方法,其特征在于:步骤e)中P取值为20。
5.根据权利要求1所述的基于异构图神经网络的机械臂碰撞检测方法,其特征在于,步骤f)包括如下步骤:
f-1)建立二部图Gc,Gc=(Vc,εc,Xc),其中Vc为训练集中第i个样本(Gr,Go)i的无向图Gr中节点与无向图Go中节点相加后的集合,Vc=Vr+Vo,
为节点集合Vc中第i个节点,i∈{1,2,...,n+m},Xc为二部图Gc中节点特征的集合,Xc=Xr+Xo,
为第i个节点/>的节点特征,从无向图Go的节点集合Vo中随机选择f个节点,f个节点分别与无向图Gr的节点集合Vr中n个节点相连形成若干边,各个边构成边集合εf,从无向图Gr的节点集合Vr中随机选择g个节点,g个节点分别与无向图Go的节点集合Vo中m个节点相连形成若干边,各个边构成边集合εg,εc为二部图Gc中边的集合,εc=εf+εg;
f-2)基于无向图Gr、无向图Go、二部图Gc构建关系连通图Gu,Gu=(Vc,εu,Xc,REL),εu为关系连通图Gu中边的集合,εu=εr+εo+εc,REL为关系集合,REL={rel1,rel2},rel1为障碍物或机械臂自身图内节点与其1-hop邻域节点之间的关系,rel2为障碍物或机械臂自身图内节点与对方物品内1-hop邻域节点之间的关系。
6.根据权利要求5所述的基于异构图神经网络的机械臂碰撞检测方法,其特征在于,步骤g)包括如下步骤:
g-1)通过公式计算得到第i个节点/>的节点特征经过第一次消息传递后的节点特征/>式中rel为关系连通图Gu中任一节点与其内1-hop邻域节点之间的关系,/>为第j个节点/>的节点特征,/>为与第i个节点/>具有rel关系的邻居集合索引集,/>Wr为可学习参数,Wo为可学习参数,得到更新后的节点特征的集合/>
g-2)得到更新图为删除更新图/>中的边的集合εc,得到图和图/>
g-3)通过公式计算得到图/>中第i个节点/>的注意力权重/>式中T为转置,a(1)为可训练注意力值向量;
g-4)通过公式
计算得到图/>的加权信息特征/>
g-5)通过公式计算得到图/>中第i个节点/>的注意力权重/>式中T为转置,b(1)为可训练注意力值向量;
g-6)通过公式
计算得到图/>的加权信息特征/>
7.根据权利要求6所述的基于异构图神经网络的机械臂碰撞检测方法,其特征在于,步骤h)包括如下步骤:
h-1)选取图中注意力权重最大的前f个节点/>f个节点分别与图/>的节点集合Vo中m个节点相连形成若干边,各个边构成边集合ε′f,选取图/>中注意力权重最大的前g个节点/>g个节点分别与图/>的节点集合Vr中n个节点相连形成若干边,各个边构成边集合ε′g;
h-2)构建连通图ε′c为连通图/>中边的集合,ε′c=ε′f+ε′g+εr+εo;
h-3)通过公式
计算得到第i个节点/>的节点特征/>经过第二次消息传递后的节点特征/> 为第j个节点/>的节点特征/>经过第一次消息传递后的节点特征,/>为可学习参数,/>为可学习参数,得到更新后的节点特征的集合/>
h-4)得到更新图为删除更新图/>中的边的集合εc,得到图和图/>
h-5)通过公式计算得到图/>中第i个节点/>的注意力权重/>式中a(2)为可训练注意力值向量;
h-6)通过公式
计算得到图/>的加权信息特征/>
h-7)通过公式计算得到图/>中第i个节点voi的注意力权重/>式中b(2)为可训练注意力值向量;
h-8)通过公式
计算得到图/>的加权信息特征/>
8.根据权利要求5所述的基于异构图神经网络的机械臂碰撞检测方法,其特征在于:步骤j)中多层感知机MLP的中间层具有三个隐藏层,三个隐藏层的维度均为16。
9.根据权利要求5所述的基于异构图神经网络的机械臂碰撞检测方法,其特征在于:步骤k)中使用均方误差MSE损失函数通过ADAM优化器训练步骤f)至步骤j)的碰撞检测模型,得到优化后的碰撞检测模型,训练时学习率lr设置为0.001,每经过100个epoch动态调整下降一半,训练500个epoch,当连续20个epoch的均方误差MSE损失函数不变时,结束训练。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310590867.6A CN116645585A (zh) | 2023-05-24 | 2023-05-24 | 一种基于异构图神经网络的机械臂碰撞检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310590867.6A CN116645585A (zh) | 2023-05-24 | 2023-05-24 | 一种基于异构图神经网络的机械臂碰撞检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116645585A true CN116645585A (zh) | 2023-08-25 |
Family
ID=87642885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310590867.6A Pending CN116645585A (zh) | 2023-05-24 | 2023-05-24 | 一种基于异构图神经网络的机械臂碰撞检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116645585A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116935252A (zh) * | 2023-07-10 | 2023-10-24 | 齐鲁工业大学(山东省科学院) | 一种基于子图嵌入图神经网络的机械臂碰撞检测方法 |
-
2023
- 2023-05-24 CN CN202310590867.6A patent/CN116645585A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116935252A (zh) * | 2023-07-10 | 2023-10-24 | 齐鲁工业大学(山东省科学院) | 一种基于子图嵌入图神经网络的机械臂碰撞检测方法 |
CN116935252B (zh) * | 2023-07-10 | 2024-02-02 | 齐鲁工业大学(山东省科学院) | 一种基于子图嵌入图神经网络的机械臂碰撞检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110450153B (zh) | 一种基于深度强化学习的机械臂物品主动拾取方法 | |
CN111489358B (zh) | 一种基于深度学习的三维点云语义分割方法 | |
CN112818999B (zh) | 一种基于卷积神经网络的复杂场景3d点云语义分割方法 | |
CN109800864B (zh) | 一种基于图像输入的机器人主动学习方法 | |
CN111626128B (zh) | 一种基于改进YOLOv3的果园环境下行人检测方法 | |
CN111046826B (zh) | 一种远红外热成像人脸关键点的定位方法 | |
CN108549844A (zh) | 一种基于多层分形网络和关节亲属模式的多人姿态估计方法 | |
US20230206603A1 (en) | High-precision point cloud completion method based on deep learning and device thereof | |
CN111462324B (zh) | 一种在线时空语义融合方法和系统 | |
CN116645585A (zh) | 一种基于异构图神经网络的机械臂碰撞检测方法 | |
CN113449612B (zh) | 一种基于子流型稀疏卷积的三维目标点云识别的方法 | |
CN112529010B (zh) | 一种基于在线局部特征提取的点云识别方法 | |
US11948368B2 (en) | Real-time target detection and 3d localization method based on single frame image | |
CN110263855B (zh) | 一种利用共基胶囊投影进行图像分类的方法 | |
CN114117926A (zh) | 一种基于联邦学习的机器人协同控制算法 | |
CN113011430A (zh) | 大规模点云语义分割方法及系统 | |
CN117011380A (zh) | 一种目标物体的6d位姿估计方法 | |
CN111241326B (zh) | 基于注意力金字塔图网络的图像视觉关系指代定位方法 | |
CN116486489A (zh) | 基于语义感知图卷积的三维手物姿态估计方法及系统 | |
CN116935252B (zh) | 一种基于子图嵌入图神经网络的机械臂碰撞检测方法 | |
CN112365456B (zh) | 基于三维点云数据的变电站设备分类方法 | |
Wu et al. | A rough set GA-based hybrid method for robot path planning | |
CN113487713A (zh) | 一种点云特征提取方法、装置及电子设备 | |
Li et al. | Instance segmentation of point cloud based on improved dgcnn for robotic grasping | |
Dai et al. | DSAP: Dynamic Sparse Attention Perception Matcher for Accurate Local Feature Matching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |