荣格工业资源APP
了解工业圈,从荣格工业资源APP开始。
整个汽车行业的工程师越来越依赖仿真来评估操控性能、加速性能、续航里程和其他关键性能指标。与物理测试相比,通过仿真来评估车辆性能速度更快,成本也更低。整车仿真还有助于设计工作在原型硬件可用之前在开发过程中尽早进行。然而,随着车辆仿真的成本和效率优势在组织内日趋明显,仿真需求的增加使得车辆仿真面临一系列挑战。
考虑到与商业仿真软件对接和运行整车仿真所带来的复杂性,企业需要拥有一支专门的仿真工程师团队,他们具备必要的专业知识。然而,实际工作中该团队可能很快会因各利益相关者的要求而不堪重负,这些利益相关者包括属性工程师、性能工程师、动力学工程师、续航里程和效率工程师以及高级管理人员。简单地执行这些团队要求的多个仿真也可能成为瓶颈,特别是当这些仿真连续地在商业软件上运行时更是如此。最后,由于缺乏标准化的车辆数据,加上对仿真结果的临时后处理,这使得工程师争相获取黄金源数据和采用获准的方法来报告结果,从而加剧了这些困难。
本文以使用MATLAB®和Simulink®为汽车企业Rivian开发的仿真界面(VSI)平台为例,介绍在整车仿真工作中如何使仿真更平等普及,以及如何使用并行处理来扩展仿真工作量。
面向对象的设计
开始设计VSI平台时,面向对象的方法显然是实现灵活性、可扩展性和复用性等目标的更直接方法。首先,明确定义几个基本对象:Vehicle、Load Case和Simulation。在这种情形下,Vehicle对象用于表示Rivian车辆,例如Rivian R1T、Rivian R1S或Rivian EDV(电动货车)。此对象还表示车辆的配置,用于定义特定的电池组、动力总成系统、轮胎、前后驱动装置和其他组件。Load Case对象用于定义仿真场景,包括速度曲线、环境条件和驾驶工况。而VSI Simulation对象只是Vehicle实例与特定Load Case的组合。
从编程的角度来看,可将Simulation的概念视为构成VSI平台基础框架的超类。此超类的属性包括可以通过用户界面选择的车辆配置和测试场景属性,以及一组用于创建模型、运行仿真、执行后处理、提取度量和共享结果的方法。借助MATLAB的面向对象的编程功能,可以针对VSI平台创建这种类结构体的实现。MATLAB句柄对象尤其适用于封装仿真中包含的所有信息(不仅包括车辆和测试场景,还包括用户设置、结果和度量),并在VSI内高效传输这些信息,而无需复制数据。这些对象随后可以转换为元数据文本文件并进行存档,使我们能够通过从元数据重新构造对象来重新创建任何历史仿真。
使仿真更平等普及和更大化复用
将VSI部署为MATLAB工具箱和独立可执行文件(用MATLAB Compiler™编译),可供未安装MATLAB的同事使用。由于可以轻松访问VSI,团队不再需要等待Simulink工程师来运行仿真并获得结果。
图1:VSI用户界面
VSI界面的左侧(如图1所示)用于选择车辆配置和测试场景,而界面的右侧显示用不同颜色表示的仿真列表。红色表示尚未运行的仿真,绿色表示已完成的仿真,琥珀色表示已完成的仿真以及过期结果(例如,当新组件数据可用或模型修订时,可能会发生这种情况)。值得注意的是,VSI的仿真结果是共享的;工程师可能会发现他们要运行的仿真已由本团队或完全不同的团队中的某个人完成。工程师可以利用已有的仿真结果,避免运行相同且不必要的仿真,从而节省时间和计算资源。
在单个仿真完成后,记录的数据会发送回MATLAB工作区进行处理,然后转换为Apache® Parquet数据文件格式,并最终存档在共享目录中。此外,团队还开发了一套MATLAB脚本,用于汇总结果以生成关键度量,根据需求管理系统中设置的目标报告仿真状态,并生成自动报告来概括关键性能指标,以供Rivian高级管理层参考。
通过并行处理实现扩展
在VSI用户界面中,工程师可以选择使用本地计算机上的多个内核来并行运行仿真,也可以选择使用远程Amazon® Web Services(AWS®)集群来执行此操作。本地方法利用了Parallel Computing Toolbox™,它是工程师在测试模型更新和更改时最常选用的方法。远程方法基于运行MATLAB Parallel Server™的AWS EC2实例,适用于具有已经过测试和验证的模型的生产环境。
在远程并行工作流中,MATLAB Parallel Server和MATLAB作业调度器发挥着重要作用。VSI先从MATLAB Parallel Server调用parcluster函数,以根据定义的AWS EC2配置文件创建一个集群对象。在为要并行运行的每个仿真创建了一个仿真对象后,VSI将在集群上创建一个作业,并为每个仿真创建一个单独的任务。该作业及其任务通过MATLAB作业调度器提交到AWS EC2实例。该调度器可协调作业的执行,并将任务分配给各个集群工作进程。
图2:依序(黄色)、本地并行(蓝色)和远程并行(红色)方法的基准仿真时间
当仿真完成时,MATLAB后处理函数会在集群上运行,然后结果再进行存档和共享。对于大型作业,例如涉及14个冗长仿真的作业,远程并行方法要快得多,在68分钟内即可完成作业,而依序方法需要9个多小时。
据了解,在过去的这段时间里,工程师已使用VSI进行了9,000多次整车仿真,总共模拟行驶了大约200万英里。
作者:Adithya Vignesh Jayaraman
来源:荣格-《智能制造纵横》
原创声明:
本站所有原创内容未经允许,禁止任何网站、微信公众号等平台等机构转载、摘抄,否则荣格工业传媒保留追责权利。任何此前未经允许,已经转载本站原创文章的平台,请立即删除相关文章。