广告

Rivian使用MATLAB和MATLAB Parallel Server扩展整车仿真

2023-12-28 Adithya Vignesh Jayaraman,Rivian 阅读:
使用MATLAB和Simulink设计和构建Rivian车辆仿真界面平台帮助我们实现了关键目标。我们为工程师和非工程师创建了统一平台,用于运行整车仿真、后处理结果和创建报告。

整个汽车行业的工程师越来越依赖仿真来评估操控性能、加速性能、续航里程和其他关键性能指标。与物理测试相比,通过仿真来评估车辆性能速度更快,成本也更低。整车仿真还有助于设计工作在原型硬件可用之前在开发过程中尽早进行。然而,随着车辆仿真的成本和效率优势在组织内日趋明显,仿真需求的增加使得车辆仿真面临一系列挑战。oY6ednc

考虑到与商业仿真软件对接和运行整车仿真所带来的复杂性,需要拥有一支专门的仿真工程师团队,他们具备必要的专业知识。然而,该团队可能很快会因各利益相关者的要求而不堪重负,这些利益相关者包括属性工程师、性能工程师、动力学工程师、续航里程和效率工程师以及高级管理人员。简单地执行这些团队要求的多个仿真也可能成为瓶颈,特别是当这些仿真连续地在商业软件上运行时更是如此。最后,由于缺乏标准化的车辆数据,加上对仿真结果的临时后处理,这使得工程师争相获取黄金源数据和采用获准的方法来报告结果,从而加剧了这些困难。oY6ednc

在Rivian,我们的团队开发了可扩展、易于使用的平台,用于配置、运行和后处理大量整车仿真。此车辆仿真界面(VSI)平台是使用MATLAB®和Simulink®开发的,有助于减少冗余,提高复用性,并通过并行处理提高仿真吞吐量。借助使用App设计工具构建的直观用户界面,该平台还让整个公司的工程团队都能轻松实现仿真,从而消除了仿真请求瓶颈(图1)。oY6ednc

oY6ednc

图1.VSI用户界面。oY6ednc

本文介绍我们如何使用面向对象的原则设计VSI,如何利用它来使仿真更平等普及,以及如何使用并行处理来扩展仿真工作量。oY6ednc

VSI的面向对象的设计oY6ednc

当我们开始设计VSI平台时,面向对象的方法显然是实现灵活性、可扩展性和复用性等目标的最直接方法。我们首先明确定义了几个基本对象:Vehicle、Load Case和Simulation。在这种情形下,Vehicle对象用于表示Rivian车辆,例如Rivian R1T、Rivian R1S或Rivian EDV(我们的电动货车)。此对象还表示车辆的配置,用于定义特定的电池组、动力总成系统、轮胎、前后驱动装置和其他组件。Load Case对象用于定义仿真场景,包括速度曲线、环境条件和驾驶工况。而VSI Simulation对象只是Vehicle实例与特定Load Case的组合(图2)。oY6ednc

oY6ednc

图2.VSI仿真包括特定车辆配置和预定义的测试场景。oY6ednc

从编程的角度来看,可将Simulation的概念视为构成VSI平台基础框架的超类。此超类的属性包括可以通过用户界面选择的车辆配置和测试场景属性,以及一组用于创建模型、运行仿真、执行后处理、提取度量和共享结果的方法(图3)。借助MATLAB的面向对象的编程功能,我们可以轻松地针对VSI平台创建这种类结构体的实现。MATLAB句柄对象尤其适用于封装仿真中包含的所有信息(不仅包括车辆和测试场景,还包括用户设置、结果和度量),并在VSI内高效传输这些信息,而无需复制数据。这些对象随后可以转换为元数据文本文件并进行存档,使我们能够通过从元数据重新构造对象来重新创建任何历史仿真。oY6ednc

oY6ednc

图3.VSISim超类,包括仿真输入和执行方法。oY6ednc

使仿真更平等普及和最大化复用oY6ednc

我们已将VSI部署为MATLAB工具箱和独立可执行文件(用MATLAB Compiler™编译),可供未安装MATLAB的同事使用。由于可以轻松访问VSI,团队不再需要等待Simulink工程师来运行仿真并获得结果。oY6ednc

VSI界面的左侧(如图1所示)用于选择车辆配置和测试场景,而界面的右侧显示用不同颜色表示的仿真列表。红色表示尚未运行的仿真,绿色表示已完成的仿真,琥珀色表示已完成的仿真以及过期结果(例如,当新组件数据可用或模型修订时,可能会发生这种情况)。值得注意的是,VSI的仿真结果是共享的;工程师可能会发现他们要运行的仿真已由本团队或完全不同的团队中的某个人完成。工程师可以利用已有的仿真结果,避免运行相同且不必要的仿真,从而节省时间和计算资源。oY6ednc

