白皮书

使用 MATLAB 与 Simulink 将 AI 用于电动汽车开发

替代建模、虚拟传感器、强化学习和嵌入式部署

简介

工程师使用 AI 构建模型来开发电动汽车 (EV),包括混合动力汽车 (HEV)、插电式混合动力汽车 (PHEV) 和纯电动汽车 (BEV)。这些模型用于估计传感器无法直接测量的各种量、优化控制策略和加速仿真。这些方法直接集成到基于模型的设计工作流中,增强团队业已使用的基于物理的模型、控制算法和验证过程。

团队可以直接在 MATLAB® 和 Simulink® 中训练这些 AI 模型,或导入在开源框架(如 PyTorch)中训练的模型,然后对其进行仿真和验证,最后完成部署。

这种转型已在生产车辆项目中展开。现代、康明斯、Subaru、Schaeffler、Yanmar、梅赛德斯-奔驰和其他汽车公司已将 AI 纳入其电动汽车开发工作流中。本白皮书中的案例研究基于这些公司的工程团队正在进行的工作,表明基于 AI 的汽车工程不是将来的可能性,而是已在部署中。仅依赖传统方法的组织可能难以跟上压缩的车辆开发周期。

示意图显示集成了 AI 的基于模型的设计工作流,跨五个开发阶段,并具有连续测试层;重点展示三个 AI 应用领域:被控对象建模、控制设计以及部署/验证。

在基于模型的设计背景下,使用基于 AI 的方法进行被控对象建模、控制设计、部署和验证。

AI 适用于电动汽车开发工作流的各个不同阶段:

  • 被控对象建模:系统辨识直接从测量数据创建动态模型,而降阶建模 (ROM) 用快速、准确的替代模型取代计算成本高昂的组件模型,包括与第三方工具配合使用的慢速联合仿真。这些方法共同实现高效的仿真和实时执行,用于控制开发、优化、权衡研究和硬件在环 (HIL) 测试。
  • 控制设计:虚拟传感器根据汽车总线上已有的信号估计控制器所依赖的各种量。强化学习、模型预测控制和其他高级控制方法有助于优化控制策略和标定。
  • 部署和验证:要将 AI 模型部署到汽车 ECU 并验证其在安全关键型系统中的行为,需要的工作流超出训练范围:压缩、代码生成、稳健性测试和运行时监控。

车辆投入运营后,基于 AI 的异常检测可在故障发生前检测到其电池和硬件的退化。运行数据成为故障的早期预警和剩余使用寿命的估计依据。

以下各节展示 AI 方法如何应对电动汽车开发工作流中的这些工程挑战。

五个 AI 能力领域及其分别帮助解决的工程挑战:降阶建模、虚拟传感器、控制用强化学习、异常检测和预测性维护,以及嵌入式 AI 和 AI 验证。

AI 在电动汽车开发工作流中应对工程挑战的应用。

生成式 AI 和智能体 AI 也开始影响工程工作流,涵盖从快速生成工件到基于工程师定义的目标执行任务等。本白皮书不涵盖这些用例。它只聚焦于 AI 模型的以下应用:工程师在基于模型的设计内部构建和验证 AI 模型,然后部署到生产硬件。

获取 MATLAB 和 Simulink 中生成式和智能体 AI 功能的概述。

降阶建模和系统辨识

为组件设计构建的高保真物理模型,包括来自第三方工具的模型,通常与 Simulink 配合使用以进行联合仿真,因为它们提供评估控制、架构选择和系统级交互所需的详细组件行为。这些组件模型可能计算成本过高,无法满足系统级仿真和控制设计优化所需的快速迭代,并且可能不具备用于 HIL 测试或在线估计的实时能力。这些模型能够很好地实现其原始设计目的,但无法扩展到更广泛的工程工作流。

基于 AI 的被控对象建模通过两种相关方法应对这一挑战:系统辨识和降阶建模。当物理组件可用但不存在合适的仿真模型时,系统辨识使用测得的实验室、测功机或现场数据来构建动态模型;例如,工程团队可能从供应商处收到组件,并需要为系统级仿真或控制设计创建一个模型。降阶建模使用来自高保真模型的数据来训练更快的替代模型,该替代模型保留周围系统所需的输入-输出行为。

