草庐IT

什么是数字孪生?为什么它对物联网很重要

佚名 2023-03-28 原文
数字孪生是物理设备的虚拟副本,数据科学家和IT专业人员可以在实际设备构建和部署之前使用其来运行模拟。数字孪生还可以获取实时物联网数据,并应用人工智能和数据分析来优化性能。

数字孪生技术已经超越了制造业,进入了物联网、人工智能和数据分析的融合世界。

随着越来越复杂的“事物”相互连接,并具有生成数据的能力,拥有数字等效物使数据科学家和其他IT专业人员能够优化部署以实现最高效率,并创建其他假设场景。

什么是数字孪生?

数字孪生是物理对象或系统的数字表示。数字孪生背后的技术已经扩展到建筑、工厂甚至城市,一些人认为甚至人和流程也可以拥有数字孪生,这进一步扩展了这个概念。

数字孪生的概念最早出现在美国宇航局:早期太空舱的全尺寸模型,在地面上用于镜像和诊断轨道上的问题,最终让位于全数字模拟。

但在Gartner将数字孪生列为2017年十大战略技术趋势之一后,这个词才真正流行起来,并表示在三到五年内,“数十亿事物将由数字孪生代表,这是一种物理事物或系统的动态软件模型”。一年后,Gartner再次将数字孪生列为最主要的趋势,并表示“到2020年,预计将有210亿个连接的传感器和端点,且在不久的将来,数字双孪生将存在于数十亿件事物中。”

从本质上讲,数字孪生是一种计算机程序,其将关于物理对象或系统的真实数据作为输入,并输出预测或模拟物理对象或系统将如何受到这些输入的影响。

数字孪生如何工作?

数字孪生最初是由专家构建,通常是数据科学或应用数学方面的专家。这些开发人员研究被模仿的物理对象或系统的物理基础,并使用这些数据开发一个数学模型,在数字空间中模拟真实世界的原始模型。

孪生的构造使其可以接收来自传感器的输入,这些传感器从现实世界的对应物收集数据。这允许孪生实时模拟物理对象,在此过程中提供对性能和潜在问题的洞察。孪生也可以基于其物理对应物的原型进行设计,在这种情况下,孪生可以在产品改进时提供反馈;在构建任何物理版本之前,孪生甚至可以作为原型本身。

数字孪生可以是复杂或简单的,用于构建和更新其的数据量将决定模拟物理对象的精确程度。如,以汽车数字孪生为例,只需要几个输入变量就可以计算里程。

数字孪生与模拟

术语模拟和数字孪生经常互换使用,但它们是不同的东西。模拟是用CAD系统或类似的平台设计的,可以进行模拟,但可能不会与真实的物理对象进行一对一的模拟。相比之下,数字孪生是基于真实设备上物联网传感器的输入构建的,这意味着其复制了现实世界的系统,并随着时间的推移而改变。模拟往往用于产品生命周期的设计阶段,试图预测未来产品的工作方式,而数字孪生提供了业务的各个部分,了解其已经使用的某些产品或系统现在是如何工作的。

数字孪生用例

在数字孪生示例中,汽车和货船提供了一种潜在用例的感觉。飞机发动机、火车、海上石油平台和涡轮机等物体可以在实际生产之前进行数字设计和测试。这些数字孪生也可以用来帮助维护操作。例如,技术人员可以在应用修复之前使用数字孪生来测试设备的拟议修复是否有效。

数字孪生商业应用存在于许多领域:

  • 正如Deloitte的案例研究所示,制造业是数字孪生技术推广最深入的领域,工厂已经在使用数字孪生模型来模拟其流程。
  • 汽车数字孪生之所以成为可能,是因为汽车已经安装了遥测传感器,但随着越来越多的自动驾驶汽车上路,改进这项技术将变得更加重要。
  • 医疗保健是一个可以产生数字孪生的行业。创可贴大小的传感器可以将健康信息发送回数字孪生,用于监测和预测患者的健康状况。

数字孪生有哪些类型?

IBM提供的分类方案不是基于特定的行业,而是基于孪生对象的复杂性。这提供了一种有用的方法来考虑特定用例中的需求,并让我们了解数字孪生可以做什么:

  • 组件或部件孪生模拟功能组件的最小示例。
  • 资产孪生模拟两个或多个组件一起工作,并可研究其之间的交互。
  • 系统或单元孪生可查看多个系统资产如何协同工作,例如模拟整个生产线。
  • 流程孪生采用系统协同工作的绝对顶层视图,可了解整个工厂的运行方式。
