数字孪生(Digital Twin):为物理对象建立对应的数字模型,该模型可以通过接收来自物理对象的数据而实时演化,从而与物理对象在全生命周期保持一致。基于数字孪生,我们可以进行分析、预测、诊断、训练等(即仿真),并将仿真结果反馈给物理对象,从而对物理对象进行优化和决策。
相比对数字孪生的认识,那么更重要的是如何实现数字孪生。Unity3D作为被广泛使用的实时3D创作平台,拥有很大的开发者群体,并且在多个领域被应用,比如工业中数字孪生。使用 Unity 能够对模型数据、传感器数据或点云数据进行实时传输和渲染,在添加物理特性和行为逻辑后,不仅可以将简单、抽象的模型和数据处理为照片级的实时渲染效果,还可以在多个平台以 AR/VR/MR 的形式进行交互,实现数字孪生。目前,使用Unity实现数字孪生,传统的方式是数据服务跟Unity之间通信实现。首先,加工设备安装IOT设备,IOT将获取PLC数据并以JSON的格式实时上传。其次,需要有一个接收服务,可以是写的一个简单的接收数据后端服务,接收IOT上传的数据。再次,Unity通过HTTP或者Socket方式从服务端实时获取数据。最后,通过实时获取的数据,在Unity中实时对映射的虚拟设备(虚拟设备以现在都是手动建模)驱动。如果要反向控制,则反向,由Unity发出命令,服务接收命令,iot获取命令给PLC 从而控制物理设备。这就是一个数字孪生工厂实现的过程,看着很简单,但其实像IOT到服务到Unity,数据之间通信是比较麻烦的事情,既要保证数据的实时性,还得保证数据的正确性。如下图,最能说明这个过程。

工业机械硬件控制最常用的就是PLC来实现,PLC与机械,PLC与PLC之间也会有固定的