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 中加…

编辑命令行提示符 prompt,支持显示 git 分支、标签等信息

实时在 Linhieng/current–Microsoft.PowerShell_profile.ps1 上更新 打开 $Profile 文件&#xff0c;将下面内容粘贴到其中即可&#xff1a; <# 负责打印 git 分支相关信息支持输出以下信息&#xff1a;当前分支&#xff0c;或者是 hash 值当前目录是否为 git 子目录当前…

定位线上最耗CPU的线程

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

计算机网络的组成

目录 <计算机网络的组成> 1.网络硬件 1)主机Host 2)终端Terminal 3)通信控制处理机 4)传输介质 5)网络连接设备 2.网络软件 1)网络操作系统 2)网络协议软件 3)网络管理软件 4)网络通信软件 5)网络应用软件 3通信子网和资源子网 <计算机网络的组成> 无…

组建公司办公网络

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

PHP与Spring Boot在实现功能上的比较

原文地址&#xff1a;PHP与Spring Boot在实现功能上的比较 - Pleasure的博客 下面是正文内容&#xff1a; 前言 最近在学Spring Boot后端框架&#xff0c;在功能实现上发现了与PHP存在着一定的可比性。 这篇就单独拎出来进行比较一下。 正文 就例举一些功能上的重叠以及大致的…

【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数…

华岳M9制造企业管理软件业务流程 2/4

华岳M9制造企业管理软件业务流程 2/4 步骤3 初始一、应收账款初始余额二、应付账款初始余额三、出纳账项初始余额四、会计账项初始余额五、盘点入库六、存货细目七、存货属性设置八、存货存量控制九、存货价格管理十、月末处理 步骤4 技术一、存货目录二、存货细目三、仓库绑定…

nginx代理服务器配置

nginx代理服务器配置 需要配置环境需求 1、一台1.1.1.1服务器&#xff0c;一台2.2.2.2服务器 前端包路径在1.1.1.1 /etc/dist 下 后端服务在2.2.2.2 上 暴露端口为9999 2、需求 现在需要访问 1.1.1.1:80访问到2.2.2.2 上面的9999后端服务 3、配置nginx ①&#xff1a;在…

【深度学习实践】面部表情识别,深度学习分类模型,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 对信息可信度与公众信任的威胁 结…

Mysql迁移至达梦所遇问题汇总

问题与解决&#xff1a; 1: 建表语句中不允许出现类似如下语句&#xff1a; create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMPKEY member_id (member_id) USING BTREE 2: SQL 错误 [22000]: 仅当指定列列表&#xff0c;且SET IDENTIT…

红与黑(bfs, acwing)

题目描述&#xff1a; 有一间长方形的房子&#xff0c;地上铺了红色、黑色两种颜色的正方形瓷砖。 你站在其中一块黑色的瓷砖上&#xff0c;只能向相邻&#xff08;上下左右四个方向&#xff09;的黑色瓷砖移动。 请写一个程序&#xff0c;计算你总共能够到达多少块黑色的瓷…

03 龙芯平台openstack部署搭建-keystone部署

#!/bin/bash #创建keystone数据库并授权&#xff0c;可通过mysql -ukeystone -ploongson验证授权登录 mysql -uroot -e “set password for rootlocalhost password(‘loongson’);” mysql -uroot -ploongson -e ‘CREATE DATABASE keystone;’ #本地登录 mysql -uroot -ploo…

【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…