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的使用攻略和相关专业学科原理的应用等信息,欢迎继续关注我们的后续推送!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/754985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【开发】SpringBoot 整合 Redis

目录 前言 1. Redis 的下载及安装 1.1 Redis 的下载 1.2 安装 Redis 1.3 启动 Redis 2. 创建 SpringBoot 项目整合 Redis 2.1 环境要求 2.2 SpringBoot项目构建 2.2.1 方式一 2.2.2 方式二 2.3 在 pom.xml 文件中导入依赖坐标 2.4 在 application.properties 中加…

定位线上最耗CPU的线程

定位线上最耗CPU的线程 准备工作 启动一个程序。 arthas-demo是一个简单的程序&#xff0c;每隔一秒生成一个随机数&#xff0c;再执行质因数分解&#xff0c;并打印出分解结果。 curl -O https://alibaba.github.io/arthas/arthas-demo.jar java -jar arthas-demo.jar[root…

组建公司办公网络

一 认识网络传输介质的分类 网络传输介质主要分为有线传输介质和无线传输介质两大类&#xff0c;它们在网络建设和数据传输中扮演着至关重要的角色。下面是这两类传输介质的详细分类&#xff1a; 有线传输介质 双绞线&#xff08;Twisted Pair&#xff09;&#xff1a;这是最…

【Web】浅聊Hessian反序列化之打Spring AOP——JNDI

目录 前言 简单分析 EXP 前言 前文&#xff1a;【Web】浅聊Java反序列化之Rome——关于其他利用链-CSDN博客 前文里最后给到一条HotSwappableTargetSource利用链&#xff0c;就是我们今天PartiallyComparableAdvisorHolder链子的前半段(触发恶意类的toString方法)&#xf…

Redis中的String编码转换底层原理及6.0新特性

String编码转换底层原理 String对象为什么把大于39字节或者44字节的字符串编码为raw&#xff0c;小于的时候编码为embstr? 在Redis3.2以前的版本中,SDS作为字符串类型中存储字符串内容的结构&#xff0c;源码如下&#xff1a; 3.2版本SDS结构 struct sdshdr {// 记录buf数…

【深度学习实践】面部表情识别,深度学习分类模型,mmpretrain用于分类的实用教程,多任务网络头

文章目录 数据集数据集的进一步处理转换training.csv转换validation.csv 剔除无法使用的图片数据选择mmpretrain框架来训练配置四个文件改写base model改写base datasetsschedulesdefault_runtime 总配置开始训练训练分析考虑在网络上增加facial_landmarks回归head考虑是否可以…

B树B+树,字典树详解,哈夫曼树博弈树

目录 B树&#xff1a;B-Tree B树 字典树&#xff1a;Trie Tree 哈夫曼树 博弈树 B树&#xff1a;B-Tree 多路平衡搜索树 1.M阶B树&#xff0c;就是M叉&#xff08;M个指针&#xff09;。 2.每个节点内记录个数<M-1。 3.根节点记录个数>1。 4.其余节点内记录个数&…

人工智能技术的不当利用与风险

目录 前言1 视频篡改技术的滥用1.1 虚假信息传播与社会动荡1.2 对公众信任的破坏与舆论混乱 2 隐私泄露与监视风险2.1 个人信息安全与数据滥用风险2.2 社会稳定与个人自由权利的平衡 3 虚假评论与信息传播3.1 舆论操纵与社会意识形态的影响3.2 对信息可信度与公众信任的威胁 结…

【Linux】进程---概念---进程---优先级

主页&#xff1a;醋溜马桶圈-CSDN博客 专栏&#xff1a;Linux_醋溜马桶圈的博客-CSDN博客 gitee&#xff1a;mnxcc (mnxcc) - Gitee.com 目录 1.操作系统(Operator System) 1.1 概念 1.2 设计OS的目的 1.3 定位 1.4 如何理解 "管理" 1.5 总结 1.6 系统调用和…

蓝桥杯刷题总结(Python组)

1、蛇形矩阵 解题思路&#xff1a;每次赋值后都对方向进行改变&#xff0c;一般上下左右就是&#xff08;-1&#xff0c;0&#xff09;&#xff0c;&#xff08;0&#xff0c;1&#xff09;&#xff0c;&#xff08;1&#xff0c;0&#xff09;&#xff0c;&#xff08;0&…

