1.本发明涉及机器运动控制技术领域,特别是涉及一种基于图神经网络的机器人线缆形状控制方法及设备。
背景技术:2.随着工业自动化水平的提高,机器人在工业生产中已经得到了广泛的应用,例如工件搬运、工件反转、上下料、货物码垛等。但是目前较为成熟的机器人物体操作技术基本都只涉及对于刚性物体的操作规划,这类物体在操作过程中不会发生变形,或者其变形对于操作过程不会产生明显影响。对于柔性的可形变物体,相关机器人操作技术还很不成熟。
3.然而,针对可形变物体的机器人操作在现实世界中同样有许多重要的应用。例如在汽车制造、电子生产等工业领域中对线缆的安装,家庭辅助场景中对衣物的整理,医疗领域中的伤口缝合等等。由于需求和技术水平的矛盾,可形变物体的机器人操作规划在近几年逐渐成为了机器人领域的研究热点。
4.可形变物体的机器人操作面临的挑战主要体现在以下两方面:
5.一、无限的状态自由度。这里我们将可形变物体与刚性物体进行对比:刚性物体在运动过程中,其上任意两部分之间的相对位置关系是固定的。因此只需通过六个参数确定刚性物体作为一个整体在空间中的位姿,其状态便可以唯一确定;而可形变物体中各部分之间相对位置不定,且理论上可以无限细分。因此在理论上,用有限的参数只能近似离散地表征可形变物体的状态。状态表征方法的选取对可形变物体操作方法非常重要;
6.二、复杂且非线性的动力学模型(dynamic model)。在机器人物体操作领域,广义的动力学模型指的是从物体当前状态和机器人动作到物体下一时刻状态的映射。随着可形变物体自身状态的变化,外界施加的相同作用力有可能对物体的状态产生完全不同的作用效果。由于可形变物体内部复杂的微观相互作用,从数学上精确地构建可形变物体动力学模型非常困难,这就使得我们难以运用模型预测控制(mpc)等比较成熟的控制方法完成对可形变物体形状的精确控制。
7.为了规避以上两个主要难点,加州大学伯克利分校相关研究团队提出了无模型视觉端到端的控制方法。这种方法直接使用视觉传感器接受到的图像数据作为可形变物体的状态表征,并通过数据驱动的方式训练卷积神经网络作为逆动力学模型,输入可形变物体的初始与目标状态图像,直接生成出需要执行的机器人动作。
8.由于不需要额外设计可形变物体的状态表征方法,也不需要构建复杂的前向动力学模型,上述端到端的控制方法在简单的操作任务(例如拉直线缆、展平布料)上具有很强的可行性。但是由于逆动力学模型对于动作空间的离散化,端到端方法无法实现精确的形状控制。以目前的技术水平,要真正实现工业应用级的可形变物体形状控制,必须通过解决可形变物体操作的上述两个技术难点,为物体操作建立准确的动力学模型。
9.目前基于动力学模型的可形变物体操作方法可以划分为基于局部模型和基于全局模型两种:
10.基于局部模型的控制方案依赖于局部线性假设,即认为在机器人的动作幅度足够小的情况下,其末端的线位移或角位移与可形变物体状态的变化量之间存在近似的线性关系,并且该线性关系仅随物体当前状态的变化而变化。基于这个假设,选取当前状态附近时刻的机器人动作与物体状态变化量作为数据,通过线性拟合得到二者之间的近似关系。根据物体的目标状态确定需要的状态变化量,由线性关系反解出机器人需要执行的动作。随着物体状态的改变,局部模型也需要不断更新。
11.局部模型方案的优劣:该方案不需要在控制任务开始前收集大量数据,并且局部模型的求解通常具有解析解,不需要耗费大量时间迭代训练。但由于局部模型的固有缺陷,规划过程容易陷入局部最优,并且无法实现大变形控制规划。
12.基于全局模型的控制方案意在为特定的可形变物体建立一种对其可能出现的所有状态都适用的动力学模型。基于准确的全局模型,控制系统可以在任何情况下根据物体当前状态预估机器人的动作对物体的影响,从而通过动作空间的搜索规划出使物体达到目标状态的最优动作序列。
13.全局模型方案的优劣:与局部模型方案单步执行、模型更新的流程不同,全局模型方案无需根据物体状态更新模型就可以在相对比较大的范围内搜索最优动作,可以更加稳定地避免局部最优解。但全局模型作为复杂度很高的非线性模型,其构建所需的数据和计算成本都要远远高出局部模型。
14.香港理工大学等高校的相关研究团队提出了多种基于局部动力学模型的线缆形状控制方案。此类方案的实施流程如下:
15.一、确定合适的线缆状态表征方法。由于表征方法并不是控制方案的核心技术,多种表征方法都有使用,例如提取线缆曲线的傅里叶级数、选取线缆上离散的特征点坐标等。总之能够使用有限的参数近似表示线缆状态的方法都是合理的状态表征方法。
16.二、依据一定时间范围内的历史数据计算雅可比矩阵,近似拟合机器人动作与线缆状态改变量之间的局部线性关系。用公式表示为δs=jδr,式中j表示雅可比矩阵,δr表示机器人动作,δs表示状态改变量。常用最小二乘法完成雅可比矩阵的拟合,具有解析解,可以保证局部模型的更新速度。
17.三、基于当前的局部动力学模型,由当前线缆状态与目标状态的差值,计算机器人应当执行的动作。
18.基于局部模型方法的不足有:
19.1)只有在动作空间足够小的前提下才能够满足局部动力学模型的线性假设,因此基于局部模型的控制方法难以用于相差较大的线缆形状控制任务,而且需要迭代的步数较多。
20.2)容易陷入局部最优,这是局部模型的固有缺陷。
21.目前在机器人研究领域中,许多研究团队都提出了自己的基于全局动力学模型的线缆形状控制方案。这类控制方案在整体框架上具有较高的相同点,而区别仅在于各环节的具体实现方案,因此将它们归为同一类现有技术方案。将整体框架概括如下:
22.一、与基于局部模型的控制方案相同,首先需要确定合适的线缆状态表征方法。这里不再赘述。
23.二、在真实物理环境或计算机仿真环境中采集数据,包括机器人执行的动作信息
和动作执行前后线缆的状态信息。根据采集的数据拟合线缆的全局动力学模型,用公式表示为s
t+1
=f(s
t
,a
t
),式中f表示动力学模型,a
t
表示当前时刻的机器人动作,s
t
和s
t+1
分别表示当前时刻和下一时刻的线缆状态。常用深度神经网络作为全局动力学模型。
24.三、基于拟合得到的全局动力学模型,采用模型预测控制等方法在动作空间内搜索最优动作序列。
25.下面具体介绍一种具有代表性的基于全局动力学模型的方案。方案的状态表征方法和动力学模型构建方法的流程图如图1a至图1b所示:
26.(1)图中介绍了构建动力学模型所需数据集的组成结构,包含分别记录线缆在t和t+1时刻状态的图像i
t
,i
t+1
,以及机器人在t时刻执行的动作a
t
。
27.(2)搭建由6层卷积神经网络构成的状态表征编码器,从数据集图像i中提取能够表征线缆状态的向量s,分别得到t和t+1时刻的线缆状态表征向量s
t
和s
t+1
。
28.(3)动力学模型是一个包含2个隐藏层的多层感知机(mlp),输入为s
t
和a
t
,输出为s
t+1
的预测值
29.(4)对比模型预测值和真实值s
t+1
,计算损失函数并通过反向传播联合训练状态表征编码器和动力学模型两个神经网络。
30.(5)训练完毕后得到参数适配的状态表征编码器和动力学模型,开始线缆的形状控制规划过程。将记录线缆当前状态和目标状态的图像i0,ig输入状态表征编码器,得到表征向量s0,sg,在动作空间中随机采样a0后与s0一并输入动力学模型,得到选取使得和sg相差最小的a0作为机器人将要执行的动作。如此迭代直至线缆形状与目标状态足够接近。
31.现有的基于全局动力学模型的控制方案普遍有以下不足:
32.1)在动力学模型的建模过程中,没有利用线缆的物理属性等先验知识。这样做的好处是模型对于未知属性的线缆具有更好的适应性,但是增加了模型的复杂度,使得训练所需的数据量和时间都相对较大。
33.2)动力学模型仅对机器人和线缆以及线缆各部分之间的相互作用进行建模,方案在线缆与环境物体存在接触和相互作用的情况下不具备拓展性。
技术实现要素:34.为了弥补上述背景技术的不足,本发明提出一种基于图神经网络的机器人线缆形状控制方法及设备,以解决全局动力学模型的可解释性低、待训练参数的规模较大、网络复杂度高以及线缆与外部物体存在接触和相互作用的情况下不具备拓展性的问题。
35.本发明的技术问题通过以下的技术方案予以解决:
36.本发明公开了一种基于图神经网络的机器人线缆形状控制方法,用于有外部物体接触条件下的线缆形状控制,包括以下步骤:
37.s1、采集数据,所述数据包括:当前时刻的线缆状态信息和机器人动作信息、预测的下一时刻的线缆状态信息;
38.s2、采用所述数据训练基于图神经网络的全局动力学模型;
39.s3、测量线缆的当前形状以及设定的目标形状,按照统一的特征提取方式得到线缆的初始状态和目标状态表征;
40.s4、基于训练得到的全局动力学模型,使用模型预测控制方法在设定动作空间中随机选取动作序列,根据预测结果和目标状态的差距确定最优动作序列。
41.在一些实施例中,还可能包括如下技术方案:
42.步骤s1中,以机器人的机械臂末端执行器在当前时刻的位置、角度以及各自的速度、角速度表征机器人动作;步骤s3中,使用关键点提取的方法对所述线缆的初始状态和目标状态进行离散化表征,以关键点坐标的集合表征线缆状态;使用关键点提取的方法对所述外部物体进行表征,以关键点坐标的集合表征外部物体的位置。
43.步骤s2中,所述训练基于图神经网络的全局动力学模型的具体步骤如下:
44.s2.1、构建图数据结构;所述图数据结构由若干顶点和连接顶点的边组成,所述顶点和边具有固定的指向结构和各自的特征数据;
45.s2.2、所述图神经网络按照图的指向结构,将图中的数据进行传递和更新;
46.s2.3、采用采集的数据训练基于图神经网络的全局动力学模型。
47.步骤s2.1中,所述顶点包括自由点、固定点和受迫点,所述线缆上的关键点为自由点,所述外部物体上的关键点为固定点,距离各机械臂末端执行器最近的两个线缆上的关键点为受迫点;两自由点之间构建双向边,受迫点与自由点之间构建单向边,固定点与自由点之间构建单向边,单向边均指向自由点。
48.步骤s2.2中,所述更新的具体步骤如下:
49.s2.2.1、首先运行更新边特征的图网络消息函数fe,根据待更新边自身的特征数据和其两端顶点的特征数据,计算更新后的边特征,计算公式为:
[0050][0051]
式中,表示t时刻的边特征,表示顶点i在t时刻的顶点特征,表示顶点,j在t时刻的顶点特征;
[0052]
s2.2.2、之后运行更新顶点特征的图网络聚合函数fv,根据待更新顶点自身的特征数据和所有指向该顶点的边特征数据,计算更新后的顶点特征,此时边特征数据已经完成更新了,计算公式为为:
[0053][0054]
式中,表示顶点k到顶点i在t时刻的边特征,表示能够通过一条边指向顶点i的所有其他顶点序号的集合。
[0055]
步骤s2.3具体包括:
[0056]
s2.3.1、将采集的数据输入顶点特征编码器和边特征编码器,所述顶点特征编码器和边特征编码器分别给输入图神经网络计算的图数据结构提供初始的顶点特征数据和边特征数据;
[0057]
s2.3.2、对图数据结构进行图网络数据迭代;
[0058]
s2.3.3、采用顶点特征解码器将经过图网络迭代后的图数据结构中的顶点特征数据解码为对应线缆关键点的位移,最终得到线缆上各关键点在下一时刻的位置,实现全局动力学模型的预测作用;
[0059]
s2.3.4、使用l2损失函数计算全局动力学模型预测值与真实值的损失,联合训练
全局动力学模型中的所有神经网络,损失计算公式如下:
[0060][0061]
式中,表示线缆上所有关键点在下一时刻t+1的位置的预测值的集合,表示线缆上所有关键点在下一时刻t+1的位置的真实值的集合,表示线缆上的关键点i在下一时刻t+1的位置的预测值,表示线缆上的关键点i在下一时刻t+1的位置的真实值,n表示顶点i的所有可取值的个数,即图神经网络中顶点的个数。
[0062]
步骤s2.3.1中,输入顶点特征编码器中的数据包括顶点在当前时刻的位置坐标、顶点的类别和质量属性,输入边特征编码器的数据包括边的类别和弹性模量属性。
[0063]
步骤s4中,使用模型预测控制方法确定最优动作序列的具体步骤包括:
[0064]
s4.1、根据由关键点位置表征的线缆初始状态和目标状态,通过插值的方式得到中间状态,使用所述模型预测控制方法找到机器人动作序列,使得其中的每一个动作都能实现线缆当前时刻状态到下一时刻状态的转移。
[0065]
s4.2、随机初始化动作序列,根据训练得到的全局动力学模型进行预测,得到预测结果;
[0066]
s4.3、计算预测结果与目标中间状态的损失,根据损失函数关于动作序列的梯度,采用随机梯度下降方法对动作序列进行更新,多次迭代收敛至最优动作序列,预测结果与目标中间状态的损失计算公式如下:
[0067][0068]
式中,表示线缆上的关键点i在执行k次动作后位置的前向动力学模型预测值,表示线缆上的关键点i在执行k次动作后位置的实测值。
[0069]
本发明还公开一种基于图神经网络的机器人线缆形状控制设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上任一项所述方法的步骤。
[0070]
本发明还公开一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述方法的步骤。
[0071]
本发明与现有技术对比的有益效果包括:
[0072]
本发明提供的基于图神经网络的机器人线缆形状控制方法,用于有外部物体接触条件下的线缆形状控制,本发明基于图神经网络构建线缆类物体对于机器人操作的全局动力学模型。与现有的在潜在空间中构建动力学模型的方法相比,图神经网络通过顶点之间的信息传递得到下一时刻状态的预测值,这与线缆实际运动过程中各个部分之间的相互力作用非常类似,更加符合物理实际,具有更强的可解释性。
[0073]
在一些实施例中,本发明分别使用图神经网络中的顶点(vertex)和边(edge)表征线缆上的关键点和它们之间的连接,将关键点的位置信息、线缆的刚度信息作为顶点和边的特征,利用图神经网络的消息传递机制模拟线缆各部分之间的物理交互过程。在增强模型可解释性的同时降低了待训练参数的规模。
[0074]
在一些实施例中,本发明中直接使用动作信息修改线缆上相关特征点在图神经网络对应顶点的位置信息,之后执行图神经网络的消息传递机制即可方便地实现动作信息与状态信息的融合,无需额外的编码过程,从而减少全局动力学模型的网络复杂度。
[0075]
在一些实施例中,本发明以图神经网络为基础建立线缆的全局动力学模型,充分利用了图数据结构灵活的优势,将可能出现的外部物体作为图神经网络中新的顶点。之后通过与现有顶点构建边,即可实现外部物体与线缆之间的信息传递,增强模型的拓展性。
附图说明
[0076]
图1a至图1b是现有技术中一种基于全局动力学模型的线缆控制方案流程图;
[0077]
图2是本发明实施例的线缆形状的机器人操作任务场景示意图;
[0078]
图3是本发明实施例的线缆形状的机器人操作任务场景中相关量的表征方法示意图;
[0079]
图4是本发明实施例的基于图神经网络的机器人线缆形状控制方法流程图;
[0080]
图5是本发明实施例的基于图神经网络的机器人线缆形状控制方法框架图;
[0081]
图6a是本发明实施例的图神经网络中的有向图的结构示意图;
[0082]
图6b是本发明实施例的图神经网络中的有向图的数据示意图;
[0083]
图7是本发明实施例的图神经网络模块的结构和数据传播流程示意图;
[0084]
图8是本发明实施例的图神经网络中构建的图数据结构示意图;
[0085]
图9是本发明实施例的线缆全局动力学模型整体架构图。
具体实施方式
[0086]
下面对照附图并结合优选的实施方式对本发明作进一步说明。需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
[0087]
需要说明的是,本实施例中的左、右、上、下、顶、底等方位用语,仅是互为相对概念,或是以产品的正常使用状态为参考的,而不应该认为是具有限制性的。
[0088]
本发明实施例提出了一种基于图神经网络的机器人线缆形状控制方法,该方法要解决的问题是现有基于全局动力学模型的线缆形状控制方案在构建线缆动力学模型时存在的不足:
[0089]
1)动力学模型完全建立在编码后的潜在空间中,模型与参数均不具备现实物理意义。本发明实施例分别使用图神经网络中的顶点(vertex)和边(edge)表征线缆上的关键点和它们之间的连接,将关键点的位置信息、线缆的刚度信息作为顶点和边的特征,利用图神经网络的消息传递机制模拟线缆各部分之间的物理交互过程。在增强模型可解释性的同时降低了待训练参数的规模。
[0090]
2)机器人动作信息与线缆状态信息之间不具备相互匹配的格式。现有方案中,通常需要对动作信息进行编码操作,之后采用拼接(concat)操作将表征动作信息和状态信息的特征向量一并输入动力学模型中。这一过程中动作信息的编码、确定两特征向量的长度及比例都是需要重视的问题。本发明实施例中直接使用动作信息修改线缆上相关特征点在图神经网络对应顶点的位置信息,之后执行图神经网络的消息传递机制即可方便地实现动作信息与状态信息的融合,无需额外的编码过程。
[0091]
3)在操作环境中存在线缆与其他外部物体的接触和相互作用时,现有动力学模型不具备拓展能力。本发明实施例以图神经网络为基础建立线缆的动力学模型,充分利用了图数据结构灵活的优势,将可能出现的外部物体作为图神经网络中新的顶点。之后通过与现有顶点构建边,即可实现外部物体与线缆之间的信息传递,增强模型的拓展性。
[0092]
1、任务描述与表征方法
[0093]
本发明实施例具体应用于线缆形状的机器人操作任务场景,实施例中的机器人系统主要由两台六自由度(或以上)机械臂1组成,末端各自安装有一个平行爪执行器。两机械臂1之间划定了可以被机械臂1的可达范围覆盖的工作空间5,视为摩擦系数较小的光滑平面。工作空间5内包含待操作线缆3和随机分布的外部物体4,两机械臂1的末端执行器2夹持待操作线缆3特定位置后,利用自身的运动规划以及外部物体4与待操作线缆3的接触,控制待操作线缆3形状与目标形状贴合。如图2所示,待操作线缆3位于两机械臂1的工作空间5内,机械臂1上安装的末端执行器2夹持待操作线缆3两端,任务目标是通过末端执行器2在工作空间5中的移动和旋转控制待操作线缆3的形状与提前设定的目标形状贴合。此外,工作空间5内允许存在固定的外部物体4与待操作线缆3产生接触和约束。
[0094]
根据以上任务描述,对于任务执行有影响的量包括:线缆当前形状、线缆目标形状、机器人末端执行器动作、外部物体位置。结合图3中展示的pybullet仿真环境中搭建的任务场景介绍本发明实施例中对于这些任务相关量的表征方法,具体表征方法如下:
[0095]
1)使用关键点提取的方法对线缆状态进行离散化表征。图3中在待操作线缆3上的圆点为线缆在当前标状态下提取出的关键点,图3中在待操作线缆3和外部物体4之间且呈一条虚线状态的白色圆点为线缆在目标状态下提取出的关键点,以关键点坐标的集合表征线缆状态。
[0096]
2)与线缆状态表征方法类似,在外部物体4的封闭轮廓上提取关键点,以关键点坐标的集合表征外部物体的位置。图3中在外部物体4上的圆点表示环境中圆柱体障碍物的轮廓关键点。
[0097]
3)机器人动作的表征包含两部分:机械臂末端执行器在当前时刻的位置、角度以及各自的速度、角速度。
[0098]
2、线缆形状控制方法
[0099]
为了解决上述描述的线缆形状控制任务,本发明实施例使用pybullet仿真引擎搭建任务场景并按图中的结构采集足够的操作数据,用于训练基于图神经网络的线缆动力学模型。在获取动力学模型的基础上,使用模型预测控制的方法在设定动作空间中搜索能够使线缆由初始状态转移至目标状态的最优动作序列,并控制机器人执行此动作序列完成形状控制任务。如图4所示,本发明实施例的基于图神经网络的机器人线缆形状控制方法包括以下步骤:
[0100]
s1、采集数据,数据包括:当前时刻的线缆状态信息和机器人动作信息、预测的下一时刻的线缆状态信息;
[0101]
s2、采用采集的数据训练基于图神经网络的全局动力学模型;
[0102]
s3、测量线缆的当前形状以及设定的目标形状,按照统一的特征提取方式得到线缆的初始状态和目标状态表征;
[0103]
s4、基于训练得到的全局动力学模型,使用模型预测控制方法在设定动作空间中
随机选取动作序列,根据预测结果和目标状态的差距确定最优动作序列。
[0104]
具体地,本发明实施例的方法框架如图5所示,线缆的全局动力学模型位于核心位置,其作用是根据线缆在t时刻的状态s
t
和机器人在t时刻对线缆执行的动作a
t
,预测线缆下一时刻的状态s
t+1
。使用图神经网络构建全局动力学模型,在计算机仿真环境中收集足够的操作数据组合(s
t
,a
t
,s
t+1
)用于模型训练。测量待操作线缆的当前形状,以及设定的目标形状,按照统一的特征提取方式得到对应的状态表征s0和sg。基于训练得到的全局动力学模型,使用模型预测控制方法在设定好的动作空间中随机选取动作序列,根据预测结果和目标状态sg的差距确定最优动作序列。
[0105]
3、基于图神经网络的线缆全局动力学模型
[0106]
上述步骤s2中,训练基于图神经网络的全局动力学模型的具体步骤如下:
[0107]
s2.1、构建图数据结构;图数据结构由若干顶点和连接顶点的边组成,顶点和边具有固定的指向结构和各自的特征数据;
[0108]
s2.2、图神经网络按照图的指向结构,将图中的数据进行传递和更新;
[0109]
s2.3、采用采集的数据训练基于图神经网络的全局动力学模型。
[0110]
下面分两部分分别介绍本发明实施列中提出的全局动力学模型的核心组件—图神经网络,以及模型的整体架构和模型参数。
[0111]
3.1图神经网络的工作流程和构建方式
[0112]
本发明提出的线缆全局动力学模型依靠图神经网络实现。图神经网络是专门处理图数据结构的神经网络。图数据结构由若干顶点和连接顶点的边组成,以图6a至图6b所示的有向图为例,顶点之间的边具有方向性。顶点和边除了具有固定的指向结构外,还分别具有各自的特征数据,通常使用向量vi和e
i,j
的形式指代。
[0113]
图神经网络的作用是按照图的指向结构,将图中的数据进行传递和更新。更新规则如下:
[0114]
s2.2.1、首先运行更新边特征的图网络消息函数fe。其作用是根据待更新边自身的特征数据和其两端顶点的特征数据,计算更新后的边特征。公式表达为:
[0115][0116]
式中,表示t时刻的边特征,表示顶点i在t时刻的顶点特征,表示顶点,j在t时刻的顶点特征。
[0117]
s2.2.2、之后运行更新顶点特征的图网络聚合函数fv。其作用是根据待更新顶点自身的特征数据和所有指向该顶点的边特征数据,计算更新后的顶点特征。需要注意此时边特征数据已经完成更新了。公式表达为:
[0118][0119]
式中,表示顶点k到顶点i在t时刻的边特征,表示能够通过一条边指向顶点i的所有其他顶点序号的集合,例如图6中,由于k是集合中的一个元素,因此顶点k到顶点i有一条边相连。
[0120]
图网络消息函数和图网络聚合函数共同组成了图神经网络,上述工作流程体现在
图7中。
[0121]
在本发明实施例中,以线缆形状控制任务过程中的相关状态量构建图数据结构,即将线缆状态、机器人动作、外部物体位置统一建模为图神经网络的顶点,又通过设置单向边的方式确保图网络中的数据始终从固定点\受迫点向自由点传播。
[0122]
具体地,线缆上的关键点和外部物体轮廓关键点共同构成图的顶点,分别划分为“自由点6”和“固定点8”。此外将距离末端执行器最近的两个线缆关键点选取为“受迫点7”,认为在机械臂运动过程中,受迫点与末端执行器保持相对静止。受迫点在下一时刻的位置由末端执行器的速度、角速度直接计算得到。
[0123]
在距离小于一定阈值的顶点之间构建边。两自由点之间构建双向边9,受迫点与自由点之间构建受迫点至自由点的单向边10,固定点与自由点之间构建固定点至自由点的单向边11,单向边均指向自由点。
[0124]
按上述方式构建图数据结构,结果如图8所示(图中的边未全部绘制)。
[0125]
3.2全局动力学模型整体架构与参数
[0126]
本发明实施例提出的基于图神经网络的线缆全局动力学模型的整体架构如图9所示。模型的主体结构由m个图神经网络模块(gnn block)组成,图神经网络模块的具体结构和数据传播流程在前述第3.1节中已进行了详细介绍。前述步骤s2.3中,采用采集的数据训练基于图神经网络的全局动力学模型的具体步骤如下:
[0127]
s2.3.1、将采集的数据输入顶点特征编码器和边特征编码器,顶点特征编码器和边特征编码器分别给输入图神经网络计算的图数据结构提供初始的顶点特征数据和边特征数据;
[0128]
s2.3.2、对图数据结构进行图网络数据迭代;
[0129]
s2.3.3、采用顶点特征解码器将经过图网络迭代后的图数据结构中的顶点特征数据解码为对应线缆关键点的位移,最终得到线缆上各关键点在下一时刻的位置,实现全局动力学模型的预测作用;
[0130]
s2.3.4、使用l2损失函数计算全局动力学模型预测值与真实值的损失,联合训练全局动力学模型中的所有神经网络,损失计算公式如下:
[0131][0132]
式中,表示线缆上所有关键点在下一时刻t+1的位置的预测值的集合,表示线缆上所有关键点在下一时刻t+1的位置的真实值的集合,表示线缆上的关键点i在下一时刻t+1的位置的预测值,表示线缆上的关键点i在下一时刻t+1的位置的真实值,n表示顶点i的所有可取值的个数,即图神经网络中顶点的个数。
[0133]
具体地,图中的顶点特征编码器εv和边特征编码器εe均为包含n个隐藏层的多层感知机(mlp),它们的作用是给输入gnn block计算的图数据结构g0提供初始的顶点特征数据和边特征数据在两个编码器的输入数据中,表示顶点i在t时刻的位置坐标,表示顶点i的属性(包括顶点类别、质量),表示边i,j的属性(包括边类别、弹性模量等)。
[0134]
顶点特征解码器δv同样是一个多层感知机(mlp),作用是将经过图网络迭代后的
图数据结构gm中的顶点特征数据解码为对应线缆关键点的位移最终得到线缆上各关键点在下一时刻的位置实现动力学模型的预测作用。使用l2损失函数计算模型预测值与真实值的损失,联合训练模型架构中的所有神经网络。其中,使用图神经网络中顶点的位移来表征机器人对线缆的动作,不需要额外的动作编码器。
[0135]
对于架构中涉及到的神经网络,下面给出各自的网络参数。
[0136]
顶点特征编码器εv:mlp,3层隐藏层,输出维度128。
[0137]
边特征编码器εe:mlp,3层隐藏层,输出维度128。
[0138]
图网络消息函数fe:mlp,2层隐藏层,输入维度256,输出维度128。
[0139]
图网络聚合函数fv:mlp,2层隐藏层,输入维度256,输出维度128。
[0140]
顶点特征解码器δv:mlp,3层隐藏层,输入维度128,输出维度2。
[0141]
以上所有mlp的隐藏层都需要使用激活函数relu。除δv以外的所有mlp都需要使用batch normalization((批量标准化,简称bn))进行正则化处理。图网络中的fe和fv在训练过程中使用p=0.5的dropout(随机失活)操作,即随机失能50%的神经节点以提高模型的稳定性。
[0142]
4、模型预测控制方法
[0143]
本发明实施例使用模型预测控制方法实现基于线缆全局动力学模型的形状控制动作规划,具体的规划过程结合了随机梯度下降(sgd)方法,具体步骤包括:
[0144]
s4.1、根据由关键点位置表征的线缆初始状态和目标状态,通过插值的方式得到中间状态,使用模型预测控制方法找到机器人动作序列,使得其中的每一个动作都能实现线缆当前时刻状态到下一时刻状态的转移。
[0145]
s4.2、随机初始化动作序列,根据训练得到的全局动力学模型进行预测,得到预测结果;
[0146]
s4.3、计算预测结果与目标中间状态的损失,根据损失函数关于动作序列的梯度,采用随机梯度下降方法对动作序列进行更新,多次迭代收敛至最优动作序列,预测结果与目标中间状态的损失计算公式如下:
[0147][0148]
式中,表示线缆上的关键点i在执行k次动作后位置的前向动力学模型预测值,表示线缆上的关键点i在执行k次动作后位置的实测值。
[0149]
具体地,首先根据由关键点位置表征的线缆初始状态和目标状态通过插值的方式得到中间状态t为中间状态的数量,可以根据状态差异的大小而定,一般取t=10。模型预测控制的目标是找到机器人动作序列a
0:t
,使得其中的每一个动作ak都能实现线缆状态到的转移(k=0,1,
…
,t)。
[0150]
随机初始化动作序列根据训练得到的全局动力学模型进行预测,得到预测结
果计算预测结果与目标中间状态的损失根据损失函数关于动作序列的梯度对动作序列进行sgd更新,多次迭代后即可收敛至最优动作序列a
0:t
。
[0151]
以下通过数值模拟验证本发明实施例的有益效果:
[0152]
线缆全局动力学模型和训练过程的具体参数为:在仿真环境中采集规模为200
×
100的数据集(200个动作序列,每个序列中包含100个动作)对线缆全局动力学模型进行训练。模型的输入信息为线缆上21个特征点的坐标、两个机械臂末端执行器的位置以及将要执行的位移和旋转角度、外部物体的位置以及半径大小。模型的输出结果为线缆上21个特征点受机械臂动作和外部物体接触影响而产生的位移。经过训练,最终线缆全局动力学模型在验证集中的预测结果与真实值的偏差平均保持在1.5%左右,由此可证明基于本发明实施例这种精确程度的模型,使用模型预测控制方法实现线缆的形状控制是完全可行的,进而实现完成有外部物体接触条件下的线缆形状控制任务。
[0153]
本发明实施例提供的基于图神经网络的机器人线缆形状控制方法及设备,具有以下有益效果:
[0154]
1)提高动力学模型的可解释性
[0155]
基于图神经网络构建线缆类物体对于机器人操作的全局动力学模型,与现有主流的在潜在空间中构建动力学模型的方法相比更加符合物理实际,具有更强的可解释性。
[0156]
2)减少动力学模型的网络复杂度
[0157]
使用图神经网络中受迫顶点的位移来表征机器人对线缆的动作,不需要额外的动作编码器,起到了精简模型结构的作用。
[0158]
3)增加动力学模型在复杂环境中的拓展性
[0159]
通过在图神经网络中增设固定顶点的方法建模外部物体对于线缆的接触约束作用,拓展了动力学模型的适用范围。
[0160]
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。