并行线缆处理方法、装置及相关设备与流程

摘要: 本技术涉及计算机,具体提供一种并行线缆处理方法、装置及相关设备。背景技术:1、在机器人仿真、线缆装配、柔性物体操作、虚拟训练环境和图形仿真中,线缆、软管、绳索、...
并行线缆处理方法、装置及相关设备与流程

本技术涉及计算机,具体提供一种并行线缆处理方法、装置及相关设备。

背景技术:

1、在机器人仿真、线缆装配、柔性物体操作、虚拟训练环境和图形仿真中,线缆、软管、绳索、导线等细长柔性体通常需要同时表达拉伸、弯曲、扭转、接触和分叉结构。常见方案包括基于位置动力学(position based dynamics,pbd)/扩展位置动力学(extendedposition based dynamics,xpbd)的逐约束局部投影方法、基于杆模型的局部迭代方法、基于三对角系统的开链求解方法,以及基于通用稀疏线性系统或卡罗什-库恩-塔克条件(karush-kuhn-tucker,kkt)系统的全局求解方法。

2、传统pbd或xpbd方法通常将线缆材料约束拆分为局部拉伸(stretch)、弯曲(bend)、扭转(twist)约束,并在每次迭代中对相邻节点或局部节点组进行投影。这类方法结构简单、易于并行,但在长链线缆中,局部约束修正需要经过多次迭代才能沿整条线缆传播。因此,当线缆段数增加、材料刚度较高、端部受力或中间接触扰动较强时,传统局部迭代方法往往需要较多迭代次数才能获得较低的材料残差。

3、已有的杆/线缆直接求解方案可针对开链或无环树状结构建立块三对角系统,并通过直接求解改善长程刚度传播。然而,这类方案通常存在以下局限:一是对超长单链而言,单条无环线缆子链(strand)内的托马斯算法(thomas)前向消元和后向回代具有串行依赖,难以充分利用gpu并行度;二是对于分叉或复杂拓扑,需要设计额外的无环线缆子链树(strand-tree)调度机制;三是对于含环线缆拓扑,如果直接将闭环边加入树状求解系统,会破坏树状拓扑的托马斯求解算法(tree thomas求解)或块三对角结构;四是如果改用通用稀疏kkt求解,虽然可表达闭环约束,但实现成本高、实时性较差、图形处理器(graphicsprocessing unit,gpu)上的数据结构和调度开销较大。

4、此外,在包含碰撞和接触的线缆仿真中,材料求解与接触求解通常不是孤立问题;若材料约束和接触约束完全分离,接触点附近的局部扰动难以快速传播至远端或分支;若每个迭代步骤都执行完整全局求解,则计算成本较高。

5、可见,现有技术主要存在以下问题:

6、第一,局部pbd/xpbd迭代在长链线缆中的误差传播速度较慢。由于每次迭代主要修正局部相邻节点之间的约束误差,长距离刚度和端到端约束影响需要经过多轮迭代才能传递;线缆越长,收敛速度越慢,尤其是在高刚度、小柔度(compliance)或大时间步场景下更加明显。

7、第二,普通开链托马斯(open-chain thomas)求解难以直接处理分叉线缆。开链三对角求解通常假设线缆是单条连续链,而实际线缆可能包含y型分叉、多分支结构或树状结构;若强行拆分为多个独立链段,会削弱分支之间的材料耦合;若整体构造成通用稀疏系统,又会增加求解成本和gpu实现复杂度。

8、第三,超长单strand的直接thomas求解存在gpu并行度不足的问题。虽然thomas求解在线性复杂度上较优,但其前向消元和后向回代具有明显串行依赖,当场景中只有少数超长strand时,单纯依靠子链层级(strand level)并行不足以充分利用gpu资源。

9、第四,逐节点pcr/psr或通用并行三对角求解虽然能够提高并行度,但在6dof线缆材料系统中,每个节点涉及较大的块矩阵和中间变量。如果直接以节点为单位执行归约,容易带来较高寄存器占用、共享内存压力和寄存器溢出到本地内存(local memory spill),从而降低占用率(occupancy)和实际执行效率。

10、第五,含环线缆拓扑会破坏树形直接求解结构。若将所有边都加入树对(treepair)系统,闭环边会形成环路,使tree thomas或子链树结构的归约与展开(strand-treecondensation/expansion)结构失效;若直接删除闭环边,线缆环无法保持闭合,导致闭环约束残差(closure residual)增大;若对全部变量构造全局kkt系统,则计算和存储开销较大。

11、第六,材料直接求解与接触求解缺乏稳定、高效的交错机制。接触约束通常是局部发生的,但其物理影响应通过线缆材料耦合传播到线缆远端和分支,现有方案若仅依赖局部接触和局部材料投影,传播能力不足;若频繁执行全局求解,则成本较高。

12、相应地,本领域需要一种新的适合gpu并行执行的直接材料求解方案来解决上述问题。

技术实现思路

1、为了克服上述缺陷,提出了本技术,以解决或至少部分地解决以下技术问题:在虚拟环境中模拟长线缆、带分叉的线缆或打圈的线缆时,如何做到既快速又准确。

2、在第一方面,本技术提供一种并行线缆处理方法,包括:获取线缆拓扑和线缆状态,所述线缆拓扑包括:多个线缆节点和多个约束边,所述线缆状态包括:多个线缆节点的位置和姿态;根据所述线缆拓扑中的多个约束边,构建块变量材料系统,所述块变量材料系统用于表征所述线缆拓扑的约束关系,且被配置为通过并行求解生成各线缆节点的状态增量;对所述块变量材料系统执行并行直接求解,生成各线缆节点的位置增量和姿态增量;基于所述线缆拓扑中的多个约束边计算闭环约束残差,以修正所述位置增量和所述姿态增量,对所述线缆状态进行更新。

