曾欣 宋寧 夏謙

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