依维柯集团使用虚拟车辆仿真加速电动汽车软件开发

全虚拟车辆实现更快、可扩展性更强的电动汽车软件测试


在汽车行业,软件开发传统上推进缓慢。工程师需要硬件、测试平台、实车,还需要技术人员操作这些设备,才能对一行代码进行验证。这套流程耗时久、资源消耗大,很难适配现代软件开发的迭代节奏。依维柯集团是一家生产 eDaily 电动厢式货车以及各类卡车、客车的意大利商用车辆厂商。对于该集团来说,消除上述差距,意味着可以效仿顶尖科技企业的模式来开发软件。

“在科技行业,一名 16 岁的青少年在卧室里就能改变世界,因为技术赋予了他们能力,无需请示任何人。”依维柯集团车辆控制与动力学软件开发负责人 Alessio Canepa 说道。“但在汽车行业,情况往往完全相反。您总是得等着别人。”

Canepa 领导的团队负责开发依维柯集团自研车辆控制软件 eVECOP。随着软件复杂性不断提升,测试工作量也随之增加。随着团队不断新增功能,只要发生任何改动,就需要重新运行大量测试。在实体硬件上手动完成这些测试已变得不现实。

七台大小、颜色各不相同的依维柯卡车。

依维柯全系列。(图片所有权:依维柯集团)

依维柯集团给出的解决方案是 Virtualis,一套基于 MATLAB® 与 Simulink® 开发的虚拟车辆仿真器。它可以让依维柯集团在实体硬件尚未问世时,就在一套完全虚拟的车辆(包含虚拟电池、逆变器与充电系统)上运行真实生产软件。

为 Virtualis 适配 eVECOP

eVECOP 平台处于依维柯集团电动汽车控制系统的核心位置,用于协调轻型车辆、重型卡车、客车的数十项互相关联的功能。这些功能涵盖牵引力控制、再生制动、热管理、功率分配等全部内容,整套自研软件平台几乎完全基于 MATLAB 与 Simulink 开发。

此前,只要发生任何改动,完整集成模型的重新编译大约需要 20 分钟。现在,仅需要 4-5 分钟即可完成模型编译。一部分性能提升来自切换到 Simulink 的加速模式。

维护 eVECOP 的整洁性与可扩展性需要 Canepa 所说的模块化架构:每项软件功能都放置在其独立自包含模块中,模块边界清晰定义。他表示,一名优秀的架构师对于软件平台团队至关重要。在架构设计得当的情况下,经验尚浅的工程师可以开发独立组件,不需要理解整套系统。由此,平台可以扩展适配新车型,工程师不需要从头开始开发。

依维柯集团基于相同理念构建了 Virtualis。使用 Simulink 中的引用模型,这套虚拟车辆仿真器将各个软件模块相互隔离。这就意味着发生改动时,只需重新编译改动过的模块。

示意图:突出展示 eVECOP 平台。中央大脑图标通过箭头连接各类车型以及电池等关键部件。图中列出牵引力控制等功能,以及硬件无关性等优势。

电动汽车控制平台 (eVECOP)。

此前,只要发生任何改动,完整集成模型的重新编译大约需要 20 分钟。现在,仅需要 4-5 分钟即可完成模型编译。一部分性能提升来自切换到 Simulink 的加速模式。加速模式牺牲少量调试灵活性,换取执行速度大幅提升。更大的性能增益来自引用模型本身。代码生成引擎只会重新编译改动过的部分,因此大多数编译任务会直接跳过绝大部分工作。对于需要持续对大量不同功能进行迭代更新的团队,该优势会快速累积放大。

到了仿真阶段,速度更是关键。Virtualis 可以实现快于实时的仿真运行,这样团队就能够在云中创建多个并行实例,同时运行多个测试。Canepa 表示,该思路的灵感来自观察科技软件公司的运作模式。

Simulink 界面截图:包含各种虚拟车辆控制。

Simulink 中的虚拟车辆模型。(图片所有权:依维柯集团)

“如果您要设计自己的 Android® App,您需要使用模拟器。您可以独立自主地完成端到端测试,”他说道。“我们开展的很多工作,思路都源于云服务与 App 开发领域。”

Virtualis 背后的核心认知:只有整套环境百分之百虚拟化,才能实现这类快速测试。只要还有百分之一的测试依赖实体硬件,就无法在云端运行、并行运行,也无法快于实时地运行。这道门槛让 Virtualis 与以往的方案有着本质区别。

无限制测试

