方 圓,劉 江,呂瑞強,王明陽
(1.中國航空制造技術研究院,北京 100024;2.北京科技大學機械工程學院,北京 100083)
近年來,隨著網絡技術和信息技術的迅速發展,數字化技術已深入到制造業各個領域,由此形成的智能制造概念也成為了戰略制高點。在《中國制造2025》中也明確指出在重點領域試點建設智能工廠/數字化車間的計劃。在智能制造的實踐過程中,始終面臨一個瓶頸問題:信息空間與物理空間如何交互與融合的問題,為此提出了數字孿生(Digital Twin,DT)的解決方法[1]。
數字孿生的概念最早誕生于2003年,由美國密歇根大學的Grieves 教授在講授產品全生命周期管理課程(PLM)時提出來[2]。數字孿生是以數字化方式創建物理實體的虛擬模型,借助數據模擬物理實體在現實環境中的行為,通過虛實交互反饋、數據融合分析、決策迭代優化等手段,為物理實體增加或擴展新的能力[3]。
在由數字孿生理論所進行的實際應用探索方面,國內學者進行了眾多的試驗。陳振等[4]對物理裝配車間數據的實時感知與采集、虛擬裝配車間建模與仿真運行等關鍵技術進行了研究,提出了飛機數字孿生裝配車間架構,但只是在理論層面探索了數字孿生技術在飛機裝配車間中的應用模式,未進行實際應用功能的開發。魯壯等[5]開發了車間多機床實時監測系統并進行了實際測試,能有效采集多機床實時加工數據,但由于系統是二維監控界面,不能將機床與車間信息情況可視化。趙浩然等[6]提出了一種基于實時信息的生產車間三維可視化監控方法,設計出基于實時信息的生產車間三維可視化監控方法并開發出原型系統,但該系統人機交互功能不強,系統功能較為單一。姜康等[7]構建了數字化車間的虛擬監控系統,實現了車間信息的可視化與實時人機交互,但他們只是對生產線的生產信息進行展示,對于具體設備的實時運動狀態未進行實時仿真,且數字化程度不高。文國軍等[8]設計了基于Unity3D的水平定向鉆機虛擬實訓系統,具有良好的可操作性,提高了培訓效率,但該系統只能進行人員單向地控制模型,未實現模型的實時仿真與信息顯示的功能。周光源等[9]設計開發了生產車間可視化實時監控平臺,能對生產過程進行實時動態監控,在實時數據的驅動下監測運行狀態,但他們在模型實時仿真方面未進行深入研究。
因此,提升加工設備數字化水平和對仿真分析功能進行深入研究成為需要解決的問題。針對設備實際運行過程中數據無法有效獲取和顯示、缺乏有效的人機交互手段來實現規范化和提高效率等實際問題,首先需要對加工設備進行建模處理工作,這是實現設備模型可視化功能和提升加工設備數字化水平的基礎。研究仿真分析功能可以在產品生產之前,就能通過虛擬生產的方式來模擬在不同條件下的生產過程,實現對產能、效率以及可能出現的生產問題的提前預判,而實時仿真可以細致地顯示加工狀態以及為之后的設備檢測維護提供數據支持。數字孿生技術是以虛擬模型為核心,以數據為驅動,可以在虛擬模型上進行仿真分析和實時反映設備的運行狀態,實現虛實融合。
本文基于數字孿生理論,采用構建實際物體的數字孿生體的方式來對設備進行映射,提出了一種加工設備加工過程可視化與仿真分析技術方案,該方案包括虛擬模型與場景搭建、NC程序解析與仿真、現場設備與模型間數據傳輸、整合生產信息并顯示等步驟。設備與軟件建立通訊后以實時數據驅動虛擬模型運動實現設備實時運行狀態的三維可視化,生產信息的整合和展示功能,再以數據為支撐來進行設備運行狀態和加工質量的分析和優化。最終實現NC程序解析與模型仿真功能、產線設備運行狀態在線監測功能信息顯示、設備實時三維仿真、NC程序解析仿真功能。
生產線及設備可視化與仿真分析技術分為產線級孿生和設備級孿生兩大部分,有用戶界面功能和場景交互功能。在數據通信方面,技術方案可以連接服務器端的實時數據庫或者連接現場的工控機獲取實時數據和控制。技術方案的設計步驟可分為以下4步:(1)對生產線中的各個設備進行建模;(2)模型前處理,包括在模型優化軟件中對模型的坐標系、尺寸等進行處理和渲染優化;(3)在軟件開發平臺中進行仿真程序功能開發;(4)建立硬件通信連接與搭建軟件測試平臺。
總體框架架構如圖1所示。硬件部分包括實際生產線、數據庫服務器、顯示客戶端。生產線上的數據由采集系統提取,將各類傳感器采集的外部數據和設備PLC提供的內部數據上傳到生產線服務器端的實時數據庫中,在數據庫中進行識別、分類和存儲[10],最終由客戶端連接數據庫提取數據并提供生產信息實時顯示數據管理,模型實時仿真,交互查詢動態圖表顯示等功能。
系統技術架構如圖2所示。系統的3D模型在建模軟件中構建,經過模型優化軟件中處理加工后導入系統開發工具中;生產線的實時數據庫提供生產數據如主軸轉速、功率、溫度、各軸速度及位置數據等;由關系型數據庫(如MYSQL 數據庫)對產線的數據進行存儲和分析;由運動控制等眾多腳本進行數據驅動模型的運動功能和其他功能設計。
裝配生產線設備仿真分析功能分為NC程序解析與加工仿真功能、連接工控機與實時仿真功能和運動數據分析與圖表展示功能3 部分。其中由NC程序解析的數據所驅動的加工仿真功能為執行機構運動的幾何軌跡仿真,暫未考慮動力學仿真。為實現設備的模擬仿真和實時仿真功能,需要對設備的各個運動部位進行細致劃分和聯合運動控制,利用開發工具的輔助功能實現各個運動部位的獨立運動。
在未執行要加工的NC程序之前,設備模型在系統中需進行NC程序解析,模型執行解析后的數據驅動模型運動從而實現預加工仿真功能。用戶選擇好NC程序文件后模型各部件會按照NC程序中指定的路徑和速度運動,實現完整的預加工仿真過程。預加工仿真中涉及的關鍵技術包括NC代碼解析、模型驅動和碰撞檢測。
2.1.1 NC代碼解析
NC代碼解析腳本程序在系統開發工具所支持的開發環境中進行,程序開發語言也隨著開發工具的不同而改變。在NC程序解析的腳本中使用微軟正則模板類庫,這是微軟研究院推出的一個正則表達式模板類庫,其中主要的正則表達式通常被用來檢索、替換符合某個模式(規則)的文本。