MATLAB 和 Simulink 对这两种工作流都提供支持。工程师可以使用系统辨识方法,包括非线性 ARX 和神经状态空间模型,根据测得的数据创建基于 AI 的动态模型。它们还可以使用高保真模型上的试验设计 (DOE) 研究来生成降阶模型的训练数据,包括查找表和使用深度学习或机器学习方法构建的基于 AI 的替代模型。

分支图将建模方法分为四类:基于 AI 的数据驱动建模方法、基于物理的建模方法 (Simulink/Simscape)、线性化建模方法 (LPV) 和基于模型的建模方法(FEA 状态空间)。

用于在 MATLAB 和 Simulink 中创建 ROM 的基于 AI 和非基于 AI 的方法。

现代汽车(美国)技术中心:用于电动汽车热管理的神经状态空间替代模型

现代汽车(美国)技术中心 (HATCI) 需要用于 Ioniq 5 AWD 热控制开发的仿真环境,该环境应该能够以固定时间步求解器运行,且速度超出实时。现有 GT-SUITE 参考模型对于迭代控制设计来说太慢,并且无法部署到其他仿真环境。

该团队在 MATLAB 和 Simulink 中重新构造整车:Simulink 中基于 MAP 的动力总成模型,以及 Simscape® 中覆盖电力电子和电池冷却液回路以及冷却剂回路的完整热系统。他们根据标准测功机循环和来自配备仪器的 Ioniq 5 的道路数据对模型进行验证,确认能耗与测量值相差在 1.3% 内。

冷却回路中的压缩机开关瞬变和膨胀阀动态特性产生刚性数值行为,导致使用固定时间步求解器时仿真失败。为解决此问题,团队使用在降阶建模器中训练的神经状态空间模型替换整个冷却剂回路。该 ROM 将系统温度、阀门位置和泵转速作为输入,并预测水冷凝器处的冷却剂温度。这是冷却剂回路与冷却系统其余部分之间的交互点。训练数据来自环境温度(20 至 35 摄氏度)下的 35 次道路驾驶事件,训练在不到一小时内完成。

车辆热管理系统的 Simscape 模型:显示电池和 PE 冷却液回路,重点展示 DD-ROM 和水冷凝器子系统。

热模型架构显示保留在 Simscape 中的电力电子和电池冷却液回路,以及替换为数据驱动 ROM 输出水冷凝器温度的冷却剂回路。(图片所有权:Hyundai America Technical Center, Inc.)

部署 ROM 后,Ioniq 5 模型使用 0.1 秒的固定时间步求解器,运行速度比实时快达五倍。在空调模式(30 摄氏度)和加热模式(-5 摄氏度)下针对测试数据的验证确认在整个工况范围内的准确度。 

八个验证图:比较车辆热系统中热参数的测试与仿真结果,包括电机、逆变器、油底壳、电池和冷却剂温度。

关键热组件(电机、电池、油回路、电力电子冷却液和冷却剂)在环境温度 30 摄氏度空调模式下的仿真与测量温度。(图片所有权:Hyundai America Technical Center, Inc.)

康明斯:用于发动机性能预测的神经网络替代模型

康明斯需要在发动机循环仿真期间预测 26 个发动机响应参数,如流量、温度、压力、扭矩和 NOx 排放量。使用第三方工具进行的现有三维到一维仿真运行速度超出实时 20 倍以上,对于迭代开发和标定来说太慢了。

康明斯印度团队使用 Deep Learning Toolbox™ 评估了两种方法。标准前馈神经网络(六个隐藏层,每层五个神经元)运行速度比实时快 1500 倍,但在温度预测上产生了不可接受的准确度,R 方值低至 0.85。一种具有丢弃层的长短期记忆 (LSTM) 增强架构对所有 26 个响应均实现了 0.95 以上的 R 方值,同时仍以比实时快 800 倍的速度运行。

