什么是数字孪生?数字孪生是物理系统的虚拟副本。这个定义看起来很形象,这个简单的定义是迈克尔·格里夫斯博士在2002年创造的,体现了这个术语的本质,这个概念最早被美国宇航局用于太空探索任务。最初,美国宇航局有一对物理孪生体:地球上真实的宇宙飞船的物理拷贝来反映遥远宇宙飞船的状态。
现在,数字孪生正在影响所有行业,主要是制造业、汽车业、建筑业、公用事业和医疗保健业。数字孪生不仅在系统运行期间使用,而且在设计和构建阶段也能使用。
首先,了解下用于数字孪生的当前技术以及构成体系结构的技术,其中数据管理、数据库和(实时)机器学习在这方面起着至关重要的作用。我们解释了技术基础,下面讨论下目前存在的不同类型的数字孪生。
一、数字孪生的结构
数字孪生正在连接物理世界和虚拟世界。我们早就已经这么做了,ERP(企业资源规划)不就是通过虚拟拷贝来管理物理资产吗,客户数据库中的每个记录不是真人的数字孪生吗?但是,要想让数字孪生真正RUN起来,我们需要做两件事:
- 实时数据集成
- 实时机器学习
1、实时数据集成
我们已经做了几十年的批量数据集成,但并没有真正考虑实时数据集成。因此,类似于IBM Streams、Apache Flink、Apache Spark Structured Streaming、Apache Kafka和Node RED的方案应运而生。
Apache Spark特别有用,因为它将批处理与流式处理结合起来。apachesparkversion2.3使用微批处理,与Apache Flink和IBM Streams的性能接近,更接近于实时数据集成的解决方案。
边缘计算是工业互联网中的实时数据集成重要的部分,不必总是将数据集成到一个集中的云存储中。它也可以分布在各种各样的边缘上,并且可以在最有意义的地方直接处理。边缘计算解决了三个主要问题:
- 网络分区。越靠近边缘,网络连接就越不可靠。因此,一种更智能的本地数据处理方法可以缓解边缘断开的问题。
- 网络延迟。越接近边缘,解决方案中的网络延迟就越大。关于边缘数据的决策避免了这种延迟,因此决策速度更快。网络延迟是一个重要的特性,因为大多数工业互联网传感器数据在几秒钟内就失去了价值。例如,在一辆自动驾驶的汽车里,当一个孩子跑在汽车前面时,你不能再等250毫秒才停下来。
- 数据隐私。工业互联网传感器,包括摄像头和麦克风,正在捕获非常有价值的数据。但它们也引起了人们对数据隐私的高度关注。如果数据是在边缘直接处理的,那么关键信息永远不需要离开这个小边缘设备。例如,电梯的占用率一旦通过视频流进行测量,就可以优化调度和楼层分配,以减少等待时间,提高电梯的工作负荷。但是,您永远不希望电梯内的视频流离开边缘设备。
2、实时机器学习
传统的ERP系统是基于规则的系统。这些规则是在软件中手动实现的,主要是业务人员查看历史数据和使用过程,涉及到很多手工工作,而且这些规则很少改变。
在数字孪生中,数据是实时接收和处理的。这允许物理系统的模型实时作用于数据,例如由机器学习支持的黑盒模型或由领域专家定义的白盒模型;异常检测器将发出警报并关闭生产线,以防止进一步损坏;在数字孪生机上模拟不同参数集的结果后,用最优参数集更新实际系统等。
大多数机器学习模型都是在静止数据上训练的。因此,我们需要将所有实时数据存储在能够高效检索的地方:
- 许多机器学习算法也可以使用windows系统通过数据流进行训练。实现机器学习的一个关键阶段是超参数调整阶段,在这个阶段,您可以多次使用更改的参数配置重新运行模型训练,以获得最佳结果。这种调整超参数配置的过程在数据流上要困难得多,因为如果有新的想法或想测试一个新的算法,数据已经消失了,因为它没有被存储。
- 在实时模型训练中,系统性能必须始终与数据到达率保持同步。否则,缓冲区会溢出,系统会被破坏,数据将会丢失。
- 由于windows上的训练减少了时间带宽,因此不能考虑时间和距离的因素。
所以实际上我们需要同时做这两件事,实时数据流上的数据处理和历史数据上的数据处理,我们也必须要建立一个历史数据汇集库。
二、工业互联网数据管理挑战
工业互联网数据的数据处理无疑是相当具有挑战性的。主要是因为大量数据以高速到达。正如我们之前所了解到的,获取模型培训的历史数据可能是至关重要的。但在我们讨论最佳工业互联网数据存储之前,让我们考虑其他一些同样重要的东西:元数据。
数字孪生通常反映数千个传感器参数。为了不丢失,使用元数据数据库。在实际中,我们使用一个图形数据库,因为这允许我们在层次结构中对物理系统建模。例如,数据中心由3栋楼组成,每栋楼28层,每层楼有不同的房间,每个房间有不同的传感器。因此,使用层次图查询,可以选择需要考虑特定下游分析任务的相关数据源。
垃圾数据是任何IT系统中的一个常见问题,因此工业互联网系统也不例外。很多人在他们的工业互联网解决方案中使用时间序列数据库,因为它们承受高吞吐量接收和高效的时间查询。我也提供一个项目上的案例看看是怎么做的。我们使用云对象存储和一个简单的文件夹方案:
传感器UUID/年/月/日/时/分/秒。
为每个传感器创建每1秒时间窗口的索引。UUID避免了冲突,可以在元数据存储库中查找元数据。甚至不必在乎这些数据是否分布在多个工业互联网边缘,因为要么跟踪包含特定传感器UUID的数据分区的索引,要么只要求它们全部。
因此,工业互联网传感器数据仅是“附加”数据,它是由每个传感器UUID的一个线程编写的。云对象存储现在可以并行到文件夹的最低级别(秒),这意味着我们可以获得无限的线性可伸缩性!
在第二个文件夹中,使用的是Apache Parquet文件,其中压缩了数据(以加快I/O速度并以列格式存储),可以使用Apache SparkSQL开箱即用来获得所有数据的SQL视图,其中备份、复制和扩展由云对象存储负责。
三、数字孪生的不同类型
现在我们已经了解了数字孪生的基本架构和数据管理挑战,让我们来看看不同类型的数字孪生。在我们谈论数字孪生时,最常想到的是一个软件解决方案以数字方式镜像生产系统,但还有更多。生产系统在建立之前就已经有了历史,而数字孪生可以支持一个产品的完整开发周期。因此,Reason代表产品规划阶段,Realize代表产品生产阶段,Run代表产品部署阶段。三个不同的数字孪生,都在同时工作。也就是说,部署产品的数据可以影响新版本产品的计划和生产。
下面,让我们了解一下不同类型的数字孪生:
- 部分孪生。数字孪生与一个大系统的一部分相连。例如,发电企业生产车间的轴承。这种轴承在运行时可以有一个数字孪生,这可以了解它的运行状况,如估计平均故障间隔时间(MTBF)或平均失效前时间(MTTF)。这些数据可以从当前数据(如振动传感器数据或声音)中导出(预测或建模),也可以从设计或制造阶段的数据(如设计了什么样的齿轮齿形或使用了什么样的成型刀具制造)。当然,在零件操作过程中发现的可以反馈到设计和制造阶段。
- 产品孪生。产品孪生基本上是一组反映其相互作用的部分孪生体。从软件产品的角度来看,产品孪生通常是相同的,因此可以通过向下钻取从产品孪生访问部件孪生。发电企业发电机是双轴承产品的一个例子,它有多个轴承和部分双轴承。
- 系统孪生。系统孪生比产品孪生更上一层楼。同样,系统孪生很可能在同一个软件产品中实现,提供与产品或部分孪生相似的功能,但它只是整个系统的一个视图。所以让我们继续以发电企业为例,一个系统孪生(取决于它的定义)可能反映历史和当前状态,并预测一个发电厂、整个发电厂、甚至一个电网分区的特定动力传动系统的未来状态。
还有很多不同类型的数字孪生,取决于你问谁和怎么定义,但以上已经涵盖了最重要的类型。
四、数字孪生的发展趋势
数字孪生还处于初步发展阶段,但发展速度会很快。“尽可能多地输入数据并运用于人工智能”—这通常是信息服务商销售数字孪生解决方案的理由。事实上,这并没有错。数字孪生得益于存在大量机器生成的数据,这是其他数据科学学科所没有的奢侈品。当有大量的数据时,使用深度学习模型开始变得可行。
数字孪生是控制中心的新版本,它将历史和当前系统状态与未来预测状态结合起来。向下钻取功能允许用户深入研究单个产品或产品部件,但也显示了允许高度复杂优化任务的全局。数字孪生不仅在操作上有用,而且在考虑产品设计和制造时也能充分发挥其潜力。