張宏帥 姜寶柱



摘 要:本文以硅片制造生產車間和工藝流程為對象,研究制造設備仿真建模和工藝實時數據驅動仿真技術。首先采用SolidWorks完成實體建模,借助3D Max實現模型渲染,并以Unity3D場景集成的方式對生產車間和設備進行數字化三維建模,其次研究了基于實時數據驅動、有限狀態機仿真的設備實時仿真方法,并基于消息隊列中間件技術實現數據采集系統內物理設備實時數據與虛擬仿真系統內虛擬設備的綁定,最終利用網絡編程技術實現虛擬仿真系統的搭建。測試結果證明,仿真系統具有集成建模仿真資源便捷、可復用性強、靈活性和可配置性高等特點。
關鍵詞:數字化工廠;數據驅動;Unity3D
中圖分類號:TH122;TH123 文獻標識碼:A 文章編號:1003-5168(2020)29-0071-04
Abstract: In this paper, the manufacturing equipment simulation modeling and process real-time data-driven simulation technology were studied. Firstly, SolidWorks was used to complete solid modeling, 3D Max was used to realize model rendering, and Unity3D scene integration was used to digitally and three-dimensionally model the production workshop and equipment, at the same time, a real-time equipment simulation method based on real-time data driving and finite state machine simulation was studied, and based on the message queue middleware technology, the real-time data of the physical equipment in the data collection system was bound to the virtual equipment in the virtual simulation system, and finally the network programming technology was used to realize the construction of the virtual simulation system. The test results prove that the simulation system has the characteristics of convenient integrated modeling and simulation resources, strong reusability, flexibility and high configurability.
Keywords: digital factory;data-driven;Unity3D
近年來,智能制造領域的快速發展引領了產業革命,數字孿生、信息物理系統(CPS)等概念成為智能制造的組成部分。工業虛擬仿真是實現數字孿生和CPS虛實結合的方向之一,在智能制造發展中具有舉足輕重的地位。傳統工業虛擬仿真主要集中在工廠產線布局、仿真動畫演示等展示性功能上。本研究以硅片制造生產車間和工藝流程為研究對象,進行制造設備仿真建模和工藝實時數據驅動仿真技術研究。首先采用SolidWorks完成實體建模,借助3D Max實現模型渲染,并以Unity3D場景集成的方式對生產車間和設備進行數字化三維建模,同時研究了基于實時數據驅動、有限狀態機仿真的設備實時仿真方法,并基于消息隊列中間件技術實現數據采集系統內物理設備實時數據與虛擬仿真系統內虛擬設備的綁定,最終利用網絡編程技術實現虛擬仿真系統的搭建[1]。測試結果證明,建模仿真系統具有集成建模仿真資源便捷、可復用性強、靈活性和可配置性高等特點。
1 關鍵技術研究
1.1 基于實時數據的設備模型驅動仿真
在虛擬運動仿真中,基于實時數據的仿真主要有兩種類型:根據位移/旋轉運動仿真、根據速度/角速度運動仿真。
1.1.1 根據位移/旋轉運動仿真。采集的實時位移數據為離散的位置點,為保證模型運動連續性,在物體運動的前后兩個坐標點和路徑拐點處設置路徑節點,通過線性插值得到運動過程中的其他坐標點,將坐標點連接起來即得到物體運動路線[2]。Unity3D的世界坐標系為[Y]軸向上的右手坐標系,故考慮物體在[XOZ]平面上做平移和旋轉運動,則物體在原始位置時的向量坐標為已知量[a],其坐標位置為[x,0,z]。運動終點的向量坐標為[b],其坐標位置為[x′,0,z′],則可得向量坐標[b=x-x′,0,z-z′],[θ]為[a]與[b]的夾角,則由余弦公式可得:
物體運動的平移、旋轉均可通過以上兩個變換矩陣實現,其中[dx]、[dy]、[dz]分別表示物體在[X]軸、[Y]軸、[Z]軸方向上的平移量。由于物體是在[XOZ]平面上運動,故[dx]=0,[θ]表示物體運動繞[Y]軸偏移的角度。對物體先做繞[Y]軸旋轉變換再做平移變換,其運動模型為:
綜上可知,由式(2)計算出[θ]值,再代入式(5)求出物體運動模型,并按照插值法確定的運動路線則可完成模型的實時驅動[3]。模型運動的可視化在Unity3D環境中進行,可由腳本transform類中的localPosition屬性和localEulerAngles屬性實現,實現的C#腳本代碼如下:
transform.localPosition = new Vector3(x, y, z);
transform.localEulerAngles = new Vector3 (angx, angy, angz);
其中,x、y、z為物體在Unity環境中相對父節點的位移坐標;angx、angy、angz為物體在Unity環境中相對父節點坐標系的歐拉角旋轉角度。
1.1.2 根據速度/角速度運動仿真。速度/角速度運動仿真的實現與位移/旋轉運動仿真實現方式類似。Unity3D腳本中提供Update函數實現按幀刷新機制,則基于速度/角速度的仿真腳本可表示為:
transform.Translate(new Vector3(0, v * Time.deltaTime, 0), Space.Self);
transform.Rotate(new Vector3(0, r * 6 * Time.deltaTime, 0), Space.Self);
其中,v為直線位移速度,m/s;r為旋轉角速度,r/min;Time.deltaTime為Unity完成上一幀的時間;Space.Self設定運動默認為物體自身坐標系運動。
1.2 基于有限狀態機的設備虛擬仿真
受限于實時數據采集的不完整性,某些情況下無法獲取到仿真物體的真實位移等數據,無法基于位置數據實現連續仿真,但可獲取設備工作狀態數據,建立設備有限狀態機模型(Finite-State Machine,FMS),對設備數據在滿足一定條件下的狀態進行仿真演示。在Unity3D仿真環境中,可使用動畫狀態機Animator實現不同狀態下動畫仿真的切換與管理。圖1為磨片機動畫狀態模型,磨片機定義空閑、上料、磨削、退刀下料四種狀態,每種狀態對應一種動畫仿真過程演示。通過實時獲取磨片機狀態數據,可按照數據規則條件觸發不同的動畫仿真演示。Animator提供Bool、Int、Float、Trigger四種狀態轉換條件及其組合的復雜狀態轉換條件,可支持復雜狀態仿真管理。
1.3 消息隊列通信技術
虛擬仿真系統的仿真驅動數據源來自包括SCADA系統、AGV管控系統在內的多種、異構的數據采集系統。各類數據的數據結構定義方式、數據編碼格式、數據服務質量要求等特征各不相同。使用統一的AMQP(Advanced Message Queued Protocol)高級消息隊列中間件實現的數據集中分發服務,可以解決多系統應用耦合、異步消息、消息阻塞等問題。
基于AMQP的實現途徑有很多,主流的有LShift提供的RabbitMQ和Apache公司的Qpid。兩者在技術上都支持多種通信模式,支持優先級,具有較高的可靠性和靈活的路由,具有可用的隊列,支持事務和消息排序等。但是,RabbitMQ基于Erlang語言實現,在高并發性上具有天然的優點。當消息長度較小時,RabbitMQ具有比Qpid更好的輸出性能,更適用于工業現場數據單次傳輸小、傳輸次數頻繁的情況。本系統在數據通信集成方面選擇RabbitMQ實現數據傳輸。RabbitMQ工作原理如圖2所示。
2 系統整體設計
仿真系統采用C/S架構,系統設計以數據模型為核心,定義實體生產車間映射數據,通過服務端數據庫配置動態管理仿真場景設備布局等信息。通過RabbitMQ消息隊列接口與其他信息系統實現數據交換、接收設備實時數據,并通過數據處理模塊實現虛擬場景設備的真實數據綁定,并通過運動仿真管理模塊為虛擬設備加載腳本實現數據驅動仿真運動。
通過場景界面管理模塊和多視角相機管理功能模塊提供多種虛擬場景人機交互方式。仿真系統軟件架構如圖3所示。
3 系統通信數據流設計
仿真系統軟件架構如圖4所示。
仿真系統與外部系統的數據交互主要分為設備實時數據和場景配置數據兩部分。設備實時數據主要來自工廠現場的SCADA、DCS、AGVS等系統,通過搭建實時數據消息隊列服務作為數據中間件,實現各個數據采集系統的實時數據與仿真系統的連接;場景配置數據主要包括仿真環境中設備布局、設備臺賬信息、設備實時信號綁定等配置數據,此類數據通過SQL Server數據庫配置。
4 系統功能流程
系統功能流程如圖5所示。
從圖5可知,系統啟動后進行用戶登錄驗證,登錄用戶將進入生產車間總體鳥瞰布局界面查看,通過選擇對應區域進入漫游,在漫游場景中通過下拉列表在漫游和監視視角間進行切換。同時,可從漫游界面進入系統配置界面進行設備管理等相關功能操作。
5 系統測試
虛擬車間場景第一人稱漫游測試效果如圖6所示;數字化虛擬車間被劃分成多個區域,如圖7所示,可通過預設的固定相機視角監視整個目標區域;仿真系統內虛擬設備由來源于數據采集系統內的實時數據驅動,如圖8和圖9所示。
6 結語
本研究對硅底基智能制造生產車間及設備進行了數字化三維建模,通過規范建模質量標準,實現仿真性能最優化。其間通過實時數據直接驅動連續仿真和基于有限狀態機的離散仿真兩種方式,實現了實時數據驅動的設備虛擬仿真,最終設計并搭建了一種數字化建模仿真系統,其可實現對硅底基智能制造工廠車間環境漫游、監視、實時狀態仿真、動態場景配置等功能。
參考文獻:
[1]胡凡成.基于Unity3D的實時數據驅動數字化車間研究[D].長沙:湖南大學,2018.
[2]姜康,柯榕,趙小勇,等.數字化車間虛擬監控系統研究[J].航空制造技術,2016(20):97-100,104.
[3]柯榕.車間制造狀態三維虛擬監控與預警方法研究[D].合肥:合肥工業大學,2015.