条形图:显示六个发动机输出变量的 R² 值接近或高于 0.95,表明替代模型对排气流量、涡轮转速、温度、压力、扭矩和 NOx 具有高准确度。

条形图:比较 LSTM 模型在六个发动机响应参数(排气流量、涡轮转速、排气温度、峰值缸压、制动扭矩和发动机排放 NOx)上的 R 方值,均超出 0.95。(图片所有权:康明斯)

训练后的模型支持整个发动机开发工作流中的应用:实际驾驶排放建模、燃烧爆震检测、多模式发动机中的燃烧模式切换以及发动机标定。康明斯使用 Statistics and Machine Learning Toolbox™ 以及 Deep Learning Toolbox,并使用 Parallel Computing Toolbox™ 和 MATLAB Parallel Server™ 加速训练过程。

Subaru:用于变速器分析的神经 ODE 替代模型

Subaru 使用 Deep Learning Toolbox 构建神经常微分方程 (ODE) 替代模型,该模型可重现用于自动变速器控制分析的液压压力波形。该替代模型将源压力、油温和电流作为输入,并取代计算密集型的第三方一维物理仿真。

该神经 ODE 模型将计算时间减少了 99%,同时保持波形准确度,包括在训练数据未覆盖的油温范围内,展示超出原始训练数据的泛化能力。

关键要点

  • 用快速替代模型替换慢速高保真物理模型,这些替代模型可以使用基于 DOE 的查找表或 AI 架构(如 LSTM 和神经状态空间)构建;当没有组件模型时,直接根据测量数据标识动态模型。
  • 将这些替代模型集成到 Simscape 和 Simulink 中,用于系统级仿真和实时 HIL 测试,并在团队之间共享,而无需暴露原始模型中的知识产权。

虚拟传感器:估计难以测量的量

物理传感器并不总能放置在最需要测量值的位置。电机绕组热点位于叠片磁芯深处。大型电池包中的单个电芯温度无法在每个位置都检测到。废气成分沿后处理系统而变化。基于 AI 的虚拟传感器使用经过训练的模型根据汽车总线上已有的信号(电机转速、扭矩命令、冷却液温度、环境条件)估计这些量,用计算的测量值增强物理仪器,从而在不增加硬件的情况下提升可观测性和冗余度。

基于 AI 的虚拟传感器的设计空间范围从轻量级机器学习模型(如决策树和支持向量机)到深度学习架构(如 LSTM 和全连接网络),以及融合专业知识的物理信息神经网络 (PINN)。虚拟传感器也可以使用成熟的基于观测器的方法构建,如卡尔曼滤波器、滑动模式观测器和扩张状态观测器。在实践中,应针对这些传统方法评估基于 AI 的虚拟传感器,因为最佳选择可能在整个工作包络内有所不同。混合设计也是可能的:例如,AI 模型(如神经状态空间模型)可以用作扩展或无迹卡尔曼滤波器内部的预测模型。

物理信息模型约束 AI,使其行为与已知控制方程一致,从而提高稳健性和可解释性,但需要预定义所涉及的物理信息。纯数据驱动模型需要的领域特定设置较少,但对预测原因提供的深入了解较少,且对训练数据之外的有效工况的稳健性较差。

Schaeffler:用于电机的物理信息温度估计

Schaeffler 为一种采用新型直接绕组冷却方案的电机原型开发了虚拟传感器,其中多个内部位置的精确温度知识对于防止永磁体去磁至关重要。该团队没有为每个热点配备物理传感器,而是构建了一个热神经网络 (TNN),这是一种基于集总参数热网络的物理信息 AI 方法。

TNN 蕴含了一项核心工程原理:任何节点的温度变化都归因于局部功率损耗(产生的热量)和与节点间温差成正比的热流。神经网络估计每个时间步的功率损耗和热导。这些估计值馈入基于物理的更新方程中,推进温度状态。结果为一个混合模型:神经网络处理非线性参数估计,而更新方程强制实现在热力学上一致的行为。

