找回密码
 立即注册
查看: 377|回复: 3

Unity为什么可以做数字孪生仿真模拟?Unity不是做游戏的 ...

[复制链接]
发表于 2021-11-16 13:40 | 显示全部楼层 |阅读模式
大部分人听说过Unity都是因为那些广为流传的游戏,像《王者荣耀》、《原神》、《纪念碑谷》这些都是用Unity引擎开发的。所以不了解的同学,第一次听说用Unity做数字孪生、仿真模拟,就有些困惑了:这次元壁怎么破的?
其实行业内,用Unity做数字孪生的企业/工作室已经不在少数了。


比如B站很有名的Up主“野生钢铁侠”就有个4.7万观看量的作品《我把自行车做成了自动驾驶!!》,在 Unity 引擎中构建了一个虚拟的物理环境,引擎中的模拟自行车有着真实的质量,他将自行车的“自行”的过程算法在虚拟环境中可视化了出来,模拟过程没有问题后他才将仿真过程搬到现实。



在Unity引擎中进行数字孪生模拟

或许在不远的未来,现实中的产品在投入使用之前,都会在虚拟空间里先“演练”一番。这样能提前预演现实中可能遇到的问题,并在实际制作之前解决掉。
事实上,Unity公司 内部的 AI 团队也一直致力于为机器学习AI、计算机视觉和机器人等领域打造工具,这些工具都会帮助各个行业,特别是工业和汽车,在数字孪生和虚拟交互的情景下,有更高效的实时 3D 环境,加速项目开发。
在今年的 OpenCV Spatial AI 竞赛中,一个 叫Kauda的参赛作品就包含了多个使用 Unity AI工具和软件包制作而来的实例,充分将 Unity 的机器人、计算机视觉、强化学习应用在数字孪生场景中。值得一提的是,增强现实技术Perception Package 也被用于辅助训练计算机视觉模型,Unity ML-Agents 工具则被用于训练机器学习模型及机械臂的 sim2real 演示。
他们的作品Kauda是一款可3D打印、电脑主机大小、免费开源的五轴机械臂。这款机械臂能由任何人用3D打印设备制作,也能用它开展了项目的远程协作。为了配合机械臂远程协作还开发了一个Unity应用:Kauda Studio,来驱动Kauda的数字孪生。软件提供了一个功能齐全、精确的Kauda模拟,带有反向运动学(IK)控制、USB/蓝牙连接,还支持多个OpenCV OAK-D摄像机。


OAK-D 摄像机由两个立体深度摄像机、一个带有内置处理功能(由英特尔 MyriadX VPU 驱动)、可自动识别多种特征的 4K 彩色摄像机组成。OAK-D 的 Unity 数字孪生集成了一个虚拟的 3D 摄像机,其精确的模拟能力可用于收集合成数据。摄像机还支持将虚拟图像传输到真实设备上,能用 Unity Perception Package 和模拟的 OAK-D 摄像机收集合成数据、训练项目。通过 Unity 增强现实(AR)功能在现实环境中与虚拟的机器人进行互动,比如在无机器人实物的情况下学习机器人维护,或者使用虚拟但精确的机器人模型来无代码地编写连续性任务。


数字孪生还使得强化学习(RL)训练成为了可能。RL 的训练周期普遍较长,如果训练不是极其简单的例子,模拟的使用就会非常必要。在 Unity 中制作出 Kauda 模型后,就可以使用 ML-Agents 工具套来进行操控相关的 RL 训练。
另外他们还在Unity中使用机器人与摄像机来检测人类在工作区域内的位置,用于实验人机协作和安全程序。如果一个大型机器人在运行中发生故障,就很可能会对人造成伤害,因此这种实验非常有必要。模拟环境能让我们在不冒危险的情况下开展测试。
以上是几个例子,给大家简单解释一下,Unity在数字孪生中的一些应用。如果想了解更多,其实官方出了一些示例工程,感兴趣的话可以去下载。
Unity Perception Package:
https://plastichub.unity.cn/unity-tech-cn/com-unity-perception
Unity Robotics Hub:
https://plastichub.unity.cn/unity-tech-cn/Unity-Robotics-Hub
ML-Agents工具套:
https://plastichub.unity.cn/unity-tech-cn/ml-agents

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-16 13:49 | 显示全部楼层
大部分人听说过Unity都是因为那些广为流传的游戏,像《王者荣耀》、《原神》、《纪念碑谷》这些都是用Unity引擎开发的。所以不了解的同学,第一次听说用Unity做数字孪生、仿真模拟,就有些困惑了:这次元壁怎么破的?
其实行业内,用Unity做数字孪生的企业/工作室已经不在少数了。