全虚拟环境带来的优势不止速度。部分测试无法在实体测试平台或者实车上开展;汽车以每小时 100 公里行驶时,对车辆电子元件与线路做测试,既不安全也不现实。而在 Virtualis 中,这类测试属于常规操作。“使用虚拟平台,您拥有无限可能,”Canepa 说道。

“使用虚拟平台,您拥有无限可能。”

当前,Virtualis 可以在软件部署到硬件之前发现大约 70% 的软件集成类问题。Canepa 表示该数值很难精确衡量,并且残存的差距与其说是一种固定的局限,不如说反映了团队尚未认识到的部分。如果经过 Virtualis 测试的软件在实车上出现故障,依维柯集团就将其视为一种信号,表示虚拟环境需要更新以进一步反映真实情况。随着时间的推移,这套处理机制就会缩小仿真与现实之间的差距。

现存的差距属于结构性问题,而不是偶然性问题。Virtualis 执行一级虚拟化,也就是说它不会对底层固件或电子设备进行仿真。这是有意做出的取舍。仿真层级更深固然可以覆盖更多场景,但工程师将无法在仿真运行中途暂停,检查每个变量,精准掌握软件在任意时刻的行为。

“硬件系统出故障后,您只能事后查看日志,”Canepa 说道。“而在 Virtualis 中,您可以让整个仿真停下来。”

这种转型改变了依维柯集团看待自身测试管道的思路。现在,依维柯集团专门将硬件在环测试用于 Virtualis 覆盖不到的部分:操作系统、底层驱动,以及依维柯集团外部提供的实体硬件(例如软件所对接的 ECU 供应商提供的硬件)。该层级之上的全部问题,都可以更早、更快、以更低成本解决。

跟上软件迭代速度

Virtualis 能够达到如今的状态并非一帆风顺。要将 MATLAB 与 Simulink 环境扩展到处理如此复杂度的软件,同时维持较短编译时间与调试灵活性,需要处理诸多没有唯一标准答案的架构抉择。依维柯集团与 MathWorks 工程师密切合作,共同探索技术可能性的边界。

“我们构建出的这套工作模式与以往截然不同。开发环节省下的时间越多,您就越有精力打磨真正出色的产品。”

“我们希望在极短周期内实现最高质量标准。这是我们双方共同面临的最大挑战,”Canepa 说道。

双方协作的重点在于提升执行效率、设计模型架构,支持多名工程师同时提交更新而不产生冲突,构建一套端到端自动运行的持续集成与测试管道。只要开发人员提交新代码,Virtualis 就会自动触发测试。工程师在数小时之内就可以拿到测试结果。没有人需要记得去跑测试,因为系统根本不给他们忘记的机会。

示意图:展示模拟 VMU 设备的测试环境,该设备运行 eVECOP 并与 Virtualis 测试平台交互。该环境包含一套详细控制面板界面。

Virtualis 虚拟车辆示意图。

依维柯集团将节省下来的时间投入到产品本身。现在,依维柯集团的工程师不再花费数周时间开展正式验证流程,从而获得更多用于打磨车辆本身的迭代周期,Canepa 认为这才是衡量软件质量的真正标准。

Virtualis 还潜移默化地改变了团队的工作模式。在传统汽车开发模式下,一名工程师开发某项功能,但可能永远看不到该功用在哪以及它会对整车产生什么影响。Virtualis 让每位开发人员置身于完整的虚拟车辆之中,任何改动的效果都能立刻在整车环境中看到。这种可见性改变了人们对待工作的态度。工程师可以将新功能原型化,测试它对整套系统的影响,并且在演示时就确认它可以正常工作。

“当下,对人员赋能至关重要,”Canepa 说道。

对他来说,Virtualis 的意义不止是更快的构建速度或是更高效的测试管道。无论车企是否做好准备,它们都正在转型成为软件企业。谁能像科技企业那样开发和测试软件,快速、迭代、虚拟优先,谁就能跟上节奏。依维柯集团正立志成为其中一员。依维柯集团立志成为其中一员。

“我们构建出的这套工作模式与以往截然不同,”他说道。“开发环节省下的时间越多,您就越有精力打磨真正出色的产品。”


阅读其他案例

面板导航

SLS 火箭助力猎户座飞船飞向月球

NASA 阿尔忒弥斯计划剑指长期驻月

面板导航

将基于模型的设计应用于汽车面向服务的架构

雷诺使用 ROS Toolbox 和 Simulink 集成推进 ADAS 原型设计

面板导航

赋能下一代手术机器人

基于模型的设计助力自适应手术机器人的开发