合成图像显示一个 DISC-O 电机,具有标注的传感器测量点、集总参数热节点方程以及电机横截面的彩色热网络图。

Schaeffler DISC-O 电机,具有示例测量点,其中 PT100 温度传感器内置于原型中以收集训练数据(左),以及示例更新方程,该方程使用估计的功率损耗 P 和热导 C(通过神经网络获得),这些信息馈入基于物理的温度状态更新中(右)。(图片所有权:Schaeffler)

Schaeffler 使用 Deep Learning Toolbox 和自定义网络定义,基于来自原型上 12 个温度传感器的 300 小时行驶工况数据训练 TNN。训练在大约一个半小时内完成。经过训练的模型在所有 12 个传感器位置预测温度,准确度完全在 +/-5 摄氏度的要求范围内。TNN 在相同数据上优于纯 LSTM 和多层感知机方法。

除了准确度之外,TNN 还为生产部署提供三个实际优势:

  • 可解释性:工程师可以检查随时间学习的功率损耗和热导,从而验证热流模式和热源是否符合物理直觉。
  • 稳健初始化:即使初始温度偏离真实温度 20 摄氏度,模型也能在大约 300 秒内恢复,这对于初始条件未知的车辆启动至关重要。
  • 可变推断速率:基于一秒采样训练的模型在 5 秒或 10 秒间隔下也能准确执行,从而适应不同 ECU 调度约束而无需重新训练。
机器学习温度预测验证图:显示多个模型预测随时间与实际值的比较,以及比较两种模型变体的残差图。

温度结果:显示 TNN 对初始化误差(左)和不同采样时间(右)的稳健性。(图片所有权:Schaeffler)

雷诺汽车:使用深度学习估计排放量

雷诺汽车开发了基于 LSTM 的虚拟传感器,用于估计发动机输出的 NOx 排放量,覆盖 WLTC、NEDC 和 RDE 行驶工况等工况。现有的查找表方法仅能达到 60-70% 的准确度。基于物理的燃烧模型可以提高准确度,但对于实时 ECU 执行来说过于复杂。

最终架构(一个 LSTM 层、三个 ReLU 层、三个全连接层和一个回归输出)以发动机扭矩、转速、冷却液温度和挡位号作为输入。该团队使用 Deep Learning Toolbox 以迭代方式平衡网络深度与 ECU 内存约束,最终设计出以 85-90% 的准确度预测 NOx 的方案。

雷诺汽车使用 MATLAB Coder™ 和 Simulink Coder™ 从经过训练的网络生成 C 代码,作为 ECU 部署的概念验证。

关键要点

  • 根据汽车总线上已有的信号估计无法直接测量的各种量,在物理信息充分时选择物理信息网络,在不充分时选择数据驱动架构,同时权衡基于观测器的方法,如卡尔曼滤波器和混合方法。
  • 在部署之前,在整个工作包络内根据物理测量值验证虚拟传感器。

强化学习和高级控制

模型预测控制 (MPC) 和其他高级控制方法可以支持电动汽车控制问题,其中约束和工况变化大且约束很重要。MPC 非常适合具有约束的多输入多输出 (MIMO) 控制,包括电池热管理、热泵和冷却液回路协调、再生制动和扭矩混合以及监督能量管理。在 AI 赋能的工作流中,学习的预测模型可用于 MPC 控制器内部。其他基于学习方法和自适应方法可以在 MATLAB 和 Simulink 中实现,并且非常适合支持特定电动汽车开发工作流。

高级控制方法对电动汽车开发工作流的好处和用例

  虚拟参考反馈调节 (VRFT) 模型参考自适应控制 (MRAC) 自抗扰控制 (ADRC) 迭代学习控制 (ILC)
