update
3
Makefile
@ -20,6 +20,9 @@ pdf:
|
||||
show: pdf
|
||||
@open main.pdf
|
||||
|
||||
count:
|
||||
@ps2ascii main.pdf | tr -d ' ' | wc -
|
||||
|
||||
num:
|
||||
@texcount ./data/chapter1-intro.tex ./data/chapter2.tex ./data/chapter3.tex ./data/chapter4.tex ./data/chapter5.tex ./data/conclusion.tex
|
||||
|
||||
|
||||
@ -3,21 +3,16 @@
|
||||
% 中英文摘要
|
||||
\begin{cabstract}
|
||||
|
||||
数字产品定义(Digital Product Definition, DPD)经历了从二维到三维的转变过程。在此过程中,产业界提出了以产品设计为核心的数字模拟(Digital Mock-Up, DMU)、虚拟样机等技术,使得产品设计信息的定义和表达日益完善。近年来,国内外制造业的实践证明,三维数字化产品定义模式已逐渐成熟,并多次证实其效益。然而,现有的数字化产品定义仍存在一些问题,如产品描述不涉及制造、运行和维护阶段,产品定义与过程定义间缺乏相关性,以及后续模拟基于“理想定义”对实际产品的指导有限等。为解决这些问题,数字孪生技术应运而生,被誉为是有望改变未来航空制造“游戏规则”的顶级技术。
|
||||
|
||||
当前,数字孪生技术的发展方向和难点主要集中在数据质量与精度、可视化与交互性提升、模型与知识分析存储、数学分析与仿真技术、模型快速构建技术、多领域应用实践和实时性应用等方面。本研究从以下三个方面展开,提出了性能高效、易用、快速构建场景的通用数字孪生平台方案,并尝试实际应用。
|
||||
数字孪生技术作为一种将物理对象与其虚拟副本相结合的方法,已在智能制造、智慧城市、物联网(IoT)、大数据和人工智能(AI)等领域取得显著成果。本文旨在深入探讨数字孪生技术在实际应用中所面临的挑战及其解决方法。首先,本文回顾了数字孪生的基本概念和发展历程,重点关注了其在仿真制造行业的应用,并分析了在产品全生命周期中的关键作用。接着,本文详细讨论了数字孪生技术目前所遇到的困境,如数据质量与精度、可视化与交互性提升、模型与知识分析存储、数学分析与仿真技术、模型快速构建技术、多领域应用实践以及实时性应用等方面的挑战。
|
||||
|
||||
首先,在数据质量和精度方面,本研究探索了一种自主分布式实时消息通信网络,以确保在硬件网络内满足消息实时性要求,并在整个系统内保证消息的发送、分发、存储和响应效率。
|
||||
为解决这些挑战,本研究从三个方面提出了高效性能、易用性、以及快速构建场景的通用数字孪生平台方案,并尝试进行实际应用。首先,在数据质量和精度方面,本文探讨了一种自主分布式实时消息通信网络,以确保在硬件网络内满足消息实时性要求,并在整个系统内保证消息的发送、分发、存储和响应效率。其次,在模型与知识分析存储方面,本研究提出了一套基于图谱或语义构建逻辑模型的系统,该系统为用户提供方便的场景内各节点交互响应逻辑编辑以及虚拟场景内仿真分析逻辑。通过参数化设计模型及模型间交互逻辑,并设计合适的模型存储结构,大大简化了模型与知识在各端的存储和传输。最后,在实时性应用方面,本研究基于前两个技术,探索了系统全生命周期应用方案技术,从历史数据分析、实时场景内数据监控与逻辑响应,到未来部分数据推演仿真,实现单个孪生场景的历史、现在与未来数据统一整合,大幅拓展了数字孪生技术的应用范围。
|
||||
|
||||
其次,在模型与知识分析存储方面,本研究探讨了一套利用图谱或语义构建逻辑模型的系统,并为用户提供方便的场景内各节点交互响应逻辑编辑以及虚拟场景内仿真分析逻辑。通过参数化设计模型及模型间交互逻辑,并设计合适的模型存储结构,大大简化了模型与知识在各端的存储和传输。
|
||||
尽管如此,在实际应用场景中,我们仍需面临诸如海量信息的建模与处理、模型的结构化和专有化等复杂现实问题。在单一场景中,可能需要构建数千个数字孪生实体并处理每秒数十万级别的数据。如何利用现有知识快速推演模型,以及如何关联、分析和响应海量异构数据,依然是在探索研究前述两个技术方向时需要努力解决的现实难题。
|
||||
|
||||
最后,在实时性应用方面,基于前两个技术,本研究探索了系统全生命周期应用方案技术,从历史数据分析、实时场景内数据监控与逻辑响应,到未来部分数据推演仿真,实现单个孪生场景的历史、现在与未来数据统一整合,大幅拓展了数字孪生技术的应用范围。
|
||||
|
||||
然而,在实际应用场景中,我们仍会面临许多复杂的现实问题,如海量信息的建模与处理、模型的结构化和专有化等。在单一场景中,可能需要构建数千个数字孪生实体并处理每秒数十万级别的数据。如何利用现有知识快速推演模型,以及如何关联、分析和响应海量异构数据,依然是在探索研究前述两个技术方向时需要努力解决的现实难题。
|
||||
总之,数字孪生技术在多领域实践中的应用和挑战仍有待深入研究。本文通过回顾数字孪生技术的发展历程、分析其在仿真制造行业的应用和挑战,以及探讨针对这些挑战的解决方案,旨在为数字孪生技术的进一步研究和应用提供借鉴。随着数字孪生技术的不断发展,有望在智能制造、智慧城市等领域实现更高效、可持续和人性化的解决方案。
|
||||
|
||||
未来的研究将继续关注数字孪生技术在数据质量与精度、模型与知识分析存储、实时性应用等方面的突破和发展。为了应对实际应用中遇到的挑战,我们需要深入研究海量信息建模与处理方法、优化模型结构化与专有化技术、提高数字孪生技术在多领域的应用实践能力以及实现实时性应用的落地。
|
||||
|
||||
通过不断地研究与实践,我们有望构建一个更加高效、易用和快速适应各种场景的通用数字孪生平台,以满足未来航空制造业以及其他制造领域的需求。数字孪生技术的发展将为产业界带来巨大的潜力,为提高产品设计、制造和维护的效率和质量发挥重要作用。
|
||||
|
||||
\end{cabstract}
|
||||
|
||||
|
||||
@ -1,6 +1,47 @@
|
||||
This file was created with JabRef 2.1 beta 2.
|
||||
Encoding: GB2312
|
||||
|
||||
|
||||
@misc{ref0,
|
||||
author = {},
|
||||
title = {The Lockheed Martin Aeronautics Win – Integration and Digital Twins the Secret to Siemens’ A\&D Success},
|
||||
howpublished = {\url{http://plm-erpnews.se/aktuellt-pa-engineering-com-the-lockheed-martin-win-integration-is-the-secret-to-siemens-success-in-aerospace-defense-meet-vp-dale-tutt/}}
|
||||
}
|
||||
|
||||
@misc{ref1,
|
||||
author = {},
|
||||
title = {aircraft-performance-engineering},
|
||||
howpublished = {\url{https://www.plm.automation.siemens.com/global/fr/industries/aerospace-defense/aircrafts-airframes/aircraft-performance-engineering.html}}
|
||||
}
|
||||
|
||||
@article{ref2,
|
||||
title={产品数字孪生体的内涵,体系结构及其发展趋势},
|
||||
author={庄存波 and 刘检华 and 熊辉 and 丁晓宇 and 刘少丽 and 瓮刚},
|
||||
journal={计算机集成制造系统},
|
||||
volume={23},
|
||||
number={4},
|
||||
pages={16},
|
||||
year={2017},
|
||||
}
|
||||
|
||||
|
||||
|
||||
@inbook{ref3,
|
||||
abstract = {Systems do not simply pop into existence. They progress through lifecycle phases of creation, production, operations, and disposal. The issues leading to undesirable and unpredicted emergent behavior are set in place during the phases of creation and production and realized during the operational phase, with many of those problematic issues due to human interaction. We propose that the idea of the Digital Twin, which links the physical system with its virtual equivalent can mitigate these problematic issues. We describe the Digital Twin concept and its development, show how it applies across the product lifecycle in defining and understanding system behavior, and define tests to evaluate how we are progressing. We discuss how the Digital Twin relates to Systems Engineering and how it can address the human interactions that lead to ``normal accidents.'' We address both Digital Twin obstacles and opportunities, such as system replication and front running. We finish with NASA's current work with the Digital Twin.},
|
||||
address = {Cham},
|
||||
author = {Grieves, Michael and Vickers, John},
|
||||
booktitle = {Transdisciplinary Perspectives on Complex Systems: New Findings and Approaches},
|
||||
doi = {10.1007/978-3-319-38756-7_4},
|
||||
editor = {Kahlen, Franz-Josef and Flumerfelt, Shannon and Alves, Anabela},
|
||||
isbn = {978-3-319-38756-7},
|
||||
pages = {85--113},
|
||||
publisher = {Springer International Publishing},
|
||||
title = {Digital Twin: Mitigating Unpredictable, Undesirable Emergent Behavior in Complex Systems},
|
||||
url = {https://doi.org/10.1007/978-3-319-38756-7_4},
|
||||
year = {2017},
|
||||
bdsk-url-1 = {https://doi.org/10.1007/978-3-319-38756-7_4}}
|
||||
|
||||
|
||||
@inproceedings{2012The,
|
||||
title={The Digital Twin Paradigm for Future NASA and U.S. Air Force Vehicles},
|
||||
author={ Glaessgen, E. and Stargel, D. },
|
||||
|
||||
@ -3,20 +3,18 @@
|
||||
|
||||
\section{数字孪生概述}
|
||||
|
||||
数字产品定义(Digital Product Definition, DPD)经历了从二维到三维的转变过程,产业界提出了以产品设计为核心的数字仿真(Digital Mock-Up, DMU)、虚拟样机等技术,使产品设计信息的定义和表达日益完善。近年来,国内外制造业的实践证明,三维数字化定义的产品模式已逐渐成熟,并多次证实其效益。然而,现有的数字化产品定义仍存在一些问题,如产品描述不涉及制造、运行和维护阶段,产品定义与过程定义间缺乏相关性,以及后续模拟基于“理想定义”对实际产品的指导有限等。为解决这些问题,数字孪生技术应运而生,被誉为有望改变未来航空制造“游戏规则”的顶级技术。
|
||||
数字孪生技术作为一种将现实世界与虚拟世界紧密结合的方法,近年来在工业、智能制造、医疗、城市规划等领域取得了显著的进展,三维数字化定义的产品模式已逐渐成熟,并多次证实其效益。
|
||||
|
||||
数字孪生技术是一种将物理对象、流程或服务数字化建模的方法,通过利用这些模型来推测其行为和性能。这一全面的数字化方法能够实现从产品生命周期的开始到结束的全方位描述与分析,实现物理世界的可视化、可交互和可预测虚拟化。在数字孪生中,物理系统被视为网络,由一系列包含物理机制、虚拟特征和人际交互关系的特征点组成的对象集合。
|
||||
|
||||
数字孪生技术不仅能够映射物理世界中的各种物体,如发动机、电场、建筑物和城市等。此外,数字孪生还可用于映射流程,并通过收集和分析数据来预测它们的行为和性能,利用现实世界数据创建可以预测产品性能或流程行为的虚拟模型。
|
||||
|
||||
通过整合物联网、人工智能和软件分析等技术,数字孪生技术可提高效率和精度,在现代工程中推动创新和性能提升。随着机器学习和大数据等领域的发展,数字孪生技术的应用范围将逐渐扩大,为人们提供更全面的数字化解决方案。
|
||||
|
||||
数字孪生技术通过数据馈送映射物理实体,并对许多工业领域产生了颠覆性影响。德国信息技术和新媒体协会预测,在制造业市场中,数字孪生的价值巨大,到2025年将超过780亿欧元。Gartner已经连续两年(2016、2017)将数字孪生列为十大战略技术发展趋势之一。2017年11月,世界最大的武器制造商洛克希德·马丁公司将数字孪生列为未来国防和航空航天工业的六大顶级技术。
|
||||
|
||||
数字孪生技术的发展和应用为制造业带来了巨大的潜力,推动了产品设计、制造和维护的效率和质量的提升。随着技术的不断发展和创新,数字孪生技术将在制造业市场中发挥越来越重要的作用,引领未来制造业的发展方向。
|
||||
|
||||
|
||||
数字孪生技术是一种将物理对象、流程或服务数字化建模的方法,通过利用这些模型来推测其行为和性能。这一全面的数字化方法能够实现从产品生命周期的开始到结束的全方位描述与分析,实现物理世界的可视化、可交互和可预测虚拟化。在数字孪生中,物理系统被视为网络,由一系列包含物理机制、虚拟特征和人际交互关系的特征点组成的对象集合。
|
||||
|
||||
数字孪生技术能够映射物理世界中的各种物体,如发动机、电场、建筑物和城市等。此外,数字孪生还可用于映射流程,并通过收集和分析数据来预测它们的行为和性能。作为一种计算机程序,数字孪生利用现实世界数据创建可以预测产品或流程行为和性能的虚拟模型。
|
||||
|
||||
通过整合物联网、人工智能和软件分析等技术,数字孪生技术可提高效率和精度,在现代工程中推动创新和性能提升。随着机器学习和大数据等领域的发展,数字孪生技术的应用范围将逐渐扩大,为人们提供更全面的数字化解决方案。
|
||||
|
||||
|
||||
然而在实际应用场景中,数字孪生面临着诸多复杂的现实挑战,如海量信息的建模与处理、模型的结构化与专有化等问题。在单一场景中,可能需要构建数千个孪生体并处理每秒数十万级别的数据。因此,本篇文章主要关注以下几个研究内容:
|
||||
|
||||
\begin{enumerate}
|
||||
@ -29,80 +27,94 @@
|
||||
|
||||
\section{研究背景及现状}
|
||||
|
||||
数字孪生(Digital Twin)的概念最早出现在2003年,由Grieves教授在密歇根大学的产品生命周期管理课程中提出。2010年,"Digital Twin" 一词在NASA的技术报告中被正式提出,并被定义为"集成了多物理量、多尺度、多概率的系统或飞行器仿真过程"。2011年起,美国国防部将数字孪生的概念引入了航天器的健康维护等问题解决中。
|
||||
数字孪生(Digital Twin)的概念最早出现在2003年,由Grieves教授在密歇根大学的产品生命周期管理课程中提出。2010年,“Digital Twin” 一词在NASA的技术报告中被正式提出,并被定义为"集成了多物理量、多尺度、多概率的系统或飞行器仿真过程"。2011年起,美国国防部将数字孪生的概念引入了航天器的健康维护等问题解决中。
|
||||
|
||||
NASA将数字孪生定义为:以飞机或系统为导向,充分利用最佳物理模型、传感器和运行历史数据,集成多学科和多尺度概率仿真过程,映射对应物理飞机的状态。
|
||||
|
||||
美国空军对数字孪生的定义是基于NASA将"面向飞机或系统"扩展到"面向完成建模的系统"和"映射"扩展到"映射和预测",并给出了机身图形的孪生内涵示例(包括几何模型、材料性能、飞行试验数据、制造/检验/维修数据、气动模型、有限元模型、损伤演化模型)。
|
||||
|
||||
庄存波等人对数字孪生的定义是产品数字孪生,是指产品物理实体在信息空间中的工作状态和工作进度的全要素重构和数字映射。它是一种集成的多物理、多尺度、超逼真的动态概率仿真模型,可用于仿真、诊断、预测和控制真实环境下产品物理实体的实现过程。
|
||||
全球知名的IT研究与顾问咨询公司 Gartner 在连续两年中将数字孪生列为年度十大战略科技发展趋势之一。世界最大的武器制造商洛克希德·马丁公司在2017年11月将数字孪生列为未来国防和航天工业六大顶尖技术之首。同时,2017年12月8日,中国科协智能制造学术联合体在世界智能制造大会上将数字孪生列为世界智能制造十大科技进展之一。
|
||||
|
||||
Grieves等人对数字孪生的定义是一组虚拟信息结构,对复杂产品从微观原子层次到宏观几何层次全面描述潜在生产或实际制造产品。构建一个数字孪生的最好结果是,任何可以通过检查实际制造的东西,产品获得的信息也可以从它的数字孪生获得。在研究基于数字孪生的复杂产品/复杂产品/系统行为分类系统问题预测时,明确指出构建数字孪生的目的是基于仿真预测,最大程度地消除复杂产品/系统"不可预测和不受欢迎的行为",以避免不可知的灾难性问题。以火箭发射为例,在虚拟空间中,模拟真实火箭的数字孪生,即使失败了,也可以用新的虚拟空间快速替换,继续启动。
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=1\textwidth]{figure/f15.png}
|
||||
\caption{f22 试飞与数字模型\cite{ref0}}
|
||||
\label{fig-f15}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=1\textwidth]{figure/f16.png}
|
||||
\caption{产品/生产/设备三维数字孪生模型\cite{ref1}}
|
||||
\label{fig-f16}
|
||||
\end{figure}
|
||||
知名公司如达索、西门子等已初步将数字孪生技术应用于产品设计、生产和维护过程。2018年,ANSYS发布了ANSYS 19.1 软件,推出了首款针对数字孪生体的产品软件包——ANSYS Twin Builder,进一步推动了数字孪生与仿真技术的融合应用。2019年,加拿大国家研究委员会(NRC)与AFRL和澳大利亚国防科学技术小组(DST)一起,审查和评估了ADT框架对加拿大皇家空军(RCAF)机队的潜在适用性,利用ADT框架对CF-188的内侧前缘襟翼进行了试验演示。此外,在航空航天领域,传统的验证-管理-维护理念已经无法满足下一代飞行器的需求,发展同步演化仿真技术成为新的技术趋势,NASA 和美国空军研究实验室等也将该技术应用于具体型号研发,并荣获2016年美国国防制造技术奖。
|
||||
|
||||
庄存波等人对数字孪生的定义是产品数字孪生,是指产品物理实体在信息空间中的工作状态和工作进度的全要素重构和数字映射。它是一种集成的多物理、多尺度、超逼真的动态概率仿真模型,可用于仿真、诊断、预测和控制真实环境下产品物理实体的实现过程\cite{ref2}。
|
||||
|
||||
Grieves等人对数字孪生的定义是一组虚拟信息结构,对复杂产品从微观原子层次到宏观几何层次全面描述潜在生产或实际制造产品。构建一个数字孪生的最好结果是,任何可以通过检查实际制造的东西,产品获得的信息也可以从它的数字孪生获得。在研究基于数字孪生的复杂产品/复杂产品/系统行为分类系统问题预测时,明确指出构建数字孪生的目的是基于仿真预测,最大程度地消除复杂产品/系统"不可预测和不受欢迎的行为",以避免不可知的灾难性问题。以火箭发射为例,在虚拟空间中,模拟真实火箭的数字孪生,即使失败了,也可以用新的虚拟空间快速替换,继续启动\cite{ref3}。
|
||||
|
||||
数字孪生是以数字化方式创建物理实体的虚拟实体,借助历史数据、实时数据以及算法模型等,模拟、验证、预测、控制物理实体全生命周期过程的技术手段,建立在对一系列多维度的大规模的、实时的真实世界的数据测量,并辅以一定的物理和行为建模进行状态复现和预测的概率过程。
|
||||
|
||||
现阶段,除了航空航天领域,数字孪生领域还应用于电力、矿产采集、城市管理、工业制造等,特别是在智能制造领域,数字孪生被认为是一种实现物理世界、信息世界及人类意识世界交互的重要手段。
|
||||
|
||||
如上所述,数字孪生技术的研究主要呈现于以下四点:
|
||||
\begin{enumerate}
|
||||
\item 多学科交叉:数字孪生研究涉及计算机科学、工程、制造、物流等多个领域,需要多学科知识的共同支撑。
|
||||
\item 技术创新:数字孪生的核心技术包括数据采集、模型构建、仿真分析等,学术界正致力于研究更高效、精确的技术方法。
|
||||
\item 应用广泛:数字孪生技术已应用于工业制造、建筑、交通、能源等众多行业,学术界正关注其应用效果,以便为实践提供理论支持。
|
||||
\item 标准与规范:学术界正努力制定数字孪生的相关标准和规范,以便于技术在不同领域的应用和推广。
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
从数字孪生技术的众多描述中,可以发现其部分特性与仿真技术相似。仿真技术采用包含确定性规律和完整机理的数字模型来模拟现实世界的物理现象,其目的在于依赖精确的模型以及完整的信息和环境数据来分析物理世界的特性和参数,数字孪生技术在仿真的基础上增加了实时性和交互性,使得信息模型和物理模型能够相互关联和影响。
|
||||
|
||||
从数字孪生技术的众多描述中,可以发现其部分特性与仿真技术相似。仿真技术采用包含确定性规律和完整机理的数字模型来模拟现实世界的物理现象,其目的在于依赖精确的模型以及完整的信息和环境数据来分析物理世界的特性和参数。数字孪生技术在仿真的基础上增加了实时性和交互性,使得信息模型和物理模型能够相互关联和影响。数字孪生技术的主要技术包括信息建模、信息采集与同步、信息分析以及智能决策等。尽管该技术目前已取得显著的进展,但仍面临世界模型机理的复杂性、知识图谱构建的困难以及有效数据采集与分析的挑战,这些问题限制了数字孪生技术在实际应用中的推广与发展。
|
||||
|
||||
|
||||
\section{研究意义}
|
||||
|
||||
数字孪生技术作为近年来在工业领域及其他行业迅速发展的创新技术,将物理实体、流程或服务的数字表征与现实世界紧密相连。该技术提供了一种在虚拟环境中构建、测试、优化和管理物理系统的新方法,对众多行业的发展具有重大意义。由于其在工业领域的广泛关注,全球知名的IT研究与顾问咨询公司 Gartner 在连续两年中将数字孪生列为年度十大战略科技发展趋势之一。世界最大的武器制造商洛克希德·马丁公司在2017年11月将数字孪生列为未来国防和航天工业六大顶尖技术之首。同时,2017年12月8日,中国科协智能制造学术联合体在世界智能制造大会上将数字孪生列为世界智能制造十大科技进展之一。
|
||||
数字孪生技术作为近年来在工业领域及其他行业迅速发展的创新技术,将物理实体、流程或服务的数字表征与现实世界紧密相连。该技术提供了一种在虚拟环境中构建、测试、优化和管理物理系统的新方法,对众多行业的发展具有重大意义,并被不约而同的视为未来发展的关键技术之一,这主要归功于在产品设计、生产、运维、市场四大生命周期中,数字孪生技术都起到了重要推动作用。
|
||||
|
||||
知名公司如达索、西门子等已初步将数字孪生技术应用于产品设计、生产和维护过程。2018年,ANSYS发布了ANSYS 19.1 软件,推出了首款针对数字孪生体的产品软件包——ANSYS Twin Builder,进一步推动了数字孪生与仿真技术的融合应用。2019年,加拿大国家研究委员会(NRC)与AFRL和澳大利亚国防科学技术小组(DST)一起,审查和评估了ADT框架对加拿大皇家空军(RCAF)机队的潜在适用性,利用ADT框架对CF-188的内侧前缘襟翼进行了试验演示。此外,在航空航天领域,传统的验证-管理-维护理念已经无法满足下一代飞行器的需求,发展同步演化仿真技术成为新的技术趋势,NASA 和美国空军研究实验室等也将该技术应用于具体型号研发,并荣获2016年美国国防制造技术奖。
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=1\textwidth]{figure/f15.png}
|
||||
\caption{f22 试飞与数字模型}
|
||||
\label{fig-f15}
|
||||
\end{figure}
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=1\textwidth]{figure/f16.png}
|
||||
\caption{产品/生产/设备三维数字孪生模型}
|
||||
\label{fig-f16}
|
||||
\end{figure}
|
||||
首先,数字孪生技术能够提升产品设计和生产过程的效率。数字孪生技术可以帮助工程师在虚拟环境中对产品进行设计、仿真和优化。这种方式可以显著减少实际试验次数,降低试验成本,提高设计效率和产品质量。
|
||||
|
||||
此外,数字孪生技术还可优化生产流程,数字孪生技术可以实现生产过程的实时监控和分析,通过模型预测和调整生产参数,提高生产效率、降低生产成本。此外,数字孪生还可以协助企业制定更为合理的生产计划,提高资源利用率。
|
||||
|
||||
数字孪生技术能在多个行业中受到高度关注并被视为未来发展的关键技术,这归功于其在生产全生命周期的重要作用。首先,数字孪生技术能够提升产品设计和生产过程的效率。通过此技术,工程师能在虚拟环境中进行设计、测试和验证,从而降低制造过程中的错误和重复。此外,数字孪生技术还可优化生产流程,通过实时数据监测和分析,提高生产效率,减少能源消耗和废品率,提升产品质量。
|
||||
在运维阶段,数字孪生技术可以实时监测设备的运行状态,预测可能发生的故障,从而实现智能维护和及时排除故障。此外,数字孪生还可以进行远程诊断和维修,减少现场维护的成本和时间。
|
||||
|
||||
其次,数字孪生技术有助于企业更好地了解产品和服务在市场的表现。通过将现实世界数据与虚拟模型相结合,企业可模拟客户体验和产品性能,进而更好地了解客户需求和市场趋势,从而优化产品和服务,提高客户满意度。
|
||||
|
||||
此外,数字孪生技术可用于改善运营和维护。企业能利用虚拟环境中的数据和分析来监测和预测设备运行状况,并进行远程监控和维护。这有助于减少设备故障和停机时间,降低维修成本,提高设备利用率和生产效率。
|
||||
同时在数字孪生技术研究过程中,涉及多个学科领域,如物联网、大数据、人工智能、工程学等。这种交叉性为不同学科间的研究合作提供了契机,有助于推动多领域知识的融合与创新。
|
||||
|
||||
总之,数字孪生技术在提升效率、改进产品设计和生产过程、提高客户满意度、降低成本和提高生产效率、产品运营和维护等方面具有显著的价值。随着技术的不断发展,数字孪生技术有望成为各行各业推动数字化转型和实现可持续发展的重要工具。达索、西门子等公司已初步将数字孪生技术应用于产品设计、生产和维护过程中。此外,NASA、美国空军研究实验室等将其运用于具体型号的研发,甚至获得了2016年美国国防制造技术奖。
|
||||
最后数字孪生技术在落地应用时,涉及工业制造、建筑业、能源、交通、农业等多个领域,有助于推动相关产业的升级与创新。通过数字孪生技术,企业可以实现数字化、智能化生产,提高竞争力。
|
||||
|
||||
数字孪生技术在提升效率、改进产品设计和生产过程、提高客户满意度、降低成本和提高生产效率、产品运营和维护等方面具有显著的价值。随着技术的不断发展,数字孪生技术有望成为各行各业推动数字化转型和实现可持续发展的重要工具。
|
||||
|
||||
然而,在实际生产和应用过程中,数字孪生技术仍面临诸多困境。
|
||||
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
\item 数据问题
|
||||
数据采集尺度或计量单位的一致性涉及物理数据、几何数据和时间数据等方面。例如,构建实物三维模型时,若坐标与计量单位不一致,可能导致不同模型之间无法融合,从而需增加数据接口并编写数据翻译器。此外,工厂内生产计划数据采集过程中,不同时间单位的数据可能导致数字孪生模型出现数据读取错误。
|
||||
\subsection{数据困境}
|
||||
数据采集尺度或计量单位的一致性问题,其中涉及物理数据、几何数据和时间数据等方面。例如,构建实物三维模型时,若坐标与计量单位不一致,可能导致不同模型之间无法融合,从而需增加数据接口并编写数据翻译器。此外,工厂内生产计划数据采集过程中,不同时间单位的数据可能导致数字孪生模型出现数据读取错误。
|
||||
|
||||
关于数据采集参数和格式的一致性,针对同一对象,多维虚拟模型采集的数据格式若不一致,或参数类型和数量不对等,可能导致不同模型在数据融合时出现问题,从而无法进行交互。
|
||||
关于数据采集参数和格式的一致性问题,针对同一对象,多维虚拟模型采集的数据格式若不一致,或参数类型和数量不对等,可能导致不同模型在数据融合时出现问题,从而无法进行交互。
|
||||
|
||||
数据采集周期亦是一个关键问题。例如,生产设备数据产生通常以毫秒为单位,采集的数据驱动数字孪生模型时,往往需要扩大时间尺度,否则模型仿真运行压力过大可能导致崩溃。
|
||||
|
||||
除此之外,数据采集的稳定性和准确度、海量数据的存储和处理能力、通信接口协议不一致、多源异构数据整合和数据歧义等问题均对数据采集和处理过程提出了挑战。为实现数字孪生技术的广泛应用,需要解决这些问题,确保数据的准确性、一致性和可靠性。
|
||||
|
||||
|
||||
\item 模型问题:
|
||||
模型类别单一,在现有的数字孪生系统中,专有化程度较高,模型结构比较单一,虚拟世界基础依赖知识单一,在从分析预测阶段向自主控制的智能化分析探索,对现有基础模型知识库提出海量的需求。由于目前知识库的数据结构和模型没有统一的标准,多模型互操作难,数据语义、语法不统一,标准化的知识图谱体系尚需探索。在本文中将模型按层次分为几何模型、物理模型、规则模型, 其中几何模型和物理模型适用于虚拟世界,其真实作用是方便人更直观的去观察系统变化,规则模型涉及实体、虚体、系统、人四方数据流通和逻辑判断,其模型建立上现在都是通过特定场景应用下硬编码实现,无法通用,更新和建立模型也十分复杂。
|
||||
\subsection{模型困境}
|
||||
在当前的数字孪生系统中,模型类别相对单一,专有化程度较高,且模型结构相对简单。虚拟世界的基础知识依赖较为有限,当系统从分析预测阶段向自主控制的智能化分析发展时,对现有基础模型知识库提出了大量需求。然而,由于知识库的数据结构和模型缺乏统一标准,多模型互操作困难,数据语义和语法不一致,因此标准化的知识图谱体系仍有待探讨。
|
||||
|
||||
|
||||
本文将模型按层次划分为几何模型、物理模型和规则模型。几何模型和物理模型适用于虚拟世界,其主要作用在于帮助人们更直观地观察系统变化。规则模型涉及实体、虚体、系统和人之间的数据流通及逻辑判断。当前,规则模型的建立主要通过特定场景下的硬编码实现,这导致模型无法通用,且更新和建立模型过程相对复杂。为提高数字孪生技术的应用范围和效果,我们需努力解决这些问题,推动模型类别多样化和标准化。
|
||||
|
||||
\item 实践问题及多系统融合:
|
||||
\subsection{实践困境}
|
||||
|
||||
数字孪生技术是一种综合性技术,它涉及数据采集处理、数字孪生与数字模型、数字孪生与产品全生命周期管理(PLM)、数字孪生与大数据分析、数字孪生与信息物理系统(CPS)以及数字孪生与工业互联网等多个技术领域。为了推动数字孪生技术的发展,当前亟需在基础理论和相关技术融合方面取得突破。这包括开展设备泛在接入、工业通信协议适配、异构系统集成和虚实融合等核心关键构件的研发,以及突破多协议数据转换、海量异构数据汇聚、感知数据驱动和数字孪生精准映射等关键技术研究,从而促进数字孪生的应用。
|
||||
目前数字孪生应用主要集中在数字楼宇、数字城市等对真实世界的数据复刻,如何做到数字世界对真实生产活动的正反馈在当前多技术多领域融合背景下仍是一个挑战。
|
||||
|
||||
在多技术融合的背景下,数字孪生的商业模式仍难以得到充分保障,实践中的重要性仍需关键突破和应用。从单一环境仿真到大世界综合场景应用,仍需要底层技术发展和相关数据标准统一。数字孪生的多系统特性既体现在物理空间,也体现在虚拟空间,在数据、模型和交互各环节都有所表现。数字孪生实质上是物理世界与数字世界的多维系统融合。首先,我们面临着物理世界中的多系统挑战。据不完全统计,制造业当前的设备数字化率约为47\%,局域联网率仅为40\%,可接入公网的比例约为20\%。因此,底层运营技术(OT)与信息技术(IT)的融合仍然是一个极为关键的基础性问题。
|
||||
|
||||
\end{enumerate}
|
||||
同时在多技术融合的背景下,数字孪生的商业模式也难以得到充分保障,实践中的重要性仍需关键突破和应用。从单一环境仿真到大世界综合场景应用,仍需要底层技术发展和相关数据标准统一。数字孪生的多系统特性既体现在物理空间,也体现在虚拟空间,在数据、模型和交互各环节都有所表现。数字孪生实质上是物理世界与数字世界的多维系统融合。首先,我们面临着物理世界中的多系统挑战。据不完全统计,制造业当前的设备数字化率约为47\%,局域联网率仅为40\%,可接入公网的比例约为20\%。因此,底层运营技术(OT)与信息技术(IT)的融合仍然是一个极为关键的基础性问题。
|
||||
|
||||
针对以上三个问题,本文在结合实践形式和数字孪生技术特点,分析了相关技术理论,分别提出了相应的改进方案,探索数字孪生技术在全产品生命周期的应用前景和能力。
|
||||
|
||||
@ -137,114 +149,20 @@ Grieves等人对数字孪生的定义是一组虚拟信息结构,对复杂产
|
||||
\end{figure}
|
||||
|
||||
如图\ref{fig-f10}所示为本文结构图,为解决数字孪生所面临的三个困境,根据现实需要研究设计相应的方案,并在最后给住性能测试和案例应用证明其可行性和实用性。
|
||||
在进行上述研究同时,还开发了OneDT数字孪生系统,主要涉及四大主体内容。这些内容为:主体平台、分布式消息网络、节点状态与事件机制,以及知识模型,该系统是开展上述研究的基础和载体。
|
||||
在进行上述研究同时,还开发了OneDT数字孪生系统,主要涉及五大主体内容。这些内容为:主体平台、渲染引擎、分布式消息网络、节点状态与事件机制,以及知识模型,该系统是开展上述研究的基础和载体。
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
\item 主体平台:主体平台是数字孪生系统的核心组成部分,负责整合各个子系统,以便在一个统一的环境中进行交互。它为用户提供了一个直观的界面,便于管理和监控数字孪生的实体。此外,主体平台还支持多种数据处理和分析功能,以帮助用户实现更高效的运营和决策。
|
||||
\item 分布式消息网络:分布式消息网络是数字孪生平台的通信基础设施,负责在各个节点之间传输数据和消息。它采用了先进的分布式技术,确保了平台在面对大规模数据和高并发请求时依然能够保持稳定的性能。分布式消息网络还具有很高的可扩展性和容错能力,可以轻松适应不断变化的业务需求。
|
||||
\item 节点状态与事件机制:节点状态与事件机制是数字孪生平台中的重要组成部分,负责实时监控和管理系统内的各个节点。它可以捕捉节点之间的状态变化,以及由此产生的各种事件,从而实现对整个系统的动态调整和优化。此外,节点状态与事件机制还为用户提供了丰富的实时数据和预警信息,有助于更加精确地掌握系统的运行状况。
|
||||
\item 知识模型:知识模型是数字孪生平台的智能核心,负责对各种数据和各个节点进行建模和分析,包含涉及节点所遵从的逻辑规则,是一种复杂系统交互规则,其实现时为用户提供更有价值的洞察和建议。采用了先进的仿真技术和机器学习技术,可以实现对复杂数据的处理和复杂场景的建模分析。
|
||||
\item 主体平台\\
|
||||
主体平台是数字孪生系统的核心组成部分,负责整合各个子系统,以便在一个统一的环境中进行交互。它为用户提供了一个直观的界面,便于管理和监控数字孪生的实体。此外,主体平台还支持多种数据处理和分析功能,以帮助用户实现更高效的运营和决策。
|
||||
\item 渲染引擎\\
|
||||
渲染引擎是数字孪生系统的可视化组件,负责将数字孪生的实体模型转换为图像,以便用户更直观地观察和理解数字孪生的实体。不单纯同于游戏和三维设计软件的渲染引擎,因为模型数据中多了仿真数据和物理数据,同时系统有着实时孪生的需求,因此需要根据数字孪生需要对现有的渲染技术进行优化。
|
||||
|
||||
\item 分布式消息网络\\
|
||||
分布式消息网络是数字孪生平台的通信基础设施,负责在各个节点之间传输数据和消息。它采用了先进的分布式技术,确保了平台在面对大规模数据和高并发请求时依然能够保持稳定的性能。分布式消息网络还具有很高的可扩展性和容错能力,可以轻松适应不断变化的业务需求。
|
||||
\item 节点状态与事件机制\\
|
||||
节点状态与事件机制是数字孪生平台中的重要组成部分,负责实时监控和管理系统内的各个节点。它可以捕捉节点之间的状态变化,以及由此产生的各种事件,从而实现对整个系统的动态调整和优化。此外,节点状态与事件机制还为用户提供了丰富的实时数据和预警信息,有助于更加精确地掌握系统的运行状况。
|
||||
\item 知识模型\\
|
||||
知识模型是数字孪生平台的智能核心,负责对各种数据和各个节点进行建模和分析,包含涉及节点所遵从的逻辑规则,是一种复杂系统交互规则,其实现时为用户提供更有价值的洞察和建议。采用了先进的仿真技术和机器学习技术,可以实现对复杂数据的处理和复杂场景的建模分析。
|
||||
\end{enumerate}
|
||||
|
||||
\section{OneDT主系统}
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{figure/f1.png}
|
||||
\caption{系统结构图}
|
||||
\label{fig-f1}
|
||||
\end{figure}
|
||||
|
||||
图\ref{fig-f1}所示,A代表主体系统,它是数字孪生平台的核心组成部分,包括基本的数据存储、数据分析、核心消息节点、用户交互、模型展示和知识存储等功能。所有其他功能都依赖于主体平台进行显示和控制。用户可以通过A集群来查看、分析和操作所有集群。
|
||||
|
||||
|
||||
\subsection{主系统设计原则}
|
||||
在设计主体平台时,为了保障整体系统的可靠性和功能性,在设计每一个功能模块和子系统时需要遵循以下原则:
|
||||
\begin{description}
|
||||
\item [高可用]
|
||||
高可用性是系统设计中的重要目标之一,旨在确保系统在面对故障、错误或意外情况时能够保持正常运行。在系统设计中要注意负载均衡、自动化任务设计、冗余备份、快速恢复、无状态设计等等问题。
|
||||
|
||||
\item [高性能]
|
||||
在本平台设计中,核心性能指标有消息网络的分发能力,硬实时消息的响应速度,主体平台对多种规则模型的处理速度,海量消息的存储能力,用户访问时模型的操作性能、仿真性能等。
|
||||
\item [可扩展性]
|
||||
可扩展性是本平台设计中核心设计的一点,不单单指服务的可扩展性,比如服务节点可以水平扩增等,还指集群网络的开放程度,能对接现有消息协议,开放消息网络对接和规则模型设计。
|
||||
|
||||
\item [安全性]
|
||||
在保持消息网络的开发性上去保证整体平台、节点的安全性,在实践中,消息网络如何在开放协议的基础上保证通信安全。
|
||||
|
||||
\item [单一职责原则]
|
||||
任何模块保持职责和功能的最小化,专一化,模块之间不含功能交集,这有助于确保系统的模块化和可维护性,并减少模块之间的依赖性和耦合度
|
||||
|
||||
\end{description}
|
||||
|
||||
\subsection{整体结构设计}
|
||||
|
||||
在设计数字孪生整体结构时,需要综合考虑用户使用、硬件通信、云服务特性,以及平台的通用性、可扩展性、容灾恢复和安全性等多方面因素。
|
||||
|
||||
整体上,采用微服务架构,将系统根据业务功能模块拆分成若干个独立的微服务,每个微服务都能独立部署和扩展。微服务架构有助于提高系统的可伸缩性和可用性,同时降低系统的维护成本。
|
||||
|
||||
在前端,采用前后端分离的架构,使用现代化的前端框架如Vue,通过API连接到后端服务,实现前后端分离,以提高系统的可维护性和可伸缩性。
|
||||
|
||||
后端则采用分布式架构,将不同的业务模块拆分成独立的微服务,通过API或消息队列进行通信,以提高系统的可伸缩性和可用性。同时,利用缓存技术(例如Redis)来提高系统的性能。
|
||||
|
||||
在数据库方面,采用分布式数据库架构,将不同的数据拆分到不同的数据库实例中,并通过数据分片技术实现分布式存储,从而提高系统的可伸缩性和性能。此外,利用读写分离技术将读操作和写操作分别路由到不同的数据库实例,以提高系统性能。针对不同类型的数据,采用相应的存储方式,例如将主体结构数据存入MySQL,时序数据存入Elasticsearch,非参数化模型存入文本或对象存储服务(OSS)中。
|
||||
|
||||
在安全设计方面,采用统一的非对称密钥认证机制,对用户访问和节点通信进行私钥本地解密远程密文认证,例如身份验证、访问控制、节点接入和数据加密等,以确保系统安全性。
|
||||
|
||||
如图\ref{fig-f8}所示,云平台主体结构中,通用数字孪生平台的架构设计需充分考虑多方面因素。通过采用现代化架构技术和安全机制,可实现高性能、可伸缩、可用和安全的系统。
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{figure/f8.png}
|
||||
\caption{平台主体结构}
|
||||
\label{fig-f8}
|
||||
\end{figure}
|
||||
|
||||
\subsection{功能设计}
|
||||
|
||||
在设计该平台功能时,重点考虑其通用性和扩展性后,将平台功能点分为基础功能和拓展功能,拓展功能以本文提供的数据通信方案和规则模型方案为基础构建,由基础功能和额外编写的逻辑规则拓展而成,用户也可以此设计拓展功能。
|
||||
|
||||
\begin{enumerate}
|
||||
\item 数字孪生建模功能:提供用户友好的建模工具,支持各种模型类型和复杂性。用户可以通过可视化界面创建、编辑和删除模型。同时,平台应该提供模型验证、合法性检查、版本管理等功能。
|
||||
|
||||
\item 规则编写:提供多种方式的规则输入体系,使得用户方便的去构建场景和节点交互逻辑和内置规则。
|
||||
|
||||
\item 数据采集和集成功能:数字孪生平台需要支持各种数据源的集成,包括传感器、设备、网络、云服务等等,提供丰富的API和数据连接功能,以便数据源的快速接入和管理。
|
||||
|
||||
\item 数据分析和可视化功能:数字孪生平台需要提供数据分析和可视化工具,以便用户对数字孪生系统中的数据进行分析和探索。平台提供可视化工具和分析功能,支持数据探索、数据可视化和可视化交互等等。
|
||||
|
||||
\item 仿真和预测功能:数字孪生平台需要支持仿真和预测功能,以便用户可以基于数字孪生系统中的数据进行模拟和预测分析。平台应该提供各种仿真和预测工具,包括数据建模、算法开发和模型训练等等。
|
||||
|
||||
\item 安全性和可扩展性:数字孪生平台需要具备高可靠性和可扩展性。平台应该提供安全保障机制,包括数据安全、身份认证和访问控制等等。同时,平台应该具备可扩展性,以便用户可以轻松地扩展数字孪生系统的功能和规模。
|
||||
|
||||
\item API和开放平台:数字孪生平台需要提供API和开放平台,以便用户可以轻松地开发自己的应用程序和服务。平台应该提供完整的API文档和示例代码,同时支持第三方开发者的集成和扩展。
|
||||
|
||||
\end{enumerate}
|
||||
\subsection{数据库设计}
|
||||
|
||||
在设计该系统数据库时,根据数字孪生场景需要和数据采集的一些特点,数字孪生平台的数据库设计需要考虑多个方面,包括数据库的范围和目的、结构和模式、安全性和可靠性、性能和扩展性以及数据采集和清洗等。在设计过程中需要综合考虑各个方面的需求,灵活应用不同的技术和方法,确保数字孪生平台的高效、安全、可靠运行。
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
\item 数据库的范围和目的:数字孪生平台通常需要处理大量的数据,包括实时数据、历史数据、静态数据等。因此,需要确定数据库的范围和目的,包括存储数据的类型、数据的来源和流向、数据的格式等。
|
||||
|
||||
\item 数据库的结构和模式:为了支持数字孪生平台的多样化需求,数据库需要具有灵活的结构和模式。可以采用关系型数据库或非关系型数据库,或者二者结合使用。同时,需要确定数据库的表结构、字段类型、主键、外键等。
|
||||
|
||||
\item 数据库的安全性和可靠性:数字孪生平台通常涉及到重要的实时数据和设备信息,因此需要确保数据库的安全性和可靠性。可以采用多重备份、加密、权限控制等方式来保证数据的完整性和保密性。
|
||||
|
||||
\item 数据库的性能和扩展性:数字孪生平台需要支持高效的数据处理和分析,因此需要考虑数据库的性能和扩展性。采用分布式数据库、内存数据库等技术来提高性能,并采用分区、分片等方式来实现扩展性。
|
||||
|
||||
\item 数据库的数据采集和清洗:数字孪生平台需要从多个来源获取数据,并进行数据清洗和处理。因此需要设计适合的数据采集和清洗模块,确保数据的准确性和一致性。
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{分布式消息网络}
|
||||
图\ref{fig-f1}所示, ABC三集群之间, 集群内部,用户与主体平台之间均使用的是该消息网络,但是在不同的节点不同的集群,根据节点需要,该消息网络有不同的特征和性能要求,比如在用户与主体平台之间,实时性要求低,对精细数据无要求,但涉及大量重复数据给不同用户分发,其消息网络注重分发性能设计。BC 物理集群,涉及硬件操作,对实时性要求极高,要求存在硬中断和优先级,所以其设计偏向硬实时消息网络。
|
||||
\subsection{状态与事件机制}
|
||||
状态与事件机制为系统核心逻辑,任意物理虚拟服务节点在本身,主体平台以及途径的所有消息节点都有维护一套状态机制,节点本事就是一个状态机,其状态会在消息网络中广播最后到达主体平台,事件机制为各节点交互的基础,每个节点仅对自己负责,优先级最高的是维护自身状态,事件输入触发节点逻辑,状态改变和节点输出皆为事件输出对外广播,节点仅负责自己的状态和逻辑,其输入输出和状态改变皆为一条事件,其核心运行逻辑就是加入消息网络,订阅需要的事件,接收事件,触发逻辑运算,输出事件到消息网络,其输出是否有用有消息网络判定,节点主体只负责接收、运算及维护状态、输出。
|
||||
事件机制为主体平台和部分物理集群核心节点所独特管理的逻辑机制,其基础是订阅制,在订阅制基础上附上用户设计的其他规则逻辑。
|
||||
\subsection{规则模型}
|
||||
规则模型是在以消息网络和事件机制为基础上搭建的逻辑判定机制,其涉及的规则运行主体、客体为系统内任意物理虚拟服务节点或者任意事件,其规则生成可以使用平台内置的逻辑,也可以由用户输入函数、真值表、伪代码片段或者接入程序实现。
|
||||
|
||||
|
||||
|
||||
@ -1,36 +1,49 @@
|
||||
\chapter{系统设计}
|
||||
\chapter{OneDT主系统设计}
|
||||
|
||||
\section{系统设计原则}
|
||||
\subsection{高可用}
|
||||
|
||||
高可用性是系统设计中的重要目标之一,旨在确保系统在面对故障、错误或意外情况时能够保持正常运行。在系统设计中要注意负载均衡、自动化任务设计、冗余备份、快速恢复、无状态设计等等问题。
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{figure/f1.png}
|
||||
\caption{系统结构图}
|
||||
\label{fig-f1}
|
||||
\end{figure}
|
||||
|
||||
\subsection{高性能}
|
||||
图\ref{fig-f1}所示,A代表数字孪生主体系统,它是数字孪生平台的核心组成部分,包括基本的数据存储、数据分析、核心消息节点、用户交互、模型展示和知识存储等功能。所有其他功能都依赖于主体平台进行显示和控制,是实现系统所有功能的基础和载体。BC分别代表不同的孪生场景,每个场景皆有一个核心节点与A集群进行信息交互。
|
||||
|
||||
|
||||
\section{主系统设计原则}
|
||||
在设计主体平台A时,为了保障整体系统的可靠性和功能性,在设计每一个功能模块和子系统时需要遵循以下原则:
|
||||
\begin{enumerate}
|
||||
\item 高可用:高可用性是系统设计中的重要目标之一,旨在确保系统在面对故障、错误或意外情况时能够保持正常运行。在系统设计中要注意负载均衡、自动化任务设计、冗余备份、快速恢复、无状态设计等等问题。
|
||||
|
||||
\item 高性能:
|
||||
在本平台设计中,核心性能指标有消息网络的分发能力,硬实时消息的响应速度,主体平台对多种规则模型的处理速度,海量消息的存储能力,用户访问时模型的操作性能、仿真性能等。
|
||||
\subsection{可扩展性}
|
||||
\item 可扩展性:
|
||||
可扩展性是本平台设计中核心设计的一点,不单单指服务的可扩展性,比如服务节点可以水平扩增等,还指集群网络的开放程度,能对接现有消息协议,开放消息网络对接和规则模型设计。
|
||||
|
||||
\subsection{安全性}
|
||||
\item 安全性:
|
||||
在保持消息网络的开发性上去保证整体平台、节点的安全性,在实践中,消息网络如何在开放协议的基础上保证通信安全。
|
||||
|
||||
\subsection{单一职责原则}
|
||||
\item 单一职责原则:
|
||||
任何模块保持职责和功能的最小化,专一化,模块之间不含功能交集,这有助于确保系统的模块化和可维护性,并减少模块之间的依赖性和耦合度
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
\section{整体结构设计}
|
||||
|
||||
在设计数字孪生整体结构时,需要考虑用户使用、硬件通信、云服务特性去考虑设计,同时考虑平台的通用性,可扩展性,容灾恢复,安全性等等。
|
||||
在设计数字孪生整体结构时,需要综合考虑用户使用、硬件通信、云服务特性,以及平台的通用性、可扩展性、容灾恢复和安全性等多方面因素。
|
||||
|
||||
在整体上采用微服务架构。将系统按照业务功能模块拆分成若干个独立的微服务,每个微服务都能够独立部署和扩展。微服务架构可以提高系统的可伸缩性和可用性,并且可以降低系统的维护成本。
|
||||
整体上,采用微服务架构,将系统根据业务功能模块拆分成若干个独立的微服务,每个微服务都能独立部署和扩展。微服务架构有助于提高系统的可伸缩性和可用性,同时降低系统的维护成本。
|
||||
|
||||
前端采用前后端分离的架构,使用现代化的前端框架vue,通过API连接到后端服务,从而实现前后端分离,提高系统的可维护性和可伸缩性。
|
||||
在前端,采用前后端分离的架构,使用现代化的前端框架如Vue,通过API连接到后端服务,实现前后端分离,以提高系统的可维护性和可伸缩性。
|
||||
|
||||
后端采用分布式架构,将不同的业务模块拆分成独立的微服务,通过API或消息队列进行通信,提高系统的可伸缩性和可用性。同时,采用缓存技术,如Redis等,提高系统的性能。
|
||||
后端则采用分布式架构,将不同的业务模块拆分成独立的微服务,通过API或消息队列进行通信,以提高系统的可伸缩性和可用性。同时,利用缓存技术(例如Redis)来提高系统的性能。
|
||||
|
||||
数据库采用分布式数据库架构,将不同的数据拆分到不同的数据库实例中,通过数据分片技术进行分布式存储,提高系统的可伸缩性和性能。同时,采用读写分离技术,将读操作和写操作分别路由到不同的数据库实例中,从而提高系统的性能。根据数据的特点,分别选用不同类型的数据,主体结构数据存入mysql中,时序数据存入es中,非参数化模型存入文本或oss中。
|
||||
在数据库方面,采用分布式数据库架构,将不同的数据拆分到不同的数据库实例中,并通过数据分片技术实现分布式存储,从而提高系统的可伸缩性和性能。此外,利用读写分离技术将读操作和写操作分别路由到不同的数据库实例,以提高系统性能。针对不同类型的数据,采用相应的存储方式,例如将主体结构数据存入MySQL,时序数据存入Elasticsearch,非参数化模型存入文本或对象存储服务(OSS)中。
|
||||
|
||||
在安全设计中需要采用统一的非对称秘钥认证机制,用户访问和节点通信皆使用私人秘钥本地解密远程密文进行认证,例如身份验证、访问控制、节点接入、数据加密等,保障系统的安全性。
|
||||
在安全设计方面,采用统一的非对称密钥认证机制,对用户访问和节点通信进行私钥本地解密远程密文认证,例如身份验证、访问控制、节点接入和数据加密等,以确保系统安全性。
|
||||
|
||||
如下图所示,为云平台主体结构,通用数字孪生平台的架构设计需要考虑多方面因素,通过采用现代化的架构技术和安全机制,实现高性能、可伸缩、可用和安全的系统。
|
||||
如图\ref{fig-f8}所示,云平台主体结构中,通用数字孪生平台的架构设计需充分考虑多方面因素。通过采用现代化架构技术和安全机制,可实现高性能、可伸缩、可用和安全的系统。
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
@ -39,13 +52,11 @@
|
||||
\label{fig-f8}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\section{功能设计}
|
||||
|
||||
在设计该平台功能时,重点考虑其通用性和扩展性后,将平台功能点分为基础功能和拓展功能,拓展功能以本文提供的数据通信方案和规则模型方案为基础构建,由基础功能和额外编写的逻辑规则拓展而成,用户也可以此设计拓展功能。
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
\item 数字孪生建模功能:提供用户友好的建模工具,支持各种模型类型和复杂性。用户可以通过可视化界面创建、编辑和删除模型。同时,平台应该提供模型验证、合法性检查、版本管理等功能。
|
||||
|
||||
\item 规则编写:提供多种方式的规则输入体系,使得用户方便的去构建场景和节点交互逻辑和内置规则。
|
||||
@ -61,10 +72,11 @@
|
||||
\item API和开放平台:数字孪生平台需要提供API和开放平台,以便用户可以轻松地开发自己的应用程序和服务。平台应该提供完整的API文档和示例代码,同时支持第三方开发者的集成和扩展。
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
\section{数据库设计}
|
||||
|
||||
在设计该平台数据库时,需要考虑以下几个方面:
|
||||
在设计该系统数据库时,根据数字孪生场景需要和数据采集的一些特点,数字孪生平台的数据库设计需要考虑多个方面,包括数据库的范围和目的、结构和模式、安全性和可靠性、性能和扩展性以及数据采集和清洗等。在设计过程中需要综合考虑各个方面的需求,灵活应用不同的技术和方法,确保数字孪生平台的高效、安全、可靠运行。
|
||||
|
||||
\subsection{设计要点}
|
||||
|
||||
\begin{enumerate}
|
||||
|
||||
@ -75,8 +87,210 @@
|
||||
\item 数据库的安全性和可靠性:数字孪生平台通常涉及到重要的实时数据和设备信息,因此需要确保数据库的安全性和可靠性。可以采用多重备份、加密、权限控制等方式来保证数据的完整性和保密性。
|
||||
|
||||
\item 数据库的性能和扩展性:数字孪生平台需要支持高效的数据处理和分析,因此需要考虑数据库的性能和扩展性。采用分布式数据库、内存数据库等技术来提高性能,并采用分区、分片等方式来实现扩展性。
|
||||
|
||||
\item 数据库的数据采集和清洗:数字孪生平台需要从多个来源获取数据,并进行数据清洗和处理。因此需要设计适合的数据采集和清洗模块,确保数据的准确性和一致性。
|
||||
|
||||
\end{enumerate}
|
||||
|
||||
综上所述,数字孪生平台的数据库设计需要考虑多个方面,包括数据库的范围和目的、结构和模式、安全性和可靠性、性能和扩展性以及数据采集和清洗等。在设计过程中需要综合考虑各个方面的需求,灵活应用不同的技术和方法,确保数字孪生平台的高效、安全、可靠运行。
|
||||
\subsection{时序数据库设计}
|
||||
数字孪生平台除了大量结构化的数据需要使用关系型数据库存储外,还需要存储大量的时序数据,例如200个采集点位每天就可以产生4GB数据,因此需要设计一个专门用于存储时序数据的数据库用以存储和查询。
|
||||
时序数据有着非常强的特殊性,根据其特点,时序数据库着重优化设计以下几个方面:
|
||||
\begin{enumerate}
|
||||
\item 数据模型\\
|
||||
确定时序数据结构。时序数据可以表示为一个包含时间戳、度量值和标签(例如设备ID、位置等)的数据点。数据模型需要能够支持对这些数据点的高效插入、查询和删除操作。
|
||||
\item 数据压缩\\
|
||||
时序数据库需要处理和存储大量的数据。为了节省存储空间和提高性能,采用Gorilla压缩算法对数据进行编码。
|
||||
\item 数据分片和分布式存储
|
||||
根据时序数据弱关系性的特点,非常适合进行数据分片和分布式存储。数据分片是将数据按照一定的规则分成多个子集,每个子集存储在不同的数据库节点上。这样可以将查询和写入操作的负载分散到多个节点,提高性能。
|
||||
\item 索引和查询优化\\
|
||||
时序数据索引较为固定,主要查询是根据时间戳和标签进行查询,为了提高数据查询效率,时序数据库需要对这些数据添加索引,以便快速定位数据。同时,时序数据库还需要对查询进行优化,以便提高查询性能。
|
||||
\item 数据保留策略\\
|
||||
由于时序数据具有时效性,可能需要根据数据的重要性和时效性来制定数据保留策略。数据保留策略可以按照时间或数据量来设置,例如保留最近一个月的数据或保留最近1000万条数据等。
|
||||
\item 数据降采样和聚合\\
|
||||
为了提高查询性能和降低存储需求,时序数据库可以支持数据降采样(downsampling)和聚合操作。数据降采样是将高频率的数据点合并为低频率的数据点,例如将每秒的数据点合并为每分钟的数据点。数据聚合是对一组数据点进行统计分析,例如计算平均值、最大值和最小值等。通过降采样和聚合,可以极大降低存储需求和提高查询性能。
|
||||
\end{enumerate}
|
||||
|
||||
\section{文件组织结构}
|
||||
该平台在设计之初就考虑到涉及用户端、后端、数据库、硬件端,编写语言涉及c,c++,python,go,rust,js,matlab等,项目管理和组织也较为复杂,故根据项目各部分特点设计了如下的代码2级目录结构。
|
||||
|
||||
\begin{itemize}
|
||||
\item /odtc:主要为可视化前端代码
|
||||
\item /odtc/Common:核心类
|
||||
\item /odtc/Filtering:pipeline中数据过滤器
|
||||
\item /odtc/GenericFiltering:连接到外部仿真器的包装器
|
||||
\item /odtc/GeoVis:处理地形可视化的类
|
||||
\item /odtc/Graphics:处理3D数据的类
|
||||
\item /odtc/GUISupport:ui界面依赖库
|
||||
\item /odtc/Hybrid:依赖于多个其他目录中的复杂类
|
||||
\item /odtc/Image:图像处理过滤器
|
||||
\item /odtc/IO:用于读写不同类型文件的类
|
||||
\item /odtc/Parallel:并行算法处理,用于支持MPI计算
|
||||
\item /odtc/Rendering:渲染类
|
||||
\item /odtc/Utilities:工具类
|
||||
\item /odtc/VolumeRendering:用于不同类型的mesh数据绘制
|
||||
\item /odtc/Wrapping:python接口支持
|
||||
\item /webds:为分布式消息网络的代码
|
||||
\item /webds/cfg:配置库
|
||||
\item /webds/client:不同语言的客户端,如go/js/python/rust/c
|
||||
\item /webds/cluster:分布式协议及集群节点管理
|
||||
\item /webds/command:命令行支持,如启动集群,启动节点,扫描集群,扫描消息等
|
||||
\item /webds/conn:节点链接管理类
|
||||
\item /webds/core:核心类
|
||||
\item /webds/device:设备依赖库
|
||||
\item /webds/doc:文档
|
||||
\item /webds/errors:错误处理
|
||||
\item /webds/libs:通用依赖库
|
||||
\item /webds/message:消息协议
|
||||
\item /webds/trie:消息路由算法
|
||||
\item /odtlib:OneDT系统节点的依赖库
|
||||
\item /odtlib/atom:节点通信依赖
|
||||
\item /odtlib/iopack:消息包依赖
|
||||
\item /odtlib/command:命令行支持
|
||||
\item /odtlib/topic:消息主题管理
|
||||
\item /odtlib/status:节点状态管理
|
||||
\item /odtb:OneDT系统后端
|
||||
\item /odtb/api:后端接口代码
|
||||
\item /odtb/auth:权限系统及安全协议
|
||||
\item /odtb/cfg:配置库
|
||||
\item /odtb/doc:文档库
|
||||
\item /odtb/lib:通用依赖库
|
||||
\item /odtb/media:媒体库
|
||||
\item /odtb/report:自动化报告生成
|
||||
\item /odtb/models:数据库模型
|
||||
\item /odtb/static:静态文件
|
||||
\item /odtb/stage:场景及设备管理
|
||||
\item /odtb/utils:工具类
|
||||
\item /odtb/ws:websocket支持
|
||||
\end{itemize}
|
||||
|
||||
\section{3d渲染引擎}
|
||||
|
||||
3D渲染技术是是计算机图形学的核心技术,也是数字孪生技术用户交互技术中最为重要的一环,将现实世界的设备、系统或过程与虚拟模型相结合,并通过三维图像的形式呈现出来,方便使用者更直观地了解和探索模型的结构、状态和运行情况。现代3d渲染技术已经是一项非常成熟的技术,考虑到数字孪生技术不单纯是对现实世界的视觉数据复刻,在研究数值仿真计算的相关原理后对现有的渲染技术进行优化。
|
||||
|
||||
\subsection{渲染技术基本流程}
|
||||
渲染技术最基本流程包括几何表示、坐标变换、光栅化、着色和后处理。
|
||||
\begin{enumerate}
|
||||
\item 几何表示\\ 渲染引擎首先需要对三维场景中的物体进行几何表示。这通常涉及将物体表面划分为多边形网格(如三角形),并将顶点、法线、纹理坐标等属性数据存储在顶点缓冲区中。为了构建完整的三维场景,还需要添加光源、相机等元素。
|
||||
\item 坐标变换\\
|
||||
坐标变换是将物体从一个坐标系映射到另一个坐标系的过程。这包括:
|
||||
模型变换:将物体从模型坐标系(Model Space)变换到世界坐标系(World Space)。
|
||||
观察变换:将物体从世界坐标系变换到视点坐标系(View Space,也称摄像机坐标系)。
|
||||
投影变换:将物体从视点坐标系变换到投影坐标系(Projection Space),并执行透视除法,将坐标规范化为归一化设备坐标(Normalized Device Coordinates, NDC)。
|
||||
\item 光栅化\\
|
||||
光栅化阶段负责将变换后的三维几何数据转换为屏幕上的像素。这包括确定哪些像素位于三角形内部,并计算这些像素的深度值。为了消除隐藏面,渲染引擎通常使用深度缓冲区进行深度测试。
|
||||
\item 着色\\
|
||||
在着色阶段,渲染引擎根据物体的表面属性、光源、相机位置等因素计算像素的颜色。光照模型(如Phong模型或Blinn-Phong模型)用于模拟环境光、漫反射光、镜面反射光等效果。现代渲染引擎通常使用可编程着色器(如顶点着色器、片段着色器等)来实现更复杂的着色效果。
|
||||
\item 后处理\\
|
||||
在渲染流程结束后,可以对生成的二维图像进行后处理。这包括添加阴影、环境光遮蔽、光泽反射、景深、运动模糊等效果,以增强图像的真实感和视觉质量。
|
||||
\end{enumerate}
|
||||
|
||||
\subsection{存储格式}
|
||||
三维模型格式是用于存储和表示三维模型数据的文件类型。这些格式包含几何形状、纹理、材质、动画以及其他与3D模型相关的信息。在计算机图形学、游戏开发、电影制作和其他领域,有多种不同的三维模型格式,它们各自具有独特的特点和用途,常见的模型格式有obj、stl、ply、3mf、dae、fbx、gltf等。\\
|
||||
|
||||
但在数值仿真领域,通用的存储格式为vti、vtu等,除了包含基本的三维模型,这些格式还用于存储数值仿真计算结果,如应力场、应变场、温度场等,且不包含纹理、材质、动画等信息,因此不适用于数字孪生技术的应用场景。\\
|
||||
|
||||
数字孪生时代的存储模型不单要包含以上内容,还需包含采集到的真实的物理信息,如多个点的温度、压力、流量等,因此需要自定义存储格式,以便于存储读取和分析,如图\ref{fig-f27}所示,定义了包含更多数据源的存储格式。
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
\includegraphics[width=0.8\textwidth]{figure/f27.png}
|
||||
\caption{自定义Mesh存储结构}
|
||||
\label{fig-f27}
|
||||
\end{figure}
|
||||
|
||||
\begin{itemize}
|
||||
\item scene:场景结构描述条目。它通过引用node来定义场景图。
|
||||
\item node:场景图中的一个结点。它可以包含一个变换(比如旋转或平移),引用更多的子结点。它可以引用网格和相机,以及描述网格变换的蒙皮。
|
||||
\item camera:定义了用于渲染场景的视锥体配置。
|
||||
\item mesh:描述了场景中出现的3D对象的网格数据。它引用的accessor对象可以用来访问真实的几何数据。它引用的material对象定义了3D对象的外观。
|
||||
\item skin:定义了用于蒙皮的参数,参数的值通过一个accessor对象获得。
|
||||
\item animation:描述了一些结点如何随时间进行变换(比如旋转或平移)。
|
||||
\item accessor:一个访问任意数据的抽象数据源。被mesh、skin和animation元素使用来提供几何数据,蒙皮参数和基于时间的动画值。它通过引用一个bufferView对象,来引用实际的二进制数据。
|
||||
\item material:包含了定义3D对象外观的参数。它通常引用了用于3D对象渲染的texture对象。
|
||||
\item texture:定义了一个sampler对象和一个image对象。sampler对象定义了image对象在3D对象上的张贴方式。
|
||||
\item image:定义了一个2D图像。它引用了一个bufferView对象,来引用实际的二进制数据。
|
||||
\item sampler:定义了一个texture对象的采样器。它定义了纹理的过滤器和张贴方式。
|
||||
\item simulation: 定义了仿真数据,包括仿真数据的类型、仿真数据的维度、仿真数据的大小、仿真数据的范围、仿真数据的分辨率、仿真数据的数据类型、仿真数据的数据等。
|
||||
\item physical:定义了物理数据,包括物理数据的类型、物理数据的维度、物理数据的大小、物理数据的范围、物理数据的分辨率、物理数据的数据类型、物理数据的数据等。
|
||||
\end{itemize}
|
||||
|
||||
因为上述格式根据gltf格式进行扩展,因此可以使用gltf格式的解析器进行解析,同时兼容现在主流的三维模型格式,如obj、stl、ply、3mf、dae、fbx、gltf等,但是对于仿真领域的存储格式需要单独开发解析,如vti/vtk/vtr/vtmb/vtmg/bthd等18种格式,该领域格式较为多且比较复杂,因此目前仅适配对于最通用的vti/vtu格式,后续会逐渐增加对于并行仿真计算格式的支持。
|
||||
|
||||
|
||||
\subsection{渲染技术优化}
|
||||
在现有游戏及相关3d渲染引擎中,由于对于显示细节的追求,对于非规格化平面,经常会采取三角面进行细分,因为三角形可以以任意精度表达任意平面,在计算样条插值、各种复杂的数学变换、等值面等计算代价最小,最简单。
|
||||
|
||||
但是在数字孪生系统中,并不单纯的追求对于现实世界的视觉复刻,而是需要对于现实世界的数值计算进行可视化,因此在渲染技术上,需要对于渲染技术进行优化,以减少渲染时间,提高渲染效率,同时与数值仿真计算中单元相对应,实现真实物理采集点-仿真计算单元-渲染单元三者统一。
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f20.png}
|
||||
\caption{图像数据}
|
||||
\label{fig-f20}
|
||||
\end{minipage}%
|
||||
\hspace{3mm}%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f21.png}
|
||||
\caption{直线网格}
|
||||
\label{fig-f21}
|
||||
\end{minipage}%
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f22.png}
|
||||
\caption{结构化网格}
|
||||
\label{fig-f22}
|
||||
\end{minipage}%
|
||||
\hspace{3mm}%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f23.png}
|
||||
\caption{非结构化点}
|
||||
\label{fig-f23}
|
||||
\end{minipage}%
|
||||
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f24.png}
|
||||
\caption{多边形数据}
|
||||
\label{fig-f24}
|
||||
\end{minipage}%
|
||||
\hspace{3mm}%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f25.png}
|
||||
\caption{非结构化网格}
|
||||
\label{fig-f25}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
如图\ref{fig-f20}到图\ref{fig-f25}所示,图像数据,直线网格,结构化网格,非结构化点,多边形数据,非结构化网格,这些是在数值仿真计算中真实遇到的网格计算单元,这些数据都可以通过不同的方式进行渲染,在仿真计算中代表一个数据单元,在传感器网络中可能代表一个有效采集点。
|
||||
在进行同步仿真时,通常需要对模型进行降阶处理,以满足实时仿真需要,如图\ref{fig-f26}所示,从左到右为网格细化过程,这个过程通常对应的是计算精度增加,计算时间极大增加,选择一些合适的模型降阶算法,结合实际采集到的数据信息,可以在保证99精度的情况下有效的降低模型单元数,极大提高计算效率,实现从右向左模型降阶。
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f26.png}
|
||||
\caption{非结构化网格优化}
|
||||
\label{fig-f26}
|
||||
\end{figure}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
\includegraphics[width=0.8\textwidth]{figure/f28.png}
|
||||
\caption{数据对象与算法过滤器生成可视化管道Pipeline}
|
||||
\label{fig-f28}
|
||||
\end{figure}
|
||||
如图\ref{fig-f28}对于孪生数据的最终显示,除了简单的三维结构和贴图外,对于采集到的信息和仿真得到的信息以及根据历史数据预测的信息等多个数据源,选择合适的过滤算法,去显示最终的场变量信息,实现更有价值信息的实时显示,
|
||||
|
||||
|
||||
|
||||
@ -39,6 +39,8 @@
|
||||
|
||||
\section{通讯协议}
|
||||
|
||||
\subsection{消息帧}
|
||||
|
||||
如表\ref{tab-c1}所示,消息通讯协议采用了类似于以太网的帧结构,消息帧由前缀、长度、类型、标记、源节点、目标节点、数据组成,其中前缀用于判断消息帧的开始,长度用于判断消息帧的结束,类型用于区分消息类型,标记用于区分消息,源节点用于标识消息来源,目标节点用于标识消息目标,数据用于携带消息内容。
|
||||
\begin{table}
|
||||
\centering
|
||||
@ -69,6 +71,44 @@
|
||||
\item payload: 搭载的数据
|
||||
\end{itemize}
|
||||
|
||||
\subsection{消息类型}
|
||||
在该分布式消息网络中,采取的是发布订阅模式,消息的类型分为两种,一种是广播消息,一种是订阅消息,广播消息是指所有节点都会收到的消息,订阅消息是指只有订阅了该消息的节点才会收到的消息。由于系统内部需要,对部分消息频道进行了保留,设计了不同功能目的的消息类型体系。
|
||||
\begin{itemize}
|
||||
\item /:公众频道
|
||||
\item /inner:用户保留频道,不会进行广播
|
||||
\item /sys:系统频道,用于系统内部通讯,不会触发任何用户定义的回调函数和事件
|
||||
\item /sys/base/log:系统日志频道,用于系统内部日志记录
|
||||
\item /sys/base/heartbeat:系统心跳频道,用于系统内部心跳检测
|
||||
\item /sys/base/auth:系统认证频道,用于系统内部认证
|
||||
\item /sys/topic/subscribe:系统订阅频道,用于消息订阅
|
||||
\item /sys/topic/cancel:系统取消订阅频道,用于取消消息订阅
|
||||
\item /sys/node/admin:系统节点管理频道,用于节点管理
|
||||
\item /sys/cluster:系统集群频道,用于集群管理
|
||||
\item /sys/cluster/id:用于系统集群内部id交换
|
||||
\item /sys/cluster/level:用于系统集群内部层级交换
|
||||
\item /sys/cluster/info:用于系统集群内部邻居节点信息交换
|
||||
\item /sys/cluster/redirect:用于通知子节点重定向到新的父节点
|
||||
\item /sys/cluster/heartbeat:系统集群心跳频道,用于集群内部心跳检测
|
||||
\end{itemize}
|
||||
|
||||
\subsection{握手协议}
|
||||
如图\ref{fig-f29}所示,节点握手协议采用了类似于以太网的握手协议,同时加入了权限的认证机制。
|
||||
\begin{itemize}
|
||||
\item 主动节点握手请求:主动节点向节点发送握手请求,并声明自己的id
|
||||
\item 被动节点握手响应:被动节点向主动节点声明自身id
|
||||
\item 被动节点握手认证:被动节点根据对方id和公钥进行加密,然后发送给主动节点
|
||||
\item 主动节点握手确认:主动节点成功使用公钥和自身id解密,确认对方身份,并根据被动节点id和公钥进行加密,发送给被动节点
|
||||
\item 被动节点握手确认:被动节点成功使用公钥和自身id解密,确认对方身份,握手成功,发送心跳包
|
||||
|
||||
\end{itemize}
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
\includegraphics[width=0.8\textwidth]{figure/f29.png}
|
||||
\caption{节点握手协议}
|
||||
\label{fig-f29}
|
||||
\end{figure}
|
||||
|
||||
\section{路由算法}
|
||||
|
||||
在订阅消息时存在父子订阅需求,对于很多节点来说可能需要订阅的是某个具体的消息,对于某些规则类节点或者虚拟节点来说,订阅的是某个类别的消息,所以设计树状订阅机制,其订阅子树仅会收到子树消息,订阅父节点则会收到下属所有子树消息,这样在进行消息分发时不能简单的通过判断标记想到与否转发,所以采用了trie树算法加速消息分发。
|
||||
@ -146,6 +186,17 @@ void MyTask (void)
|
||||
|
||||
在上述协议下可以实现在场景内部的毫秒级硬中断响应通信需要,对于已有的不同终端,根据通信协议和线材不同可连入已有的物理节点进行消息转发,同时目前已开发了c/rust通信依赖库可供开发使用,直接在设备内嵌入通信逻辑。用户可以选择是外接设备还是内嵌代码接入到整个数字孪生平台,该物联终端接口可同样应用于自定义仿真算法和逻辑算法节点通信接入。
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=0.8\textwidth]{figure/f30.png}
|
||||
\caption{测试设备图}
|
||||
\label{fig-f30}
|
||||
\end{figure}
|
||||
|
||||
如图\ref{fig-f30}所示,在raspberry4/esp32/esp8266/intel jetson nano/thinkerboardS/STM32等不同芯片平台和不同实时非实时系统上通过了通信库的基础通信功能测试,在esp32/raspberry/stm32上通过了硬中断通信功能测试。
|
||||
|
||||
\section{自组网测试}
|
||||
|
||||
\section{性能分析}
|
||||
|
||||
以下性能测试皆使用 2.4 GHz 八核Intel Core i9 作为测试芯片,并进行相关内核性能调优后得到的测试结果。
|
||||
@ -183,7 +234,7 @@ void MyTask (void)
|
||||
\end{table}
|
||||
|
||||
由图\ref{fig-f4}和表\ref{tab-c2}可知,消息分发网络中消息编码时间在300ns左右,设备负载对消息编码速率分布有较大影响.
|
||||
针对消息分发速率,使用wrk 工具对系统进行压力测试,得到图5
|
||||
针对消息分发速率,使用wrk 工具对系统进行压力测试,得到图\ref{fig-f6}
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
|
||||
@ -66,6 +66,8 @@
|
||||
|
||||
时序模型允许在OneDT系统中随时在虚拟世界中将复杂系统恢复到过去、现在以及推演的未来某一刻。推演数据来源于过去的状态数据和事件数据,推演方法包括统计学方法和循环神经网络预测。
|
||||
|
||||
\subsection{统计学预测}
|
||||
|
||||
|
||||
\begin{table}
|
||||
\centering
|
||||
@ -103,5 +105,20 @@
|
||||
\item[加乘模型] $ Y_t = T_t * S_t * C_t + I_t $
|
||||
\end{description}
|
||||
|
||||
对于四种因素预测,可采用最典型的移动平均法,也可以如第四章所示自行提交预测函数进行预测。
|
||||
对于四种因素预测,可采用最典型的移动平均法,也可以如第五章所示自行提交预测函数进行预测。
|
||||
针对不同特点的数据源应该采用不同的时序预测方法,其机制已经在本系统内实现,具体的预测方法可以根据不同节点选择或者填写不同的预测方法或函数。
|
||||
|
||||
\subsection{循环神经网络预测}
|
||||
|
||||
循环神经网络(Recurrent Neural Network,RNN)是一种适用于处理序列数据的神经网络结构。相较于传统的前馈神经网络(Feedforward Neural Network),RNN可以处理不定长的序列数据,因此在时序预测、自然语言处理、语音识别等领域中具有广泛应用。
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=1\textwidth]{figure/f31.png}
|
||||
\caption{RNN精简结构图}
|
||||
\label{fig-f31}
|
||||
\end{figure}
|
||||
|
||||
在参数预测中,考虑到数据的时间序列特性,采用循环神经网络(RNN)来预测未来的数据。RNN的结构如图\ref{fig-f31}所示,为使用了单个全连接层的单向RNN网络。
|
||||
采用RNN神经网络预测的好处是可以对整个系统未来状态进行预测,在使用传统方法进行预测时,只能对单个参数进行预测,而RNN可以以某刻所有节点状态作为输入,如表\ref{tab-c4}所示,过去所有节点的状态变换皆可一次性作为rnn网络训练数据输入,一次输入即可得到整个系统的状态预测。
|
||||
|
||||
|
||||
@ -5,7 +5,63 @@
|
||||
\section{自组织网络-树莓派集群}
|
||||
|
||||
\section{时序模型-应力应变分析}
|
||||
如图\ref{fig-f14}所示,为复合钢材变形的孪生与传统有限元仿真融合分析模型。A1、A2、A3为传统的有限元分析模型,特点是分析时间长,精度高。B1、B2、B3为时序推演模型,根据过往采集的320个点位形变信息及材料相关信息,进行时序分析。C1为融合模型,结合FEM模型和时序模型信息,相互校准后进行融合统一输出。在该案例中,时序模型不仅在时间中进行推演,而且在结合一定机理信息后在空间范围内推演,由初始320个点位应变信息,生成全局应力场、应变场。
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=1\textwidth]{figure/f14.png}
|
||||
\caption{复合材料FEM与时序分析融合}
|
||||
\label{fig-f14}
|
||||
\end{figure}
|
||||
|
||||
如图\ref{fig-f14}所示,在做某复合板材梁结构焊接工艺的孪生过程时,设计了如图所示的孪生与传统有限元仿真融合分析模型。
|
||||
|
||||
\subsection{有限元仿真}
|
||||
有限元分析(FEA)是一种广泛应用于工程领域的计算机仿真技术,通过将连续的物理系统划分为离散的有限元,以便在较低的计算复杂度下解决复杂问题。在焊接仿真中,有限元分析用于预测和优化焊接过程中的热传递、应力、变形等现象。如图\ref{fig-f14}A1/A2/A3为焊接工艺的有限元仿真过程。
|
||||
|
||||
首先,需要使用CAD软件创建焊接结构的三维几何模型。这通常包括焊件、焊缝、夹具等部件。
|
||||
|
||||
其次,将几何模型划分为较小的有限元,以便在每个元素上进行数值计算。对于焊接仿真,通常需要在热影响区和焊缝附近使用较细的网格,以提高模拟精度。网格类型和尺寸对模拟结果和计算时间有很大影响,因此需要权衡。
|
||||
|
||||
然后界定材料属性和边界条件,为模型指定材料属性,如热传导系数、比热容、熔化温度等。此外,还需定义边界条件,如初始温度、对流边界条件等。对于焊接过程,还需要考虑焊接电源的输入参数,如电流、电压和焊接速度等。
|
||||
|
||||
最后,建立有限元方程来描述焊接过程中的物理现象,如热传导方程、应力-应变方程等。这些方程将在每个有限元上进行求解,从而预测焊接过程的演变。
|
||||
|
||||
在计算完每个单元的应力、变形、温度等信息后,可以将结果可视化,以便更好地理解焊接过程。此外,还可以将计算结果与实验数据进行比较,以评估模拟的准确性。
|
||||
|
||||
传统的有限元分析过程,特点是分析时间长,精度高。但是在焊接工艺的有限元仿真中,由于焊接过程中的热源模型和焊接参数的不确定性,需要对焊接过程进行多次仿真,以便获得更准确的结果。这样会大大增加计算时间,降低计算效率。
|
||||
|
||||
\subsection{时序模型预测}
|
||||
|
||||
B1、B2、B3为时序推演模型,根据过往采集的320个点位形变信息及材料相关信息,进行时序分析。
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=1\textwidth]{figure/f34.png}
|
||||
\caption{某焊接设备半年采集数据}
|
||||
\label{fig-f34}
|
||||
\end{figure}
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f17.png}
|
||||
\caption{光学应变采集设备}
|
||||
\label{fig-f17}
|
||||
\end{minipage}%
|
||||
\hspace{3mm}%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f18.png}
|
||||
\caption{320点位应变采集图}
|
||||
\label{fig-f18}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
B1 阶段为数据实时采集阶段,图\ref{fig-f33}为某焊接设备半年采集数据,包含电压电流位姿速度等,图\ref{fig-f17}为光学应变采集设备,图\ref{fig-f18}为320点位应变采集图, 将焊接设备刀头数据和应变采集设备数据整合为模型输入数据。
|
||||
B2 阶段为数据预处理阶段,将数据进行预处理,包括数据清洗、数据标准化、数据降维等,将数据转换为模型输入数据,该步骤涉及将520个非结构化网格单元数据及其物理数据进行对应和归一化处理,方便输入RNN模型中进行预测。
|
||||
B3为模型计算阶段,将以往和当前的数据输入模型,在空间和时间上进行推演预测,输出全局应变场、应力场等。
|
||||
|
||||
\subsection{融合模型}
|
||||
|
||||
C1为融合模型,结合FEM模型和时序模型信息,相互校准后进行融合统一输出。如图\ref{fig-f33}所示,在该案例中,时序模型不仅在时间中进行推演,而且在结合一定机理信息后在空间范围内推演,由初始320个点位应变信息,生成全局应力场、应变场,并与A3的仿真数据进行融合分析,达到机理分析与统计分析融合的效果,利用机理分析的主成作用和RNN神经网络对于非线性关系的拟合效果,同时基于平台完成该项分析的实时性计算与展示,有效凸显数字孪生技术在设计制造领域作用。
|
||||
|
||||
如表\ref{tab-c5}所示,在未经过融合的情况下,时序模型的精度较低,但是在融合后,时序模型的精度提高了,同时也减少了FEM模型的计算量,提高了计算效率。原有网络模型输出频率为100hz,在加入融合计算后在保证精度95基础上输出频率保证30hz。
|
||||
|
||||
@ -25,27 +81,10 @@
|
||||
|
||||
\begin{figure}[h!]
|
||||
\centering
|
||||
\includegraphics[width=1\textwidth]{figure/f14.png}
|
||||
\caption{复合材料FEM与时序分析融合}
|
||||
\label{fig-f14}
|
||||
\includegraphics[width=1\textwidth]{figure/f33.png}
|
||||
\caption{复合板材焊接过程的孪生模型}
|
||||
\label{fig-f33}
|
||||
\end{figure}
|
||||
|
||||
|
||||
\begin{figure}[!ht]
|
||||
\centering%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f17.png}
|
||||
\caption{光学应变采集设备}
|
||||
\label{fig-f17}
|
||||
\end{minipage}%
|
||||
\hspace{3mm}%
|
||||
\begin{minipage}[b]{0.48\textwidth}
|
||||
\centering%
|
||||
\includegraphics[height=4cm]{figure/f18.png}
|
||||
\caption{320点位应变采集图}
|
||||
\label{fig-f18}
|
||||
\end{minipage}
|
||||
\end{figure}
|
||||
|
||||
\section{规则模型-PID}
|
||||
|
||||
BIN
figure/f10.png
|
Before Width: | Height: | Size: 294 KiB After Width: | Height: | Size: 297 KiB |
BIN
figure/f20.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
figure/f21.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
figure/f22.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
figure/f23.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
figure/f24.png
Normal file
|
After Width: | Height: | Size: 45 KiB |
BIN
figure/f25.png
Normal file
|
After Width: | Height: | Size: 68 KiB |
BIN
figure/f26.png
Normal file
|
After Width: | Height: | Size: 346 KiB |
BIN
figure/f27.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
figure/f28.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
figure/f29.png
Normal file
|
After Width: | Height: | Size: 92 KiB |
BIN
figure/f30.png
Normal file
|
After Width: | Height: | Size: 949 KiB |
BIN
figure/f31.png
Normal file
|
After Width: | Height: | Size: 120 KiB |
BIN
figure/f32.png
Normal file
|
After Width: | Height: | Size: 221 KiB |
BIN
figure/f33.png
Normal file
|
After Width: | Height: | Size: 808 KiB |
BIN
figure/f34.png
Normal file
|
After Width: | Height: | Size: 366 KiB |