MATLAB如何助力全球巨头实现智能化突破

描述

当深度学习遇见汽车,一场静默的技术革命正在发生。从Poclain Hydraulics 利用神经网络实时监测电机温度,到梅赛德斯-奔驰用虚拟传感器替代硬件,再到康明斯通过 AI 模型加速发动机仿真——这些行业领军者正借助 MATLAB 与 Simulink,将复杂算法转化为高效落地的解决方案。

01Poclain Hydraulics 开发软传感器以使用深度学习和卡尔曼滤波器实时测量电机温度

“我们确定了两个已在 MATLAB 中实现的神经网络,这些神经网络帮助我们将代码嵌入到了硬件中以实时预测温度。”

—— Bruno Dandine,Poclain Hydraulics

关键成果

利用 MATLAB 中提供的预训练神经网络加快了测试速度

可通过 Simulink 测试简化的扩展卡尔曼滤波器

MATLAB 支持多种语言的代码生成,包括 C 和 C++

matlab

Poclain Hydraulics 是静液压传动设备和电机开发领域的全球领导者,致力于为建筑、农业和采矿等行业的机械装置提供动力。这些电机通过将液压能转换为机械能来发电,这可能会使电机温度升高,甚至导致故障。

Poclain Hydraulics 使用 MATLAB 和 Simulink 打造了一款软传感器,该传感器利用深度学习或卡尔曼滤波器方法来实时监控电机温度。为了取得成功,深度学习或扩展卡尔曼滤波器模型必须考虑电机以往的负载情况和环境因素,如外部温度。与卡尔曼滤波器相比,神经网络方法的主要缺点在于缺乏可解释性。但在本例中,这不算什么问题。

该团队实施了完整的 AI 工业化流程,该流程从数据提取和随机化开始,然后进行神经网络的训练、测试和验证,最后是部署到他们的硬件上。MATLAB 和 Simulink 支持 C 或 C++ 代码生成、部署前测试和大型数据集管理,有助于推进该工业化流程。该团队还利用了 MATLAB 中提供的预训练神经网络来加速此流程。

作为该工业化流程的一部分,Poclain Hydraulics 通过在 MATLAB 和 Simulink 中构建和仿真基于物理的电机模型来生成数据。他们还能设计数据生成试验,测试各种电机参数,如压力、速度、时间和风险因素,以及管理试验结果。

02梅赛德斯-奔驰汽车公司用深度神经网络仿真硬件传感器

“这是我们第一次在动力总成系统 ECU 上使用神经网络仿真传感器。如果没有 MATLAB 和 Simulink,我们将不得不使用手动编码过程,而这个过程会非常繁琐、缓慢且容易出错。”

—— Katja Deuschl,梅赛德斯-奔驰汽车公司的 AI 开发人员

关键成果

满足了 CPU、内存和性能要求

建立了灵活的流程

开发速度提升了 600%

matlab

许多汽车制造商为其开发车辆配备许多额外的硬件传感器,以采集数据来诊断问题和细化设计。一旦汽车投产,这些传感器就会被移除以降低成本。然而,在某些情况下,硬件传感器可以用虚拟传感器代替。虚拟传感器是成本更低的软件替代项,可进一步提高安全性、效率和驾驶员舒适度。

梅赛德斯-奔驰汽车公司最近使用 MATLAB 和 Simulink 建立了部署虚拟传感器的新工作流,例如仿真活塞压力传感器功能的工作流。这些传感器基于在资源有限的 ECU 微控制器上运行而设计的深度学习网络。这种自动化工作流取代了速度较慢且依赖试错法的手动工作流。

“MathWorks 团队帮助我们开发了易于使用的管道,用于创建神经网络并将其集成到我们的车辆控制器单元中。”梅赛德斯-奔驰汽车公司的 AI 开发人员 Katja Deuschl 说。“凭借这一管道,我们现在能够为虚拟传感器和各种其他应用创建和部署不同类型的神经网络。”

挑战

大多数深度神经网络是为在比汽车 ECU 具有更强的处理能力和内存空间的计算机上运行而设计的。此外,ECU 不支持常用的深度学习框架(如 TensorFlow 和 PyTorch)或它们所需的浮点运算。