定义 根据输入-输出数据直接调节固定的 PI 或 PID 控制器 在线自适应以匹配期望响应,随着被控对象行为变化 控制估计和补偿未知负载变化的能力 从重复运行中学习以改进跟踪性能
优点 根据测量数据快速重新标定,无需重新构建被控对象模型 在不同工况下保持控制性能 在扰动难以预测时提高稳健性 在重复测试或运行状况中提高控制准确度
用例
  • 牵引电机转速环
  • DC-DC 电压环
  • 电子泵或电子压缩机热作动器
  • 牵引扭矩跟踪
  • HEV 中的发动机启动控制
  • 随 SOC、温度等变化的转换器调节
  • 电动驱动转速控制
  • 升压或双向转换器回路
  • 启动或坡度事件细化
  • 电池预条件序列
  • 重复行驶工况或测功机优化

本节其余部分重点关注强化学习 (RL)。当控制问题涉及太多耦合参数以致工程师无法手动推断最优策略时,强化学习尤其有用。混合动力和纯电动动力总成中的能量管理必须在不可预测的驾驶状况上平衡电池荷电状态、能量消耗和驾驶性。排放后处理标定需要调节 20 个或更多相互依赖的剂量调整图,以同时最小化 NOx、氨泄漏和试剂成本。这些是多目标优化问题,参数之间的交互使得通过手动方法难以推断有效的控制策略或最优标定。

强化学习通过让控制智能体与仿真环境交互、因期望行为获得奖励并以迭代方式改进其策略来训练智能体。当该环境是 Simulink 被控对象模型时,工程师可以针对经过验证的系统动力学训练强化学习智能体而无硬件风险,然后在部署到目标控制器之前,在桌面仿真和软件在环测试中评估学习到的策略。Reinforcement Learning Toolbox™ 提供基于值的算法(如深度 Q 网络 (DQN))、基于策略的方法(如近端策略优化 (PPO))以及执行器-评价器算法(如深度确定性策略梯度 (DDPG) 和软执行器-评价器 (SAC)),并与 Simulink 直接集成以针对被控对象模型进行训练。

由于强化学习智能体是针对被控对象的模型而不是物理系统进行训练,因此经过训练的策略必须对仿真与真实动力学之间的差异具有稳健性。域随机化等方法(在训练过程中会改变被控对象参数)有助于生成能够泛化到建模不确定性和真实变异性的策略。一旦通过验证,经过训练的策略就可以使用 Embedded Coder® 作为生成的 C/C++ 代码部署到嵌入式目标上。

Yanmar(美国):使用深度强化学习进行排放量标定

Yanmar(美国)需要满足 CARB Tier 5 排放标准,该标准要求 NOx 相比先前水平减少 90%。选择性催化还原 (SCR) 后处理系统的标定涉及 20 多个相互依赖的图,每个都影响 NOx 转换效率、氨泄漏和试剂消耗。此系统的手动标定需要超过 240 个工程小时,且没有系统化方法来确定结果是否最优。

Yanmar 与 MathWorks Consulting Services 合作,针对与第三方催化剂仿真软件耦合的 Simulink 模型训练深度 Q 网络智能体。该智能体通过最大化奖励函数,学习在整个工作包络内优化尿素剂量调整状况;该奖励函数对 NOx 排放与氨泄漏施加惩罚,同时力求减少试剂消耗量。每次训练运行约在 30 分钟内完成。

频域图:比较系统默认性能(黄色)与 AI 优化性能(蓝色),显示 AI 解决方案在特定频带内实现了显著降低的峰值。

Simulink 示波器截图:描绘使用 Yanmar 的系统默认值(黄线)与本项目开发的深度强化学习模型(蓝线)仿真时的 NOx 排放量。(图片所有权:Yanmar 美国分部)

强化学习智能体相对于基线标定将 NOx 排放量减少了 60%。它还找到了工程团队通过手动方法未发现的剂量调整策略。总标定时间减半,总项目小时数减少 30%,成本比手动标定过程低 41%。该项目在六个月内完成。

Schaeffler:使用深度强化学习进行动力总成控制

Vitesco Technologies(现为 Schaeffler 的一部分)应用强化学习为废气后处理系统开发控制策略。在创建由发动机和废气系统组成的被控对象的详细 Simulink 模型后,该团队使用 Reinforcement Learning Toolbox 来原型化和优化强化学习智能体,这些智能体基于当前系统状态做出实时控制决策。

