江雪梅 袁子航 婁 平 張小梅 嚴俊偉 胡輯偉
1.武漢理工大學信息工程學院,武漢,430070 2.寬帶無線通信和傳感器網絡湖北省重點實驗室,武漢,437070
數控機床作為工業母機,廣泛應用于加工制造裝配等領域,在制造領域發揮著重要的作用[1-2]。機床加工過程中,由于數控加工G代碼編寫不當以及夾具的裝夾方式等影響,在實際加工過程中可能引起機床刀具與工作臺、夾具之間發生碰撞,從而導致加工不能正常進行,乃至出現安全事故,故碰撞檢測有利于提高數控機床加工的效率與安全性[3-4]。
碰撞檢測算法按空間域可分為基于空間剖分算法和基于包圍盒的算法[5-6]。數控機床部件種類多,檢測算法準確性和效率呈負相關[7-8],因此利用分級碰撞檢測方法對加工過程中碰撞現象進行檢測是一種有效的方法。通過預檢測快速發現可能干涉的區域,然后通過精檢測對預檢測發現的干涉部位進一步細化篩選發現具體的干涉位置[9],即達到效率與精度的有效提高。
目前數控機床的碰撞檢測功能通常是在加工前進行仿真測試,根據加工工件的G代碼以及統一規劃的工件裝夾方式,利用仿真軟件進行加工仿真以發現潛在的碰撞[10-11],而實際加工過程中裝夾方式與刀具尺寸等都會根據需要發生改變,因此仿真結果難以完全反映實際的加工狀況,無法完全檢測出實際加工過程的碰撞現象。
數字孿生技術是近年來出現的一個普適的技術體系,在眾多領域中有廣泛應用[12]。數字孿生通過對物理實體的數字化表達以及多維度、多尺度、多物理場仿真建模,從而構建在數字空間中一個鏡像的物理實體,在物理實體的動態感知數據驅動下,該數字鏡像不斷演化,具備對物理實體全生命周期運作、管理與維護的能力。陶飛等[13-14]、李欣等[15]將數字孿生定義為一種接受來自物理對象的數據驅動,使其在整個生命周期同物理對象保持一致的數字模型。ZHENG等[16]和ZHANG等[17]從具體應用入手研究數字孿生體框架和數字孿生建模過程,提供具體應用的落地參考。另有研究者針對車間管理與產品裝配過程進行了相關研究,提出了針對具體領域的數字孿生理論框架以及相關的方法[18-24]。駱偉超等[25-27]提出了數控機床混合故障預測方法,探索數字孿生體的多域統一建模方法和虛實空間映射策略,能夠有效混合處理數字孿生模型和數據,從而更準確地實現混合預測。鞏超光等[28]對數控機床加工過程中銑削參數動態多目標優化提出了基于數字孿生的解決策略,可有效針對整個運行時段提供最優參數方案。因此,數字孿生技術在數控機床全生命周期的運維與管理方面具有一定的優勢。
本文針對目前數控機床的碰撞檢測仿真方法難以滿足實際加工環境的需求的問題,將數字孿生引入以解決碰撞檢測,提出了一種基于數字孿生的碰撞檢測方法。該方法通過數控機床在虛擬空間的數字化表達,以及對加工工件、夾具、刀具以及加工環境等物理實體的實時感知,利用所提的碰撞檢測算法構建實時感知數據驅動的加工過程的演化模型,從而解決基于傳統仿真的碰撞檢測方法難以發現實際加工過程中的碰撞現象的問題,即提供一種碰撞檢測的有效方法。
由于數控機床的碰撞檢測通常與工件、夾具、裝夾方式、刀具及加工環境有關,特別是重型數控機床,其加工環境開放,裝夾方式多樣,傳統的基于仿真的碰撞檢測方法難以感知實際加工過程中的有關變化,因此難以對實際加工過程中的碰撞現象做出真實反饋。為此利用數字孿生技術,通過其對物理實體的數字化表達與對環境與動態性能的實時感知,并且在實時感知數據的驅動下,其行為模型不斷演化能力,實現對實際加工過程以及相關刀具、夾具的高保真仿真,實時檢測碰撞現象。針對重型數控機床這種開放的加工環境,為實現其加工過程中碰撞檢測的有效性,提出了基于數字孿生的感知-演化預測-反饋的碰撞檢測框架(圖1)。