在定义并选择了要运行的仿真后,工程师可点击标有Run&Post-Process的按钮(如图1所示)。仿真是结合使用Simulink和商业仿真软件在后台通过MATLAB API启动的(图4)。oY6ednc

oY6ednc

图4.集群仿真的工作流程图,以及显示五个调度仿真的VSI界面(以蓝色突出显示)。紫色状态表示仿真正在进行中;红色状态则表示仿真已完成。oY6ednc

在单个仿真完成后,记录的数据会发送回MATLAB工作区进行处理,然后转换为Apache® Parquet数据文件格式,并最终存档在共享目录中。我们还开发了一套MATLAB脚本,用于汇总结果以生成关键度量,根据我们的需求管理系统中设置的目标报告仿真状态,并生成自动报告来概括关键性能指标,以供Rivian高级管理层参考。oY6ednc

通过并行处理实现扩展oY6ednc

在VSI用户界面中,工程师可以选择使用本地计算机上的多个内核来并行运行仿真,也可以选择使用远程Amazon® Web Services(AWS®)集群来执行此操作(图5)。本地方法利用了Parallel Computing Toolbox™,它是工程师在测试模型更新和更改时最常选用的方法。远程方法基于运行MATLAB Parallel Server™的AWS EC2实例,适用于具有已经过测试和验证的模型的生产环境。oY6ednc

oY6ednc

图5.用于并行处理的VSI选项。oY6ednc

在远程并行工作流中,MATLAB Parallel Server和MATLAB作业调度器发挥着重要作用。VSI先从MATLAB Parallel Server调用parcluster函数,以根据我们所定义的AWS EC2配置文件创建一个集群对象。在为要并行运行的每个仿真创建了一个仿真对象后,VSI将在集群上创建一个作业,并为每个仿真创建一个单独的任务。该作业及其任务通过MATLAB作业调度器提交到AWS EC2实例。该调度器可协调作业的执行,并将任务分配给各个集群工作进程。当仿真完成时,MATLAB后处理函数会在集群上运行,然后结果再进行存档和共享。对于大型作业,例如涉及14个冗长仿真的作业,远程并行方法要快得多,在68分钟内即可完成作业,而依序方法需要9个多小时(图6)。oY6ednc

oY6ednc

图6.依序(黄色)、本地并行(蓝色)和远程并行(红色)方法的基准仿真时间。oY6ednc

在过去的六个月里,我们在Rivian的同事已使用VSI进行了9,000多次整车仿真,总共模拟行驶了大约200万英里。oY6ednc

计划的改进oY6ednc

使用MATLAB和Simulink设计和构建VSI平台帮助我们实现了关键目标。我们为工程师和非工程师创建了统一平台,用于运行整车仿真、后处理结果和创建报告。我们消除了仿真请求瓶颈,减少了仿真任务中的冗余,并提高了仿真复用性。此外,我们还通过支持在AWS集群或本地工作站的多个内核上并行运行仿真,最大程度地提高了吞吐量。oY6ednc

我们计划对VSI做出大量改进,包括将该平台部署为Web应用,为关键性能指标添加仪表板,以及简化从用户界面使用试验设计(DOE)的过程。与此同时,我们还在继续开发和扩展Rivian的MATLAB Minimart,这是内部构建的MATLAB工具箱集合,用于数据转换和查看、启动和制动分析,以及各种其他经常需要的功能。oY6ednc

关于MathWorksoY6ednc

MathWorks是数学计算软件领域世界领先的开发商。来自该公司的MATLAB被称为“科学家和工程师的语言”,是一个集算法开发、数据分析、可视化和数值计算于一体的编程环境。Simulink则是一个模块化建模环境,面向多域和嵌入式工程系统的仿真和基于模型的设计。这些产品服务于全球工程师和科学家,帮助他们加快步伐,在汽车、航空航天、通信、电子、工业自动化及其他各行各业更快地实现发明、创新和开发。MATLAB和Simulink产品是全球众多顶级大学和学术机构的基本教研工具。MathWorks创建于1984年,总部位于美国马萨诸塞州的内蒂克市(Natick, Massachusetts),在全球拥有34个分支机构,共有6,000多名员工。有关详细信息,请访问。oY6ednc

###oY6ednc

MATLAB and Simulink are registered trademarks of The MathWorks, Inc. See mathworks.com/trademarks for a list of additional trademarks.Other product or brand names may be trademarks or registered trademarks of their respective holders.oY6ednc

责编:Franklin
文章来源及版权属于Adithya Vignesh Jayaraman,Rivian,EDN电子技术设计仅作转载分享,对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。如有疑问,请联系Demi.xia@aspencore.com
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
广告
热门推荐
广告
广告
EE直播间
在线研讨会
广告
广告
面包芯语
广告
向右滑动:上一篇 向左滑动:下一篇 我知道了