关键要点

  • 当控制问题被约束、重复场景或变化工况主导时,采用高级控制方法;当耦合参数使得最优策略难以按照分析方式推断时(如在排放标定或能量管理中),采用强化学习。
  • 当真实的故障数据稀缺时,可以使用来自基于物理的 Simscape 模型的合成数据进行补充,并通过 MATLAB Production Server 和 MATLAB Web App Server 将生成的模型扩展至生产环境。

异常检测和预测性维护

电动汽车从电池、电机、逆变器和热系统生成大量运行数据。这些子系统中的每个子系统都会随时间退化:电池电芯损失容量或产生导致电池老化或热失控的条件,电机轴承磨损,电力电子设备经历热疲劳。退化模式通常可以在组件远未失效时就在传感器数据中检测到。基于 AI 的异常检测识别出任何单个传感器单独无法标记的、偏离预期行为的偏差,通常是作为跨相关信号(如电芯电压和电流以及温度)的多元模式。剩余使用寿命 (RUL) 估计预测何时需要维护,从而实现基于状态的维护调度,而不是固定间隔服务。

这些能力可以部署在数据管道的不同点上。基于边缘的模型直接在车载计算机上运行,本地处理传感器数据以进行实时故障检测。基于云的模型聚合车队数据进行更深入的分析、趋势检测和模型再训练。一些系统结合使用两者:边缘模型在车载端标记异常并提取特征,然后将压缩的特征数据传输到云进行车队级分析和 RUL 估计。云托管模型也可以随着车队的服役时间推移而增量自适应,随着系统在其使用寿命期间逐渐退化,更新“正常”的定义。

大多数异常检测模型仅基于正常运行数据训练,这意味着它们学习健康行为的样子,并标记偏差,而无需每种可能故障模式的标注示例。这种无监督方法规避了一个长期存在的困难:车辆设计为不出现故障,因此真实的故障数据集很小且不平衡。当 RUL 估计或故障分类需要标注的故障数据时,在 Simscape 中构建的数字孪生可以仿真退化场景和故障条件,从而生成合成训练数据以增强有限的真实观测值。

Tata Consultancy Services:面向软件定义汽车的分布式预测性维护

Tata Consultancy Services (TCS) 为车辆预测性维护开发了一种分布式机器学习架构,将 AI 模型部署到车载边缘计算机和 Microsoft Azure 上的云基础架构中。该系统处理来自多个动力总成子系统的数据,检测异常、对故障类型分类,并从传感器时间序列数据中提取诊断特征。

TCS 团队使用 Predictive Maintenance Toolbox™ 中的诊断特征设计器从原始传感器信号中提取特征并对其进行排序,然后使用 Statistics and Machine Learning Toolbox 训练分类模型和回归模型。边缘部署模型在车辆上执行初始异常检测,从而减少传输到云的数据量。云托管模型处理车队级聚合和计算密集度更高的分析。

预测性维护的系统架构:显示从车辆资产数据通过边缘处理、MATLAB Production Server 和 Docker 容器到 OT/IT 仪表板(用于剩余使用寿命估计)的管道。

示意图:展示 TCS 使用 MATLAB 和 Simulink 从存档数据创建模型和算法的工作流,以及将这些算法部署到边缘系统和云托管模型(使用 Docker)的过程。(图片所有权:Tata Consultancy Services)

这种架构通过尽可能本地处理数据来降低云计算成本,同时保留在云中进行车队级模式识别的能力。TCS 使用 MATLAB Production Server™ 在 Azure 上部署云组件,并使用 MATLAB Web App Server™ 构建 Web 界面。

HL Mando:面向自动驾驶汽车组件的预测性维护

HL Mando 开发了“智能实验室”系统,它将所连接的测试平台和物联网监控与 AI 驱动的预测性维护相结合,用于 X-by-wire 转向和制动系统等自动驾驶汽车组件测试设备。从实际车辆收集寿命和退化数据需要数年时间,因此该团队在自定义的内部测试平台上实现了加速寿命测试,在与实际里程相关的受控工作循环(负荷循环)下加载和卸载组件。。

