曾欣 宋寧 夏謙
摘要:現(xiàn)有的數(shù)控機床仿真應(yīng)用主要停留在PC平臺,應(yīng)用過程中,硬件投入成本較高。本文提出一種基于Unity3D的跨平臺數(shù)控機床裝調(diào)虛擬仿真訓(xùn)練系統(tǒng)開發(fā)方案,介紹了該系統(tǒng)的開發(fā)路線,論述了模型的建立及優(yōu)化、仿真場景的設(shè)計、機床運動物理仿真的等開發(fā)過程中的關(guān)鍵技術(shù)。采用本方案開發(fā)出的數(shù)控機床裝調(diào)虛擬仿真訓(xùn)練系統(tǒng)能較好的適應(yīng)不同的操作系統(tǒng)平臺和硬件環(huán)境,特別是滿足移動終端用戶的使用需求,降低了軟件應(yīng)用的投入成本。
關(guān)鍵詞:數(shù)控機床;虛擬仿真;跨平臺;裝調(diào);Unity3D
數(shù)控機床作為數(shù)控加工中重要的一種精密設(shè)備,在以往數(shù)控機床維修、裝調(diào)培訓(xùn)中,由于硬件和管理的限制,不便于長期反復(fù)拆卸,因此實際訓(xùn)練環(huán)節(jié)不便于實施,特別是針對高職院校學(xué)生而言更是如此。利用虛擬仿真技術(shù)實現(xiàn)數(shù)控機床裝調(diào)的仿真訓(xùn)練,可以避免培訓(xùn)過程中造成設(shè)備損耗和損壞、降低訓(xùn)練成本,有效解決大型設(shè)備、精密設(shè)備的培訓(xùn)問題??缙脚_的數(shù)控機床裝調(diào)仿真軟件,有效降低軟件、硬件平臺和系統(tǒng)軟件的成本,擴大軟件的普及應(yīng)用。本文探索一種基于Unity 3d的數(shù)控機床跨平臺仿真訓(xùn)練系統(tǒng)的開發(fā),該系統(tǒng)能夠運行在高性能計算機和智能終端等不同的硬件平臺和軟件系統(tǒng)環(huán)境中,完成相同的仿真訓(xùn)練功能。
1 機械模型的建立與優(yōu)化
數(shù)控機床的機械模型建立方法總的可概括為兩種:多邊形網(wǎng)格建模和nurbs建模。多邊形網(wǎng)格建模簡單, nurbs建模精度高,非常適合建立機械模型,但是nurbs需要轉(zhuǎn)換為多邊形網(wǎng)格模型才能為Unity引擎使用。
為了最大限度地充分利用現(xiàn)有CAD模型資源,本文采用SolidWorks建模,并且在SolidWorks中完成機床的裝配。完成的裝配體導(dǎo)出到3ds max等軟件進行模型優(yōu)化和材質(zhì)貼圖處理。將SolidWorks模型導(dǎo)入3ds max 時,導(dǎo)入通道有幾種選擇:IGS格式、STL格式、step(stp)格式。Step文件可以用較少到頂點數(shù)表示較高精度的模型,是導(dǎo)出高精度幾何模型到首選通道。另外,3ds max 2015以后版本可以直接導(dǎo)入SolidWorks模型。本項目中選擇stl導(dǎo)入SolidWorks建造到數(shù)控機床模型到3ds max中,并進一步精簡模型。以VMC 650數(shù)控加工中心機床主體為例,從SolidWorks導(dǎo)入的模型多邊形數(shù)量為97652,經(jīng)過優(yōu)化后,模型的多邊形數(shù)量為18206。經(jīng)過優(yōu)化后的網(wǎng)格模型能很好地適應(yīng)各種硬件性能低的移動終端。
2 機床檢測的實現(xiàn)
使用Unity可以將物件的形態(tài)、表觀和功能有機結(jié)合起來,再現(xiàn)實物,實現(xiàn)完全的物理功能模擬,這一點與以往的通過動畫虛擬對象是完全不一樣的。在Unity中實現(xiàn)基于物理的仿真需要5個步驟:(1)按實際比例建立對象的功能模型,并且導(dǎo)入Unity3D;(2)通過紋理貼圖和著色腳步表現(xiàn)對象的表觀特性;(3)在模型上對應(yīng)設(shè)置“感知”功能部件,如碰撞點、接觸面等;(4)根據(jù)對象的工作原理,編寫程序控制對象動作反應(yīng)。(5)建立對象的虛擬應(yīng)用環(huán)境,讓對象跟虛擬環(huán)境中的其它對象產(chǎn)生相互作用,或者與用戶互動來展現(xiàn)對象的功能和特性。
下面以機床裝調(diào)時使用的百分表仿真對象的建立和使用百分表檢測機床工作臺移動直線度的物理仿真為例,說明在Unity中實現(xiàn)物理仿真對象的具體方法:(1)建立百分表的模型。嚴格按照功用和實際比例來建立百分表模型,為了減少計算機資源的占用,百分表內(nèi)部的螺釘?shù)炔恍枰憩F(xiàn)的零件建模時可以忽略。(2)繪制貼圖。使用Photoshop等軟件為上一步中建立的模型制作貼圖。螺紋等零件的表面細節(jié),在此步中通過法線貼圖來表現(xiàn)。(3)設(shè)置百分表的動作觸發(fā)部件。百分表的動作只有兩個:一是百分表校正,這一操作是通過撥動表盤完成的;另一個是百分表測量讀數(shù),當(dāng)百分表的測量頭接觸工件受到擠壓時,測量頭移動,指針就會發(fā)生偏轉(zhuǎn),從而在表盤上產(chǎn)生讀數(shù)。因此在模型資源導(dǎo)入Unity3D中后,需要做兩件事:一是將表盤設(shè)置為mesh collider,使之能互動;二是在測量頭處設(shè)置碰撞體,當(dāng)它與其他物體接觸時,產(chǎn)生位移。(4)設(shè)計百分表的運動程序。百分表的測量動作原理為:測量頭受壓時,測量桿產(chǎn)生向上的位移;測量頭沒有受到碰撞時,百分表內(nèi)部的復(fù)位元件作用使測量桿復(fù)位。測量桿的位移使百分表指針的轉(zhuǎn)動在表盤上產(chǎn)生讀數(shù)。根據(jù)百分表的這一工作原理,我們就可以編寫出對應(yīng)的程序,控制虛擬百分表的動作行為。程序邏輯如圖1。
(5)百分表應(yīng)用仿真。根據(jù)以上四步設(shè)計出的仿真百分表組成如圖2所示。以下以機床工作臺移動直線度測量為例,說明仿真百分表的應(yīng)用方法。
將機床工作臺設(shè)置為碰撞體,將百分表按現(xiàn)實中應(yīng)用的情形裝夾到檢測位置。當(dāng)百分表的測量頭與被導(dǎo)軌接觸到時,如果導(dǎo)軌存在直線度誤差,百分表表盤指針就會發(fā)生偏轉(zhuǎn),產(chǎn)生讀數(shù),這個讀數(shù)反應(yīng)的正是虛擬的工作臺“真實”的移動直線度誤差,如圖3。
2 系統(tǒng)實例
本項目數(shù)控機床裝調(diào)仿真系統(tǒng)是運用上述路線開發(fā)的一個跨平臺程序?qū)嵗?,它能運行在Android、IOS、Windows、Mac、Linux等當(dāng)今各大主流操作系統(tǒng)平臺上,適應(yīng)各種不同分辨率的屏幕,對硬件也有較好的適應(yīng)性。該軟件實現(xiàn)了0632數(shù)控車床、VMC650數(shù)控加工中心的各種機床運動的手工操作仿真以及機床裝調(diào)過程中典型的機械測量的仿真,能夠滿足了數(shù)控機床裝調(diào)仿真訓(xùn)練的基本需要。圖4所示為基于Unity3D的跨平臺數(shù)控機床裝調(diào)仿真系統(tǒng)的功能組成,圖5所示為該系統(tǒng)的機床拆裝虛擬界面。
4 結(jié)語
本文探索、全面闡述了基于Unity 3d的數(shù)控機床裝調(diào)仿真系統(tǒng)的開發(fā)方案,這一解決方案和其中采用的開發(fā)方法在總結(jié)前人開發(fā)經(jīng)驗的基礎(chǔ)上,根據(jù)自身產(chǎn)品的特點做了一定的優(yōu)化和創(chuàng)新,對于同類產(chǎn)品的開發(fā)具有一定的參考價值。
本項目中的數(shù)控機床裝調(diào)仿真系統(tǒng)對各種操作系統(tǒng)、各種硬件系統(tǒng)具有較好的兼容性,軟件應(yīng)用投入成本低,便于在更多場合開展應(yīng)用,能更好地幫助學(xué)校和企業(yè)完成人員的數(shù)控機床裝調(diào)仿真訓(xùn)練。
參考文獻:
[1]羅求順,張其,郭建,汪廣擴.基于Quest3D的鉆床加工虛擬教學(xué)系統(tǒng)的研究[J].計算機工程與應(yīng)用,2015,59(1): 262266.
[2]林聰.虛擬現(xiàn)實技術(shù)在普通機床拆裝課程教學(xué)中的應(yīng)用研究[D].廈門:廈門大學(xué), 2013.
[3]王琴,王雙利.基于虛擬現(xiàn)實的數(shù)控車床結(jié)構(gòu)拆裝與仿真系統(tǒng)[J].科技與企業(yè),2013, (12): 116117.
[4] Unity Technologies.USER INTERFACE (UI)[EB/OL].