黃俊生
(泉州華中科技大學智能制造研究院,福建 泉州 362400)
隨著生產自動化應用普及,生產系統(tǒng)的復雜性也隨之提高,同樣系統(tǒng)的改進成本也成為工藝或產能優(yōu)化過程中生產管理者必須謹慎考慮的地方。于是依靠仿真技術的虛實制造成為生產線優(yōu)化決策的有效利器。虛擬制造是對真實制造系統(tǒng)的行為、結構和狀態(tài)完整準確的描述,是真實系統(tǒng)在信息世界的等價系統(tǒng)。虛擬制造技術的核心是虛擬仿真建模。因此,如何基于現代生產的組合單位,根據其物理模型及其相互之間的行為交互關系,進行信息化建模,實現精確而快速地表達物理系統(tǒng)并模擬生產過程行為,是生產線仿真建模的關鍵任務。
生產線快速建模的方案多種多樣。文獻[3]提出一種基于面向任務的生產線快速建模仿真系統(tǒng),基于QUEST軟件實現三維數字化工廠或產線的快速構建。文件[4]建立了仿真模型庫,包括幾何模型庫,運動學模型庫和邏輯模型庫,在QUEST軟件中實現基于模型庫的船舶分段生產線快速建模,探索了模型庫在快速建模的關鍵作用。文獻[5]提出一種基于TeamCenter和NX 的航天產品自頂向下協(xié)同設計方法,探索仿真模型統(tǒng)一管理及共享對快速建模應用的積極性。然而大部分對于產線快速建模及模型庫建設是基于傳統(tǒng)商業(yè)軟件實現,從本質上說是一種既有軟件產品的應用。
本文在研究生產線快速建模實現方式及其仿真模型庫建設路徑的基礎上,提出一種多模型庫復合設計方法?;赨nity3D開源三維開發(fā)平臺,開發(fā)面向生產線快速建模的預設模型庫、自定義模型庫、共享模型庫以及靜態(tài)模型庫4種模型庫。系統(tǒng)功能實現證明,該模型庫設計能夠實現動態(tài)模型的快速建模、應用、存儲和共享,對實現生產線仿真快速建模具有一定的實用性。
復合模型庫總體框架如圖1所示。復合模型庫類型分為靜態(tài)模型庫、預設模型庫、自定義模型庫和共享模型庫4種類型。
圖1 復合仿真模型庫總體框架
1)靜態(tài)模型庫:該模型庫基于Unity3D的AssetBundle資源技術實現。通用外部Unity3D編輯器進行資源處理,實現對模型、貼圖、預制體、聲音、甚至整個場景,統(tǒng)一打包為一個單獨的文件壓縮包,支持快速建模軟件運行時按需加載。
2)預設模型庫:該模型庫基于Unity3D的預設體(prefab)技術實現。通用外部Unity3D編輯器進行動態(tài)模型預設計及編輯,實現對標準生產線單元模型(數控機床、機器人、AGV等)及通用模型(多軸模組、傳送帶、傳感器等)的預制及保存。預設模型庫與快速建模軟件一同發(fā)布,是快速建模軟件的一部分。
3)自定義模型庫:該模型庫通過對外部通用三維模型文件的源文件解析、格式轉化、持久化等工作,實現從外部自定義三維模型轉為快速建模軟件模型庫內部模型。同時基于Unity3D的腳本機制,結合本文設計的通用生產線仿真控制交互組件,實現自定義模型由靜態(tài)到動態(tài)模型的轉變。
4)共享模型庫:該模型庫是在自定義模型庫的基礎上,通過云端存儲服務,實現動態(tài)模型的共享功能。基于共享模型功能可以實現生產線仿真的分工建模、快速歸并調試的目的,從而達到生產線快速仿真建模的目的。
生產線仿真模型中,最重要的便是包含物理運動、工藝行為等交互功能的動態(tài)模型。在本文提出的復合模型庫設計中,動態(tài)模型是在靜態(tài)模型的基礎上通過集成通用生產線仿真控制交互組件實現。通用生產線仿真控制交互組件如圖2所示。
圖2 通用生產線仿真控制交互組件
本文設計的通用生產線仿真控制交互組件包括運動組件、交互組件、對象控制組件、觸發(fā)器組件等8種仿真控制交互組件。
1)運動組件是定義常用的位移和旋轉類運動控制的通用控制組件集合。基于組件屬性及三維可視化編輯,可以實現常見的位移及旋轉個性化設計功能。
2)碰撞體組件是定義三維仿真物體碰撞屬性、碰撞體積的碰撞控制組件集合?;诮M件屬性及三維可視化編輯,可以實現碰撞體類型、碰撞體體積編輯功能。
3)對象控制組件是定義仿真對象支持的交互類型的通用控制組件集合。
4)觸發(fā)器組件是定義通過碰撞檢測、射線碰撞檢測、交互碰撞檢測的組件集合。通過三維空間位置編輯、發(fā)光體設置、碰撞體編輯等操作,模擬交互按鈕、傳感器等功能器件。
5)交互控制組件是定義通過碰撞檢測與對象控制組件交互的組件集合。用于模擬虛擬加工過程中的氣缸、托盤、夾具等執(zhí)行部件。
6)傳輸控制組件是定義通過碰撞檢測與可傳送組件交互的組件集合。通過三維空間位置編輯、起點、終點編輯等操作,模擬各種傳輸面。
7)典型控制組件是實現機器人、模組、AGV定義的組件集合。三維靜態(tài)物體通過綁定類型定義組件和關節(jié)定義組件,可以實現機器人、模組、AGV的自定義。
8)其他組件是其他一些功能較為獨立的組件集合。
通用生產線仿真控制交互組件設計是實現動態(tài)模型快速建模的關鍵,也是統(tǒng)一仿真模型表達的基礎。
模型庫建設的核心是模型的統(tǒng)一表達及持久化。在本文提出的復合模型庫設計中,不同模型庫中的模型都使用統(tǒng)一的仿真模型表達方式。如圖3所示,本文的統(tǒng)一仿真模型表達分為4個部分:基礎信息、結構層次信息、幾何信息和組件系統(tǒng)。
圖3 統(tǒng)一仿真模型表達
1)基礎信息:物體在三維空間的基礎物理信息。包括名稱、場景唯一標識、位置、角度、縮放尺寸和層次等。
2)結構層次信息:物體在三維空間的場景資源結構關系。包括上級父物體、下級子物體集合。
3)幾何材質信息:幾何材質信息指物體頂點、三角形、紋理坐標、法線和切線等幾何信息和材質引用信息。
4)組件系統(tǒng):三維物體綁定的體現不同維度仿真行為的組件集合。包括基礎組件、物理模型組件、行為模型組件和規(guī)則模型組件等。
統(tǒng)一仿真模型表達可以有效完成對靜態(tài)模型和動態(tài)模型的統(tǒng)一性描述。其中基礎信息、結構層次信息和幾何信息可以完成對靜態(tài)模型的完整表達,動態(tài)模型便是靜態(tài)模型結合不同維度的組件系統(tǒng)實現。在模型設計空間中,對模型各維度組件的添加、刪除和屬性修改便可以實現實時的模型編輯功能。
任何模型信息持久化過程都必須包括序列化和持久化的過程。序列化(Seriallization)是一種將對象以一連串的字節(jié)描述的過程,相應的反序列化(Deserialization)是一種將這些字節(jié)重建成一個對象的過程。本文的統(tǒng)一仿真模型表達是模型序列化和反序列化的基礎。如圖4所示,本文在對Unity3D基礎對象構建序列化及反序列化基對象的基礎上,對仿真模型的所有靜態(tài)信息及組件信息構建相應的序列化反序列化執(zhí)行對象。這樣,從仿真模型解析得到的對象組件可以通過相應的執(zhí)行對象進行序列化和反序列化。
圖4 統(tǒng)一仿真模型序列化
持久化是一種將數據已結構化或非結構化的格式存儲到數據庫或者文件系統(tǒng)的過程。統(tǒng)一仿真模型表達及其序列化的最終目的是仿真模型的持久化。仿真模型的持久化不同于傳統(tǒng)三維模型的持久化(保存為step、fbx、obj等文件),而是將靜態(tài)幾何信息、材質信息及仿真交互控制組件等都存儲為可識別文件。如圖5所示。仿真模型對象在Unity3D運行時是一個樹狀層次結構,表達仿真模型間的零部件組合關系。由上文的仿真模型序列化可知,仿真模型可以表達為組件對象列表,每個組件經過序列化和反序列化又可以轉化為相應的資源對象,因此仿真模型也可以分解為數組結構的資源對象列表。最后根據不同的資源對象類型可以保存不同的操作系統(tǒng)二進制文件。其中基礎信息、層次信息和組件信息保存為預設體文件(.rtprefab),幾何信息保存為網格文件(.rtmesh),材質信息保存為材質文件(.rtmat),貼圖紋理信息保存為可預覽文件(.rtview)。
圖5 統(tǒng)一仿真模型持久化
在這一小節(jié)中,通過對仿真模型進行統(tǒng)一表達、序列化和持久化技術路線研究,探索復合模型庫設計中的模型統(tǒng)一結構化讀取和保存的策略。模型的統(tǒng)一表達及持久化也是實現本文提出的復合模型庫中模型共享的關鍵。
為了驗證本文提出的復合模型庫設計應用性,本文基于Unity3D引擎開發(fā)生產線快速建模軟件,并實現了前文提出的4種仿真模型庫。開發(fā)平臺:Intel 八核 CPU I5-8300H,16G內存,GTX1050Ti顯卡。編程工具:Unity3D 2020。
在4種仿真模型庫的基礎上進行生產線快速建模驗證。針對教學試驗生產線和工業(yè)現場生產線分別進行快速建模驗證。
通過實際生產線快速建模應用證明,提出復合模型庫設計在模型存取及模型快速應用方面的優(yōu)越性。