圖1 總體框架架構Fig.1 Overall functional architecture of system
其利用基于數控代碼的文法規則建立起來的正則表達式,構建關鍵字符集,完成數控代碼的語義分析的匹配工作。該解析工作需要構建關鍵字符表來對字符(NC 數控代碼)完成匹配,并且使用正則表達式格式存儲各關鍵字符。語義分析中關鍵字符表具體如下:

按照設置好的關鍵字符集對當前讀取到的該行數控代碼進行逐字符匹配,如匹配到相應的字符,對其字符后的數據進行記錄和存儲。
設置鍵值對集合Dictionary 存儲每一行數控代碼解析出來的各軸位置速度數據、計算得到的時間、鉆頭開始運動代碼段等數據類型,其中的鍵為當前數據在NC代碼中的程序行號N,值為存儲的數據,如圖3所示。

圖2 系統技術架構Fig.2 System technical architecture

圖3 鍵值對Dictionary存儲解析數據類型Fig.3 Parsed data type for Dictionary stores
2.1.2 模型驅動
選取合適的運動控制腳本將物體開始與結束位置變量和運動時間轉化為模型移動或旋轉,從而達到驅動模型的目的。使用解析數據驅動模型運動時,將Dictionary 中存儲的值賦給運動控制腳本中的移動最終位置變量,再獲取上一步位置與此次位置的距離,從代碼中讀取的速度設定值F存入F_value 中,便可計算出運動時間,計算公式如下:

式中,S為起點與終點間距離;x1,x2,y1,y2,z1,z2為各軸起點與終點位置坐標;Ti為起點到終點的時間;fi為從起點到終點的速度F_value值。
將Ti中求得的時間賦給運動控制腳本中的時間變量,即可實現該段NC代碼所對應的模型運動動畫效果。運用開發工具中的多線程技術實現NC程序中一行代碼的各個軸同時運動,逐行執行NC代碼。設備模型即會按照NC程序順序執行實現設定的運動。
2.1.3 碰撞檢測
在虛擬模型層面運用物理引擎(如PhysX 物理引擎)檢測物體的接觸情況。物理引擎通過內置的算法可以使虛擬世界中的物體運動符合真實世界的物理定律,如重力作用、碰撞效果等,應用物理引擎可實現設備刀具與工件的碰撞檢測功能。
在設備的刀具和工件部分添加網格渲染器(Mesh renderer)和網格包圍盒組件(Mesh Collider),物理引擎組件能以模型自帶的三角面網格形成包圍盒,利用兩個包圍盒接觸時觸發碰撞報警功能,實現碰撞檢測。圖4中模型綠色線條為碰撞體包圍盒結構,在模型對象中添加檢測碰撞的代碼腳本,當兩個運動部件接觸時會觸發碰撞警告提示框。
為實現實時仿真效果,需要從設備處獲取實時運動數據并傳輸到客戶端進行解析和驅動仿真??蛻舳丝膳c設備的工控機軟件建立通信連接從而獲取數據,通過現場PC的工控機軟件的IP 地址和端口號,客戶端與工控機軟件建立連接。建立通信連接與數據傳輸的過程如下:(1)客戶端軟件與現場設備工控機軟件通過IP地址與端口號建立通信連接;(2)在客戶端腳本中創建通信句柄(Handle),上位機(即設備工控機軟件)把數據傳給句柄;(3)句柄將數據賦值給下位機(即客戶端程序),再將數據賦值給運動控制腳本驅動模型各部分的運動,整個過程在腳本的自動更新函數中執行,自動更新函數會每20ms 自動刷新一次,從而保證每20ms 機床的實時運動狀態能被客戶端的模型仿真出來,最終實現孿生模型對機床的實時仿真功能,連接與傳輸數據流程圖如圖5所示。
在從現場工控機獲取到實時數據的同時,還可以將實時數據賦值給圖表顯示插件(如二維圖形顯示插件GraphMaker),通過更改插件腳本將實時數據顯示為折線圖的Y軸坐標,以時間戳變化為X軸坐標,圖表刷新時間設定為1s,最終形成設備數據二維折線圖的動態監測效果。
在繪制好實時數據折線圖后,通過匹配當前執行的程序段號得到NC代碼中的編程值,并將其繪制在實時折線圖的同一圖表上,如圖6所示。通過該對比兩折線圖可以直觀地觀察到運動誤差,便于加工精度評估,運動補償控制等。

圖4 模型碰撞體包圍盒Fig.4 Model collider bounding box