值得注意的是,向组合中添加更多组件会增加复杂性。特别是,混合和匹配来自不同制造商的组件可能会很困难,因为这需要每个人的知识产权才能在数字孪生世界中很好地协同工作。

数字孪生与物联网

显然,物联网传感器的激增是数字孪生成为可能的部分原因。随着物联网设备的不断完善,数字孪生场景可以包含更小、更简单的对象,从而为企业带来更多好处。

数字孪生可以用来预测基于可变数据的不同结果。这类似于科幻电影中经常出现的运行模拟场景,即在数字环境中验证可能的场景。通过额外的软件和数据分析,数字孪生通常可以优化物联网部署,以实现最大效率,并帮助设计师在物理部署之前确定事物应该去哪里或如何运作。

数字孪生复制物理对象的次数越多,效率和其他好处就越有可能被发现。例如,在部署了高度仪器化设备的制造业中,数字孪生可以模拟设备随着时间的推移的性能,这有助于预测未来的性能和可能的故障。

数字孪生与预测孪生

Network World撰稿人Deepak Puri最近概述了一个Oracle数字孪生工具示例,该工具为用户提供两种选择——数字孪生和预测孪生。

“数字孪生”可以包括设备的描述、3D渲染和设备中所有传感器的详细信息。其不断生成模拟现实生活选项的传感器读数。”

Puri写道,预测孪生“模拟了设备未来的状态和行为”。“这是基于其他设备的历史数据,可以模拟故障和其他需要注意的情况。”

作为其数字孪生计划的一部分,Microsoft正在将这一概念应用到物理产品之外的流程中。在一份白皮书中,Microsoft提出了数字进程孪生的想法:

Microsoft表示:“过程数字孪生是数字化转型的下一个阶段,将产品数字孪生的好处结合到整个工厂和供应链中。”白皮书强调了一些先进的制造场景,这些场景是产品数字孪生不支持的,但过程数字孪生会支持。

数字孪生的好处与风险

数字孪生可以实时查看物理资产的情况,从而从根本上减轻维护负担。Chevron正在为其油田和炼油厂推出数字孪生技术,预计将节省数百万美元的维护成本。Siemens在其宣传中表示,使用数字孪生对尚未制造出来的产品进行建模和原型设计,可以减少产品缺陷,并缩短上市时间。

但请记住,Gartner警告到,数字孪生并不总是必要的,而且可能会不必要地增加复杂性。“对于特定的业务问题,数字孪生可能是一种过度的技术。还有成本、安全、隐私和集成方面的担忧。”

有关什么是数字孪生?为什么它对物联网很重要的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 为什么 4.1%2 使用 Ruby 返回 0.0999999999999996?但是 4.2%2==0.2 - 2

    为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返

  6. ruby - ruby 中的 TOPLEVEL_BINDING 是什么? - 2

    它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput

  7. ruby - Infinity 和 NaN 的类型是什么? - 2

    我可以得到Infinity和NaNn=9.0/0#=>Infinityn.class#=>Floatm=0/0.0#=>NaNm.class#=>Float但是当我想直接访问Infinity或NaN时:Infinity#=>uninitializedconstantInfinity(NameError)NaN#=>uninitializedconstantNaN(NameError)什么是Infinity和NaN?它们是对象、关键字还是其他东西? 最佳答案 您看到打印为Infinity和NaN的只是Float类的两个特殊实例的字符串

  8. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  9. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

  10. ruby - 当使用::指定模块时,为什么 Ruby 不在更高范围内查找类? - 2

    我刚刚被困在这个问题上一段时间了。以这个基地为例:moduleTopclassTestendmoduleFooendend稍后,我可以通过这样做在Foo中定义扩展Test的类:moduleTopmoduleFooclassSomeTest但是,如果我尝试通过使用::指定模块来最小化缩进:moduleTop::FooclassFailure这失败了:NameError:uninitializedconstantTop::Foo::Test这是一个错误,还是仅仅是Ruby解析变量名的方式的逻辑结果? 最佳答案 Isthisabug,or

随机推荐