孪生神经网络_轩辕实验室:数字孪生:基于机器学习的汽车数字孪生模型

77112c690f67f575f8794a968fc74518.png

本文来源:A. Rassolkin, T. Vaimann, A. Kallaste, and V. Kuts, “Digital twin for propulsion drive of autonomous electric vehicle,” in 2019 IEEE 60th International Scientific Conference on Power and Electrical Engineering of Riga Technical University (RTUCON), Riga, Latvia, Oct. 2019, pp. 1–4.

“ 自动驾驶不再只是技术愿景的概念,而是全世界真正的技术趋势。 不断发展到更高的自治程度需要能源优化方面的更多工作,却很少使用自动和监控传感器来优化自动驾驶电动汽车的电动推进驱动系统。 本研究的目的是为能源系统性能评估指定专门的无监督预后和控制平台所需的任务。最终目标需要开发多个测试平台和数字孪生体。 数字孪生由三个部分组成:现实世界中的物理实体,虚拟模型以及将两个世界联系在一起的关联数据/视图。”

数字孪生与机器学习

自DT概念引入以来,不仅人们对该概念的兴趣和对其适用性的理解发生了重大变化,概念本身的视野也发生了变化。本研究提出了基于五个组成部分的新模型,而不是基于三个部分的原始模型:

•物理模型;

•虚拟模型;

•组件之间的连接;

•数字孪生数据;

•服务系统。

878c1f789d4a1fa868edc5c2f817ca25.png
图1:基于五个组件的数字孪生模型

图1显示了组件之间的交互。所有组件相互依赖。物理系统为虚拟系统的开发提供了基础,虚拟系统负责服务系统的仿真、控制和优化策略。可以使用不同的控制器和优化算法。服务系统是对物理和虚拟系统的需求做出响应的综合服务平台。DT数据是物理、虚拟和服务系统的综合数据,也是建模、优化和预测的方法。由于数据是所有系统的驱动力,因此需要注意的是,通过将所有参与创建DT模型的系统的信息结合起来,可以形成更全面和一致的数据。基于此模型,EDPS的DT可以在实际的物理机器上实现之前,通过使用深度学习工具来帮助其优化。

进一步利用机器学习来帮助评估EPDS(电力推进驱动系统)的性能是目前一个日益增长的研究领域。不同版本的Kalman滤波器、支持向量机、决策树和各种神经网络结构是这一领域的主要工作工具。神经网络方法中的主要步骤包括两个步骤。第一步是训练过程,其中与一组给定的EPDS性能数据相关联的部分信号数据用于训练网络,另一部分用于验证训练过程。该程序需要测量或模拟数据,通常不容易获得。第二步是利用训练好的神经网络,对电动助力转向系统(EPDS)的性能进行分析,并通过运行装置的实测数据提出运行方式的建议。一旦机器学习算法确定了输入特征或变量(电流、电压、环境温度)之间的复杂关系与每个区域的局部温升之间的相关性,它就能够在线预测能源系统中最敏感的点。或者,深度学习算法,即卷积神经网络-卷积神经网络(CNN)或传输学习,可以是处理基于图像特征或未标记数据的EPDS性能的一个有前途的选择。第二步的结果是对EPDS的运行模式提出建议。这些方法的缺点在于训练人工智能系统所需的数据量和质量以及评估EPDS性能的测量分辨率,这需要多个本地传感器和传感器与计算平台之间进行大量的数据传输。这就是为什么很少计划测试平台。

试验台

采用标准或至少是固定程序的实验室试验台能够对电子防护装置的性能进行评价,为今后的初步研究和开发提供了一个附加值。早期设计是新产品开发过程中一个重要但往往被低估的设计阶段,早期设计阶段所做的决策对结果的影响要比后期的决策大得多。图2显示了允许EPD稳态和瞬态模式模拟的试验台概念。第一个神经网络可以基于从实验室试验台获得的数据。作为第二个主测试平台,将使用ISEAUTO平台。ISEAAUTO是一款小型客车,主要在大学校园内行驶,因此车速限制在20公里/小时。

06543afaf740f236b2e306ef80ffe694.png
图2:电力推进驱动系统试验所用的实验室试验台