智慧城市物联网建设:提升城市管理效率与居民生活品质

目录 一、智慧城市物联网建设的意义 1、提升城市管理效率 2、改善居民生活品质 3、促进城市可持续发展 二、智慧城市物联网建设面临的挑战 1、技术标准与互操作性问题 2、数据安全与隐私保护问题 3、投资与回报平衡问题 三、智慧城市物联网建设的实施策略 1、制定统一…

Linux下安装多个nodejs并映射Jenkins

背景 需要Jenkins中切换多个Node&#xff0c;比如nodejs16和nodesjs18,所以在宿主机按照好这两个版本&#xff0c;然后再映射到Jenkins容器中 步骤 1.下载地址 https://nodejs.org/dist/ 放到 cd /opt/soft/2.解压 tar -xzvf node-v16.20.0-linux-x64.tar.gz tar -xzvf n…

STM32F4+薄膜压力传感器(FSR)AO模拟输出程序ADC模数转换器详解

前言&#xff1a;博主在使用STM32F4加薄膜压力传感器用来测量压力时&#xff0c;发现给的例程只有STM32F1系列的&#xff0c;而STM32F4系列库函数程序不太一致&#xff0c;博主实战解决了该问题&#xff0c;用STM32F4标准库开发。有关ADC模数转换器的详细知识点详情点击我的博文…

ChatGPT是什么,怎么使用,需要注意些什么?

一、ChatGPT 是什么&#xff1f; ChatGPT&#xff0c;全称聊天生成预训练转换器&#xff08;Chat Generative Pre-trained Transformer&#xff09;&#xff0c;是 OpenAI 开发的人工智能(AI)聊天机器人程序&#xff0c;于2022年11月推出。该程序使用基于GPT-3.5、GPT-4架构的…

基于java+springboot+vue实现的旅游信息管理系统(文末源码+Lw+ppt)23-464

摘 要 本系统为用户而设计制作旅游信息管理系统&#xff0c;旨在实现旅游信息智能化、现代化管理。本旅游信息管理自动化系统的开发和研制的最终目的是将旅游信息的运作模式从手工记录数据转变为网络信息查询管理&#xff0c;从而为现代管理人员的使用提供更多的便利和条件…

【C语言】空心正方形图案

思路&#xff1a; 1&#xff0c;两行两列打印* &#xff1a;第一行和最后一行&#xff0c;第一列和最后一列。 2&#xff0c;其他地方打印空格。 代码如下&#xff1a; #include<stdio.h> int main() { int n 0; int i 0; int j 0; while (scanf("…

centos创建并运行一个redis容器 并支持数据持久化

步骤 : 创建redis容器命令 docker run --name mr -p 6379:6379 -d redis redis-server --appendonly yes 进入容器 : docker exec -it mr bash 链接redis : redis-cli 查看数据 : keys * 存入一个数据 : set num 666 获取数据 : get num 退出客户端 : exit 再退…

GaussDB分区表自动新增分区

前言 GaussDB是华为自主研发的企业级分布式关系型数据库&#xff0c;支持集中式和分布式两种部署方式。为企业提供了高可用&#xff0c;高可靠&#xff0c;高安全等能力&#xff0c;其产品全栈自研&#xff0c;并且具有完善生态工具和开源社区。在实际去O的项目过程&#xff0…

自己录的视频怎么配上字幕?推荐几种方法

自己录的视频怎么配上字幕&#xff1f;在数字化时代&#xff0c;视频已经成为人们获取信息、娱乐消遣的重要形式。而对于许多内容创作者来说&#xff0c;为自己的视频添加字幕不仅能提升观众的观看体验&#xff0c;还能增加视频的专业度和吸引力。那么&#xff0c;如何为自己的…

MM1: Methods, Analysis Insights from Multimodal LLM Pre-training

MM1: Methods, Analysis & Insights from Multimodal LLM Pre-training 相关链接&#xff1a;arxiv 关键字&#xff1a;多模态学习、大型语言模型、预训练、视觉语言连接、混合专家模型 摘要 本文讨论了构建高性能的多模态大型语言模型&#xff08;MLLMs&#xff09;。特别…