测试平台组件的 Simscape 数字孪生支持控制算法的开发,并提供并行虚拟数据路径,用于与实际测试数据同时进行仿真和调节。边缘计算机从实时测试平台数据中提取特征并训练 AI 模型,而使用 MATLAB Production Server 构建的基于 Web 的平台显示实时状态监控和 RUL 估计。该团队应用基于 AI 的相似性和退化模型分析,以及在具备疲劳机制工程知识的情况下,对生存模型采用物理失效方法(Miner 法则)。

用于横拉杆 RUL 估计的五阶段机器学习管道,包括数据采集、预处理、特征提取、模型训练和 RUL 部署,并附有预测退化输出图。

HL Mando 使用 Predictive Maintenance Toolbox 开发 AI 驱动的 RUL 估计的工作流。(图片所有权:HL Mando)

关键要点

  • 在边缘运行异常检测可实现实时故障检测,在云中运行可实现车队级分析和剩余使用寿命估计,其方法是使用诊断特征设计器从原始传感器数据中自动提取特征。
  • 针对经过验证的 Simulink 被控对象模型训练强化学习智能体,然后在将其提交到硬件之前,在桌面和软件在环仿真中评估学习到的策略。

嵌入式 AI:验证 AI 并将其部署到生产 ECU

在工作站上表现良好的经过训练的神经网络,并不能保证它能在汽车嵌入式硬件上运行,也无法保证它在所有工况下的行为都正确。从经过训练的网络到嵌入式部署的路径需要压缩、验证和代码生成,并在每个阶段以迭代方式应用验证。

嵌入式部署工作流从 AI 模型压缩开始,使用量化、投影和剪枝等方法,可减少内存占用量并提高推断性能。接下来是在 Simulink 系统模型中仿真压缩后的 AI 算法,并在任何硬件投入之前测试与周围组件的集成。

然后,代码生成为目标硬件生成优化的 C/C++。在这整个过程中,验证确认压缩和量化没有将模型行为降低到可接受限度之外。Deep Learning Toolbox、Fixed-Point Designer™ 和 Embedded Coder 在 MATLAB 和 Simulink 中支持此工作流。

许多汽车团队也从在开源框架(如 PyTorch)中训练的模型开始。这些模型可以导入到 MATLAB 和 Deep Learning Toolbox 中,以进行压缩、Simulink 集成、验证和部署。对于较大的模型或具有非标准层且难以实际导入的模型,代码生成工作流可以提供从 PyTorch 训练模型到可部署 C/C++ 代码的另一条路径。

AI 验证

随着 AI 模型进入安全关键型汽车系统,如电池管理和电机控制,验证不能仅限于基于测试数据的准确度,还必须扩展到更大的范围。神经网络无法保证在对抗输入、分布外工况或训练集中未表示的边缘情形下的行为都正确。汽车标准(如 ISO/PAS 8800)帮助工程师构建应对这些风险的安全保证声明。

W 形开发过程通过增加机器学习特有的验证活动,对传统 V 模型加以改造以适用于 AI 组件。稳健性测试(针对输入扰动)、分布外检测、网络属性验证和可解释性分析等活动,可以验证模型行为与工程意图一致。此过程适用于 AI 生命周期的每个阶段:从初始模型训练到模型压缩、代码生成和部署。

AI Verification Library for Deep Learning Toolbox 通过以下功能支持此工作流:

  • 稳健性验证:测试 AI 模型对输入扰动和对抗样本的灵敏度。估计输出边界以确认小的输入变化不会产生大的、意外的预测误差。
  • 运行时监控:创建分布判别器,这些判别器在部署的模型遇到其训练分布之外的输入时进行检测,使系统能够标记不确定的预测或回退到常规算法。
  • 可解释性:使用 Grad-CAM 和 D-RISE 等方法可视化哪些输入驱动模型预测。
  • 有约束深度学习:将领域特定约束集成到网络训练中,以通过构造强制实施物理或安全边界,而不仅仅依赖训练后验证。

