在仿真环境中创建和使用数字孪生
摘要
由于生产环境中的要求日益增加,为了减少时间、成本和能耗,仿真正变得越来越重要。不仅规划工具需要仿真,生产系统本身(例如信息物理系统)也同样需要。然而,在大多数情况下,实现仿真功能需要耗费大量工作。此外,已实现的部件和模型的复用通常也受到限制。为应对这些限制,我们提出了一种以系统中立方式创建数字孪生的方法。我们的研究提供了一种相应架构,以便在不同的仿真环境中使用这些数字孪生,并提供了概念验证。
关键词 :数字孪生,仿真
1 引言
如今,生产系统领域的整体数字化趋势持续快速发展[1]。工程师越来越多地使用工业机器人离线编程系统等数字工具,以仿真和验证生产系统的期望过程。这种数字化带来了成本显著降低和调试时间大幅缩短等优势。目前,计算机辅助工程(CAE)领域已有多种软件工具可供使用。然而,随着信息物理系统的引入等最新发展,数字化已深入到实际生产系统中。与CAE工具不同,实际生产系统不仅能够估算过程特性,还能测量这些特性,从而实现虚拟世界与现实世界的比较。此外,生产系统还能够运行仿真,以做出复杂的决策或提供推荐。
由于信息物理系统依赖嵌入式计算机,这些仿真的实现变得相当复杂。物理系统与计算机之间的动态差异所导致的计算延迟,使得系统设计及模型的使用需要付出巨大努力[2]。
为了模拟生产系统的行为或计算过程属性,需要相应生产系统的数字模型。
然而,不同任务所需的详细程度可能有所不同[3]。例如,如果需要规划一条无碰撞路径,则生产系统组件的几何结构至关重要,因此数字模型必须提供相应的几何信息。而在规划电信号流向时,则需要了解组件的电气接口,而无需其几何信息。除了详细程度之外,用于规划或仿真不同任务的工具也各不相同。工程师可以使用CAD工具设计生产系统的某一部分,也可以使用工厂仿真工具模拟物料在生产线上的流动。因此,不同的模型描述了同一个生产系统或相同的组件。这一背景下的主要挑战是以简单且系统中立的方式创建模型,并将这些模型链接并集成到数字孪生中。
本文描述了此类数字孪生的设计及其在整个生命周期中的使用。通常使用具有专有数据格式的异构软件工具来创建各种模型。目标是基于中立标准形成一种描述,以便能够方便地通过软件工具进行处理。为此,本文提出了一种架构,通过该架构可以简便地设计模型并将其集成到数字孪生中。最后,本研究通过网页配置器实现了该架构的首个部分。
2 数字孪生范式
数字孪生的概念最初被定义为:“利用现有最佳物理模型、传感器更新、机队历史等,对已建造的车辆或系统进行集成的多物理场、多尺度、概率仿真”[4]。近年来,随着工业4.0的发展,数字孪生或数字影子这一术语变得越来越普遍。然而,与工业4.0类似,这些术语目前尚无统一的定义。Negri 等人 [5] 和 Kritzinger 等人 [6] 的研究考察了文献中这些术语的使用情况,并得出结论:这两个术语的使用常常不同甚至相互矛盾。因此,本文对这些术语进行简要定义,以便后续使用时具有清晰的理解。
数字孪生是实际产品、过程或系统的虚拟映像,且不与现实世界连接。数字孪生可来源于工程阶段,也可来源于数字影子。数字孪生被视为一组可用于离线仿真的模型。这些模型描述了实际组件的不同视图。当在仿真环境中需要这些模型时,可从数字孪生中提取所需详细程度的模型。
与数字孪生相比,数字影子与真实设备之间具有连接,用于收集数据以获取关于过去、当前和未来状态的信息。通过这些数据,可以创建模型,并将其集成到数字孪生中。然而,要创建这样一个可在不同领域中被多种仿真所使用的整体性数字孪生,过程相当复杂。其中一个主要原因在于存在多个信息来源。例如,如果几何体由CAD工具设计,多物理场工具则创建动力学模型。
为了创建一个全面的数字孪生,必须融合来自不同来源的所有信息。为此,我们提出了一种方法,能够在数字孪生的信息出现时立即对其进行丰富。因此,数字孪生将随着开发过程和生命周期中的任务和需求而不断增长。该工作流程有助于节约资源的开发过程,并实现信息的高度可重用性。
此后,任何仿真都可以直接使用此信息,或通过转换为另一种表示形式来使用。图 1展示了该工作流程的一个示例。第一步,CAD工具创建包含几何信息和物理属性的模型,并将其存储到数字孪生中。然后,该数字孪生被用于某工具中以创建和规划布局,例如机器人单元的布局。当然,在此规划工具中,有必要具备每个已使用组件的多个数字孪生。在规划过程之后,可以通过虚拟调试来验证布局和已实施的流程。然而,为此需要数字孪生的运动学信息及其行为信息。
因此,(通常不同的)工具会生成相应信息,即运动学模型以及动力学模型,并将这些信息补充到数字孪生中。由于不同模型之间部分相互依赖,数字孪生在此充当管理壳,用于存储不同模型之间的关系。
按照所述方法,数字孪生会随着时间的推移不断演化。然而,即使是最完善的信息也可能不适用于某些仿真。一个常见例子是几何体的处理。许多仿真需要使用三角网格,而设计工具则使用实体进行操作。虽然工具可以生成相应的细分,但该细分与原始实体相比存在偏差。在我们的示例中,我们从CAD工具开始并设计产品。基于这些源文件,我们创建细分以生成COLLADA表示。
任何转换的瓶颈都是潜在的信息丢失。如果我们为几何体创建细分,则会因所用算法的精度而产生偏差。如果在后续步骤中需要进一步转换,我们可能会使用该细分作为源,因为我们无法处理原始实体(例如由于文件格式问题)。然而,每次新的转换都会增加偏差。为了防止此类数据丢失,重要的是保留对信息源的参考,并尽可能将其作为转换的源。
3 模型与仿真
在生产系统规划领域,产品生命周期中的不同任务需要不同类型的仿真。例如,像ABB RobotStudio这样的离线编程工具可用于工业机器人的编程与仿真;为了规划生产系统内的布线和信号流,可以使用EPLAN Electric等工具,或结合硬件在环方法采用多种协同仿真进行虚拟调试。每种工具都有模拟组件行为的特定需求。然而,由于缺乏兼容性和互操作性,这些工具之间无法共享其仿真模型或仿真环境。当然,目前已有一些描述虚拟生产系统的方案,例如虚拟工厂框架[7],但这些方案主要关注虚拟工厂本身,而我们的重点是在产品生命周期中利用数字孪生,结合不同工具实现多样的仿真目的。为了改善当前可重用性的不足,我们专注于仿真所用模型的标准化描述以及仿真服务的设计。相关前期工作可参见[8]。图2展示了我们架构的简要概述,该架构分为三个层级。
模型描述、工具包和服务相互分离,以提高可移植性和易用性。
3.1 模型
该模型表示真实部件或系统的虚拟描述。如图2所示,这些模型代表了各种数据,例如物理参数、部件的行为,或有关部件几何体和运动学的信息。如上所述,我们希望建立一个不断增长的模型,以累积由各种工具生成的所有信息。最终,这将形成一个完整的部件数字孪生模型。仿真工具可从该数字孪生中提取适用于特定仿真任务的适当模型。然而,由于多种原因(例如不同的建模策略和不兼容的交换格式),这种整体性的数字孪生目前尚不存在。对于此类孪生的建模,存在许多不同的方法和方面。
例如,使用以组件为中心的视图对数字孪生进行建模,会生成一个从子装配体到单个零件的装配树。使用以功能为中心的视图对数字孪生进行建模也会产生树状结构,如果组件具有多个功能,则它们可以在结构中多次出现,而在前一种情况下它们仅出现一次。因此,并非只存在一种视图,而是存在来自不同领域、具有各自目的的多种视图。另一个问题是使用由不同建模工具生成的多种不同交换格式。即使不同的工具以相同的方式构建数字孪生,当使用不同的交换格式时,交换也可能无法实现。使用中性数据格式可以解决此问题,但目前尚无适用于多个领域的适当综合性交换格式 [9]。现有格式要么无法传输数字孪生的所有信息,要么在某些方面缺乏标准化。例如,COLLADA [10]格式能够传输几何和运动学信息以及某些物理属性,但它无法传输有关组件行为的信息。采用语义网(参见 [11])方法,可以通过定义相应的语义来交换任何信息;但为了使用这些信息,每种工具都必须知晓这些语义。当然,只有当语义被标准化而非按该方法允许的方式单独定义时,这才有可能实现。因此,使用合适的交换格式是使数字孪生能够被不同工具和服务访问的主要前提。为了实现横向和纵向数据连续性,应使用中性和开放的交换格式。也可以结合使用多种标准。选择时应考虑这些标准在工业界有足够的支持,并且能够相互结合使用。
因此,针对每个具体问题,都必须反复进行系统或组件的建模工作(至少部分如此)。信息片段在不同工具之间交换,并未集成到一个数字孪生中。为了实现可整体使用的数字孪生,我们采用一种系统中立、开放且可动态扩展的交换格式,即AutomationML标准[12]。为了通过外部引用提供的可能性,将缺失的部分(如物理行为的描述)补充进来,可以添加其他标准,例如FMI标准[13]。结合AutomationML和FMI标准的方法已在[14]中展示。采用类似的方法,将有可能引入其他标准,例如真实机器人仿真(RRS)标准。尽管由于缺乏对已定义语义的理解,可能导致模型无法在任意工具中使用,但我们仍然能够创建包含所有必要信息的数字孪生,即关于几何体、运动学、逻辑行为和物理参数的信息。所得到的数字孪生既与工具无关,也与平台无关。已有文献[15]证明了AutomationML适用于描述和交换数字孪生。
3.2 工具包
要在仿真环境中使用数字孪生,必须确保该数字孪生可用,并且仿真环境能够处理该数字孪生的信息。为了同时支持这两者任务,我们提供了一个工具包(参见图2)。除了模型之外,工具包通常在某个特定平台上实现。为了克服这一限制,我们使用了与语言和平台无关的.NET框架(参见例如[16])。(.NET的平台独立性通过诸如mono项目、XAMARIN或.NET核心等扩展来实现[17]。当然,其他实现方式也是可能的。该工具包提供了多种功能,分为构建器、协同仿真器、控制器和转换器。
构建器提供了创建和修改数字孪生的手段。其主要目的是合并不同工具创建和提供的各种模型。构建器要求信息以基于XML的格式提供。为了合并所提供的信息,必须将其转换为构建器可处理的结构。由于这些信息以XML格式提供,因此我们使用XSLT模板进行所需的转换,如[18]中所述。即使信息已经以自动化标记语言格式提供,仍然需要进行转换,这是由于该标准具有开放性。
协同仿真器用于在不同领域中模拟数字孪生的行为。根据模型类型的不同,其行为的描述方式也不同。例如,气动缸的行为可以通过功能模型单元(FMU)来描述,工业机器人的行为可以通过应用RRS标准[19]进行仿真,而可编程逻辑控制器的行为则可以使用PLCopen XML[20]标准来描述。从仿真环境的角度来看,现有多种行为描述方式导致了处理每种描述方式所需的大量工作。
控制器用于控制各种外部仿真工具。例如,RRS 基于服务器‐客户端架构。控制器利用模型中的信息,与 RRS 服务器建立通信以实现仿真。
转换器需要将数字孪生的信息转换为另一种表示形式。当数字孪生中包含的信息不适合特定的仿真环境时,就需要使用转换器。数字孪生以其几何形态提供边界表示。而用于计算碰撞的算法需要以三角网格作为输入,因此无法处理这种数字孪生。因此,必须提供适当的转换和转换方法,以便不同的工具能够使用该数字孪生。此外,在特定的仿真环境中可能需要特定的细节层次。例如,拉伸分析需要较高的细节层次,而工业机器人的离线编程则较低的细节层次即可满足需求。此外,由于性能问题,可能还需要降低细节层次。
3.3 服务
主要有两项服务:协同仿真服务和模型交换服务。通过gRPC、REST或 MQTT等标准协议,软件工程师可以借助协同仿真服务以较低成本建立仿真。协同仿真服务可用于根据所需细节级别将多个模型集成到一个模型中。通过这种方式,可满足所需的计算能力后续的仿真可以被简化。例如,若要对一个阀岛的压缩空气消耗进行仿真,其中每个阀门都由一个功能模型单元表示,则可以通过各个功能模型单元创建一个完整的FMU。虽然这样会降低一定的精度,但对于特定应用而言可能已足够,并且资源效率要高得多。
模型交换服务有助于创建和接收数字孪生。它提供系统和平台无关接口,用于处理数字孪生的信息。该服务特别便于访问工具包中的构建器和转换器。通过该服务,可以交换数字孪生的模型,并在数据格式不兼容或不合适的情况下,将信息转换为所需格式,同时保持原始信息不变。它还充当配置器,为每次仿真提供所需的模型,并定义不同模型之间的关联。
4 实现
所描述的工具包的第一部分已经实现,并正在进行系统测试。为了互联模型并配置仿真环境,已开发了一个网页编辑器,可通过该编辑器将FMU进行连接并导出到自动化标记语言容器(AMLX)中。该网页编辑器属于工具包中的构建器类别。借助它,可以耦合系统的不同物理子模型,并存储有关连接的信息。
这些信息随后可由仿真服务使用。为单元甚至整个生产系统连接不同的 FMU非常耗时,并且必须为每个仿真环境重新创建。为了最大限度地减少这种耗时的重复工作,可通过网页编辑器创建链接,并将其保存在自动化标记语言 (AML)文件中。为此,导入FMU的模型描述并将其创建为AML元素。然后可以创建连接并将其保存为InternalLinks。此外,还会引用完整的FMU以保持对原始源的参考。导入的FMU还可以在AML中添加元数据,以确保后续的自动处理。该元数据可包含有关FMU类型的信息,例如能量计算。最后,将包含所引用FMU的AML文件导出为AMLX容器。现在,该容器可用于配置不同的仿真环境,而无需每次重新搜索和创建连接及必要的FMU。机器人操作系统(ROS)用于仿真环境。对于AMLX容器中的各个FMU,可根据AML文件中存储的连接实例化独立的仿真节点并进行连接。
5 结论
本文中,我们提出了一种创建数字孪生的方法,并介绍了一种用于简化使用此类数字孪生过程的架构。我们的方法允许信息的连续丰富,并提供了高可重用性。由于使用了自动化标记语言,我们可以以系统中立的方式提供数字孪生的模型。这意味着模型的使用不受限于我们的架构;我们的方法还支持模型交换。
该架构分为模型层、工具包和服务层。基于此架构,我们创建了一个用于连接模型的网页配置器。未来,该编辑器将得到扩展,以便能够保存其他仿真环境的配置。例如,可以集成RRS、EKS RobSim、Gazebo或ABB RobotStudio。从而实现对相应仿真环境的自动配置。此外,目前正在开展 FMU变量和组件的分类工作。由于为整个生产系统创建整体模型极为耗时,因此将能够自动创建连接。在此过程中,一项关键任务是检查这些连接是否在功能上正确且精确地互连。
3871

被折叠的 条评论
为什么被折叠?



