导读:自去年12月发布《基于仿真的数字孪生系统的技术路径及优缺点剖析-附系统仿真建模》文章以来,在这8个多月的时间里,一直忙于工作,并精心录制我原创仿真秀官网的视频课程《系统仿真核心建模技术8讲:全解Modelica语言建模方法与模型库制作应用》,目前已经录制完成。
在此感谢VIP群学员讨论和提供的宝贵建议,课程内容在原有大纲基础上进行丰富和补充,后续我酌情根据大家需要进行增加,欢迎大家关注和试看。本文以新能源车的研发为例,对其研发过程的方向,研发过程中各种仿真模型的建设与应用进行了详细介绍。重点介绍了进化的仿真模型是如何与数字孪生结合的,更多内容欢迎关注我在仿真秀官网的视频教程。
一直以来,产品研发过程都存在正向和逆向的区别。概括来说,正向是指从总体到局部的设计,逆向则是从局部到整体的逐步改进。如图 1所示,为产品研发的一般流程的V形流程图,可以解释产品研发的正向与逆向的区别。图中的工作环节按V字形排列,左侧为设计环节,右侧为验证环节。从上到下又分若干层级,图 1中以四个层级为例。越接近上层,越偏全局,越接近下层,则越偏局部。
图 1 产品研发的设计流程
我们先按正向研发流程来介绍图 1中的内容细节。当所研发的产品是全新的,以前没有任何先例或老旧型号时,一般以正向研发为主。正向研发是从左上角开始的。
在产品研发开始时,设计者并不清楚该产品的任何细节或确凿的参数数据,只能根据理论或试验分析,对某些关键参数进行估值。如图 1中的蓝色与绿色竖条所表示的。蓝色竖条表示基于评估和经验的参数数量,绿色代表基于结果的参数数量。在左上角,即总体设计环节时,设计工作为框架性设计。根据产品的设计需求,对产品的总体框架进行设计。其设计结果包括各个子系统的设计指标、互相间的连接方式,以及这些子系统总体的空间布置等。因此,这一环节会有很多“吵架”发生。各个子系统设计部门的领导,会为了本部门的指标“吵架”。例如,如果一款新能源车是正向研发的,在整车重量为确定的设计指标下,电池研发部门和电驱研发部门,都会为本部门争取更大的重量,从而降低本部门的设计难度,但这无疑会提高其他部门的设计难度。
总体设计环节的设计结果,会对各个子系统提出具体的设计指标。子系统设计部门,根据总体设计发来的设计指标,设计本子系统内部的框架、空间布置、外壳等内容。其设计结果为零部件的设计指标。从图 1中能看出来,子系统设计时,能确定下来的参数多了一些,但是仍有很多需要依靠评估来定下来的参数。
子系统设计环节完成后,便开始零部件设计。这一环节与前面两个环节出现了明显的不同。总体设计和子系统设计,都是偏抽象的设计。除了空间布置或外壳等环节涉及三维设计工作,大部分工作是以一维拓扑连接的形式进行的。但到了零部件设计环节,则以三维设计为主。这一环节的工作重心是,根据子系统设计结果提出的设计指标,进行三维设计。因此,更多是基于实现性能指标的设计,而把更多的安全性、可实现性等指标,放到下一层环节进行。在这一环节,三维几何形状是最主要的设计结果。其目的是实现由子系统设计分配而来的目标。
当完成第三层零部件设计后,就来到最后一层,零部件细节设计。这一层是对零部件的制造性、可靠性、安全性等等要求的详细设计。以设计电机为例,第三层对电机的转子直径、气隙、磁链等关系到电机性能的参数进行设计,设计完成后,电机的3D结构可满足性能指标需求。而落实到具体装配,则需要考虑外壳不能是个整体,因为造不出来,需要开盖,需要有法兰进行装配,甚至于磁钢片的排布是如何影响NVH等等详细因素。这些因素是第四层考虑的问题。是在第三层已设计出来的3D结构基础上进行的深化。
当完成设计侧的全部工作后,即可进行逐层向上的验证。用于检验该层的设计是否满足从上一层设计侧传递下来(或直接给定)的设计指标。所谓的验证,一般是指实物验证。把设计完成的部分实际加工出来后进行试验,然后检查试验结果是否符合设计指标。
虽然从逻辑上讲,正向研发更符合设计规律,但人类文明的发展是伴随着逆向研发进行的。正向研发需要设计者首先已经对产品有了全方面的认识,并且自己手里的技术积累足够支撑起整体设计才能够实现。然而,一个新事物的诞生,却往往伴随着人们对它的认识从模糊到清晰的过程。在人类的历史中,只有先发明了轮子,才能在此基础上发明出马车,只有先发明了生火的方法,才能发明出冶金工艺。
现代产品的研发也是从逆向开始的。往往是先设计或采购来零部件,然后拼凑起来进行验证,如果不满足设计要求,再进行修改。通过这样一次次的设计迭代,最终完成产品研发。如图 2所示,为正向研发与逆向研发的起点对比。
图 2 正向研发与逆向研发的起点对比
目前,国内外企业普遍在一个从逆向到正向的转变过程中。绝大多数企业的研发过程是处于正逆向并存的状态。
研发过程中的仿真
如果仔细研究图 1,可以发现一个很严重的问题。在设计侧,越往上层,它的验证环节越接近后期。于是,就会出现一个严重的问题,假如在设计侧的较上层犯了严重错误,往往当时是无法发现的,产品设计工作会保留着这一错误继续下层的设计,直到在验证侧的相应层级进行验证时,才能发现问题。但是这会使得出错环节之后的所有工作都变得无意义。从研发工作的工作量来说,越往底层,分工越细,工作量也越大。所以,上层设计侧的严重错误,往往导致极大的成本浪费和研发周期的拉长。
为了避免这种错误,设计者往往在设计侧的各个层级设置种种虚拟或等效验证环节。而仿真则成为了虚拟验证的重要工具。如图 3所示,当研发流程中加入仿真环节后,设计者可以在设计早期就发现重大错误,从而实现产品研发的降本增效。当设计侧的某个层级出现重大失误时,设计者可以在本层级的仿真中发现问题(图中褐色箭头),从而及时改正,避免后续工作中的“带病”设计。
图 3 研发过程中的仿真
模型的进化
产品研发中有各种模型,本文所指的模型为仿真模型。图 3中的红色箭头,就是模型的进化路线。它是从下到上的跨层级进化。由于在正向设计的起始点(图 2中的左上角工作环节),设计者还没有进行后续的更详细设计(这也是为什么在这一时期难以进行实物测试的原因),无法建立起精确的仿真模型,所以只能建立粗糙的、颗粒度较大的、甚至是等效的仿真模型。在完成更下层的设计后,设计者可把相应的部分替换成更详细的模型。随着设计的持续进行,仿真模型将越来越精细,直到完成所有设计。这时的仿真模型将包含所有设计信息。这个不断细化的过程,就是模型的进化。当完成全部验证与参数调试后,该仿真模型即可成为该产品的数字孪生模型(基于仿真的数字孪生)。如图 4所示,为新能源车设计中,整车模型里用于热管理的电池系统细化示例。在设计开始时,设计者把电池系统建模成充放电规律近似的等效电路和与之适配的发热模型(遵循能量守恒的简单方程组)。随着设计工作的进行,当完成最后的电池设计(或采购)后,把该等效模型替换成含有全部设计结果的电池3D仿真降阶模型。
图 4 整车模型里用于热管理的电池系统细化示例
统一的接口体系
从图 4中能够看出,为了实现这种替换机制,统一的接口体系是必不可少的。在一个完整系统模型中,每个子系统与其他子系统的交联是通过接口完成数据交换的。换句话说,对于某个子系统而言,与其交联的子系统只是个黑盒子。该子系统只关心从接口发送而来和向接口发送出去的数据。因此,设计者可以接口为边界,把整体分割成各个子系统,实现子系统的替换。因此在整个设计过程中,虽然子系统或零部件可以替换,但是接口必须永远保持一致。
为了使接口保持一致,设计者必须在产品设计的最初始阶段,就把所有的接口设计好,并保证在整个设计过程中,接口不会因为设计的细化而发生变动。这一要求的本质是确保系统仿真模型的方程组具有唯一解。因此,设计者需要对各个学科的物理机理具有极深刻的认识。设计者需要在对某一学科的理解基础上,制定出一套接口的连接规则,并在整个设计过程中遵照规则执行。如图 5所示,为某新能源车设计流程中的部分学科模型接口规则。
图 5 某新能源车设计流程中的部分学科模型接口规则
本文以图 5中的热接口为例,解释接口规则在整个建模过程中的作用。传热方向总是从发热设备向环境传递的。因此,对于该系统中的每个元件,总可以按照这一方向,划分出传热的上游和下游。如果把上游都设置成热流接口,下游设置成温度接口,则每个元件都可以建立一个输入为高温侧热流和低温侧温度,输出为高温侧温度和低温侧热流的函数。而且这一规则可以套用在所有元件上。从边界上看,作为源头的发热设备,可直接设置其发热功率作为输入。作为传热末端的环境,可直接设置大气温度作为输入。因此,这一链条完整且易用。
细心的读者能够发现,图 5里的所有接口,都是有方向的。这实际上相比与目前系统仿真里普遍存在的无因果接口是落后的。之所以把接口规则定成这样,不仅仅是为了适配系统仿真模型,还包括了仿真用的降阶模型,C、Python等语言编写的程序,甚至传感器数据等等多种多样的模型与数据。具体的不同如图 6所示。
图 6 采用有因果和无因果接口的模型比较
因此,系统仿真建模的工程师,在进行建模时,需要利用源、传感器等模型元件,建立能与外界交换数据的因果接口。如图 7所示,为某电动机的系统仿真模型对外接口示例。图中,电机的三相电接口和轴接口,都是无因果接口,在系统仿真环境内部,可当作电线和轴与其他模型的电接口和轴接口直接连接。但由于外界有可能是程序、降阶模型、传感器等不确定因素,所以对外界的接口只能是因果接口。在这里,电接口可分解成电压接口和电流接口,轴接口可分解成转速接口和扭矩接口。为保证方程组的解唯一,电流和电压接口相反,转速和扭矩接口相反。图 7中,工程师采用电压源接收外界传入的电压数据,再串联电流传感器,向外传递电流数据,实现了电接口的因果接口建设;采用转速源接收外界传入的转速数据,再串联扭矩传感器,向外传递扭矩数据,实现了轴接口的因果接口建设。
图 7 电动机的系统仿真模型对外接口
为了进一步阐述进化式模型在产品研发过程中的具体进化方式,本文给出了一个新能源车案例(仅为示例,非任何厂商的实际过程)。
层次划分
如图 8所示,本文将新能源车的研发过程大致分成的四个层次,从总体层到最底层分别取名为L1-L4。在正常研发流程中,越往下曾的工作分工越细,因此无法全部在示例中表示,因此图 8中的示例只展示了整车=>电驱=>电机=>电机零部件这一部分的内容。其中,由于L2和L3层在现有厂商的工作流程中普遍存在逆向与正向混合的现象,而且这种逆向和正向混合设计的工作流程,已成为一种较为成熟的工作方式,所以在图中以迭代的形式表示。另外,为了强调本文的整体性,本案例着重在L1、L2和L3的部分工作上展开。
图 8 新能源研发过程工作层级
第一层:总体设计
在工作的第一层,设计的输入是整车的设计需求。设计者需要根据该需求,对各个子系统指派设计指标,使得各个子系统可以通过协同工作满足整体需求。除了对子系统的指标分配外,整体设计往往还要考虑外形、内部结构布局等工作。这些工作虽然为三维设计,但具有较高的层级。
现在假设,总体设计指标有三条:
1、80km/h时,百公里耗电XX度。
2、0-100km/h加速XX秒。
3、在驾驶舱XX坐标位置噪音低于XX分贝。
则L1的设计工作除了对壳体、结构布置的设计外,还要对电驱、电池、轮胎、整车热管理等子系统给出相应的指标(本示例非实际案例,仅包含有限数量子系统)。具体内容如图 9所示。
图 9 L1工作内容
为了对L1的指标分配工作进行评估,可建立整车的仿真模型,通过不断运行和修改模型,对设计进行迭代,从而达到这一阶段的最有设计。如图 10所示,为L1层级的仿真模型和其内部构造。该模型分成了车体动力学、电池、电驱、热管理和司机五个系统。其中,车体动力学系统仿真模型是根据外形、结构布局和各个子系统的重量分配等设计结果做出的。电池、电驱、热管理系统都是遵循能量守恒的等效系统仿真模型。司机模型是一个PI控制模块,从而模仿司机根据给定的车速踩油门的动作。如图 11所示,为模型按CLTC标准进行的仿真结果,红色曲线是速度值,绿色曲线是行驶距离,蓝色曲线是油门值(刹车值未在图中表示)。总体设计者可按自己对场景的需求自行设计模型输入量,从而对车辆加减速性能、续航、安全性等进行大方向上的评估(车体动力学虽然具备转弯受力方面的能力,但是其他系统没设计这方面功能)。这个模型里的参数数值,即为L1级设计环节向各个L2级子系统设计环节分配的设计指标。总体设计者可通过不断修改参数运行仿真,获得最优化的设计指标配置。各个子系统设计者,也可以根据这一模型的运行结果协商各自分配的设计指标。
图 10 L1级仿真模型及内部结构
图 11 L1级模型仿真结果
第二层与第三层:电驱系统迭代设计
本示例虽然不代表任何实际企业的研发流程,但却参考了目前企业内普遍施行的研发流程现状。在电驱系统的开发中,最显著的特征是以电机为主的研发流程。电机的控制器和逆变器的设计都需要配合已设计完成的电机参数。因此,这个子流程是以逆向为主的。而整个电驱系统除了电机+逆变器+控制器(下文统称电机驱动系统)外,还包括变速箱、差速器、壳体等其他零部件。因此,总体而言,电驱系统设计存在正向与逆向混合的特点。下面,我们先看一看,如果按纯粹的正向研发流程,各个层级的工作,再按第二层与第三层迭代的方式看一看本案例给出的研发流程。
如果按照正向方式L2层(电驱总体)的工作内容如图 12所示,L3层(电机)的工作内容如图 13所示。
图 12 L2层(电驱总体)的工作内容
图 13 L3层(电机)的工作内容
L2层的工作,需承接L1的输出结果。其中,有直接指派给电驱系统的设计指标,同时,也需要综合考量其他系统对电驱系统的需求。在这些综合的输入下,进行本子系统的设计,并在设计中保持跟总体和其他子系统设计部门间的顺畅沟通,以便在某些局部问题上的修改与权衡。L2的设计结果包括。电机、变速器、控制器等多个更细分部件的设计指标。
在纯粹的正向设计中,电机驱动系统(电机+逆变器+控制规律)是先进行系统设计,然后再把具体指标分配给电机设计部门、逆变器设计部门和控制规律设计部门的。这样的设计规律是以各个部件之间的工作协调程度作为最高优先级。因此,当L2层设计工作完成后,分配给电机的设计指标除了重量、尺寸限制、效率等指标外,还包括更细节的Ld,Lq,磁链,转动惯量等指标。这些细节指标是在控制规律中的重要参数。同样的,按正向设计方式,电机的设计需求,除了重量、尺寸、效率等指标外,还需对Ld,Lq,磁链等进行调试,从而满足L2的设计结果。L3(电机)的设计结果,则是对电机内部结构关键尺寸、材料等的设计,从而完成电机三维几何形状的设计。
然而在实际设计过程中,控制规律、逆变器等的设计,往往是给已设计好的电机进行配套设计。所以,流程上需要先进行电机的L3设计。为了尽量确保设计的非盲目性,本案例对设计流程进行了更细化的迭代处理。首先要开始一轮L2设计。但是这一设计主要是以稳态工况为设计目标,着重对电机的功率、效率等与能量有关的指标进行分配。然后进行L3(电机)的快速设计。这种快速设计也以稳态为主,通过二维、经验方程等方式完成设计。完成L3(电机)的快速设计后,再回到L2,进行逆变器、控制策略等配套设计。这些设计是为了实现电机的动态指标。当完成逆变器、控制册率等的设计后,再回到L3进行深入的,基于三维仿真的优化设计,从而完成L3的全部设计。具体的迭代过程如图 14所示。
图 14 L2与L3设计迭代过程
L2第一轮设计主要是把电机、逆变器和控制率作为一个整体(电机驱动系统)进行的设计。在这一轮中,先考虑其稳态特性(即大时间尺度的特性)。这时,系统中的波动来源主要是热、机械等。由电压/电流造成的波动频率远高于热和机械,因此先不考虑,采用能量方程进行建模。由于L2与L3第一轮设计的关系紧密,一般建模是一起完成的。如所示为稳态设计的L2-L3模型。其中的电机模型是基于电机设计软件结果生成的FMU模型。
图 15 L2-L3稳态模型
L3第一轮设计一般会使用一些设计类软件。这类软件一般内核为融合和一维、二维及经验公式的行业内工具。这些工具计算速度相比于三维仿真工具来说计算较快,可通过多次改变设计参数,根据计算结果评估设计出的产品性能。如图 16所示,为电机设计工具的计算结果示例。
图 16 电机设计工具的计算结果示例
当L2-L3第一轮设计结束后,可把建好的模型连入L1的整车模型,并对两个模型的计算结果进行对比,检验这一设计是否沿着正确的方向进行。在这一过程中,整车模型进化了。如所示,为L1层的模型和L2-L3稳态模型的CLTC运行结果效率曲线对比。
图 17 L1层的模型和L2-L3稳态模型的CLTC运行结果效率曲线对比
当获得L3第一轮设计结果(基于稳态)后,即可开始L2第二轮设计(基于动态)。如所示,为本示例给出的根据L3稳态设计结果的Ld,Lq,磁链,转动惯量等电机指标,配套出的其他零部件,组成的完整动态电驱系统。
图 18 L2第二轮设计结果
动态过程主要是考虑到了控制信号、电压/电流的变化引起的, 一般会影响到电机的加减速或转动稳定性等情况。相比于功率、效率等时间平均特性,属于随时间变化的特性,因此为动态特性,需要在静态设计基础上进行更细致的设计来实现。由于控制芯片的SVPWM信号频率极高,使得仿真必须以极小时间步长(一般为微秒级),导致动态电驱系统的仿真总时间无法设置太长(一般极限是秒级),故无法集成到整车模型中。只能在设计过程中起验证作用。如图 19所示,为动态电驱系统模型的仿真结果。左上角为控制芯片发送给逆变器的控制信号,右上角为电机的电压值,下方为电机a相电流值和电机的功率值。三个图的时间尺度不相同,请勿横向比较。
图 19动态电驱系统模型的仿真结果
第四层:详细设计
第四层的设计内容是第三层的细化。以电机为例,L3的设计结果如图 13所示,包括定子外径、定子内径、轴径、气隙长度、槽数等等关键几何尺寸。通过这些尺寸,电机的几何形状完全可以唯一确定。但是,这与真正能够被加工和组装的实物之间仍然有差距。例如,转子和定子是被外壳包围再一个空腔内的,所以外壳必须具有开盖结构,才能实现这一结构。因此,要为开盖结构指定开盖截面位置、还要考虑法兰、螺栓孔等结构,才能完成真正的组装过程。L4层的具体工作内容如图 20所示。
图 20 L4层的具体工作内容
这一层的工作内容,往往是我们最熟悉的。除了CAD建模、工程图外,还包括强度校核和其他详细设计。本案例给出了一个电机本体NVH计算的案例,如图 21所示。该模型是电磁三维仿真软件和强度三维仿真软件联合仿真的模型。
图 21 电机本体NVH计算的案例
数字孪生是一个信息量很大的概念。目前,市场上常见的数字孪生是部署在生产线上的自动化数字孪生。这一数字孪生的特点是:1、模型以计算几何运动和几何干涉为主。2、依托大量传感器。3、一般的使用者是生产线的管理者。
本文所指的数字孪生,称为基于仿真的数字孪生,是产品的数字孪生。而数字孪生模型,就是在研发过程中一步步成长起来的仿真模型。这种数字孪生的特点是:1、模型以计算物理机理为主。2、依托少量传感器信息,靠运算洞察产品状态。3、使用者是产品的使用/维护人员、高层决策者,或作为自动控制手段中的一部分,用于提高产品性能。如图 22所示,为基于仿真的数字孪生的典型结构。
图 22 基于仿真的数字孪生典型结构
图 22中的核心,为数字孪生文件。数字孪生文件本身是一个能够脱离仿真软件独立运行的小程序,被封装成一个可以在IOT平台运行的APP,通过被IOT平台调用,实现数字孪生小程序的运行。
数字孪生APP的核心文件,是由系统仿真软件导出的FMU文件。FMU文件是一个国际普遍使用的通用文件,可实现不同系统仿真的软件之间的模型互用。在基于仿真的数字孪生中,这一特性成为了制作数字孪生APP的核心文件。FMU文件里包含了系统仿真模型(含降阶模型)和对应的求解器。因此可成为跨平台的运行模型文件。
在产品研发中,如前所述,随着正向研发的进行,模型会自然而然的发生进化,逐渐细化和精确。当完成最底层的研发后,建立终极模型的所有条件便具备了。在验证阶段(或设计阶段的虚拟验证过程中),设计者可使用模型嵌套、模型降阶、FMU替换等多种方式,建立符合自己需求计算精度、计算速度和计算范围的系统仿真模型。最后把这一系统仿真模型打包成相应的数字孪生APP即可。
如图 23所示,是在上文所述的新能源车研发案例中,集成出的用于计算电机驱动系统的NVH仿真模型。与图 21里的模型相比,该模型增加了由于控制策略和逆变器造成的波动引起的NVH,属于L2级别的仿真模型。因此,这个结果更加真实,更能代表电驱系统在真实工况下的NVH特性。而它的输入数据,则是电源电压、目标速度等数量较少,可用传感器获取的数据。如果把这一模型做成数字孪生APP,保存在云端,并把新能源车实时发送来的传感器数据连接到该APP的输入接口上,则能实时查看该车的NVH水平,以便于对其的全面监测。
图 23 电机驱动系统的NVH仿真模型
基于仿真的数字孪生在产品的维护与运行过程中,具有明显的先进性。一方面为产品性能的提升、产品的维护保障提供了数据基础,另一方面,也成为产品的一项附加服务,为提升产品价值提供了技术保障。
本文从产品的研发过程的正向与逆向出发,对复杂产品研发的过程进行了阐述和评论,并对当前企业中普遍存在的产品研发过程的状态进行了描述。在对产品研发过程的基础上,对研发过程中的仿真模型分布与作用、仿真模型的进化过程进行了详细介绍。
本文更是以新能源车的研发为例,对其研发过程的方向,研发过程中各种仿真模型的建设与应用进行了详细介绍。最后,简单介绍了基于仿真的数字孪生的种类、大致构成和建设方法。最后仍是以新能源车为例,介绍了进化的仿真模型是如何与数字孪生结合的。
强烈推荐工程师一起来学习《系统仿真核心建模技术8讲:全解Modelica语言建模方法与模型库制作应用》本课程用接地气的方式,展现了如何使用Modelica语言制作模型库。帮助学员学完全部课程后,可具备独立建设Modelica模型库的能力。当前Modelica语言是社会稀缺能力,掌握该能力可增加就业机会和收入水平。为订阅用户提供VIP群 交流,提供答疑服务,相关学习资料,不定期内容加餐等服务。
以下是课程安排:
课程可随时回放,可开具发票,奖学金、直播加餐
讲师提供vip群答疑和模型下载,开具电子发票
《系统仿真核心建模技术8讲:全解Modelica语言建模方法与模型库制作应用》
扫码立即试看
本课适合哪些人学习:
(1)系统仿真工程师
(2)复杂产品总体设计人员
(3)数字孪生工程师
(4)控制工程师
(5)科研人员
(6)学生
你会得到什么:
(1)Openmodelica软件的基本操作技能;
(2)Modelica语言的阅读能力;
(3)使用Modelica语言建模的能力;
(4)使用Modelica语言建立模型库的能力;
(5)基本的Modelica机械模型库建模的理论基础与建模方法;
(6)基本的Modelica可压缩流体模型库的理论基础与建模方法;
(7)相关官方网站的访问和使用方法;
(8)为学员提供VIP群答疑服务,相关学习资料,不定期内容加餐等服务
来源:仿真秀App