流程思考
數字孿生本質上一種基於實際物理數據的可視化方案,通過對接實際數據,在三維界面中展示孿生結果。
那么這個流程就很簡單了。
整個流程分為三塊:數據來源-》數據分析-》數據展示
輸入數據
首先我們需要考慮我們能拿到什么。第一,實際物體的三維數據從哪里來,第二,實際數據怎么獲取到。
模型數據
工業上常常會用到CAD模型,CAD模型具有精確、統一的特點,但是CAD不是三角面片,我們不能直接導出到Unity中,而且導入之后有很多不合理的地方,例如面片雜亂、面數過高等問題。針對這個問題我們祭出我們的第一把工具:PIXYZ。
PIXYZ簡介

具體內容這里不做介紹,大概的意思就是:
- 能夠導入CAD模型,生成對應的三維模型,導入的CAD模型的層級結構不會發生變化;
- 提供自動化減面工具,減少工作量;
- 提供UV生成工具,可以自定義貼圖效果;
- 提供網格工具,方便用戶進行網格合並、網格減面、網格坐標系調整等;
- 支持在runtime進行導入。
獲取到這個工具之后,CAD模型的導入就不成問題了。
有同學就會問了,為啥不用Maya這些建模軟件去生成呢。
首先機械模型非常復雜,Maya這些建模軟件去生成,就會相當消耗人力,而且不一定精確。其次,CAD作為標准,相關的機械提供商已經有對應的CAD模型數據,再去重建就是吃力不討好的事情。
有了模型數據之后,我們來看看信號數據的接入。
信號數據
通產機械硬件的控制會通過PLC(Program Logic Controller)來實現,PLC與機械,PLC與PLC之間也會有固定的通信協議來通信。那么這里大家就會想到,我們直接與PLC通信不就好了。對!實際信號的獲取就是與PLC通信來實現。但是每家PLC的通信協議不同,需要進行大量的協議適配工作。
這里我們要說到我們的第二把工具:PREspective(后面統稱PREs)
這個工具是Unity的工業插件之一,可以找Unity的人申請License。
這個工具的作用是:
- 提供多種工業通信協議的接口;
- 提供復雜物理碰撞仿真;
- 提供網格合並,物體單選等工具;
- 提供機械仿真工具;
- 接入物理仿真模型文件,如Matlab、Anasys等。

從上面的總結可以看出,PREs除了具有數字孿生所必需的通信協議接口外,還包括一些仿真邏輯。這些功能也幫組我們更好的搭建數字孿生平台。
數據分析
我們拿到實際數據之后,我們能做什么呢?我們需要做數據分析對吧,我們需要做物理模型的計算。這里其實也是使用的PREs對其他第三方的模型進行接入。
數據預測
經典的預測模型有很多,這里不詳述
異常檢測
異常預測模型
三維顯示
Unity
Unity就不做過多介紹了,在三維實時渲染領域已經有了很多的成功案例。那么我們這里為什么會選擇使用Unity來實現數字孿生系統呢?
這可以分為兩方面來討論:
- 數字孿生對實時要求高,實時渲染引擎具有天然的優勢
- 數字孿生的開發,需要學習成本低、工具豐富的引擎
因此,本着入門簡單、穩定性能高、工具豐富的原則,Unity是不二之選。
FinalIK
這是一個反向運動學的解算插件,為什么我們會在這里提到這個插件呢。因為在數字孿生中,如果我們缺乏實際數據的輸入,那么對於機械臂來說,我們還能使用一些其他工具進行仿真,FinalIK就是其中較好的一個。