比如B站很有名的Up主“野生钢铁侠”就有个4.7万观看量的作品《我把自行车做成了自动驾驶!!》,在 Unity 引擎中构建了一个虚拟的物理环境,引擎中的模拟自行车有着真实的质量,他将自行车的“自行”的过程算法在虚拟环境中可视化了出来,模拟过程没有问题后他才将仿真过程搬到现实。



在Unity引擎中进行数字孪生模拟

或许在不远的未来,现实中的产品在投入使用之前,都会在虚拟空间里先“演练”一番。这样能提前预演现实中可能遇到的问题,并在实际制作之前解决掉。
事实上,Unity公司 内部的 AI 团队也一直致力于为机器学习AI、计算机视觉和机器人等领域打造工具,这些工具都会帮助各个行业,特别是工业和汽车,在数字孪生和虚拟交互的情景下,有更高效的实时 3D 环境,加速项目开发。
在今年的 OpenCV Spatial AI 竞赛中,一个 叫Kauda的参赛作品就包含了多个使用 Unity AI工具和软件包制作而来的实例,充分将 Unity 的机器人、计算机视觉、强化学习应用在数字孪生场景中。值得一提的是,增强现实技术Perception Package 也被用于辅助训练计算机视觉模型,Unity ML-Agents 工具则被用于训练机器学习模型及机械臂的 sim2real 演示。
他们的作品Kauda是一款可3D打印、电脑主机大小、免费开源的五轴机械臂。这款机械臂能由任何人用3D打印设备制作,也能用它开展了项目的远程协作。为了配合机械臂远程协作还开发了一个Unity应用:Kauda Studio,来驱动Kauda的数字孪生。软件提供了一个功能齐全、精确的Kauda模拟,带有反向运动学(IK)控制、USB/蓝牙连接,还支持多个OpenCV OAK-D摄像机。


OAK-D 摄像机由两个立体深度摄像机、一个带有内置处理功能(由英特尔 MyriadX VPU 驱动)、可自动识别多种特征的 4K 彩色摄像机组成。OAK-D 的 Unity 数字孪生集成了一个虚拟的 3D 摄像机,其精确的模拟能力可用于收集合成数据。摄像机还支持将虚拟图像传输到真实设备上,能用 Unity Perception Package 和模拟的 OAK-D 摄像机收集合成数据、训练项目。通过 Unity 增强现实(AR)功能在现实环境中与虚拟的机器人进行互动,比如在无机器人实物的情况下学习机器人维护,或者使用虚拟但精确的机器人模型来无代码地编写连续性任务。


数字孪生还使得强化学习(RL)训练成为了可能。RL 的训练周期普遍较长,如果训练不是极其简单的例子,模拟的使用就会非常必要。在 Unity 中制作出 Kauda 模型后,就可以使用 ML-Agents 工具套来进行操控相关的 RL 训练。
另外他们还在Unity中使用机器人与摄像机来检测人类在工作区域内的位置,用于实验人机协作和安全程序。如果一个大型机器人在运行中发生故障,就很可能会对人造成伤害,因此这种实验非常有必要。模拟环境能让我们在不冒危险的情况下开展测试。
以上是几个例子,给大家简单解释一下,Unity在数字孪生中的一些应用。如果想了解更多,其实官方出了一些示例工程,感兴趣的话可以去下载。
Unity Perception Package:
https://plastichub.unity.cn/unity-tech-cn/com-unity-perception
Unity Robotics Hub:
https://plastichub.unity.cn/unity-tech-cn/Unity-Robotics-Hub
ML-Agents工具套:
https://plastichub.unity.cn/unity-tech-cn/ml-agents

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-16 13:57 | 显示全部楼层
再展开说下,机器学习在Unity数字孪生场景下的应用好了。参加OpenCV大赛的Kauda Team就用了Unity ML-Agents工具包来进行机器学习训练。好的,我知道你会问了,ML-Agents是什么?Unity数字孪生为什么又和机器学习扯上关系了呢?
Unity一直在研发的ML-Agents,是一款机器学习代理工具包,它使数字孪生模拟的场景能够作为训练智能代理的环境
Kauda的模拟目标是实现一个简单的“触碰”任务,并让模型在 OAK-D 设备有能力进行推理。在 ML-Agents 的帮助下,数字孪生场景下的模拟机器人习得了最佳运动路径,可借助 IK 来灵活地触碰检测到的 3D 物体。



数字孪生场景下的Unity机器学习技术

为了达成这一目标,Kauda首先使用 spatial tiny-YOLO 开发了一个 3D 物体检测器。RL 模型(PPO)使用检测结果和IK控制点的位置作为观测输入,动作输出则由 IK 控制点的 3 轴运动实现。在模型的奖励机制中,每一步运动都会带来少量的惩罚,而触碰到物体则会带来大量奖励(1.0)。为了加快训练速度,使用了多个智能代理同时训练,成倍地生成 spatialtiny-YOLO 的训练数据。
在训练完成后,接着使用 OpenVino 工具包将模型转换为 OpenVino IR 和 Myriad Blob 格式,方便在 OAK-D 设备上加载模型并运行推理。最后一道流程是结合 spatial tiny YOLO 与 RL 模型,在 Unity 内比较 ML-Agents 和 OAK-D 代理的推理成果。

