蒲 東,薛裕童,李世丁,黃啟昭
(哈爾濱理工大學,黑龍江 哈爾濱 150080)
基于VRML的虛擬車床實驗教學平臺
蒲 東,薛裕童,李世丁,黃啟昭
(哈爾濱理工大學,黑龍江 哈爾濱 150080)
為了實現車床的虛擬仿真,就必須實現加工過程的模擬。由于網絡虛擬語言VRML能在網頁上方便地建立三維交互模型,因此可以將其用在虛擬車床方面。文章主要針對如何實現虛擬車床的加工進行研究,由于使用VRML語言直接進行編寫,代碼長度與加工的精確展示有一定關系。為簡潔起見,文章使用C++語言進行VRML語言的編寫,簡單明了而且方便快捷。
VRML;虛擬車床;仿真;網絡教學;C++
虛擬現實技術(Virtual Reality,VR)是繼多媒體技術之后另一個在計算機界引起廣泛關注的研究熱點,其定義可以歸納成:利用計算機生成一個模擬環境,通過多種的傳感設備讓用戶投入到此環境之中,實現用戶與環境直接進行自然交互的技術。由于其簡單又超強的交互能力與低帶寬運行的優勢,該技術在系統仿真、教育培訓和工業生產等領域內得到了廣泛的應用,并已經成為構建虛擬現實應用系統的基礎。在這種情況下,探討開發過程、掌握開發工具,并研究其開發策略變得很有必要。
虛擬現實技術可以讓用戶對虛擬世界中的物體進行觀察和操作,并且可提供視、聽、觸摸等多種直觀而自然的實時感知,具有沉浸性、交互性和想象力等特點[1]。虛擬現實建模語言是桌面虛擬現實系統中最經典著名的虛擬現實技術手段[2]。國內外有很多學者應用VRML進行了研究與開發[3],將虛擬現實技術應用于機械基礎實驗中,構建基于VRML的機械基礎虛擬實驗系統。該系統能讓學生沉浸在虛擬環境中,發揮主觀能動性,進行實驗操作,為學生創造良好的實驗環境,徹底打破空間和時間的限制,能有效提升學生的學習效率,提高學生的思維能力、動手能力和創新能力。
但是VRML構建的虛擬實驗系統與操作電腦的學習者之間還需要一個媒介讓試驗系統與其相關的知識更加系統而且直觀,連接這兩者之間的媒介就成了一個重要的問題。為了讓學習者更加直接而深刻地學習理解虛擬實驗系統中的知識,就需要虛擬實驗系統中的機械裝置可以模擬現實中的器械進行各種復雜的運轉動作。用什么控制?如何進行控制?為了解決這些復雜重要的問題,文章進行了各種探索。
在VRML語言中沒有直接進行加工仿真的語言,只能使用加工動畫來進行代替。如果加工部分的代碼過于簡短,會造成實驗失真并且效果不明顯。C++和VRML的具體連接方式和方法如下。
2.1 C++與VRML連接的思路
從對VRML的簡介中可以看到,VRML本身帶有時間序列可以讓物體根據其代碼沿著固定的軌跡運動,而形狀也可以通過時間序列進行編程的方法。而這些都可以通過用Java或者Javascrpt進行動態編程,但是Javascrip可以對簡單的邏輯進行判斷做出來。類似打開一個開關,物體移動一定的角度或者,將鼠標移動到一定的位置,然后物體的顏色就會變化的簡單例子。但是對于像機床加工,機械手的運動就要取得Java的支持,但是VRML是一個在幾年前流行的軟件,它所支持的Java版本過低,開發困難。于是人們就想出來用C++編寫一個專門針對某一型號的機床的解釋器的軟件,通過對輸入g代碼的讀取、處理、建模、時間序列的分配、輸出VRML可以直接運行的代碼,然后由網頁對VRML對其進行直接調用使之表現出來人們想要的效果。
2.2 C++軟件系統要處理的問題
C++軟件系統最主要的功能是輸出位置和時間序列使VRML系統可以按照它所指示的時間位置坐標來運動。生成的文件最多最大的部分也是這個部分,對此,本文提出了幾種思路。
(1)通過對VRML文件進行動態的檢索,檢索出來對應的關鍵字之后就用模擬軟件根據計算出來的時間序列進行插補。這個方法的特點是可以對不同的機床進行控制,但是因為VRML文件里面的內容復雜,又涉及很多的變量,對于編程掌握不好的人來說有些困難。
(2)全新生成一個VRML文件。這個方法所對應的C++文件比較大,也就是說其對系統的資源占用比較大,所要求的計算機的速度和內存也比較高。
(3)模擬軟件1通過給定的g代碼運算出各個刀架主軸在某一時間的位置等參量,輸出文件,然后由軟件根據文件對VRML軟件進行數據的填入。這個方法編程較為簡單,分工明確,對系統的要求也不是很高,是一個很好的由C++驅動VRML作位置變換的方法。
對于加工件形狀的變化與時間的關系進行匹配,則通過C++輸出大量的首尾相連的圓柱體,通過內置的時間序列對其控制其形狀。控制方法和上面控制位置的類似,結果就是輸出一個各個部分隨時間變化的一個圓柱體,這個圓柱體可以按照車刀的位置控制其直徑,這樣也就可以實現模擬機床切削的效果。
關于軟件插補部分的插補原理,主要有以下幾個方面。
3.1 脈沖增量插補
脈沖增量插補是每次插補結束在一個軸上面產生一個位移,以一個脈沖的輸出作為插補的標志。在機床中每次脈沖機床位置的變化量被稱為脈沖當量,因為是軟件插補、軟件移動,所以脈沖當量可以自由調節,也就是說人們的虛擬仿真數控車床的實驗中,并不需要脈沖當量過大而引起的機床損壞。但是因為如果脈沖量過大則會引起機床的快速進給,讓整個加工過程失衡。解決方法是將脈沖當量調整到較小,將脈沖發射的速度調到較快。這個部分是通過VRML的時鐘修改的,這樣做可以讓整個加工過程變得平順,沒有突兀感。
3.2 逐點比較法和數字積分法
逐點比較法的基本思路是計算機在控制的過程中,能夠逐點比較計算加工偏差然后控制坐標進給,按規定的圖形加工出所要的工件。數字積分法的基本思路是數字微分分析器采用數字積分法插補的效果好速度快,邏輯功能強。對于高次曲線具有很好的適應性。
逐點比較法的基本過程由偏差判別、坐標進給和偏差計算組成。偏差判別是為了判斷加工點對規定圖形的偏移距離,決定進給的方向。坐標進給是指將坐標進給方向和進給距離發送到坐標差值計算器中,根據切削深度和脈沖當量對刀具位置坐標進行進給,并將刀具位置一同發送給圖形變換計算器中,并讓圖形變換計算器保存下來。偏差計算是為了將進給后的坐標帶入到偏差判別計算器里面,進行下一步的計算。就這樣構成了一個工作循環,直至本加工步完成由退刀計算器對刀具的位置進行退刀運算。
數字積分法共有兩個累加器,x累加器和y累加器。根據位置給累加器賦值,x,y方向上面沒進一步就在相應的累加器中加1,如果累加器中的值大于所賦的值就產生溢出,溢出后x,y累加器保存余數并產生進給。
在加工過程中加工的切削深度和切削速度是必須控制的變量,這不僅對切削溫度和切削力有影響,還會影響加工的速度和表面質量,所以對于切削深度和切削速度的控制是非常必要的。
4.1 模擬切削深度
機床經過上面的運算之后已經有了根據路徑移動的功能,模擬機床切削的過程是先和工件接觸,而如果沒有切削深度的話,那么有了路徑也就只能看到機床在那里動來動去,無法達到人們想要的結果。所以需要一個部分對加工路徑產生持續的偏移,并且使機床待加工的工件產生相同的動作。
4.2 模擬切削的速度
模擬切削的速度是通過計數器加減的方式進行控制的,其脈沖當量就是機床進給的速度,而在軟件里面寫的是和VRML具有相同時間坐標的時間計算器進行的,可以通過對g代碼的解釋進行速度的調節。
機械基礎實驗教學在工科院校中占有重要地位,為了提高實驗教學的效果,構建了基于 VRML技術的機械基礎虛擬實驗系統,對系統的結構和關鍵技術進行深入分析,并以沖擊實驗為例進行研究。該系統是對機械基礎理論和實驗教學的有益補充,使學生可在時空開放的虛擬環境中身臨其境地進行實驗操作,不再局限于短暫的實操時間與匱乏的可用設備,能有效地促進學生對專業知識的掌握,激發學習和創造的積極性。
[1]汪興謙.VRML與Java編程實例講解[M].北京:中國水利水電出版社,2002.
[2]申蔚,曾文琪.虛擬現實技術[M].北京:清華大學出版社,2009.
[3]格林喬治,布爾德.虛擬現實技術[M].2版.魏迎梅,譯.北京:電子工業出版社,2005.
Virtual lathe experiment teaching platform based on VRML
Pu Dong, Xue Yutong, Li Shiding, Huang Qizhao
(Harbin University of Science and Technology, Harbin 150080, China)
In order to realize the virtual simulation of the lathe, it is necessary to realize the simulation of the process-cycle. Because the network virtual language VRML can easily establish the three-dimensional interactive model on the website, therefore it can be used in virtual lathe. This paper mainly focuses on how to realize the processing of virtual lathe. Because the code written directly by the VRML language, the length of code has a certain relation with the precise display of processing. For the sake of brevity, the article uses C ++ language to write VRML language, which is simple, convenient and quick.
VRML; virtual lathe; simulation; online education; C++
蒲東(1996— ),男,黑龍江寶清,本科;研究方向:摩擦磨損仿真。