圖1 基于數字孿生的感知-演化預測-反饋的碰撞檢測方法框架
該框架分為物理層、虛擬層、虛實空間交互層三個層次,涉及物理機床三維數字化表達、面向碰撞檢測的機床加工要素感知、機床碰撞檢測算法、以感知數據驅動碰撞檢測過程等關鍵技術。
在物理層中,機床數字孿生體對面向碰撞檢測的加工要素感知和傳輸,即感知主軸、刀具、工件、夾具坐標等加工要素,通過有線或無線網絡與虛擬空間進行信息傳輸和交換。
在虛擬層中,面向重型數控機床的物理實體,在數字空間實現其機床物理實體的三維數字化表達,并構建機床碰撞檢測模型的行為模型,即從幾何、規則等層面映射物理機床,以構建多領域融合的機床虛擬模型。
虛實空間交互層是數字孿生體與物理實體溝通的橋梁,一方面,物理空間的感知加工要素驅動虛擬模型演化,形成物理機床在虛擬空間的全息映射;另一方面,虛擬空間中虛擬模型演化的結果引導物理空間決策。
物理實體的三維數字化表達是數字孿生體在數字空間的信息模型的可視化,機床三維幾何模型是對物理機床幾何信息的映射,機床運動模型引導幾何模型各部件按照物理實體的行為規范協調運動,從而實現物理機床三維數字化表達(圖2)。機床包括工作臺、主軸、夾具、刀具等部件,由機床本體(包括多軸運動組、滑軌、工作臺等)的幾何尺寸在數據空間構建全息的三維模型。

圖2 物理機床三維數字化表達過程
機床運動模型依賴于機床部件的層次關系。對機床加工過程中的各部件運動規則進行研究,將運動對象(包含刀具和主軸運動組,其中刀柄、刀頭、刀盤、主軸等主軸運動組成員以更低層級分組)、相對靜止對象(工件、夾具等)和環境對象(工作臺等)分組,以實際加工運行特點驅動對應部件進行相應的運動,并根據層級分組,也利于定位碰撞位置。
數據是數字孿生體演化的核心,面向碰撞檢測的加工要素可依據數據變化的頻率分為靜態數據、動態數據和中間數據三類,如圖3所示。

圖3 加工要素分類
靜態數據變化頻率低、變化小,通過靜態文檔或人工輸入,如工件信息、刀具信息、夾具信息等,涵蓋設備器件的型號信息、幾何模型信息、工藝參數限制等。動態數據來源于數控平臺和傳感器,如通過視覺傳感器獲得包含夾具、工件等部件幾何位置信息的點云圖像信息,以及數控平臺獲取的軸坐標和刀具坐標等,此類數據涵蓋影響碰撞檢測準確性的各設備器件的位置坐標信息。中間數據指機床的運行狀態信息,是機床孿生體學習、融合上述數據并處理和預測后所得到的數據,如刀具軌跡、加工進度、決策結果等。
根據圖3對加工要素的分類,數據傳輸前對多源異構加工要素進行統一化描述,此后數據將傳輸至虛擬空間處理并參與演化,從而實現加工數據可視化和驅動機床虛擬模型演化等。
機床實際加工空間中的對象一般可根據變化頻率分為動態對象、靜態對象、環境對象三類。動態對象的形狀和位置等信息會隨時間變化而變化,如刀具、主軸、工件等;靜態對象一般根據實際裝夾方式等加工工藝要求而變化,如夾具等;環境對象一般不發生改變,如工作臺、數控操作平臺等。直接處理具有復雜幾何信息的對象會顯著增加碰撞檢測計算量,因此需要對多種對象分類并使用包圍盒包裹以簡化計算量。數控機床碰撞檢測算法兼顧準確性和效率性,據圖4所示分級檢測一般性框架,構建圖5所示機床的碰撞檢測模型來描述虛擬環境中碰撞檢測問題:輸入為n個靜態對象模型An、環境對象C和動態對象模型B。B在虛擬環境中按照規則自由地變換位置和方向,規則一般由仿真過程或者用戶控制指令來確定。根據實際加工環境感知的加工要素重構的虛擬模型,用該算法對其預處理,并進行預檢測,對于預檢測后產生的模型,可以據精度要求新增不影響原形狀的頂點,從而滿足更高的精度要求。