ISEAUTO的特点是完全符合项目目标的要求。ISEAAUTO的车身设计(如图3所示)还考虑了自主巡航所需的传感器位置。自动驾驶汽车的电子框架提供控制器软件与推进电机驱动系统之间的通信,它有三个主要任务:制动、转向和加速。与传统汽车类似,制动任务包括驻车制动和减速。驻车制动器用于在乘客上车和无操作模式时保持车辆静止。减速任务可以通过适当控制电动机来解决;但是,为了向乘客和车外人员提供所需的安全条件,减速电机制动应与液压装置相结合。通过在机器人操作系统(ROS)上的PC上运行Autoware来实现自治,ROS通过专用以太网与控制器进行通信,从而最大限度地减少延迟。任务关键型控制器分为两层-主控制器层和驱动器控制器层。主控制器的主要任务是以最小的延迟将信息从PC机转发到PC机。驱动控制器管理加速/制动信号、驻车制动器和方向盘。

c1445dbee19d141dd5e175977ab03d3b.png
图3:ISEAUTO车辆试验台

该模型并不一定意味着3D可视化模型,因为它的重要性在于工艺流程和背后的数据,但是,通过DT模拟增加了用于在线远程干扰的虚拟现实(VR)工具,增加了安全层,总体上为危险环境和远程工作增加了更多可能性。多年前,大多数人认为虚拟现实只能用于游戏和其他娱乐目的,但事实上,它已经在研究中使用了几十年。现在虚拟现实可以应用于人类活动的任何领域。这样可以防止几十个错误和错误而不造成任何损失。

总结

该概念的最终目标是为EPDS性能评估开发一个专门的无监督预测和控制平台。这个目标需要开发几个子任务和相关目标:

•开发不同能源系统组件(电机、发电机、齿轮箱、轴承等)的物理模型以及这些组件的相关简化模型(试验台),这些模型将用于构建系统的DT。

•根据开发的DT概念,开发和实施虚拟传感器的概念。

•开发基于人工智能的系统,允许使用虚拟传感器控制EPD。

•开发上述概念的专门知识,并以ISEAUTO为例展示其实现上述最终目标的能力。

物理器件模型的建立可以使用成熟的建模技术(如MATLAB)进行。物理模型的简化模型可以用模型降阶方法构造。可将不同型号的EPDS-DT并行装配。数字孪生体可以作为虚拟传感器,也可以在数字孪生体中实现虚拟传感器。将来自实际设备和虚拟传感器的数据与机器学习例程相结合,将能够对电能系统的设备进行诊断和预测。Digital twins不仅包括一个物理对象仿真(有关电机部件供应商的数据、提供的服务和未来的服务计划、关于异常情况的数据等等)。模拟器基本上是根据历史数据和物理/数学模型创建的。

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

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

相关文章

Java线程Fork/Join思想及实现

最近在看线程这一块的东西,所以之前的那篇文章就是用来记录的,但看起来好简单的样子,哈哈哈! 这两天看的是Fork/Join 分而治之的思想,Doug Lea大师的JUC还是挺强的,学并发编程应该没有人不知道这个大佬吧&…

Sgen.exe: Speed up XmlSerializer's Startup Performance [.NET 2.0, XML Serialization]