梅赛德斯-奔驰汽车公司的印度研发中心:使用神经网络压缩和量化提升座舱舒适性

梅赛德斯-奔驰汽车公司的印度研发中心 (MBRDI) 开发了车载虚拟传感器,用于实时估计座舱空气质量流量,以实现热舒适、湿度调节和空气质量控制。较早的基于云的方法会带来延迟、带宽成本和隐私问题。该团队需要 AI 模型直接在车辆 ECU 上运行。

原始的经过训练的网络对目标硬件来说太大。MBRDI 应用了神经网络投影,这是一种压缩方法,可识别并删除冗余神经元,同时保留网络的预测准确度。压缩后,团队使用 Fixed-Point Designer 应用 8 位量化,将其余的权重和激活从 32 位浮点数转换为 8 位整数。然后,Embedded Coder 从压缩后的量化模型生成 C/C++ 代码以便部署到 ECU。

使用 MATLAB 工具跨四个阶段(数据采集和 NN 训练、优化和量化、代码生成以及 ECU 性能验证)的嵌入式 AI 开发工作流与传统 MBD 工作流进行对比。

梅赛德斯-奔驰汽车公司嵌入式 AI 工作流:显示从经过训练的神经网络到神经网络投影(压缩)、8 位量化 (Fixed-Point Designer)、C/C++ 代码生成 (Embedded Coder) 以及部署到 ECU 的过程。(图片所有权:梅赛德斯-奔驰汽车公司的印度研发中心)

结果:与先前基于物理的模型相比,虚拟传感器使均值绝对误差减少 50%,而目标 ECU 上的 RAM 使用量仅增加 1%。该模型完全车载运行,无需云连接。

梅赛德斯-奔驰汽车公司:将自动化定点转换用于动力总成虚拟传感器

梅赛德斯-奔驰汽车公司部署了深度神经网络,用于在生产动力总成 ECU 上直接估计缸内压力,该微控制器不支持浮点运算或标准深度学习框架。该团队使用 Python 中的 QKeras 库训练量化 LSTM,然后使用 Deep Learning Toolbox 将网络导入 MATLAB 中。Fixed-Point Designer 将模型从浮点转换为定点表示,团队在移交给 ECU 集成之前在 Simulink 中验证准确度。

先前的手动定点转换过程需要数周工作且容易产生抄写错误,与之相比,自动化工作流将开发速度提高了 600%。该管道已适配至两种不同的动力总成控制器并扩展到其他神经网络架构,包括 GRU 和全连接网络。

关键要点

  • 通过下列方法为嵌入式部署准备经过训练的 AI 模型:从 MATLAB 或外部框架(Python、QKeras、TensorFlow™)导入网络,使用投影或剪枝进行压缩,并将其量化为 8 位或定点表示以减少内存使用量和执行时间。
  • 验证模型(通过将压缩和量化后的模型与原始模型在 Simulink 中进行比较,评估其在对抗和分布外条件下的行为,并应用运行时监控),然后使用 Embedded Coder 生成生产 C/C++ 代码。

结束语

本文描述的方法:降阶模型、系统辨识、虚拟传感器、强化学习和异常检测,已集成到基于模型的设计中,涵盖从被控对象建模到控制设计和部署的整个过程。工程师可以直接在 MATLAB 和 Simulink 中训练 AI 模型,或导入在 TensorFlow、PyTorch 和其他开源框架中训练的网络。无论模型源自何处,MATLAB 和 Simulink 都为模型压缩、验证和生产 ECU 代码生成提供统一的工作流。

本文的案例研究表明,用于电动汽车开发的 AI 正在成功应用于当今的生产项目。团队已实现 800 倍的仿真加速、速度提升 600% 的部署工作流,以及优于手动标定的控制策略。这些结果可以通过基于模型的设计在现有工作流中实现,为使用基于模型的设计的工程师提供一条从训练模型到经过验证并部署代码的清晰路径。