虚实融合技术的尝试
发布时间:2022-11-10
01
虚实融合
本文给出一种面向数字孪生的虚实融合方案,将物理设备和虚拟模型结合起来,这也是数字孪生与仿真的重要区别之一。
近些年,随着工业界和学术界对数字孪生的不断补充与解读,数字孪生的内涵不断丰富。此处我们引用国内学者的观点1,认为:
数字孪生是物理对象的数字模型,该模型可以通过接收来自物理对象的数据而实时演化,从而与物理对象在全生命周期保持一致。基于数字孪生可进行仿真(包含分析、预测、诊断、训练等),并将仿真结果反馈给物理对象,从而帮助对物理对象进行优化和决策。物理对象、数字孪生以及基于数字孪生的仿真及反馈一起构成一个信息物理系统 (Cyber Physical Systems)。面向数字孪生全生命周期(构建、演化、评估、管理、使用)的技术称为数字孪生技术(Digital Twin Technology)。
与传统意义的仿真模型相比,数字孪生最主要的特点是:模型通过传感器随时获取物理实体的数据,并随着实体一起演变。从模型角度来看2,仿真的概念从完全使用物理模型的物理仿真(模拟),发展为完全基于数字模型的计算机仿真,又进一步演变为数字模型与物理模型相融合的建模仿真,即虚实融合。
02
已知的局限性
在工程领域,一个概念有多种解释已是很正常的事情,这里的虚实融合也不是新鲜事,曾经它被叫做半物理仿真3 。根据实物设备和虚拟模型的分布关系,半物理仿真可分为两种实现形式:
第一种,控制器或控制系统为实物,其余部分为仿真模型。这种情况一般被称为硬件在环仿真(hardware in the loop simulation, HIL),普遍被应用于对控制器进行检测、标定。从工程应用角度看,以控制领域作为半物理仿真的主要切入点是非常合理的。相对于真实的人员、被控对象和环境,控制系统以实物的形式参与仿真更加安全、快捷,成本也更低,投产、测试、配套周期也更快,所以半物理仿真在控制领域应用比较广泛;
第二种,被控对象、环境或边界条件为实物,其余部分为仿真模型。如果从控制器的角度观察,这种情况一般被称为快速控制原型(Rapid Control Prototyping, RCP),主要用于控制器快速开发、测试;如果从被控对象角度观察,这一类半物理仿真有时又被称为虚拟测试或虚拟试验(Virtual Test),因为我们提供了真实的试验件,只是试验环境和边界条件是虚拟的。
半物理仿真的目标看起来很美,但经过多年的应用,各领域的工程人员逐渐发现了它的一些局限性:
第一个局限:无法进行跨领域、跨尺度、跨工具异构集成。
现有的半物理仿真中,无论是虚拟测试还是硬件在环仿真,仿真模型大都以C/C++代码形式跑在特定的实时机上(德国的dSPACE、美国的NI、加拿大的RT-LAB等),这样做的原因是为了保证实时性。这些严格实时的操作系统一般对代码兼容性较好,而各类仿真建模工具基本都运行在Windows系统上(极少部分可以在Linux系统上运行),其模型和仿真文件在各类实时机上无法运行。一些工业软件厂商也会提供一些代码的导出功能(如MATLAB/simulink),但大多数仿真工具是不支持这个功能的。总的来说,目前半物理仿真技术方案无法处理异构模型集成仿真,更不要说跨领域、跨尺度的集成仿真。
第二个局限:无法同时兼顾高保真和实时性。
为保证半物理仿真的实时性,不得不对仿真模型进行简化,这样的结果是:
一方面,有的模型可以简化,比如一些稳态模型可以通过插值、拟合等方式简化,然而,有的模型并不适合简化,比如一些包含微分方程的模型,将其简化为传递函数会失去一些典型的物理意义,也就是牺牲了模型的准确度和可信度;
另一方面,模型导出为C代码时会受到很多限制条件的约束,最典型的限制条件是导出模型的求解算法必须是定步长算法,这就给模型求解稳定性和收敛性带来很大的挑战,一些刚性较大、规模复杂或包含复杂数值迭代求解的模型在实时机上的模型跑不动,甚至发散、不收敛。
03
在桌面电脑上实现虚实融合
于是一个新的挑战就出现了:能否在兼顾异构集成和高保真模型的前提下开展半物理仿真,并且避免使用昂贵的实时机?
这里我们依然沿用分布式仿真体系(白盒集成 4),所以异构集成和高保真可以被解决,剩下的就是实时性能否被满足。为了避免空谈,这里给出一个步进电机的试验,我们来定量地看一下实时性指标。
电机速度闭环控制半物理仿真采用AMESim与LabVIEW联合仿真来实现,通过PID速度闭环控制来阐述仿真原理。在AMESim中发送转速信号,与LabVIEW工控软件采集的角度编码器转速信号形成负反馈,利用PID调节之后通过服务端中转将PID控制信号发送至LabVIEW工控软件,再由LabVIEW工控软件发送PID信号控制电机按指令要求工作。
本试验中的虚实融合主要通过虚实客户端来实现,即V2R(Virtual to Real)。V2R可以理解为一类软件形式的中间件,其作用是负责将实物设备和仿真模型接入总线,并实现数据分发、模型间互操作和同步控制。本次试验中,V2R是通过LabVIEW实现的,其作用是连接分布式服务端和数据采集板卡。
试验过程分为三个步骤:
第一步,在AMESim软件中建立PID控制模型及信号处理模型,将模型的输入、输出与通信插件接口关联,在模型中赋予转速目标值、PID调节值等;
第二步,在LabVIEW测控软件中导入“V2R”客户端,编写工控程序,将LabVIEW测控软件与采集板卡、控制器、传感器等硬件连接;
最后,设置服务端运行信息,以实时模式运行服务端后分别运行两客户端软件,仿真时间到达后自动停止运行,试验结束。
04
测试结果
试验结果表明,电机相对控制指令的跟随性较差,这是因为电机本体转速与电压的线性度不是很好(淘宝货,成本不到200元),当转速(额定约为1000rpm)过高或者过低时工况点会发生漂移。
本次试验的实时性指标通过帧时间来衡量5 。根据分布式仿真应用框架中时间戳的统计,本次信息物理融合方案验证试验的帧时间集中分布在0~5ms以内。
本次试验的通信步长为0.01s,所以运行80s,共计8000帧。整体来说该系统实时性较好。同时,根据统计结果可知,较大的帧时间出现了3次,分别是12ms、23ms和30ms。这三帧超出了硬实时的要求(耗时大于0.01s),其余帧数均满足硬实时的要求,整体满足软实时的要求。
基于上述试验结果,对当前控制算法进行修正,并加入了工况漂移校正环节。又进行第二次虚拟测试,两次试验的工作时序完全一致,可以看出控制精度有了显著的提高,说明在桌面仿真中做快速控制原型是具有可行性的。
05
桌面电脑 VS 实时机
不可否认,在桌面电脑上开展半物理仿真,其实时性是值得怀疑的,因为微软自己都声明Windows不是严格实时系统。即便分布式仿真自身能做到实时,但操作系统带来的系统性误差依然不可避免。尽管我们承认这样的区别,但关于桌面电脑的实时性和Linux实时机的差别有多大,国内这方面的定量测评是缺失的。
这里我们引用2002年美国帕塔克森特河海军航空基地(Manned Flight Simulator facility aboard Patuxent River Naval Air Station)的测评结果6,该文献认为在实时性测评中基于Linux的实时机并没有表现出和Windows的显著区别,如果Linux实时机可以用来做实时仿真那么Windows也可以,感兴趣的读者可以自行查阅。当然,该文献的研究距离今天已经有20年了,这20年里操作系统和计算机硬件发展日新月异,这个结论今天是否适用不免要打个问号,这里权当一个侧面参考了。
无论如何,进行虚实融合仿真要结合研究目的,如果对实时性要求并不高,那么本文所给出的方法也是适用的。打个比方,如果目的是追求极致的速度,那么毫无疑问应该开着一级方程式赛车行驶在专业赛道上;如果目的是带着全家老小出门自驾旅游,那么开着一辆国产小轿车缓缓行驶在普通公路领略沿途风光也是合适的选择。综上,还是需求决定方案。
引用来源
1张霖. 关于数字孪生的冷思考及其背后的建模和仿真技术[J]. 系统仿真学报, 2020, 32(4): 1-10.
2张霖, 陆涵. 从建模仿真看数字孪生[J]. 系统仿真学报, 2021, 33(5): 996-1007.
3根据GJB935-2009(军用仿真术语)中的定义,半物理仿真指:仿真系统中嵌入被仿真系统的部分组件以及这部分组件与仿真设备接口的仿真,这类仿真通常是实时仿真。
4根据GJB935-2009(军用仿真术语)中的定义,白盒模型(white box model)指:一种内部实现为已知并且完全可视的模型。
5根据GJB935-2009(军用仿真术语)的定义,“帧时间”是指:仿真系统中离散时间递推处理的计算周期,即用于仿真的计算机包括主机、微机、单板机等从动态输入、计算和处理到动态输出一次全过程操作所用机时。
6Brent W. York, Stephen M. Naylor. Real-time Simulation under the MICROSOFT WINDOWS Operating System[C]. AIAA Modeling and Simulation Technologies Conference and Exhibit. 2002.8.