圖5 ADS通信連接與傳輸數據流程圖Fig.5 Flow chart of ADS communication connection and transfer data
為記錄和傳輸歷史加工數據,可采用數據庫數據傳輸支持的文件格式存儲歷史加工數據。JSON 格式是一種較為通用的輕量級的數據交換格式,具有便捷的數據訪問途徑和非冗長性特點,因此本文采用JSON 格式進行加工數據傳輸和存儲。首先定義要生成的加工數據文件存儲位置,然后確定采集時間區段,最終按照預設的通信句柄連接并獲取現場工控機軟件中的時間戳、當前執行程序段號、各個軸位置速度、主軸轉速、功率等信息生成一個加工數據文件。將生成的加工數據文件導入數據庫(如MySQL)中可顯示出表結構數據,如圖7所示。生成的歷史加工數據可在現場通信條件不佳的情況下通過外部存儲設備進行拷貝和異地分析。
由于本次外涵道生產線數字孿生課題是在完善實際外涵機匣生產線的可視化和生產信息數據化功能的基礎上所提出,因此實際的操作平臺為該條飛機發動機外涵道機匣生產線,其中包含6個站位,分別為1站位自動切邊制排孔、2站位手工預裝、3站位自動制孔、4站位手工預裝、5站位自動鉚接和6站位無損檢測;其中2、4站位為人工站位,5、6站位為機器人站位,4個自動站位都安裝有德國倍福自動化公司(BECKHOFF)的基于PC的工業控制軟件TwinCAT(The windows control and automation technology)實現設備控制與數據傳輸。TwinCAT 在整個系統中扮演雙重角色:一是接收用戶輸入的指令,經過解碼轉換為機器能識別的指令,進而控制機床的運動;二是以—定的周期讀取機床的狀態并反饋給用戶。
選擇Unity3D 引擎開發生產線及設備仿真分析系統,Unity3D 是一個全面整合的專業游戲引擎,利用交互的圖形化開發環境為首要方式的軟件。系統代碼部分采用微軟公司的VS(Visual studio)集成開發環境進行開發,開發語言為C#語言。Unity3D 與TwinCAT之間的數據通信通過ADS (Automation device specification)通信協議進行。在TwinCAT 系統中的各個軟件模塊之間的信息交換通過TwinCAT ADS 完成。系統仿真所使用的模型來自實際設備的設計三維模型,能精確地反映真實設備的尺寸、安裝位置等數據。

圖6 NC指令與實時數據對比顯示界面功能Fig.6 Comparison display interface of NC commands and real-time data

圖7 數據庫中顯示存儲的現場數據Fig.7 Stored factory data in database
在實際生產中,生產線上的各個站位的生產狀態信息都需要進行監控,為了能直觀、全面地展示整條生產線上所有設備的實時信息,系統的生產線界面內整合了全部站位的設備模型、用戶界面和信息顯示窗口。最終實現各設備實時信息三維顯示,具體設備孿生界面切換功能。生產線界面如圖8所示,采用現場設備照片作為貼圖,使得模型與現場設備更加逼真,增加使用者的沉浸感,設備仿真界面如圖9所示。
系統的主要測試指標為系統各部分功能的完整性、系統畫面的流暢度、系統的人機交互性和系統與現場設備通信的同步性。測試結果表明,系統的生產線孿生界面與設備孿生界面功能均達到預期效果,三維視角查看模式下,畫面流暢,模型運動畫面平滑無停頓感,模型界面能響應用戶鍵鼠指令,人機交互性較強,連接現場設備進行實時仿真時的數據傳輸間隔為20ms,模型與實際機床運行步調一致,通信同步性良好,系統穩定,如圖10所示。

圖8 外涵道機匣裝配生產線孿生界面Fig.8 Digital twin interface of outer duct casing assembly line

圖9 自動鉆孔設備孿生界面Fig.9 Digital twin interface of automatic drilling equipment

圖10 自動鉆孔機導入NC文件并運行仿真界面Fig.10 Interface of automatic drilling machine importing NC file and running
本文針對典型航空產品裝配生產線的生產過程中可視化程度低、人機交互性差等問題,以數字孿生技術為理論指導,實現了加工設備可視化與仿真分析技術的方案構建,并以實際飛機發動機外涵道機匣生產線為對象,采用Unity3D 開發引擎設計了數字孿生設備加工仿真系統,分別開發生產線孿生界面和設備孿生界面,驗證了所提出的加工設備可視化與仿真分析技術的可行性,最終實現了生產線狀態信息顯示與交互、設備NC程序解析仿真、設備實時仿真的功能,為之后的設備加工數據分析和優化、提高設備加工精度和效率、提升生產線的智能化水平提供了平臺。