圖4 分級碰撞檢測一般流程
2.3.1預檢測階段
結構簡單包裹性一般的包圍盒描述機床部件所占三維空間,能夠快速獲取場景中機床部件的幾何信息,篩選不會發生碰撞的區域和部件并篩除,留下可能發生碰撞的區域和部件,降低區域內模型檢測數量。
軸向包圍盒(axis-aligned bounding box,AABB)是一種以坐標軸為基準軸的包圍盒方法。根據機床的工件和刀具模型及運動特點,建立一個每一邊都平行于一個坐標平面的六面體,物體如果有平移運動則平移該包圍盒,物體發生旋轉則更新包圍盒。AABB包圍盒構建了一個包裹給定對象物體的最小長方體,對下式所描述的AABB包圍盒的空間區域進行相交分析就可以判斷兩個物體是否相交:
R={(x,y,z)|xmin≤x≤xmax,ymin≤y≤ymax,zmin≤z≤zmax}
(1)
其中,x、y、z分別表示對象空間域R的直角坐標;xmin、ymin、zmin分別表示原始模型對象在場景中所占空間的最小坐標值;xmax、ymax、zmax分別表示其在場景中所占空間的最大坐標值。
例如,定義一個圓柱體的中心坐標Co,圓柱軸線與上下表面的交點Cup和Cdown、圓柱體半徑r,可根據下式定義AABB包圍盒的空間域R:
R={(x,y,z)|Cup-r≤x≤Cup+r,Cup-r≤y≤Cup+r,Cup≤z≤Cdown}
(2)
對于其他幾何形狀,可以按照類似方式去初始化它的AABB包圍盒。選擇對包圍盒的分離軸檢測算法,兩個物體的三個軸上的投影都相交,則說明這兩個物體碰撞。對兩個物體的三個坐標軸投影,分別對應3個平面:XOY、XOZ、YOZ,理論上最多經過6次比較運算就可以判斷兩個AABB包圍盒是否相交。
如圖6所示,若在XOY平面包圍盒1和2有交集,則說明這兩個包圍盒可能碰撞,接著計算XOZ、YOZ平面的相交情況,若全部相交則發生碰撞,否則不會發生碰撞。當判斷出某兩個物體有發生碰撞的“嫌疑”時則進入精檢測階段。

(a)AABB包圍盒投影
2.3.2精檢測階段
精檢測分為兩個步驟:①對預檢測階段中篩選出的可能發生碰撞的單個部件或較小區域,通過基于頂點的射線相交算法繼續進行檢測,將發生碰撞的部位或部件篩選出來;②若有可能發生碰撞的部位或部件被檢出,則可以接著做精確量化,如確定干涉距離等。
頂點是構成機床三維模型的基本元素,形成頂點越多,模型越復雜,模型細節越多,構建、比較的時間復雜度越高。提出基于頂點的射線相交碰撞檢測方法,以模型的幾何中心為射線端點,向幾何體頂點的方向發射形成一束射線(圖7)。從立方體的幾何中心發散產生的8束射線經過立方體的8個幾何頂點,形成了射線集合L={a,b,c,d,e,f,g,h},每束射線都遍歷其經過的幾何體,并將相交區域的距離進行對比從而得知是否發生碰撞。

圖7 射線相交算法原理
以兩個待檢測圖元模型A、B為例,對于圖元模型B,其頂點為Bn(n=1,2,…,8),其幾何中心為Bc;對于圖元模型A,其幾何中心點為Ac,模型頂點為An。從中心點Bc向頂點方向Bn發射射線,與另一待檢測圖元模型對象A的表面相交于點Am,若點Bc和Bn之間的距離dBcBn小于點Am和Bc之間的距離dBcAm,即
dBcBn≤dBcAm
(3)
則說明不會發生碰撞,反之則發生了碰撞。
該基于頂點的射線相交算法更精確,避免由于包圍盒的緊密性較差而產生的冗余計算,雖然計算量較大,但是對預檢測后篩選出的規模較小或形狀較簡單的幾何模型進行檢測仍可有效提高碰撞檢測效率。
通過虛實語義交互實現數字孿生機床與物理機床的交互,也是實現感知數據驅動的碰撞檢測方法的紐帶,在對感知加工要素處理的基礎上,實現數據驅動、虛實交互的碰撞檢測過程。
面向碰撞檢測的加工要素指機床工作環境中包括工件、工作臺、夾具等可能對碰撞干涉產生影響的對象。考慮場景模型數量規模、光照條件、監測環境復雜程度和加工精度要求,選用合適的視覺傳感器獲取現場環境點云圖像信息,當圖像信息在傳輸到虛擬空間后,通過去噪、去高光等預處理,利用基于機器視覺的機床加工場景重構方法,另通過模板匹配方法可獲得相應的部件型號與幾何信息,在虛擬場景中重建各物體模型。
機床加工仿真根據時序可分為加工前、加工時、加工后,數字孿生體各部分參與程度不同,因此根據機床加工時序研究數據驅動的碰撞檢測過程。加工前,感知物理實體環境信息,通過數控平臺和傳感網絡感知數據,將主軸、刀具、工件等加工要素在虛擬空間中全息映射為機床實際加工環境。加工時,即重建并映射實際場景后,機床孿生體根據初始化環境演化并對加工過程進行監測,輸入并解析數控程序,通過虛實空間三維尺寸比例尺來模擬物理空間中的真實運動行程,通過感知加工要素驅動虛擬模型演化,進行碰撞檢測。若實際環境中感知到孿生體在仿真過程中出現如夾具和工件位置沖突、主軸刀具和夾具沖突等可能產生碰撞的情況,則反饋檢測結果,如報警、碰撞部位、干涉深度和錯誤語句段,從而指導操作人員修改。加工后,若演化過程中機床未發生碰撞,則當前數控程序通過檢測,可提交物理實體運行。
以重型龍門鏜銑數控機床ZK5540A為例(圖8a),構建在虛擬空間中的幾何、運動模型。其幾何參數見表1,其運動參數見表2所規定的范圍,以機床幾何信息建立以頂點網格描述的機床三維模型。傳感器模型也加入以增加真實性,得到圖8b所示的機床虛擬三維模型。機床龍門做X軸方向運動,鏜銑頭做Y軸方向運動,滑枕可帶動主軸、刀具做Z軸方向運動,根據機床X、Y、Z三軸層次運動規則,結合表2所示運動參數約束,構建面向碰撞檢測的機床三維運動模型。

