馮桂珍,池建斌,邢海軍,張增強,賈 雙
?
基于Unity3D的減速器虛擬拆裝實驗
馮桂珍1,池建斌1,邢海軍1,張增強1,賈 雙2
(1. 石家莊鐵道大學(xué)機械工程學(xué)院,河北 石家莊 050043;2. 河北水利電力學(xué)院電力工程系,河北 滄州 061000)
Unity3D作為一個功能強大且具有良好的跨平臺特性的三維引擎,在構(gòu)建交互式的虛擬場景方面具有極大的應(yīng)用空間,將其應(yīng)用于教學(xué),具有重要的現(xiàn)實意義。鑒于此,通過對減速器的基本構(gòu)造和結(jié)構(gòu)進行分析,在研究Unity3D構(gòu)建三維交互式虛擬場景的方法和關(guān)鍵技術(shù)的基礎(chǔ)上,以幾類典型的減速器為例,構(gòu)建了減速器虛擬拆裝實驗,可發(fā)布為多平臺運行,其中,基于移動平臺獨立運行的APP,無需網(wǎng)絡(luò)支持,更加便捷,應(yīng)用更為廣泛,在結(jié)構(gòu)認知、產(chǎn)品拆裝、課程設(shè)計等教學(xué)和實踐環(huán)節(jié)中取得了良好的教學(xué)效果。
虛擬現(xiàn)實;減速器拆裝實驗;移動平臺;Unity3D技術(shù)
減速器是原動機和工作機之間獨立的閉式傳動裝置,主要由傳動零件(齒輪或蝸輪)、軸、軸承、箱體和其附件等組成[1]。由于減速器的典型結(jié)構(gòu)組成,使得減速器成為機械類學(xué)生在教學(xué)和實踐環(huán)節(jié)中的重要研究對象之一,如結(jié)構(gòu)認知和拆裝實驗、課程設(shè)計、畢業(yè)設(shè)計等。目前,國內(nèi)高校的實驗課教學(xué),存在實驗形式、內(nèi)容和要求越來越高,實驗設(shè)備、器材、場地等保障相對滯后的矛盾,從而在一定程度上影響了實驗教學(xué)的開展和學(xué)生實踐創(chuàng)新能力的培養(yǎng),同時,實驗需分批次進行,導(dǎo)致實驗課老師的工作量較大。鑒于此,國內(nèi)許多高等院校及科研機構(gòu)應(yīng)用多種現(xiàn)代技術(shù)手段,開發(fā)不同領(lǐng)域各具特色的虛擬實驗室,如文獻[2]通過開放式網(wǎng)絡(luò)化基礎(chǔ)醫(yī)學(xué)虛擬仿真實驗平臺和慕課(MOOC)教學(xué)資源豐富了實驗教學(xué)內(nèi)容和手段,增加學(xué)生動手操作的機會;文獻[3] 將Matlab/Simulink引入課程的虛擬實驗教學(xué)之中,利用Simulink建立了雙閉環(huán)控制的繞線式 異步電機串級調(diào)速系統(tǒng)仿真模型;文獻[4]采用基于Simulink和VRML的運動仿真和建模方法建立了球式自動平衡裝置虛擬實驗平臺;文獻[5]開發(fā)了一個移動學(xué)習(xí)實驗室等。本文也利用Cult3D技術(shù)構(gòu)建了一個基于網(wǎng)絡(luò)的減速器虛擬拆裝實驗平臺[6],但這些基于PC平臺的虛擬動畫無法直接移植到移動平臺上運行,實際應(yīng)用中存在一定的局限性。
Unity3D[7]是由丹麥的Unity Technology開發(fā)的三維引擎,具有強大的跨平臺特性,包括Web、PC、Mac、IOS、Flash和Android等平臺,支持C#和JavaScript等腳本語言進行開發(fā),實現(xiàn)對虛擬對象Game Object之間的邏輯控制和交互操作。鑒于此,系統(tǒng)采用Unity3D為開發(fā)平臺,結(jié)合Solid works、3DMax和Photoshop等軟件工具,利用C#編程控制交互和動態(tài)特性,以常見的齒輪減速器為研究對象,構(gòu)建了一個基于移動平臺的虛擬拆裝實驗系統(tǒng),該系統(tǒng)發(fā)布為APP,無需網(wǎng)絡(luò)支持,可運行于Android等平臺,該系統(tǒng)已經(jīng)在實際教學(xué)中應(yīng)用,受到師生一致好評,取得了良好的教學(xué)效果。
減速器的基本結(jié)構(gòu)包括3大部分:即齒輪、軸及軸承組合;箱體;減速器附件。
(1) 齒輪、軸及軸承組合。其構(gòu)成傳動軸系結(jié)構(gòu),用于降低轉(zhuǎn)速和增大扭矩。通常小齒輪與軸制成一體,即齒輪軸(高速軸)。實際應(yīng)用中應(yīng)根據(jù)軸的直徑、齒輪齒根圓的直徑d及齒輪模數(shù)之間的關(guān)系為依據(jù),即當–d≤(6~7)m時,將軸和齒輪制成一體;當–d>(6~7)m時,將齒輪與軸分開為兩個零件(如低速軸及齒輪),通過平鍵連接,并通過軸肩、套筒和軸承蓋等進行軸向固定。
軸承通常成對使用,根據(jù)承受徑向和軸向載荷情況選擇。如深溝球軸承用于承受徑向載荷和不大的軸向載荷,當軸向載荷較大時,應(yīng)選用角接觸球軸承或圓錐滾子軸承等。軸承潤滑可采用飛濺潤滑或潤滑脂潤滑形式,飛濺潤滑依靠齒輪旋轉(zhuǎn)時濺起的箱體油池中潤滑油,通過導(dǎo)油槽流入軸承進行潤滑。當浸油齒輪的圓周速度≤2 m/s時,應(yīng)采用潤滑脂潤滑,并配有擋油環(huán)避免飛濺的潤滑油稀釋潤滑脂。為防止?jié)櫥土魇Ш突覊m落入,在軸承蓋及外伸軸之間設(shè)有密封元件。
(2) 箱體。其是減速器的重要組成部件,是傳動零件的基座,應(yīng)具有足夠的強度和剛度。箱體通常用灰口鑄鐵鑄造而成,對于重載或有沖擊載荷的可采用鑄鋼箱體。對于單件生產(chǎn),可采用鋼板焊接的箱體。箱體的結(jié)構(gòu)較為復(fù)雜,其結(jié)構(gòu)形狀服務(wù)于軸系及齒輪的安裝,為了便于軸系的安裝,箱體沿軸心線分為上、下箱體,通過銷定位并用螺栓連接。
(3) 附件。其包括油面檢查孔、通氣器、軸承蓋、定位銷、油面指示器、放油螺塞、起箱螺釘和起吊裝置等,用于保證減速器正常工作及拆裝檢修等。
減速器拆裝實驗中涉及零部件結(jié)構(gòu)分析、拆裝順序與方法等,對培養(yǎng)學(xué)生的工程意識、了解結(jié)構(gòu)設(shè)計的原則、培養(yǎng)理論聯(lián)系實際、提高分析問題和解決問題的能力等具有重要意義,同時也是啟迪學(xué)生創(chuàng)新思維的重要手段。
根據(jù)減速器結(jié)構(gòu)特點以及真實拆裝實驗教學(xué)要求,設(shè)計虛擬拆裝實驗的系統(tǒng)結(jié)構(gòu)如圖1所示。系統(tǒng)包括虛擬場景的漫游及虛擬實驗的交互拆裝、零部件結(jié)構(gòu)認知與分析、模型的多角度任意方位查看、虛擬環(huán)境的設(shè)置等。
Unity3D自身具有一些簡單的基本形體,對于復(fù)雜形體,需通過其他軟件導(dǎo)入模型,如三維建模軟件(Solid works等)或三維動畫軟件如3DMax、Maya等,Unity3D的開發(fā)流程如圖2所示,3DMax用于處理材質(zhì)貼圖、動畫設(shè)計等,并將Solid works模型文件導(dǎo)出為Unity3D支持的模型文件,如FBX等,再使用腳本語言JavaScript或C#通過編程控制場景中的交互功能和動態(tài)特性等,最后發(fā)布為不同的應(yīng)用平臺,如Android移動平臺或Windows、Web、Flash等平臺。
圖1 系統(tǒng)結(jié)構(gòu)圖
圖2 Unity3D 程序開發(fā)流程
動態(tài)和交互功能是系統(tǒng)設(shè)計和實現(xiàn)的關(guān)鍵,良好的交互性決定系統(tǒng)操作和使用的方便性,進而提高學(xué)生學(xué)習(xí)的積極性。
2.3.1 模型的動態(tài)預(yù)覽
通過手指觸屏的數(shù)量和手勢動作實現(xiàn)對模型的旋轉(zhuǎn)和縮放,從而可以多方位任意角度查看裝配體的裝配關(guān)系、結(jié)構(gòu)組成以及單個模型的結(jié)構(gòu)特點等。系統(tǒng)通過實時動態(tài)調(diào)整攝像機(camera)的位置(position)和方位(rotation)實現(xiàn)對目標模型(target)的縮放和旋轉(zhuǎn)等交互控制,模型的動態(tài)預(yù)覽的工作流程如圖3所示。在進行交互操作時,根據(jù)用戶的手勢信息判斷接觸點數(shù)量(Input. touch Count)和手勢動作(Touch. Phase Moved)獲取手勢數(shù)據(jù),當觸摸點數(shù)量Input. touch Count=1(流程圖中的)時,根據(jù)獲取手指在觸屏的軸和軸上的增量調(diào)整相機的旋轉(zhuǎn)方向。當Input. Touch Count=2時,1、2分別是兩個觸摸點的原始觸屏點距離、變化后的觸屏點距離,當1<2,相機與目標模型(target)的距離(distance)減小預(yù)先設(shè)置的步長step,否則增加步長,并調(diào)整與目標模型的距離,從而實現(xiàn)模型的縮放操作。
圖3 模型動態(tài)預(yù)覽流程圖
2.3.2 交互拆裝的實現(xiàn)
虛擬拆裝必須符合實際齒輪減速器拆裝過程的邏輯順序,因而交互拆裝程序需增加邏輯判斷功能,從而使得整個拆裝過程具有動態(tài)性、交互性和邏輯控制性的同時,還符合實際的工藝要求。系統(tǒng)主要包括以下兩種交互拆裝方式,交互拆裝的流程如圖4所示。
圖4 動態(tài)拆裝流程
(1) 基于觸屏拖動的交互拆裝。通過手指觸屏選擇模型,并拖動模型到手指松開的位置,實現(xiàn)對模型的拆卸,并記錄拆卸順序和拆卸位置,實現(xiàn)對模型的裝配。具體實現(xiàn)方法:手指觸屏選擇模型是通過射線Ray探測相機與點擊位置(Input.mousePosition)是否存在碰撞對象,通過碰撞對象的名稱(hit.collider.name)獲取要拆卸的模型,并將拆卸的模型(hit.trans form)及其初始位置(hit.transform.position)分別保存在Transform組件類型的數(shù)組變量objCur[index]和Vector3類型的數(shù)組變量posOri[index]中,數(shù)組變量序號index同時用于控制拆卸的邏輯順序。獲取拆卸模型時動態(tài)為該模型添加觸屏拖動腳本(MouseDrag)。其腳本通過Ienumerator類型返回值,檢測每一幀拖動和觸屏拖動結(jié)果,實時計算模型與觸屏位置的偏移量,根據(jù)拖動位置對模型位置動態(tài)賦值,實現(xiàn)拆卸。裝配時,根據(jù)變量index及拆卸模型的初始位置,通過矢量Vcetor3的MoveTowards()函數(shù)實現(xiàn)與拆卸過程順序相對應(yīng)的裝配。
通過射線Ray探測,模型必須為剛體(rigidbody)或碰撞體(collider),系統(tǒng)中為所有模型添加網(wǎng)格碰撞組件(Mesh Collider),該組件通過獲取網(wǎng)格對象并在其基礎(chǔ)上構(gòu)建碰撞,使得對于箱體等復(fù)雜模型的碰撞探測更加精細。
(2) 預(yù)設(shè)拆裝路徑的動態(tài)交互拆裝。通過為模型預(yù)先設(shè)置拆卸位置,通過順序控制變量控制拆卸過程,實現(xiàn)動態(tài)拆卸。當順序控制變量通過按鈕或觸屏點擊等交互方式分布控制時,即可實現(xiàn)分布拆卸,當順序變量通過拆卸模型的位置是否到達預(yù)定位置控制時即可實現(xiàn)連續(xù)拆卸。
2.3.3 工作原理的交互和動態(tài)展示
齒輪減速器通過齒輪嚙合實現(xiàn)降低轉(zhuǎn)速,即減速的功能,其傳動比與齒輪組的齒數(shù)比有關(guān)。以二級齒輪減速器為例,當輸入軸的轉(zhuǎn)速為時,輸入軸的齒輪齒數(shù)為1,中間軸與1齒數(shù)齒輪嚙合的齒輪齒數(shù)為2,中間軸另一齒輪齒數(shù)為3,輸出軸的齒輪齒數(shù)為4,則輸出軸的轉(zhuǎn)速為×1×3/(2×4)。工作原理展示包括齒輪組的嚙合轉(zhuǎn)動以及轉(zhuǎn)速的交互增減,從而直觀展示減速器的工作原理。齒輪嚙合旋轉(zhuǎn)是通過軸系的旋轉(zhuǎn)實現(xiàn),為此,需將各軸系上相關(guān)零件設(shè)為一個組,對于二級減速器需設(shè)置3個軸系組,然后通過軸系組的Transform組件的Rotate函數(shù)實現(xiàn)繞軸線旋轉(zhuǎn)。輸入軸的轉(zhuǎn)速可以通過交互界面的遞增或遞減按鈕動態(tài)增減,從而實現(xiàn)工作原理的動態(tài)展示,如圖5所示。
圖5 工作原理動態(tài)展示
2.3.4 零部件查看與結(jié)構(gòu)分析
零件部的查看與結(jié)構(gòu)分析主要是為了方便學(xué)生對減速器部件的進一步了解以及結(jié)構(gòu)認知等進行設(shè)計。對于剛接觸減速器或無工程結(jié)構(gòu)意識的學(xué)生而言,增加單個零件或軸系部件的查看以及對軸、箱體等關(guān)鍵零件的結(jié)構(gòu)構(gòu)成等進行直觀提示和分析,有助于提高工程意識和對整個部件的理解和認知,從而培養(yǎng)學(xué)生的學(xué)習(xí)興趣。
零部件的查看是通過控制各個零部件的transform.renderer.enabled屬性為false或true,從而控制零部件的隱藏或顯示,false時零部件隱藏,true時顯示,如查看箱體零件,則將其余零件的transform.renderer.enabled屬性設(shè)為false。
結(jié)構(gòu)分析與提示是通過高亮顯示和文字說明進行提示。當手指點擊要查看的模型,模型即高亮顯示,并在點擊處顯示模型名稱或零件結(jié)構(gòu)說明等提示。以軸的結(jié)構(gòu)分析為例,為了展示軸上各段階梯軸的功能及鍵槽等工藝結(jié)構(gòu),需將軸分段建模并制成裝配體,各部分添加Mesh Collider網(wǎng)格碰撞組件,響應(yīng)手指點擊動作。
2.3.5 環(huán)境交互設(shè)置
為了增加虛擬拆裝實驗的趣味性、豐富性和虛擬場景的生動性,系統(tǒng)設(shè)計了對虛擬環(huán)境的交互設(shè)置,包括背景音樂、背景顏色及貼圖等,其中背景顏色是通過相機(Camera)的background Color屬性實現(xiàn),此時需通過程序動態(tài)設(shè)置相機的clear Flags屬性為Camera Clear Flags. Solid Color;背景貼圖是通過更改天空盒貼圖實現(xiàn),此時,需給相機(Camera)添加天空盒組件(skybox),并設(shè)置相機的clear Flags=Camera Clear Flags. Skybox。背景音樂的控制,需提前在場景中添加Audio組件以及背景音樂素材,如mp3等格式的音樂文件,程序中控制Audio組件的播放(play)或停止(stop)或暫停(pause),實現(xiàn)對背景音樂的交互控制。
系統(tǒng)以5種典型的減速器結(jié)構(gòu)為構(gòu)建對象,包括一級直齒和一級斜齒圓柱齒輪減速器、二級斜齒輪、圓錐圓柱齒輪減速器以及蝸輪蝸桿一級減速器,以APP發(fā)布,并獨立運行于Android等移動平臺,圖6為系統(tǒng)安裝在智能手機的運行主界面,點擊不同類型的減速器,進入相應(yīng)的減速器拆裝虛擬實驗,圖7為二級圓柱齒輪減速器的界面,圖8為二級齒輪減速器拆卸后的效果。
圖6 系統(tǒng)主界面
圖7 二級齒輪減速器界面
圖8 二級減速器拆卸效果
本系統(tǒng)已連續(xù)應(yīng)用兩屆,受到學(xué)生一致好評,并對實際教學(xué)效果和學(xué)生的設(shè)計表達能力的培養(yǎng)等具有極大地促進作用,主要體現(xiàn)在以下幾個方面:
(1) 學(xué)生的學(xué)習(xí)興趣和積極性得到了提高,學(xué)習(xí)不再是單純的知識獲取,更加注重知識的應(yīng)用和能力提升,如徒手畫圖能力、三維設(shè)計和表達能力等,為后續(xù)專業(yè)課程學(xué)習(xí)以及課程設(shè)計、畢業(yè)設(shè)計等實踐環(huán)節(jié)以及進一步學(xué)習(xí)等奠定了基礎(chǔ)。
(2) 參與各種競賽的積極性得到了提升,并取得了優(yōu)異成績,如2016年河北省教育廳主辦的第六屆三維設(shè)計大賽獲得了團體一等獎,以及個人特等獎和一等獎各一項,個人二等獎三項。
基于移動平臺的虛擬實驗無需網(wǎng)絡(luò)支持,可獨立運行,并具有低成本、低損耗、無危險等特點,是對傳動實驗教學(xué)方式的拓展,同時可以促進學(xué)生有效利用手機等資源進行自主學(xué)習(xí),虛擬實驗的設(shè)計充分體現(xiàn)以學(xué)生為主體的教學(xué)思想,以服務(wù)和方便學(xué)生學(xué)習(xí)為主旨,通過系統(tǒng)提供的交互性和動態(tài)性,可極大地提高學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)興趣。同時,系統(tǒng)的設(shè)計也為創(chuàng)新人才培養(yǎng)提供了新的手段,具有現(xiàn)實意義。
[1] 聞邦椿. 機械設(shè)計手冊[M]. 5版. 北京: 機械工業(yè)出版社, 2015: 3-45.
[2] 趙琪, 孫紅, 孫艷梅, 等. 基礎(chǔ)醫(yī)學(xué)虛擬仿真實驗教學(xué)平臺構(gòu)建研究[J]. 實驗技術(shù)與管理, 2016(11): 135-138.
[3] 張厚升, 于蘭蘭, 孟天星, 等. 基于Simulink的繞線式異步電機串級調(diào)速系統(tǒng)虛擬實驗分析[J]. 實驗技術(shù)與管理, 2016(6): 112-116.
[4] 譚青, 魏來, 任志湘, 等. 基于Simulink和VRML的球式自動平衡裝置虛擬實驗平臺研究[J]. 振動與沖擊, 2016(2): 1-8.
[5] TAKIYAMA K, SHINYA M. Development of a portable motor learning laboratory (PoMLab) [J]. Plos One. 2016, 11(6).
[6] 馮桂珍, 池建斌, 王大鳴, 等. 減速器虛擬拆裝實驗系統(tǒng)的構(gòu)建[J]. 工程圖學(xué)學(xué)報, 2011, 32(1): 89-93.
[7] 藍鷗. Unity3D引擎是被實現(xiàn)如何訪問引擎代 碼[EB/OL]. [2016-06-24]. http://www.sohu.com/a/ 85715508_252502.
Reducer Virtual Disassembly and Assembly Experiment Based on Unity3D
FENG Guizhen1, CHI Jianbin1, XING Haijun1, ZHANG Zengqiang1, JIA Shuang2
(1. Mechanical Engineering Institute, Shijiazhuang Tiedao University, Shijiazhuang Hebei 050043, China; 2. Department of Electric Power Engineering, Hebei University of Water Resources and Electric Engineering, Cangzhou Hebei 061000, China)
Unity3D, as a powerful and good cross-platform 3D engine, has great application space in building interactive virtual scenes, and it is of great practical significance for teaching. In view of this, by analyzing the basic structure of the reducer, and on the basis of studying the method and key technology of constructing three-dimensional interactive virtual scenes with Unity3D, taking some kinds of reduces as examples, a reducer virtual disassembly and assembly experiment is constructed, which can run based on many platforms. And APP which independently runs based on mobile platform and no needs web support, is more convince and available, has achieved good teaching effect in application, such as structure cognition, product disassembly, curriculum design, etc.
virtual reality; reducer disassembly and assembly experiment; mobile platform; Unity3D technology
TP 391.9
10.11996/JG.j.2095-302X.2018020304
A
2095-302X(2018)02-0304-05
2017-03-30;
2017-05-13
河北省科技計劃項目(14212202D);河北省教育廳青年基金項目(QN20131130)
馮桂珍(1978–),女,內(nèi)蒙古商都人,副教授,碩士。主要研究方向為工程圖學(xué)及虛擬現(xiàn)實技術(shù)。E-mail:fgz789618@163.com
邢海軍(1967–),男,河北深澤人,教授,博士。主要研究方向為施工機械設(shè)計及結(jié)構(gòu)分析。E-mail:412261035@qq.com