3、在本技术的一些示例性实施例中,基于前述方案,在对所述线缆状态进行更新之后,所述方法还包括:基于更新后的所述线缆状态,生成控制指令;将所述控制指令发送至物理执行机构,以驱动所述物理执行机构对实物线缆执行操作;或,将更新后的所述线缆状态映射至虚拟场景中的目标对象,以控制所述目标对象在显示界面中呈现与所述线缆状态相匹配的形变姿态。

4、在本技术的一些示例性实施例中,基于前述方案,多个约束边包括:生成森林边,根据所述线缆拓扑中的多个约束边,构建块变量材料系统,包括:基于所述生成森林边将所述线缆拓扑解析为多个无环线缆子链;根据多个无环线缆子链,构建块变量材料系统。

5、在本技术的一些示例性实施例中,基于前述方案,多个约束边还包括闭环边,基于所述线缆拓扑中的多个约束边计算闭环约束残差,以修正所述位置增量和所述姿态增量,包括:获取所述闭环边两端连接的线缆节点的当前位置和当前姿态;计算所述闭环边两端连接的线缆节点之间的相对位置偏差和相对姿态偏差;基于所述相对位置偏差和所述相对姿态偏差,计算所述闭环约束残差;将所述闭环约束残差作为修正项叠加至所述块变量材料系统的右端项向量中,以修正所述位置增量和所述姿态增量。

6、在本技术的一些示例性实施例中,基于前述方案,所述线缆状态还包括各线缆节点的线速度和角速度,对所述线缆状态进行更新,包括:根据所述位置增量和所述姿态增量,计算各线缆节点的线速度增量和角速度增量;基于所述线速度增量、所述角速度增量、修正后的所述位置增量和所述姿态增量,更新各线缆节点的位置和姿态。

7、在本技术的一些示例性实施例中,基于前述方案,对所述块变量材料系统执行并行直接求解,生成各线缆节点的位置增量和姿态增量,包括:将所述块变量材料系统映射为多个子矩阵块,其中,每个子矩阵块对应一个无环线缆子链;通过多线程并行计算架构,对多个子矩阵块执行矩阵分解运算,生成各线缆节点的位置增量和姿态增量。

8、在本技术的一些示例性实施例中,基于前述方案,通过多线程并行计算架构,对多个子矩阵块执行矩阵分解运算,生成各线缆节点的位置增量和姿态增量,包括:当所述无环线缆子链的线缆节点数量超过预设阈值时,将所述无环线缆子链划分为多个连续的子链分块,其中,每个子链分块包含连续的线缆节点;对多个子链分块执行并行局部消元处理,确定多个子链分块相邻边界线缆节点的变量及等效约束关系;基于多个子链分块的相邻边界线缆节点的变量及等效约束关系,计算所述相邻边界线缆节点的位置增量和姿态增量;基于所述相邻边界线缆节点的位置增量和姿态增量,并行计算多个子链分块的线缆节点的位置增量和姿态增量。

9、在本技术的一些示例性实施例中,基于前述方案,在基于所述生成森林边将所述线缆拓扑解析为多个无环线缆子链之前,所述方法还包括:将多个约束边划分为生成森林边与闭环边。

10、在第二方面,提供一种并行线缆处理装置,包括:线缆信息获取模块,用于获取线缆拓扑和线缆状态,所述线缆拓扑包括:多个线缆节点和多个约束边,所述线缆状态包括:多个线缆节点的位置和姿态;块变量材料系统构建模块,用于根据所述线缆拓扑中的多个约束边,构建块变量材料系统,所述块变量材料系统用于表征所述线缆拓扑的约束关系,且被配置为通过并行求解生成各线缆节点的状态增量;线缆状态增量生成模块,用于对所述块变量材料系统执行并行直接求解,生成各线缆节点的位置增量和姿态增量;线缆状态更新模块,用于基于所述线缆拓扑中的多个约束边计算闭环约束残差,以修正所述位置增量和所述姿态增量,对所述线缆状态进行更新。

11、在第三方面,提供一种电子设备,该电子设备包括至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器中存储有计算机程序,所述计算机程序被所述至少一个处理器执行时实现上述并行线缆处理方法的技术方案中任一项技术方案所述的方法。

12、在第四方面,提供一种计算机可读存储介质,该计算机可读存储介质其中存储有多条程序代码,所述程序代码适于由处理器加载并运行以执行上述并行线缆处理方法的技术方案中任一项技术方案所述的方法。

13、本技术上述一个或多个技术方案,至少具有如下一种或多种有益效果:

14、在实施本技术提供的并行线缆处理方法、装置及相关设备的技术方案中,通过获取包含多个线缆节点和约束边的线缆拓扑,以及各节点的位置和姿态状态,为后续构建物理约束模型和状态更新提供了完整且精确的初始输入数据,实现了线缆物理模型与当前运动状态的准确映射与数字化表;进一步地,通过根据约束边构建用于表征约束关系且被配置为支持并行求解的块变量材料系统,将复杂的线缆拓扑物理约束转化为底层计算机易于处理的数学数据结构,实现了物理约束条件的结构化表达;另外,通过对块变量材料系统执行并行直接求解,利用多线程或并行计算架构同时处理各节点的力学与运动学方程,实现了各线缆节点位置增量和姿态增量的高效、精确生成,大幅提升了复杂线缆系统的求解效率与实时性;并且,通过基于约束边计算闭环约束残差,并利用该残差对生成的位置和姿态增量进行修正,有效消除了因拓扑结构闭环或数值计算截断导致的物理约束违背现象,实现了线缆状态的高保真、高稳定性更新。