AI赋能:加速MWORKS.Sysplorer仿真设计的新途径

近年来,人工智能技术的应用逐渐兴起,为仿真领域带来了新的机遇。随着现代工程系统的复杂性日益增加,MWORKS.Sysplorer作为一种广泛应用于系统仿真和设计的工具,面临着模型日益庞大和计算资源有限的挑战。为了解决这一问题,人工智能(AI)技术正被应用于仿真领域,为MWORKS.Sysplorer模型仿真与设计提供了一种创新途径。通过AI赋能仿真技术,可以在保持模型精度的同时,显著提高仿真速度和计算效率,从而缩短产品研发周期,降低成本,提高企业的竞争力。

在AI赋能仿真领域,ROM(Reduced-Order Modeling,模型降阶)是一种用于简化复杂系统模型的技术。在MWORKS.Sysplorer最新集成的模型降阶及融合仿真工具箱中,支持场模型降阶(关于空间离散的偏微分方程仿真求解)和系统模型降阶(关于微分代数方程组仿真求解),此前推送已介绍过场模型降阶相关内容,本文主要通过速度跟随工况案例,来介绍AI赋能系统仿真领域设计的新途径。它通过减少模型的维数或复杂度,同时尽量保留其关键动力学特性,从而提高计算效率和仿真速度。

图片

在本节中,将通过一个案例研究来展示AI赋能仿真技术在MWORKS.Sysplorer模型仿真与设计中的实际应用。案例聚焦于车辆控制设计中常见的速度跟随工况。该工况在自动驾驶控制策略的过程中,需要经过模型在环MIL与硬件在环HIL测试。

动力学模型在验证控制策略时,常会遇到物理模型仿真达不到理想速度的状况,例如动力学闭环控制工况中,驾驶员需要根据预定的速度和路径操纵车辆行驶,此时系统模型往往由于引入闭环控制产生了非线性系统,在部分工况输入值突变的情况下,非线性系统的迭代造成的计算开销会导致仿真效率降低。对于HIL应用场景,模型需保证在定步长求解条件下的全工况范围实时性,因此需在不改变求解步长的情况下平衡计算效率和精度,以实现HIL环境的控制算法测试等场景。

如何在提高车辆控制设计中速度跟随工况的性能的同时确保系统的实时性和计算效率成为仿真技术中的关键问题。在模型部署到硬件在环系统时,为提升模型的仿真速度,首先对实物模型进行降阶训练,简化物理模型,随后将降阶的物理模型进一步生成为高效的C代码,在MWORKS.Sysplorer中进行后续的仿真验证,最后部署到硬件环境中可达到半物理实时性要求。

图片

图1 从试验设计到硬件部署

物理模型含有大量非线性计算,仿真效率低、资源占用率高,模型降阶代替物理速度跟随模型的优势在于:

  • 实时性:速度跟随控制需要快速响应车辆的速度变化,因此,仿真模型必须能够在短时间内完成计算。

  • 解决计算资源限制:车辆上搭载的嵌入式系统计算资源有限,无法处理过于复杂的模型。

  • 模型精度与效率的平衡:简化模型需要在不牺牲太多精度的前提下进行,以确保控制策略的有效性。

常规构建降阶模型的方法有神经网络、响应面方法等。根据动力学特性,本案例采用长短期记忆(LSTM)神经网络方法构建降阶模型LSTM-ROM,并将其替换汽车传动系统、车身模型以及制动系统等物理模型。

图片

图2 速度跟随物理模型

该模型模拟了一个单电机电车速度跟随工况的动力学特性,其包括一个速度跟随驾驶员模型、驱动电机模型和纯电车车辆架构模型,其中车辆架构模型包括传动结构模型、车身模型与制动系统。仿真开始后,驾驶员模型根据当前车速和目标车速的差值,采用PID控制算法动态调整加速踏板与减速踏板行程,从而改变驱动系统输出扭矩,达到速度追踪的目的。

在MWORKS.Sysplorer模型降阶及融合仿真工具箱中训练LSTM-ROM,将制动踏板行程信号和车辆驱动电机力矩作为输入,将车身的加速度和车辆驱动电机角位移作为输出,最后用ROM模型计算产生的加速度通过积分算法,计算出传递的速度。 

图片

图3 输入输出参数

模型输入输出物理意义:

  • 制动踏板行程信号 brk [0-100%]

  • 车辆驱动电机力矩 trq[N.m]

  • 车辆纵向加速度 a [m/s²]

  • 车辆驱动电机角传动轴转角 y [rad]

  • 车身姿态俯仰角 pitch [rad]

图片

