摘要:本文基于對(duì)虛擬數(shù)控加工過(guò)程及相關(guān)技術(shù)的深入研究,在Visual C ++平臺(tái)上利用OpenGL技術(shù)建立虛擬數(shù)控銑削加工環(huán)境,在系統(tǒng)中應(yīng)用模塊化思想建立了系統(tǒng)的總體結(jié)構(gòu),詳細(xì)設(shè)計(jì)了系統(tǒng)中各功能模塊,并對(duì)系統(tǒng)的主要實(shí)現(xiàn)算法和仿真過(guò)程實(shí)現(xiàn)等關(guān)鍵技術(shù)進(jìn)行了具體描述。所構(gòu)建的仿真系統(tǒng)適用于職業(yè)教育教學(xué)與培訓(xùn),實(shí)踐中取得了良好的效果。
關(guān)鍵詞:虛擬數(shù)控銑床;建模;仿真
中圖分類號(hào):TG659 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 23-0000-04
職業(yè)教育以崗位需求和職業(yè)能力為本位,突出實(shí)踐技能的訓(xùn)練。目前很多學(xué)校都投入購(gòu)置了數(shù)控設(shè)備,雖然數(shù)控機(jī)床的數(shù)量增加了很多,但仍不能滿足實(shí)訓(xùn)教學(xué)的需要;學(xué)生從理論學(xué)習(xí)轉(zhuǎn)入實(shí)際操作缺少中間過(guò)渡環(huán)節(jié),實(shí)訓(xùn)的危險(xiǎn)性增加;實(shí)訓(xùn)教師在現(xiàn)場(chǎng)指導(dǎo)多名學(xué)生同時(shí)操作時(shí),環(huán)境嘈雜,且很多學(xué)生圍著一臺(tái)機(jī)床,教學(xué)效果不好;數(shù)控機(jī)床結(jié)構(gòu)復(fù)雜緊湊,學(xué)生在學(xué)習(xí)過(guò)程中觀察了解機(jī)床的工作狀態(tài)和工作原理及機(jī)床的機(jī)構(gòu)時(shí),觀察角度受到限制等等。而計(jì)算機(jī)仿真系統(tǒng)將抽象的知識(shí)直觀化,實(shí)習(xí)現(xiàn)場(chǎng)情景化,有效解決了以上難題,目前已出現(xiàn)了一些相關(guān)研究,但面向職業(yè)教育的、高交互的數(shù)控仿真實(shí)訓(xùn)軟件目前還很少見(jiàn)到,開(kāi)展該領(lǐng)域的研究有著較大的研究和應(yīng)用價(jià)值。
虛擬數(shù)控技術(shù)是以計(jì)算機(jī)仿真和數(shù)控加工技術(shù)為基礎(chǔ),集計(jì)算機(jī)圖形學(xué)、人工智能、并行工程、網(wǎng)絡(luò)技術(shù)、多媒體技術(shù)和虛擬現(xiàn)實(shí)等技術(shù)為一體,在虛擬的條件下,對(duì)數(shù)控設(shè)備的工作過(guò)程和環(huán)境進(jìn)行全面的仿真。系統(tǒng)以實(shí)際的數(shù)控銑床及其工作過(guò)程為研究對(duì)象,以Visual C++6.0作為系統(tǒng)開(kāi)發(fā)的軟件平臺(tái),采用OpenGL技術(shù),在Windows XP操作系統(tǒng)下,在構(gòu)建了一套場(chǎng)景化高交互的數(shù)控銑床仿真實(shí)訓(xùn)系統(tǒng)基礎(chǔ)上,重點(diǎn)討論了其構(gòu)建方法、實(shí)現(xiàn)過(guò)程及相關(guān)技術(shù)。
1 虛擬數(shù)控銑削加工系統(tǒng)總體設(shè)計(jì)
1.1 總體設(shè)計(jì)思想
本虛擬數(shù)控銑削系統(tǒng)由兩大部分構(gòu)成,即虛擬加工環(huán)境和虛擬加工過(guò)程。虛擬加工環(huán)境由銑床、工件、刀具和夾具構(gòu)成,采用比較底層的OpenGL技術(shù)進(jìn)行特征造型實(shí)現(xiàn);虛擬加工過(guò)程包括數(shù)控程序譯碼、三維動(dòng)畫仿真、碰撞干涉檢查、加工精度仿真四個(gè)模塊。仿真過(guò)程對(duì)數(shù)控程序進(jìn)行翻譯,產(chǎn)生刀具位置數(shù)據(jù),并以此驅(qū)動(dòng)機(jī)床運(yùn)動(dòng)部件和刀架運(yùn)動(dòng)刀具對(duì)工件進(jìn)行虛擬切削,同時(shí)檢查是否有碰撞、干涉。數(shù)控程序譯碼模塊負(fù)責(zé)把手工輸入或通過(guò)文件導(dǎo)入的NC代碼翻譯成數(shù)控機(jī)床的執(zhí)行動(dòng)作。三維動(dòng)畫仿真模塊主要完成加工過(guò)程中的動(dòng)畫,使加工過(guò)程的仿真與實(shí)際加工更相似。碰撞干涉檢查是虛擬數(shù)控技術(shù)的最主要功能之一,完成加工工程碰撞干涉檢查,檢查NC代碼的正確性。加工精度仿真則是進(jìn)行加工過(guò)程中的精度分析,完成虛擬加工中比較高級(jí)的功能。
系統(tǒng)采用了模塊化的設(shè)計(jì)思想,把數(shù)控銑床的仿真過(guò)程分成各個(gè)功能相對(duì)比較獨(dú)立的子模塊,通過(guò)先單獨(dú)完成各個(gè)子模塊設(shè)計(jì)和功能,最后把各個(gè)子模塊連接起來(lái)組成一個(gè)完整的數(shù)控車削仿真系統(tǒng)。如圖1所示。
1.2 仿真環(huán)境模型的建立
我們所要建立的虛擬數(shù)控銑削加工系統(tǒng)的目標(biāo)是:在一個(gè)統(tǒng)一的仿真界面中實(shí)現(xiàn)三維場(chǎng)景的布置、加工過(guò)程的動(dòng)態(tài)仿真及控制,同時(shí)能夠顯示仿真過(guò)程中的一些加工信息。本系統(tǒng)的虛擬操作面板是模仿實(shí)際的數(shù)控系統(tǒng)Siemens802D的操作面板制作的,虛擬面板上實(shí)現(xiàn)了回原點(diǎn)、手動(dòng)、點(diǎn)動(dòng)、自動(dòng)、單段和MDA等主要功能按鈕的功能,系統(tǒng)設(shè)置了刀具庫(kù),可以修改、刪除、添加刀具,還能夠根據(jù)加工需要自定義刀具。系統(tǒng)能夠根據(jù)菜單操作來(lái)實(shí)現(xiàn)視圖的轉(zhuǎn)換,工件尺寸測(cè)量和DNC傳送功能。系統(tǒng)還根據(jù)中職學(xué)生的學(xué)習(xí)特點(diǎn)增設(shè)了切削深度設(shè)置和仿真速度設(shè)置兩個(gè)菜單。
本仿真系統(tǒng)界面如圖2所示。
機(jī)床模型的建立首先要根據(jù)系統(tǒng)設(shè)計(jì)要求進(jìn)行功能抽象,合理創(chuàng)建功能模塊。其次是根據(jù)設(shè)計(jì)要求合理選擇一組模塊,產(chǎn)生機(jī)床拼裝方案。本文考慮三軸數(shù)控銑床的運(yùn)動(dòng)關(guān)系,抽象出機(jī)床主軸、床身、X向工作臺(tái)、Y向工作臺(tái)、Z向工作臺(tái),而與仿真無(wú)關(guān)的部件如液壓、照明等裝置則不予考慮,簡(jiǎn)化了仿真模型,如圖3 所示本系統(tǒng)所建立的數(shù)控銑床幾何模型,主軸可以旋轉(zhuǎn),工作臺(tái)之間可以相互運(yùn)動(dòng),還提供多方位角度觀察機(jī)床工作過(guò)程。
2 系統(tǒng)關(guān)鍵技術(shù)實(shí)現(xiàn)方法
2.1 三維幾何模型的構(gòu)建
建模技術(shù)是將現(xiàn)實(shí)世界中的物體及其屬性轉(zhuǎn)化為計(jì)算機(jī)內(nèi)部數(shù)字化表達(dá)的原理和方法。虛擬數(shù)控銑削加工系統(tǒng)中的核心問(wèn)題是加工過(guò)程中的圖形模擬加工過(guò)程以及加工后零件的檢驗(yàn)效果,幾何建模是建立仿真系統(tǒng)的中心工作,選取的幾何模型是否恰當(dāng)對(duì)整個(gè)系統(tǒng)工程的效率和性能起著決定性的作用。
數(shù)控加工仿真中,建模主要集中在三個(gè)部分,即毛坯體建模、工件體建模和刀具體建模。其中毛坯體是加工對(duì)象,工件是加工目標(biāo),刀具是加工工具。
加工仿真就是模擬實(shí)際過(guò)程中刀具體沿著刀具軌跡切削運(yùn)動(dòng)的過(guò)程,計(jì)算刀具運(yùn)動(dòng)產(chǎn)生的包絡(luò)體與毛坯體的布爾差,從而實(shí)現(xiàn)切削過(guò)程的仿真模擬。在這個(gè)過(guò)程中隨著毛坯體不斷被切削,不斷接近工件體,完成加工任務(wù)。加工仿真的的幾何建模包括了定性的圖形顯示與定量的數(shù)據(jù)測(cè)量?jī)蓚€(gè)方面,按幾何模型的復(fù)雜程度可分為線框模型、表面模型、實(shí)體模型、基于圖像空間模型和離散矢量模型。本仿真系統(tǒng)中毛坯體模型的獲取及構(gòu)造步驟如下:
(1)定義毛坯。毛坯可以由用戶定義或者由文件讀取獲得。用戶自定義需由用戶給出毛坯長(zhǎng)寬高尺寸,同時(shí)指定中心點(diǎn)相對(duì)工作臺(tái)中心的位置。文件讀取由磁盤中讀入已經(jīng)構(gòu)造好的毛坯體模型數(shù)據(jù)文件。毛坯安裝界面如圖4所示。
(2)網(wǎng)格離散點(diǎn)的確立。毛坯離散點(diǎn)構(gòu)成了求交計(jì)算和仿真顯示的主體。數(shù)控銑床三軸加工中的刀軸方向一般是平行于Z軸方向,對(duì)于毛坯求其在XOY平面投影的包圍盒,然后根據(jù)加工仿真的精度要求定義離散精度,將包圍盒按離散精度分割為均勻分布的網(wǎng)格點(diǎn)陣。
(3)非均勻離散網(wǎng)格點(diǎn)的確立。實(shí)際加工中對(duì)精度要求很高,如果單純按照精度均勻劃分網(wǎng)格,對(duì)計(jì)算量和內(nèi)存的需求很大,因此通過(guò)添加非均勻離散網(wǎng)格點(diǎn)來(lái)提高優(yōu)化模型對(duì)零件毛坯表達(dá)的真實(shí)性。基于以上建模思想,提出本系統(tǒng)毛坯體的數(shù)據(jù)結(jié)構(gòu)如下:
其中的IndexTable結(jié)構(gòu)是來(lái)記錄非均勻網(wǎng)格點(diǎn)的與之對(duì)應(yīng)Z_MAP點(diǎn)位置對(duì)應(yīng)關(guān)系。具體的數(shù)據(jù)機(jī)構(gòu)如下:
2.2 虛擬數(shù)控銑削求交算法的實(shí)現(xiàn)
在加工仿真過(guò)程中,刀具每走過(guò)一個(gè)刀位點(diǎn),就會(huì)在空間形成一段刀具掃描體。相應(yīng)的毛坯體就需要和刀具掃描體進(jìn)行一定的幾何求交運(yùn)算,然后用所得的毛坯體數(shù)據(jù)代替原毛坯體數(shù)據(jù),更新毛坯。而求交算法的速度對(duì)于仿真系統(tǒng)十分關(guān)鍵。本系統(tǒng)只進(jìn)行2軸到3軸的實(shí)體切削,所以只需研究刀軸平行于Z軸刀具運(yùn)動(dòng)包絡(luò)體與Z向矢量的求交算法,下面是本系統(tǒng)中球頭刀所采用的求交算法:
2.3 數(shù)控系統(tǒng)代碼分析編譯
NC代碼編譯模塊的功能是從NC代碼中直接提取有關(guān)的加工指令和狀態(tài),以驅(qū)動(dòng)加工模型實(shí)現(xiàn)加工動(dòng)作,編譯模塊的工作原理如圖 5所示。首先掃描NC代碼檢查存在的詞法與語(yǔ)法錯(cuò)誤,然后依次讀入代碼進(jìn)行譯碼、計(jì)算刀具軌跡,作坐標(biāo)變換和刀補(bǔ)計(jì)算,最后得到驅(qū)動(dòng)加工中心各軸位移的數(shù)據(jù)、工步信息及有關(guān)狀態(tài)信息,從而驅(qū)動(dòng)加工過(guò)程仿真,Nc代碼一般采用典型的上下文無(wú)關(guān)文法。
3 結(jié)束語(yǔ)
本文利用Visual C ++及OpenGL技術(shù),構(gòu)建了高交互性的數(shù)控生產(chǎn)實(shí)訓(xùn)平臺(tái),實(shí)現(xiàn)了虛擬數(shù)控銑床操作全過(guò)程仿真和加工運(yùn)行的全環(huán)境仿真。并對(duì)開(kāi)發(fā)過(guò)程所涉及到的設(shè)計(jì)原理、相關(guān)技術(shù)和方法進(jìn)行了較為詳細(xì)的討淪,為操作復(fù)雜并具有高危險(xiǎn)性的數(shù)控類虛擬仿真實(shí)訓(xùn)軟件的研制進(jìn)行了有益探索。所開(kāi)發(fā)的軟件仿真具有較強(qiáng)的交互性,方便了教師教學(xué)和學(xué)生學(xué)習(xí),節(jié)約了耗材設(shè)備,降低了實(shí)訓(xùn)教學(xué)的不安全性,教學(xué)中應(yīng)用效果良好,期望能進(jìn)一步深入研究,以實(shí)現(xiàn)更加智能化的實(shí)訓(xùn)軟件的構(gòu)建。
參考文獻(xiàn):
[1]張瀅,劉冀偉,楊者青.NC車削加工仿真體系結(jié)構(gòu)研究及實(shí)例設(shè)計(jì)[J].制造技術(shù)與機(jī)床2004.10:18-20.
[2]崔蔚,徐鐵鋼,韓衛(wèi)華.虛擬培訓(xùn)技術(shù)及其系統(tǒng)開(kāi)發(fā)[J].成都信息工程學(xué)院學(xué)報(bào),2003.18(4):361-365.
[3]黃明吉.虛擬數(shù)控技術(shù)及應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2005,06.
[4]趙驥,朱名銓,羅琦.虛擬生產(chǎn)線框架及其系統(tǒng)開(kāi)發(fā)[J].中國(guó)工程機(jī)械.2000,11(6):671-674.
[5]傅建平,巫修海.虛擬制造技術(shù)及其應(yīng)用研究.機(jī)床與液壓,2004,6:6-8.
[6]王小彬,王太勇,李宏偉,汪文津,范勝波.虛擬制造中數(shù)控加工過(guò)程三維仿真技術(shù)的研究.機(jī)床與液壓,2004,6:13-15.
[7]劉曉輝.面向虛擬制造的數(shù)控加工仿真系統(tǒng)關(guān)鍵技術(shù)研究.[哈爾濱工程大學(xué)碩士論文].哈爾濱:哈爾濱工程大學(xué),2004.
[8]Janness Slomp, Boppana .Chowdary, Nallan C .Suresh. Design of virtual manufacturing cell:amathematical programming approach. Robotics and Computer –Integrated Manufacturing.2005(7):273-288
[9]S.K.Ong, M.A.Mannan. Virtual reality simulations and animations in a web-based interactive manufacturing engineering module. ComputersEducation.2004(43):361-382
[10]T.S.Mujber,T.Szecsi,M.S.J.Hashmi. Virtual reality applications in manufacturing process Simulation. Journal of Materials Processing Technology. 2004(155-156):(1834-1838)
*本項(xiàng)目為基金項(xiàng)目:遼寧省職業(yè)教育信息化建設(shè)基金項(xiàng)目(LN01)
[作者簡(jiǎn)介]
周文,沈陽(yáng)市裝備制造工程學(xué)校,高級(jí)講師。
計(jì)算機(jī)光盤軟件與應(yīng)用2012年23期