Unity数字孪生ML训练
https://www.zhihu.com/video/1439989268123344896
他们开发流程的第一阶段制作一个 3D 物体检测器,这也是 AI 计算机视觉和机器人开发的常见起点。这里,他们使用 Unity Perception 软件包来训练 tiny YOLO v3 模型识别自定义的物品类型。Perception 包能够在几分钟内生成大量的 3D 合成数据,还能自动标注出参考边界框,如果人工来收集数据和添加标注会耗费大量时间。支持生成丰富的数据集,以及转向、光照、纹理等多种随机化选项是一个很大的优势。

在Unity内处理物体检测
https://www.zhihu.com/video/1439989864339468289

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2021-11-16 14:01 | 显示全部楼层
Unity可能是这10年以来最好的数字孪生仿真工具,为什么可以这么说呢?因为有实际项目应用案例啊。2012年有幸参与了一个非常庞大的基于Unity引擎的超大规模智能电表自动化计量中心的仿真软件系统设计及开发,也是因为这个项目哥哥我拼劲全力将Unity推进国家电网、然后才与WEBGL、Virtools(已挂)另外两个引擎定作为指定开发工具,现在因信创平台格局会有所变化,这个后面展开讲。先贴论文地址:超大规模智能电能表自动化检测研究与仿真 - 百度学术。再贴视频:超大规模智能电能表自动化检测技术案例学习 03:59秒开始。
为什么Unity可以干这种事呢?这就是需要将时间调回2003年,知道那个年代我们用什么技术在干数字工厂的项目吗?给你们普及一下过去这个行业是怎么干的:那个年代有一家非常牛逼的公司出了一个基于VRML的3D引擎叫做 bitmanagement software gmbh下载地址:Bitmanagement - Interactive Web3D Graphics - visualization for VRML, X3D, Collada, kmz, CityGML - vrml viewer
话说很多新人回说2003年贴点照片来证实一下呢?来来上图,回头传个百度网盘,大家自己下车玩玩。



2003年用BL和BS公司两个控件嵌入VB.NET 里面 做的虚拟现实播放器

图里宝马可不是我做的,我只是拿来用来展示一下我写的UI界面。
这个技术在我2003年-2008年陪伴了我五年,我用这个技术搞过N多虚拟现实项目,当时国内最牛逼的虚拟现实网站叫做http://VR86.com,这个网站已经关闭了很久,但是这个网站可能当初国内虚拟现实爱好者的全部扎堆的地方,全是用VRML技术搞仿真项目。  知道吗?当时国内从事这个领域的人基本上都在干虚拟现实的仿真项目,当时起的名字叫做数字工厂。


Unity是什么时候把格局打开的呢?iPhone 3GS是美国苹果公司于2009年6月8日正式发布的,这个是关键时间点,因为手游开发非常火,我也是在这年用Unity写了赛车游戏的demo正式从VRML技术切换到手游行业,此前我一直是在工业领域用VRML技术做工业仿真的。此时还有一条时间线就是 2008年,IBM首次提出“智慧地球”的概念,智慧城市建设应运而生。知道吗?2008年之后大多数数字孪生项目基本上都是采用Unity来实现的,之前大家是用VRML,但是VRML编程太挫了,只有一个Vrmlpad,写个js能把你写哭了。
第一 Unity自所以适合做数字孪生是因为性价比极高。
为什么说Unity非常适合做工业仿真项目呢?原因很简单首先在这个领域有很多强大的工业仿真软件,不好意思大多数从业人员想商用基本上买不起。不信啊?
DELMIA基于汽车总装输送线装配仿真_哔哩哔哩_bilibili 打个电话给达索,让他们给你报个价看看你还买得起。
西门子工业软件 Tecnomatix Process Simulate(PDPS)工艺仿真 智能生产线案例展示_哔哩哔哩_bilibili    打电话给西门子看看你还买得起,哈哈哈。
即使你说我买得起,那么来提两个需求看看你能不能做到:
一、根据物理世界中的实时数据在3D场景中1:1还原各种工业设备的作业状态与物理特征
二、给出华丽炫酷的大数据BI分析土豪表-dashboard
三、场景中的3D模型要求好看又适用。
好了,就这两点足够干死一大片工业仿真软件,FLexsim第一个哭哭啼啼走了出去,因为画质爆丑,Tecnomatix表示可以从PLC中获取数据,实时绑定到仿真设备上做1:1仿真,由于奇丑无比的画质被几个大客户都否掉了,具体原因就是因为这些软件的价格奇高无比:



这工具价格挺合适的啊,哈哈哈。


第二、Unity因为采用C#作为基本语言瞬间有了海量的物联网数据采集框架和设备的远程控制框架。不用重复造轮子,从Labview到winCC到各家PLC都可以无缝打通,甚至可以对接各类组态软件。

Unity自所以适合做数字孪生项目其实得益于其采用的C#作为脚本语言,可知道大量的工业软件都是基于Winform+C#做的开发。我这里不是说Unreal的坏话,Unreal在数字孪生领域的突破可能是来自于大量的组件落后。



Unreal所谓的高级货其实资料少的可怜



Unity因为采用C#基本上基础工作已经有海量可复制的代码

Unreal做数字孪生可能还处于自己造轮子的时代,但是Unity已经进入复制+粘贴的开发时代了,话说作为开发者以及科技公司你会采用何种方式进行项目开发呢?
一切的场景我们回归开发的本质,数字孪生的本质无非有三点重要组成部分:
一、产品设计阶段的各种仿真验证,这个属于CAD/CAE的领地,任何工具无法介入。
二、产品的生产工艺的监管流程,这个是MES+自动化的领地,展现层当然是Unity。所以Unity+MES+自动化。
三、产品的使用环节,使用环节是对使用工况的仿真和模拟,简单的说产品在什么地方使用,使用的是否合适。这个非常依赖于数字孪生技术。
展开说,以前美国发射飞船会做两架飞船,天上一架,地面一架,天上的坏了修起来很麻烦,就在地上修,找到最好的维修方案拍摄视频发到天上去,这样天上的人可以用最低成本维修飞船。但是地上的克隆飞船地造价可能是原来飞船造价的75%,价格过高。那么后来就采用虚拟现实仿真技术模拟了一架飞船,这个就是现在说的数字孪生系统。然后在这个环节最重要的是什么呢?当然是运维管理,维修+检修+巡检+维护+培训。那么自然是最适合游戏引擎来开发了,因为游戏引擎可以模拟各种工业数据。所以此时的Unity已经不是游戏引擎了,而是一款3D引擎,他可以让我们开发各种数字孪生项目。
第三、Unity数字孪生项目开发过程具有明显的信息系统软件工程项目特征,与传统软件以及工业控制项目可以无缝过渡。
Unreal的开发过程与工业项目与软件工程有着极大的不相同,很难融入这种需要跟工业人才打交道的领域。数字孪生项目其实是原来的信息系统升级,如果你从事过CAD、PDM、ERP、CRM的软件开发那么你应该会发现数字孪生其实就是传统软件的3D升级版,但是融入了更多物联网技术和新型交互的外设。原来的2D软件在今天传感器与数据采集技术突飞猛进的时代无法满足对研究客体的多维度数据呈现。比如最近我们参加的高端设备的产线数据孪生项目,客户要求追溯到其中一批次产品集中出问题的具体原因,那么如果MES回溯数据就无法看到产线上当时的时间与空间问题,而采用数字孪生技术我们可以瞬间将用户拉回到那个出问题的时空,从而可以看到某个设备上当时处于缺油的状态,导致机械臂运动不够准时,从而影响生产节拍,自动化时代一个小的误差可能导致批次产品出问题,回溯之后可以多维度观察问题所在。



《钢铁侠》电影中对研究客体的历史回溯重放

对于工业行业的数字孪生首先是自动化工厂,其次是信息化,然后才是数字孪生。现在很多企业连自动化设备都没有上全,是不可能一步进入数字孪生时代的,数字孪生可以说是自动化制作提出更高要求,这种高要求后来有空展开说。
回来说说Unity面对的重要的挑战,就是信创政策问题,首先Unity现在软件启动需要联网验证,而这种大兴数字孪生项目基本上都是国企、央企、军工、电网等各种需要内网情况下使用的客户,如果因为这种问题导致无法在离线内网环境中进行项目开发,那么后期一旦出现一个新型纯国产的3D引擎,那么其实被替代的风险极大。所以现在我们会看到很多的数字孪生项目是采用Threejs等技术开发的,这个就是因为信创平台问题。换做unity市场人员应该考虑对国产操作系统和国产芯片的技支持了。要不然哪天某为用threejs改个3D引擎,跳出来说自己有3D引擎那么就是另外一个故事了。
贴这些年的成功案例:
世界首条“三合一”电子公路现身同里 无线充电 无人驾驶  这个我参与用Unity开发的3D可视化监测系统,视频中可能么有,但是你知道是基于Unity开发的就行了。
其他项目我就补贴了,因为签了一堆商业保密条款,只能贴这些业主方自己对外公开的项目。我已经发了太多广告就不发了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 22:28 , Processed in 0.126422 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表