确保训练得到的LSTM-ROM具有可靠性,使用原速度跟随模型在试验设计工具箱(Model Experiment Tool)中进行批量仿真,生成高保真的训练数据;随后使用MWORKS.Sysplorer最新集成的模型降阶及融合仿真工具箱(模型降阶及融合仿真工具箱ROM Builder Toolbox,是面向数字孪生工程的中的一三维联合仿真、机理数据融合的模型转换生成工具箱,打通了三维场仿真与系统仿真、数据模型仿真与系统机理模型仿真的壁垒,广泛适用于航空、航天、船舶、核工业、智能制造、智能家电等领域。)用动态模型降阶方法将高维非线性的复杂模型展开为线性叠加模型,并通过截断高阶量保留低阶量,最大程度上的利用已知机理和已知实验数据,重构生成新模型的仿真方法进行训练;将复杂被控对象模型转换为实时仿真数据模型。同元软控研发的系统建模仿真环境MWORKS.Sysplorer及模型降阶及融合仿真工具箱向广大用户提供了一套国产化方案。

具体流程如图所示:

图片

图4 MWORKS ROM Builder工具箱使用流程图

MWORKS.Sysplorer模型依赖于工作区变量终止时间和时间步长之间的间隔,分别指定模拟的最后时间步长和输出时间步长之间的间隔。模拟的初始时间为0,时间步长为0.01。

图片

图5 仿真设置

在训练该模型的过程中,使用目标速度在实际仿真过程中的制动踏板行程与车辆驱动电机力矩,但发现训练效果较差,于是考虑在制动踏板行程与车辆驱动电机力矩给定区间内,输入动态变量作为输入值,且制动踏板行程与车辆驱动电机力矩由下述公式决定:

(1-1)

  \begin{cases} y_1 = u_{10} + u_{11} *\sin(time) \\ y_2 = u_{20} + 10u_{21}\end{cases}

其中,y_{1}是制动踏板行程,取值在闭区间[0,1], y_{2}是车辆驱动电机力矩,值的范围是[0,-500]。

图片

图6 DOE参数设置

运行该模型,如图6所示,对于u_{10}在0到-100区间内按照20的等差分别取6个不同的参数值,另外在取-200、-300、-400、-500较大区间参数值;对于u_{11}u_{20}u_{21}取-1、1进行模拟,得到排列组合后的仿真变量组合进行批量仿真。

图片

图7 设计矩阵

注意:批量仿真过程中,有时因为一些参数设置不合理,发生例如除零事件,可能会导致设置的某一条参数仿真失败。

图片

图8 仿真失败提示

建议在发现此类错误后,检查输入范围,修改输入参数,避免出现仿真失败影响数据获取。

批量仿真结束后,导出仿真成功的输出数据至对应csv文件中,其中仿真实例集中的四个参数是公式(1-1)的四个变量,选择变量浏览器中的参数导出至各自对应的文件中,在模型降阶工具箱中,随机选择70个文件用于训练,2个文件用于检验。

图片

图9 求解设置

选择好训练文件后,需要去设置训练参数,用批量仿真得到的数据训练LSTM神经网络,导入数据后根据模型需要选择对应的预测变量和目标变量放入LSTM中进行训练,除前文说明的输入外,由于在进行连续变化输入参数进行批量仿真时,引入了时间变量,将时间变量同输入参数一起作为预测变量进行训练,而目标变量是加速度、扭矩、phi。

图片

图片

图 10 模型求解设置

在模型训练参数设置时,使用RMSprop优化器,RMSProp算法不是像AdaGrad算法那样暴力直接的累加平方梯度,而是加了一个衰减系数来控制历史信息的获取多少进行迭代;将预测变量和目标值归一化,更好地拟合并防止训练发散;使用SmoothL1Loss损失函数作为目标函数优化方向,使得回归效果更好,SmoothL1Loss公式如下:

假设x为预测值与真实值之间的数值差异,则

(1-2)

  smooth_{L1}(x) = \begin{cases} 0.5x^2, & \text{if } |x| < 1 \\ |x| - 0.5, & \text{otherwise}\end{cases}

显然SmoothL1Loss相比L1Loss改进了零点不平滑的问题,相比于L2Loss,在较大的时也不会同L2一样对异常值敏感,是一个缓慢变化的loss。

为改善训练效果,使用自适应学习率;在图形中显示训练进度,防止冗长输出;MWORKS ROM Builder支持GPU,如果有可用的GPU,使用GPU进行训练可减少训练时间。

图 11 模型损失计算曲线

计算过程中的损失下降曲线如图所示,在训练过程中损失值不断向0靠近。

为了在MWORKS.Sysplorer中有效利用已经训练好的LSTM模型,我们可以借助模型降阶及融合仿真工具箱的导出功能,将降阶模型导出为MWORKS.Sysplorer可以仿真的mo模型。接着,打开MWORKS.Sysplorer,在单电机电车速度跟随工况模型中,将车辆架构模型(包括传动结构模型、车身模型与制动系统)替换为训练好的ROM-LSTM模型。之后给出与原模型同样的输入信号(另外增加时间信号),并指定与生成训练数据时使用的相同的采样时间。在模型训练完成后,将更换为LSTM-ROM组件模型的输出与原始MWORKS.Sysplorer模型生成的输出参数进行比较即可。

