王 强
(河南机电高等专科学校汽车工程系,河南新乡453000)
IPG CarMaker平台是一种成熟的虚拟驾驶环境,在环形(HIL)测试中从脱机操作到硬件应用范围较广。CarMaker的设计目的是支持从早期概念阶段到硬件原型机测试的开发过程。因此CarMaker套件由两个主要部件构成,一是CarMaker Interface Toolbox(CIT)(CarMaker接口工具箱),另一个是Virtual Vehicle Environment(VVE)(虚拟车辆环境)[1,2],见图1。
图1 CarMaker IPG-Movie动漫工具表现的典型V
VE场景,包括道路和交通CIT含有仿真控制、参数化、分析、形象化及档案管理一整套工具。
VVE则是车辆的计算机建模集成,包括车辆的一切部件,诸如动力系、轮胎、制动、车架以及道路和驾驶员。可以用默认通用模型、定制码诸如各种MATLAB/Simulink控制器模型提供车辆部件,甚至测试台上的真正硬件。根据设计任务,VVE既可以在一般的办公室计算机上操作也可以在实时系统上操作。实时操作可以研究确定性的表现,而办公室操作或许缺少实时能力。但正因为如此,办公室操作几乎适用于任何主计算机,并可以使仿真比依赖系统性能和模型复杂程度的实时操作进展得更慢些或更快些,而且不需要特殊硬件。
对于当今电动和混合动力车的动力系统的研发,仿真技术是个关键因数。这些动力系统对车辆动力工具的动力在两个方面提出了挑战:一方面因为涉及的传动系、离合器或齿轮的数目庞大,传动系布局的数目和复杂性是由多种部件组合所致;另一方面,尤其是混合动力车代表了一种经典的多畴系统(电子学、水力学、燃烧、化学、力学),在其各种技术部件之间的相互作用中动力学表现异常多样。
Modelica是一种开放、面向对象的以方程为基础的语言,可以跨越不同领域,方便地实现复杂物理系统的建模,包括:机械、电子、电力、液压、热、控制及面向过程的子系统模型[3]。目前,越来越多的行业开始使用Modelica语言进行模型开发,尤其是汽车领域,对汽车系统建模创建了完美的基础。汽车系统研发,尤其是混合动力车研发的日益复杂性,需要多用途的建模工具、仿真并可复制的虚拟测试以及无缝测试台集成。建模和各种车辆有关的脱机和实时场景仿真需要的理想软件应具备上述特点。而利用Modelica的多物理学能力来论证该综合性CarMaker VVE套件就是向着这一方向进展的第一步。
CarMaker VVE的通用性允许采用任何方法对车辆模型进行修改。如图2所示,可以配置各种通用车辆部件及相关信息,诸如图2中所列车身尺寸、重量、悬挂、空气动力方面、传感器、操纵、轮胎、制动系统以及整套动力系统。
图2 CarMaker车辆模型配置接口
根据测试车辆需要,测试模型替代了通用车辆模型中预先定义的模件,或许甚至取代整个车辆模型。但即使是先进的车辆动力学专用工具也可能无法覆盖混合动力车的所有布局技术。这些多物理学系统要求诸如基于Modelica的方法的通用建模形式和仿真技术。许多工程公司和汽车生产商在研发部件和控制件过程中尤其依赖Modelica。
FMI定义了一种开放式标准接口,用于一种称为功能模型件(FMU)的可执行模型。一种仿真器利用FMI的各种功能创建一个或多个功能模型件并运行这些模型,通常与其他模型一起运行。FMU可以自我集成(用于共仿真的FMU-CS)或需要仿真器来进行数字集成(用于模型互换的FMU-ME)。存储在FMU文档中的是C源代码,为一个或多个平台编制的可执行代码,是变量和=ML(可扩展标记语言)的描述。
连接Modelica模型与 CarMaker必须注意两个关键方面:(a)可执行模型或代码必须代表不受任何限制的模型动力特性,以维持通用性并避免模型语义依赖上下文。(b)生成的模型必须满足实时应用的需要,尤其是固定的集成步长。
该接口主要由两部分组成。第一部分控制FMU输入输出变量和参数的静态类型检查,确保计算器的顺利建立,用于参数输入的用户接口的生成,以及用于在仿真过程中跟踪相关变量的被称为数据字典的自动扩展。最后,用具体例子说明该可执行模型并与CarMaker解算器连接。根据具体应用可选择各种类型的FMU。
即使两个耦合的仿真器的一般计算性能就足够了,要确保确定的解题周期还是比较困难的,这在例如HIL系统中是个关键性的方面。CarMaker为鲁棒的步长时间集成提供了一个仿真引擎,因此在下述情况时包含一个FMU-ME对于仿真联合车辆模型是个安全的解决方法:当其中任一模型的复杂性合理地降低时,该系统的固有值位于集成方案的稳定区,而且在输出模型中无严重的非线性。对于非常复杂的或黒盒子模型生成的FMU,因该FMU含有适当的数字集成方案,供选择用的FMU-CS则是具有优势的。与CarMaker结合的接口在CarMaker共仿真及输出块中起着主算法作用。这导致对CarMaker时间网格的自适配过分采样,从而可能消除对嵌入系统或HIL的使用,但却导致了优异的数字稳定性。与完全的FMU-CS提供的提点相比,该接口仅利用了某些特点。
基于车辆动力学建立一个混合动力卡车模型,调研FMU的集成。该模型见图3。无论是CarMaker的标准传动系还是整个车辆均在VVE中由一个从Dymola软件输出的FMU替代。就传动系来说,来自CarMaker模型的司机和环境输入信号为加速器踏板、离合器、制动扭矩、齿轮数目、启动器及点火,等等。最显著的模型输出则是各种车轮速度。
当使用FMU-ME作为替代的时候,因固定解算器步长与新传动系模型的动力学不符,整车模型表现出不稳定的数字特性。1毫秒有用步长传统上用于车辆动力学HIL场合,由于在过分采样步长阶段的恒定输入恶化了动力特性,即使是CarMaker的过分采用特点也无法改变稳定性。传动系应用一个配备适配的变量步长解算器的FMI-CS可以在CarMaker内实现稳定的数字仿真。该方法允许仿真在实时内至少以办公室形式(软实时)运行。对于HIL的应用,降低模型复杂性的标准技术可能有助于获得硬实时能力。
图3 Modelica中的卡车实例模型
本文推出一种接口,通过Modelica生成的各种功能模型接口扩展CarMaker。该接口支持FMI的两种表达法,一是共仿真,一是模型互换,以利用每一种方法的特长。第一种方法导致数字鲁棒总的各种仿真模型,而CarMaker仿真引擎为主算法控制FMU模型,FMU模型含有自己的数字集成方案和时间网格,该时间网格恰好与CarMaker安置的网格同步。第二种方法则导致计算效率高的、非常适合实时应用的可执行模型。如果模型动力学不适合CarMaker集成方案指定的固定步长,则可能如实例应用所示,导致数字鲁棒性差。
该接口并不局限于基于Modelica的工具可执行模型。用任何支持FMI标准的建模和集成工具均可以自动生成种种FMU,FMU甚至可以被手工编码。已推出的成果仅支持现行FMI说明书V1.0的特点的一小部分。可行的用法是多种多样的,比如:由Silver实现的仿真环境中多个FMU之间的网络通信,Car-Maker内部的并行化,或将CarMaker本身当做一个FMU。
[1] 赵建军,丁建完,周凡利.Modelica语言及其多领域统一建模与仿真机理[J].系统仿真学报,2006,18(2):17-19.
[2] 侯宝存,李伯虎,柴旭东.虚拟样机设计仿真环境中多领域工具集成的研究[J].系统仿真学报,2004,16(2):7 -9.
[3] 吴义忠,刘敏,陈立平.多领域物理系统混合建模平台开发[J].计算机辅助设计与图形学学报,2006,18(1):22-24.