Sgen.exe: Speed up XmlSerializers Startup Performance [.NET 2.0, XML Serialization] Written by Allen Lee 1. Why Sgen.exe? 在《Serialize Your Deck with Positron [XML Serialization, XSD, C#]》一文中,我们领略到 XML Serialization 是如何简化我们的 X…

三维图形几何变换算法实验_计算机视觉方向简介 | 深度学习视觉三维重建

点击上方“计算机视觉life”,选择“星标”快速获得最新干货作者: Moonsmilehttps://zhuanlan.zhihu.com/p/79628068本文已由作者授权,未经允许,不得二次转载三维重建意义三维重建作为环境感知的关键技术之一,可用于自动…

PNG图片详解

1、PNG图片类型 PNG格式有8位、24位、32位三种,下面是一些术语: 索引透明:类似于GIF,某一像素只有全透和全不透明两种效果Alpha透明:半透明PNG8 8位的PNG最多支持256(2的8次方)种颜色&#xff0…

java 删除二维数组中的null_避免在Java中检查Null语句

1.概述通常,在Java代码中处理null变量、引用和集合很棘手。它们不仅难以识别,而且处理起来也很复杂。事实上,在编译时无法识别处理null的任何错误,会导致运行时NullPointerException。在本教程中,我们将了解在Java中检…

simulink显示多个数据_如何在 Simulink 中使用 PID Tuner 进行 PID 调参?

作者 | 安布奇责编 | 胡雪蕊出品 | CSDN(ID: CSDNnews)本文为一篇技术干货,主要讲述在Simulink如何使用PID Tuner进行PID调参。PID调参器( PIDTuner)概述1.1 简介使用PID Tuner可以对Simulink模型中的PID控制器,离散PID控制器,两自由度PID控制…

Java并发编程之堵塞队列介绍以及SkipList(跳表)

堵塞队列 先了解一下生产者消费者模式: 生产者就是生产数据的一方,消费者就是消费数据的另一方。在多线程开发中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继…

Java并发编程之线程池ThreadPoolExecutor解析

线程池存在的意义 平常使用线程即new Thread()然后调用start()方法去启动这个线程,但是在频繁的业务情况下如果在生产环境大量的创建Thread对象是则会浪费资源,不仅增加GC回收压力,并且还浪费了时间,创建线程是需要花时间的&…

Java并发编程之线程定时器ScheduledThreadPoolExecutor解析

定时器 就是需要周期性的执行任务,也叫调度任务,在JDK中有个类Timer是支持周期性执行,但是这个类不建议使用了。 ScheduledThreadPoolExecutor 继承自ThreadPoolExecutor线程池,在Executors默认创建了两种: newSin…

Spring中BeanFactory和FactoryBean的区别

先介绍一下Spring的IOC容器到底是个什么东西&#xff0c;都说是一个控制反转的容器&#xff0c;将对象的控制权交给IOC容器&#xff0c;其实在看了源代码之后&#xff0c;就会发现IOC容器只是一个存储单例的一个ConcurrentHashMap<String, BeanDefinition> BeanDefiniti…

Spring中Aware的用法以及实现

Aware 在Spring当中有一些内置的对象是未开放给我们使用的&#xff0c;例如Spring的上下文ApplicationContext、环境属性Environment&#xff0c;BeanFactory等等其他的一些内置对象&#xff0c;而在我们可以通过实现对应的Aware接口去拿到我们想要的一些属性&#xff0c;一般…

Spring Bean的生命周期以及IOC源码解析

IOC源码这一块太多只能讲个大概吧&#xff0c;建议还是去买本Spring IOC源码解析的书来看比较好&#xff0c;我也是自己看源代码以及视频整理的笔记 Bean的生命周期大概可以分为四个阶段&#xff0c;具体的等会再说&#xff0c;先看看IOC的源码吧 1、bean的创建 2、bean的属…

MongoDB位运算基本使用以及位运算应用场景

最近在公司业务上用到了二进制匹配数据&#xff0c;但是MongoDB进行二进制运算&#xff08;Bitwise&#xff09;没用过&#xff0c;网上博客文章少&#xff0c;所以就上官网看API&#xff0c;因此记录一下&#xff0c;顺便在普及一下使用二进制位运算的一些应用。 在MongoDB的…

Mybatis源码日志模块分析

看源码需要先下载源码&#xff0c;可以去Mybatis的github上的仓库进行下载&#xff0c;Mybatis 这次就先整理一下日志这一块的源码分析&#xff0c;这块相对来说比较简单而且这个模块是Mybatis的基础模块。 之前的文章有谈到过Java的日志实现&#xff0c;大家也可以参考一下&…

python手机端给电脑端发送数据_期货交易软件有哪些比较好用?分手机端和电脑端...

一、电脑端交易软件期货电脑端交易软件目前市场上用的最多的是文华财经和博易大师&#xff0c;这两个软件都是免费交易使用的。从投资者使用角度来看&#xff0c;目前电脑端文华财经的评价比博易大师高一些。当然每个投资者有自己的使用习惯&#xff0c;博易大师也有自己优点&a…

Find the Difference(leetcode389)

2019独角兽企业重金招聘Python工程师标准>>> Given two strings s and t which consist of only lowercase letters. String t is generated by random shuffling string s and then add one more letter at a random position. Find the letter that was added in …

Mybatis源码之数据源模块分析

先来看看java纯jdbc查询数据的示例&#xff1a; try {//加载对应的驱动类Class.forName("com.mysql.cj.jdbc.Driver");//创建连接Connection connection DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?serverTimezoneUTC", "roo…

Mybatis源码之缓存模块分析

缓存这个东西在很多应用中都能看到它们的身影&#xff0c;这次就讲讲在Mybatis中的缓存是怎么应用的&#xff0c;虽然说吧Mybatis中的缓存基本不怎么用&#xff0c;用的更多是第三方组件redis、MongoDB、MemCache等等。 Mybatis的缓存是基于Map实现的&#xff0c;从缓存中读写…

Mybatis源码之核心流程分析

终于谈到了Mybatis最核心的东西了&#xff0c;最核心的就是通过配置XML文件或注解中的SQL&#xff0c;直接调用接口就能执行配置好的SQL语句并封装成对应的返回类型的数据。 先看一下Mybatis使用示例&#xff1a; //创建Builder对象 SqlSessionFactoryBuilder builder new S…