下图展示了在MWORKS.Sysplorer模型中用LSTM-ROM子组件替换物理组件的过程。

图片

图12 速度跟随物理模型

图片

图13 LSTM降阶模型

为了进一步提高速度跟随的准确性,使用两个降阶模型进行仿真。模型A(上方降阶模型)负责输出除加速度外其他变量,模型B(下方降阶模型)负责输出计算加速度。更换车辆架构模型为降阶模型,与原始模型进行同样的仿真设置,可以明显发现仿真速度明显提升。

图片

降阶模型与目标跟随速度的对比,红色的降阶模型曲线与蓝色目标车速曲线,基本在3秒之后就达到跟随10m/s,完成速度跟随效果:

图片

 图14 目标速度对比输出对比

继续尝试改变目标速度:

图片

图片

图15 更改目标速度输出对比

图15中,蓝色是原物理模型仿真结果,红色是替换为ROM-LSTM后的仿真结果,可以看出在修改目标车速后,同原始模型速度跟随花费时间类似,与之速度跟随效果基本相同。

之后对比案例的车身姿态俯仰角的误差。从仿真结果来看,进行初始化的前两秒,由于数据波动较大,曲线拟合较差,但在稳定之后,数值差距很小,达到预测目标。

图片

图16 车身姿态俯仰角对比

在仿真时间开销方面,原始速度跟随模型在仿真开始时间0秒,积分算法采用Dassl,积分步长是0.01秒,仿真20秒,需要等待64.538秒,而将车辆架构模型替换为ROM-LSTM模型后,在同样的仿真设置下,仿真时间为0.493秒仿真时间几乎减少了160倍。

图片

图17 原始模型与降阶模型仿真时间开销对比

在本案例中,由于降阶模型的输入与输出之间存在环形结构,即输出参数经一些非线性变化会影响输入至模型的参数大小,模型非线性程度较高,对结果的预测可能会出现一些误差累积。可以考虑继续降低原模型非线性程度,以达到更好的预测效果。

图片

本案例研究表明,AI赋能的仿真技术为MWORKS.Sysplorer模型仿真与设计带来了显著的优势,特别是在处理实时性和计算效率挑战方面成效显著。通过结合深度学习和模型降阶技术,工程师们能够快速、高效地开发出适用于自动驾驶速度跟随工况的控制策略,推动自动驾驶技术的进步。

利用AI的先进算法,模型降阶在大幅度提高了仿真计算速度的同时,还保留了必要精度,能够更快地迭代设计,更深入地分析系统行为,从而更有效地处理实际工程中的挑战。这些创新方法的应用,不仅缩短了产品从设计到市场的周期,还为工程领域带来了新的研究方向和解决方案,推动了整个行业的技术进步和创新发展。

MWORKS.Sysplorer为上述AI赋能仿真建模提供了试验设计、模型降阶及融合仿真工具箱。后续我们还将推出更多技术文章,介绍MWORKS.Sysplorer的使用攻略和相关专业学科原理的应用等信息,欢迎继续关注我们的后续推送!

相关推荐

  1. AI写作:探索设计模式魅力

    2024-03-20 15:34:12       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-20 15:34:12       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-20 15:34:12       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-20 15:34:12       82 阅读
  4. Python语言-面向对象

    2024-03-20 15:34:12       91 阅读

热门阅读

  1. C 作用域规则

    2024-03-20 15:34:12       43 阅读
  2. C 语言string.h常见函数用法

    2024-03-20 15:34:12       43 阅读
  3. vue2 实战:作用域插槽

    2024-03-20 15:34:12       43 阅读
  4. Linux -- 常用命令积累

    2024-03-20 15:34:12       43 阅读
  5. 【Cesium】根据相机距离隐藏或显示模型

    2024-03-20 15:34:12       43 阅读
  6. Vue2 和Vue3 双向数据绑定的区别和原理

    2024-03-20 15:34:12       42 阅读
  7. Leetcode-03-无重复字符的最长子串

    2024-03-20 15:34:12       43 阅读
  8. 我的自建博客之旅03之vuepress和Vitepress

    2024-03-20 15:34:12       42 阅读
  9. kill死锁(当你找不到sessionid的时候)

    2024-03-20 15:34:12       34 阅读
  10. 用python实现华容道小游戏

    2024-03-20 15:34:12       40 阅读
  11. Selenium WebDriver提供By.CSS_SELECTOR定位元素方法

    2024-03-20 15:34:12       41 阅读