表1 ZK5540A數控機床幾何參數

表2 ZK5540A數控機床運動參數

(a)ZK5540A實體機床
根據上述對機床加工要素的分類,獲取動態數據、靜態數據,其中動態數據感知方式匯總于表3。由面向碰撞檢測的機床數字孿生體對數據感知、加工環境重建、數據監測、仿真可視化、仿真控制、碰撞檢測等功能的需求,設計系統框架,如圖9所示,設計人機交互界面如圖10所示,感知加工要素并傳輸,上載至業務邏輯處理層以管理相應數據信息,業務展示層提供友好人機界面,操作人員得以進行管理和控制。

表3 動態數據感知方式

圖9 DTMT人機交互界面

圖10 面向碰撞檢測的機床數字孿生體系統框架
加工前,傳感器網絡和數控面板感知物理空間的加工要素并全息映射。如使用雙目相機獲取當前加工環境圖片,對感知的場景圖片利用基于雙目視覺的機床加工環境三維重構方法重建加工環境,基于圖像識別對機床部件如刀具以及夾具、其他障礙物進行分類標定,可視化與虛擬空間的數字孿生機床虛擬加工場景如圖11a所示,對刀具刀柄和刀頭的包圍盒可視化如圖11b所示。

(a)加工過程可視化
加工時,操作人員根據加工工件要求,通過人機交互界面加載數控程序,機床各運動組按數控程序比例尺要求模擬真實環境的運動行程,根據實際環境映射的數字孿生體在實際加工環境信息的驅動下進行演化,有效預測現實中的碰撞。若碰撞則通過高亮顏色標識碰撞部位并及時反饋報警,在人機交互界面上顯示報警內容和當前加工狀態以提醒操作人員注意修改數控程序或調整物理空間的加工要素(如夾具位置和裝夾方式等)。
如圖12所示,當機床孿生體根據感知信息解析G代碼進行銑槽加工時,若孿生體監測到機床刀柄和工件發生碰撞,則監測數據發生跳變、碰撞部位變色、碰撞報警等,提醒操作人員修改數控程序或裝夾方式;操作人員調整數控程序后,孿生體在加工過程中檢測到刀具和夾具發生碰撞,操作界面報警并可視化對應碰撞部位(圖13),操作人員需繼續修改數控程序或裝夾方式以避免碰撞。

圖13 銑槽時刀具和夾具發生碰撞
如圖14所示,操作人員根據報警反饋重新設計數控程序、裝夾方式后,孿生體感知環境信息并映射虛擬環境中并演化,若檢測無碰撞,表明當前工件、夾具、裝夾方式、坐標信息以及對應的數控程序符合現實環境條件。加工后,上述對數控程序和加工環境的驗證過程可證明該方法具有對碰撞檢測的有效性和準確性,該數控程序和裝夾方式等可提交物理實體運行。

圖14 可提交物理實體進行加工的無碰撞銑槽流程
本文提出了一種基于數字孿生的碰撞檢測方法,該方法通過感知-演化預測-反饋的碰撞檢測框架的構建以及數控機床可視化的三維數字表達,在感知數據驅動下實現機床碰撞檢測過程的高保真仿真,實現了加工過程中有效的碰撞檢測,并以重型龍門鏜銑床為例,驗證此方法的可行性和有效性。與傳統碰撞檢測方法相比,數字孿生能有效提升重型數控機床碰撞檢測的有效性,提高加工過程的安全性和效率,后續將圍繞實時感知與高效重構實際加工場景展開深入研究,從而進一步提高數字孿生機床碰撞檢測的有效性與準確性。