为了在 ECU 上运行基于这些框架的模型, 开发人员必须首先将 Python 代码转换为 C 语言代码,并将模型参数和计算变换为定点运算。这个过程需要梅赛德斯-奔驰汽车公司花费数周的时间才能完成,产生的结果也不可靠,并且新团队成员也很难掌握。

梅赛德斯-奔驰的团队在完成从 Python 转换模型所需的许多手动步骤时,必须确保用 C 语言实现的模型能够放入 ECU 的有限内存空间,并且运行速度足够快,以便为时间敏感操作(如传感活塞压力)提供实时推断。因此,该团队希望建立更可靠、自动化程度更高的流程。

解决方案

梅赛德斯-奔驰汽车公司团队与 MathWorks 工程师合作实现了优化的工作流,将 Python 深度学习模型转换为可以迁移到其 ECU 集成管道的代码和参数。

在此工作流中,梅赛德斯-奔驰汽车公司团队使用 QKeras 库在 Python 中训练了量化的长短期记忆 (LSTM) 神经网络。

他们使用 Deep Learning Toolbox 将经过训练的网络导入 MATLAB 中。然后,他们运行自定义的 MATLAB 脚本将导入的神经网络转换为 Simulink 模型。

接下来,该团队使用 Fixed-Point Designer 将模型中的所有参数从浮点数据类型转换为定点数据类型,从而为部署到汽车 ECU 做准备。

在 Simulink 中使用仿真验证定点模型后,团队将模型交给第三方软件集成商,该集成商在 ECU 上将该模型和其他软件组件一起实现。

在使用此工作流成功实现第一个用例(活塞压力虚拟传感器)后,梅赛德斯-奔驰汽车公司团队目前正在将该工作流应用于 ECU 目标的更多传感器和其他深度学习应用。

结果

满足了 CPU、内存和性能要求。“借助 MATLAB 和 Simulink,我们实现了能够放入 ECU 的虚拟传感器神经网络,满足了我们的基准要求,”Deuschl 说。“如果用传统的软件开发方法,我们无法生产类似的虚拟传感器。”

建立了灵活的流程。Deuschl 说:“我们已将使用 MATLAB 和 Simulink 创建的自动化工作流用于其他用例。我们做了一些轻微调整以支持在两个不同动力总成系统控制器上的部署。该工作流也适用于其他类型的深度学习模型,如门控循环单元和全连接神经网络。”

开发速度提升了 600%。“与我们以前的手动开发流程相比,Deep Learning Toolbox 和 Fixed-Point Designer 使我们的开发速度提升了大约 6 倍,”Deuschl 说。“随着手动开发工作量的减少,我们在创建模型和代码时出错的数量也大幅降低。”

03康明斯利用基于人工智能的降阶模型预测发动机性能和排放

该方法提高了发动机性能模型的速度和精度

“使用 MATLAB 有很多好处,例如几乎不需要任何编码经验,因此初学者也可以开发这些模型……我们可以从该平台中获得更多收益,而无需花费大量时间在代码开发工作上。”

—— Shakti Saurabh,,康明斯印度分公司

关键成果

借助 MATLAB ,康明斯将发动机循环仿真运行时间缩短至实际时间的八分之一

低代码工具使技术专家能够专注于分析而不是编码

加速端到端 AI 模型开发工作流程,减少成本、工作量和内存占用

为了准确预测发动机效率和排放水平,建立模拟发动机循环的模型至关重要。然而,开发这些模型涉及各种三维到一维的仿真(通常使用第三方工具),与实时相比,这可能需要 20 倍以上的时间才能完成。

为了提高这些模型的速度和准确性,发动机开发领域的全球领导者康明斯使用了 MATLAB 构建基于 LSTM 的神经网络。该团队使用 Deep Learning Toolbox 和 Statistics and Machine Learning Toolbox 仿真了 26 种不同的发动机响应,包括压力、温度和发动机制动扭矩。

使用 MATLAB 几乎不需要康明斯团队具有编码经验,并且有助于将模型速度提高到实时速度的八倍。未来,该团队计划将他们的模型与真实的硬件和控制组件相结合。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分