閉榮富



摘 ?要:與計算機仿真、傳感器及人工智能等諸多技術日益完善過程相伴隨的是虛擬技術應用范圍的拓展,特別是在一些危險系數高、體量大、投用及后期維護成本高、數次操作的領域中,虛擬技術應用期間表現出良好效能。汽車發動機裝配符合虛擬技術的質感逼真、可交互性及便利等特征,基于人機交互規劃、三維立體建模、程序設計及發動機裝配理論等知識,建設出視覺動態渲染與逼真度很高的發動機裝配模擬平臺,以供同行參考。
關鍵詞:汽車;發動機;裝配平臺;發動機拆裝;虛擬技術;平臺設計
引言
虛擬技術(VR)是20世紀末興起的一種綜合性信息技術,其以計算機、網絡、三維呈現及人機交互等諸多技術為支撐,將存在或不存在于自然界的物件整合至一個虛擬化環境內,可以采用傳感器與多種感知行為和虛擬環境進行交互。既往的機械制造業裝配技術培訓階段,操作者直接觸及設備與器材,通過數次訓練后方能捕獲裝配經驗與技術。現如今,傳統裝配培訓形式已經難以迎合新型汽車產品的研發與生產需求,暴露出成本高、適用性差等弊端。本文設計開發的汽車發動機裝配平臺于Unity 3D引擎內建設一個虛擬化情景,采用三維交互技術,實現呈現發動機自由角、演示結構拆裝流程及智能化測評等多項功能。
一、平臺的功能設計
該平臺界面上設置的GUI能為人機交互過程創造便利條件,界面能清晰的呈現出發動機的構成及不同機構系統各部件所要達成的功能,主要有:
結構呈現:能從各個角度自由呈現出發動機整體與局部構件,持有旋轉、縮放、部件信息方位及安裝提示等諸多功能。
智能拆裝:具體是以Unity引擎內的Animation動畫功能為支撐,實現呈現發動機多個機構智能化拆裝與安裝過程的功能。
人工拆裝:這是人機交互持有的重要功能之一,碰撞檢測是重要的技術手段之一,為減少或規避用戶群體手動裝設零件階段,不同模型之間出現穿行越過情況,建議將碰撞檢測器增設于各模型上,擬編與之相配套的腳本流程,這樣通過操作鼠標就能順利拖動目標構件,改變零部件方位,并結合前期相關提示信息將其安設至指定部位。
實訓測評:即于該平臺上,廣大用戶不僅能訓練自己的手動拆裝能力,也能檢驗自己對裝配相關知識的學習、掌握情況,后臺自動錄入準確的安裝次序,依照數據正確與否將軟件持有的計分功能充分發揮出來。
部件檢查維修:故障檢查、維修是發動機課程教材中的重難點之一,本平臺以發動機氣缸蓋的形體改變為實例加以分析,可以利用塞尺與鋼尺檢測氣缸蓋體的翹曲度,也可以動畫為載體演示汽缸蓋的拆卸、組裝過程。
二、建模
(一)建模的常規流程
裝配情景內主要有二維圖片與多種三維模型,結合平臺功能規劃及不同模型建建設的裝配相關性,依照一定次序進行組裝,合力建成虛擬裝配平臺的最后運用情景。建設發動機零部件模型主要歷經如下過程:
1、紋理素材:紋理材質設計情況影響著虛擬情景內各模型的真實度,拍攝目標對象的紋理圖片。Unity 3D引擎對諸多格式的紋理圖片表現出較強大的支撐作用,結合其渲染性能與取得的成果及最后于虛擬請境內呈現出的運轉速率,選擇格式最適宜的類型。
2、采用基礎、多邊形、復合式、面片等多種方法建設3D物體模型。具體是先結合掃描模型勾畫出零部件的大體樣態,而后于修整器列表內有針對性的修正點、邊、面、多邊形等元素。
3、材質貼圖,在業內,“材質”即物體表層的屬性信息,即物體構成物質屬于哪種類型,包括表層紋理,物體對光的特性,比如反光強度、形式及區段等。貼圖可以理解為一種把圖形信息投影至曲面上的方法。材質貼圖的作用主要是將繁雜模型的表層真切、清晰的呈現出來,宗旨是降低能源耗損量與壓縮關鍵零部件建模時間長度。
3d Max能智能傳送出配置的貼圖坐標,對于曲面這種結構形態繁雜的目標對象而言,其無法給出特定的貼圖坐標,若想要精準調控不同形態對象的貼圖形態,需在UVW展開修改器的協助下進行,其能于一個平面上自由編輯目標對象貼圖的展開情況。圖1是燃油泵UVW展開后的圖示。
4、渲染
將材質、燈光等因素融合至一個情景后,并不能于試圖內清晰的觀察到以上元素呈現出的效果,需對情景實施最后的渲染操作,方能更好的呈現出燈光、材質對應的特殊效應。在情景模型建設過程中,渲染是重要一個環節,其作用以情景內儲留的各類成效為主,以圖像的樣式呈現出來。圖2為燃油泵的渲染成效[2]。
5、模型集成化
在發動機零部件建模結束后還沒有整合到裝配平臺情景內時,不同模型間運行模式相互獨立,集成模型是應對發送機各模型整合問題的有有效方法之一,結合檢修手冊內設定的要求,落實發動機整個模型的組合、裝配任務,科學規劃各機構系統所屬類別。
(一)處理模型
1、優化
本課題研究中,采用Optimize(優化)或MultiRes(高級優化)指令定量調控頂點數目及面數。具體是先采用Optimize指令把模型轉型為可被編輯的多邊形,在確認對物件模型狀態、功能不形成明顯影響的基礎上,盡量減少模型頂點、三角面數目,整改優化選項內的面閾、邊閾、位移偏量及邊長最大值。MultiRes指令的作用是利用修改器設施采用降低頂點、多邊形數的形式,壓縮模型渲染環節的空間,其能自主選定減面所占比重,將頂點所占比例降到50%,修改后頂點、三角面數依次為16180、31780。
在改進、優化模型材質及貼圖過程中,于平臺上需要有序整合材質等同的模型,降低勾畫調用的頻次。至少需要一張貼圖去支撐發動機所有零部件的模型,利用Photoshop軟件把貼圖拼湊成一個整體。在以上操作過程,盡量維持紋理貼圖四邊等同,長度值盡量為2的整數冪次,采取以上方法方能將優化操作的效能發揮至最大。針對螺栓等部件的模型,整合并保留單個后,刪減冗余模型,通過復制文件以達到檢索模型、節省計算機內部空間的目的。
2、導出模型
具體是于3d Max完成模型貼圖操作并制作相對應幀動畫以后,采用FBX格式將模型放置于文件夾Assets內,現已經證實該種格式對數個軟件的兼容和轉化過程起到較好的支撐作用,并且還能整體的存儲動畫、材質等信息。于3d Max內點擊“導出”,選中事前設定的導出渠道、重命名模型名稱,比如于3d Max完成某個構件機構拆卸、組裝動畫的制作任務,選中“Animation”后勾“Bake Animation”屬性,便能順利的對動畫實施烘焙操控處理。
(二)規劃設計發動機模型零件
1、機油濾清器
在建設模型之前,應結合零部件外部輪廓選擇適宜的標準基體,先建設一個圓柱體,將高程分段設定為2,伴隨邊數增加過程,曲面順滑度也有不斷上升趨勢。在勾畫凸出部位時,相關人員可以選定“輪廓”指令減縮拉出平面,而后選定“擠出”指令下拉延展減縮后的多邊形,直到其和掃查模型高程統一,最后通過操控“倒角”指令削弱物體平面的棱角。
2、機體
在發動機內,機體即被定義為氣缸體和曲軸箱兩者的連鑄體,可以將其看成是構造復雜的箱形零部件,可以適度調整側壁、前后壁的加強肋的頂點方位,單獨勾畫圓柱體后,將對曲軸起支撐作用的主軸承座及孔洞附加于機體上,采用布爾運算的差集(A-B)指令落實機體局部(圓柱體、主體)的建模任務。
3、氣缸蓋
氣缸蓋是汽車發動機的重要構成,也是構造極為復雜的箱形零部件,上方設有進、排氣座孔,氣門導管孔等,內部有水套、燃燒室等構件。氣缸蓋的外部輪廓類似長方體,基于布爾測算、頂點整改等方法完成建模任務。圖3是汽缸蓋模型[3]。
三、汽車發動機虛擬裝配平臺的具體設計
(一)Unity 3D引擎
本課題選用Unity Technologies公司自主研發的專業化虛擬交互式引擎促進虛擬裝配平臺功能逐一實現過程,明顯提升運轉速度與交互成效。Unity 3D在Windows、Mac OS X及Linux等諸多平臺上均表現出良好實用性,也可以將相關信息上傳至Mac與Windows平臺上。
1、情景
Unity 3D引擎可以被視為將多個模型匯聚在一起的場合,為程序壓閥過程中的最基本構成單位,一個平臺可以是數個情景構成的集合體。
2、物體對象
我們將顯現在情景內的所有實物體均稱之為物體對象,例如系統自身帶有的模型球體、平面、立方體等。Unity 3D基于“面向目標對象程序”加以規劃設計,任何對象均和Object對象之間建設了相互承接的關系,也囊括物體對象自身,Object持有多樣化屬性,腳本對其行為方式起到調控作用。
3、Unity 3D腳本
Unity引擎支持的腳本語言有JavaScript、C#、Boo,其中C#語言持有龐大的net
類庫,為微軟公司面向對象編程研發的一類語言,是當下國內外眾多程序員研發軟件首選的語言類型,本平臺開發設計時均擬定選用C#語言。
4、攝像機
Unity 3D內攝像機的作用以呈現視覺成效為主。攝像機能基于任一次序與方位完成渲染,通過增設腳本程序在平臺界面上取得良好的交互效果。
1、組件
功能以實現各物體對象的特性為主,從本質上分析各個組件為一個類的實例,通過調整物體對象屬性的形式,精確操控相關行為[4]。
(二)Unity 3D工作視圖界面
1、情景視圖
作用以規劃設計情景及安防物體對象模型、燈光、攝像機等因素為主,為建設虛擬裝配情景的部位,在這個視圖內用戶群體能結合主觀意愿轉變目標物體對象的方位,從最基礎環節保證情景視圖部署的科學性。
2、游戲視圖
情景內相機設施負責渲染游戲畫面,為本平臺對外發布以后用戶群體用肉眼能觀察到的內容,具體是在平臺發布后按下工具欄內的“播放”按鈕,于游戲視圖內動態預覽目標物體對象的狀態,為平臺的調試與研發過程創造便利條件。
3、層級視圖
作用是呈現當下情景內全部物體對象之間存在的層級關系,將當下情景內各個虛擬對象囊括于其中。能提供父子化關系時該視圖持有的強大功能之一,使數個目標對象方位轉移與編輯過程創造便利條件,且較明顯的提升處理結果的準確度。
4、項目視圖
歸納總結工程運行全過程產生的各種可用資源,存儲了情景塑造過程中采用的3D模型、腳本、動畫、材質等資源。在這里筆者所重點提及的內容是,要減少或規避于Unity編輯器外移動或者對項目資源文件進行重命名處理的行為[5]。
5、檢視視圖
功能在于呈現虛擬情景內當下選中目標物體對象持有的具體信息與屬性設置情況,常見的有目標對象名稱、標簽、旋轉角度、組件、坐標方位、縮放比重等。
(三)Unity 3D的特征分析
1、專業化的物理引擎
擬化現實的物理情景是虛擬軟件必備的基礎功能之一,Unity 3D內設置了物理引擎系統NVIDIA,當目標物體對象在情景內運轉過程中,加速度或碰撞過程中需呈現出最為真切的物理效應[6]。重力、剛體及各碰撞器等均是常見的物理相關屬性,筆者如下簡單闡述碰撞、剛體、材料的特征:
(1)碰撞:為觸發現象發出的最基礎物理條件,碰撞現象發生的基礎條件有三個:一是產生碰撞行為的兩物體一定攜帶Collider;二是要有≥一個物體為剛體;三是兩個物體一定要產生相對運動。
(2)將剛體施加于目標物體對象,這是促進情景內不同物體對象交互的重要基礎條件,承載著重力及其他外力因素的影像。
(3)于情景內,為提升真實度與渲染成效,應有針對性的調整模型材質將引擎資源整合至3d Max軟件內,需對材質球進行染色處理,并科學調整模型與攝像機所處方位。
2、3A級圖像渲染技術
Unity 3D中添置了一百組著色器,其作用是調控可編程圖形對管線構件的渲染流程,靈敏度、有效性均處于較高水平[7]。針對引擎內全部渲染任務,均要依托于Shader落實,基于此廣大用戶能取得較滿意的畫面渲染效果,并且拓展過程較便利。
3、實時光照技術
利用CI算法將實時全局光照技術整合至引擎內,該先進技術不僅能削弱因其性能的耗損量,還能提升情景的豐富度、逼真性。
4.路徑插件
Unity 3D引擎對iTween等多類型插件運作過程能起到較好的支撐作用,持有的功能也表現出多樣化特征,以縮放、旋轉、移動、顏色轉換及音頻處置等為主。數值插值為iTween的核心思想。可以iTween.path模塊為基礎取得發動機智能拆裝的預期成效,合理規劃設計發動機內部關鍵部件于X、Y、Z軸向的路徑軌跡位點[8]。
(二)零部件建模的前期準備工作
1、準備的內容
本虛擬裝配平臺上運行的數據始源于三維掃描儀對發動機模型精確掃查后獲得的結果,利用3dMax軟件再次制作模型[9]。為確保裝配平臺能順暢運轉、準確的呈現出仿真虛擬效果,平臺規劃設計時未對其尺寸規格提出嚴格要求,文件的格式也設定為常規,便于在3d Max內整改模型,建模結束后要確保導出結果均是受3 d Max和Unity 3D引擎支持的.FBX格式。眾所周知,汽車發動機由兩大機構、五大系統共同構成,在建完很多零部件后,還需再次予以命名與分組處理。
2、命名和分組
大部分情況下,Unity 3D內中文命名文件的兼容性很差,零部件類型、數目繁多時會增加系統崩潰情況發生的風險,故而同意用英文名稱進行命名,為后期設置部件模型、腳本捆綁操作創造便利性。。
3、處理模型
利用建模軟件整合至Unity 3D引擎內的模型在X軸向位置會出現一定偏轉(-90°),這就預示著需于虛擬情景內做出適度整改。當下國內國內生產實踐中發動機部件的制作材料以鋁制或鑄鐵為主,為復原現實成效,建模選用金屬材質,無形中增加了精確辨識零部件界限的難度,削弱了視覺效果,故而為保證用戶能清晰觀察到不同零部件的具體構成,針對模型制造材質的差異性,采用不同顏色加以區別。見圖4[10]。
(三)平臺界面的具體設計
用戶群體和機械設備之間的交互過程就是基于圖形用戶界面(GUI)實現的,故而可以認為GUI起到了樞紐作用。提升GUI的交互設計水平,是強化視覺功能與操控體驗競爭優勢的重要基礎。GUI也能通過擬編腳本形式建設健全層級界面,順利的完成相關情景之間跳轉任務,達成預定的運作目標。
1、設計 GUI界面
在GUI界面的正確引領下,用戶群體能對虛擬裝配平臺的正確操作規程有更全面掌握,結合實際狀況選定適宜的情景,并且對角色做出科學定位,達成與之相配套的漫游功能。本課題設計的虛擬裝配平臺需要落實的項目類別較多,且不同層級之間建設了復雜的關系,這就對GUI的便捷性、邏輯性提出更高的要求,也要以操控過程為支撐把平臺的基礎信息傳遞給用戶,這樣呈現在用戶眼前的界面更美觀、舒適度更高[12]。
依照虛擬裝配平臺事前設定的功能,對該平臺GUI的層級結構做出科學規劃,從宏觀上主要將其細化為如下三個界面,即為初始、一級與二級界面。按下初始界面內的“Let's begin”鈕能夠直接跳轉至一級界面,而基于一級界面內不同機構、系統,用戶就會進入至相關教學項目內需要學習的模塊,實質上就是二級界面。各層級均有“返回”按鈕,按下該按鈕能順利的返回到上個界面。
2、界面的基本構成
為提升裝配平臺上有限空間的利用率,可以將背景圖片增設到初級平面上,該界面上儲有基本信息及所需實現的功能。創設一個Quad平面,于默認狀態下該平面隸屬于背向剔除模式,用戶 只有從單個方向上方能觀察到,適度調整視角后方能觀察到整個平面,移去Mesh Collider組件,將圖片之間觸發與碰撞情況發生率降至最低。在對圖片加載前處理前認真檢查紋理圖像規格尺寸,并預防在牽拉作用下圖片失真的問題,嚴格依照寬高比拓展平面,最后將紋理的Shader模式設計成Unlit/Texture。設置流程見圖6[13]。
(1)初始界面:右下角位置呈現出“1.4TSI發動機虛擬裝配平臺”字樣,附加單張發動機透視圖,操控人員按下“Let's begin”按鈕便能順利進入至下級界面,即為一級界面。
(2)一級界面:觀察該界面,最先映入眼簾的是裝配平臺的全部教學項目,基于傳統發動機規劃其所屬類別,即兩機構、五系統。于該層級界面中內,“整體”實質上就是教學項目內的發動機總成,在該項目的支撐下用戶能捕獲到與發動機所有拆卸、組裝知識與運作原理,點擊菜單內任一選項均能順利步入至相應部分,即二級界面[13]。
(3)二級界面:可以將該層級界面理解為虛擬裝配平臺實現自身功能時所需做出的設計行為,界面規劃了預覽窗口,其能籠統的介紹相關專業學生應學習掌握的教學項目、預覽圖等有關信息,同時還呈現出結構呈現、智能拆裝、手動拆裝、實訓測評與零部件檢修五大功能選項。
①結構呈現:本文這里以汽車發動機機油泵為實例,分析器及結構組成,相關人員可以通過自主調整觀測角及旋轉、縮小與放大等,掌握部件具體名稱、功能提示等。
②智能拆裝:等同于觀察機油泵組件拆卸、安設過程,還能較真切的演示機油泵運作過程中內、外轉子的相對運功動畫。
③手動拆裝:這是實現人機交互的主要環節,等同于用戶對發動機零部件實施拖、拽處理,依照檢修手冊設定的規程對機油泵組件進行規范正確拆裝,人工拆裝過程中帶有零件提示功能。
④實訓考評:于該情景內主要完成計分、計時操作,具體考評實踐中,若發現發動機零部件安裝方位或次序存在錯差,則直接記作為0分,此時也不會做出零件提示等有關信息,后臺咨詢過存儲數據,最后將其納入至總分[14]。
⑤零部件的檢查與維修:步入至該畫面后,本文以機油泵為實例進行具體化研究,有一項檢修項目是采用塞尺檢查轉子和機油泵體兩者存在的縫隙,檢測結果判斷磨損度是否處于限定范圍中。動畫效果呈現出正確檢查、維修流程。
(四)界面功能的實現
在規劃設計虛擬裝配平臺全過程中,均要秉持簡潔原則,僅留置傳送信息過程所需的級必要的操作按鈕。
利用平面排布法部署 一級界面,具體是把裝配平臺上所有教學項目與器械整體設作為界面設計階段選定的主要內容。點擊任何機構或系統便能順利的進入至相應流程,按下“返回”按鈕即返回到主界面。在以上過程中我們選定“整體”教學項目。
步入至“整體”項目后,便是二級界面,能夠觀察到發動機模型的全貌,可結合主觀需求按下結構呈現、智能拆裝、手動拆裝、實訓考評、零部件檢修按鈕,實現有關功能,按下“返回”按鈕就能快速返回至上層級界面,“退出系統”即由平臺系統退出[15]。步入至二級界面后,本文以“智能拆裝”為實例加以分析,利用Animation動畫制作結束后,能播出發動機的標準化拆卸與裝設流程。
(四)平臺結構展示功能
1、三維立體展示視角
三維立體展示視角明確鼠標能動態化操作攝像機轉動過程,進而達到360°自由全方位旋角的功能,滾輪有縮放模型大小的功能,于程序腳本內需詳細錄入各幀的數據,各幀均有調用鼠標的縮放與旋轉變量、攝像機方位的功能。依照以上程序調用計算機內部資源,當測得調用各幀的頻率>30幀/s時,于視圖就能觀察到360毒平滑呈現視角的效果。
2、零部件信息顯示
當鼠標經由某個零部件時,便能夠清晰的呈現出該零件持有的有關信息。調取鼠標懸停事件,等同于觸發OnMouseOver()方法。鼠標停放于某一零件時,屏幕底層便能清晰的呈現出該零件的具體命名,本文以冷卻液泵為實例擬編代碼,將Mesh Collider碰撞器增設于冷卻液泵模型內,鼠標懸停于該處時,游戲視圖上就會呈現出肉眼清晰可見的“冷卻液泵”字樣;鼠標脫離此物時,零件名稱隨即消失。也可以把冷卻液泵所屬系統、拆裝器具等信息增設于腳本CoolantPump內。
結束語
本文介紹了引擎Unity 3D 的功能特征,對發動機模型做出優化處置、命名與分組等前期準備工作;在設計GUI界面時,結合發動機相關專業教學項目制作與跳轉不同層級界面,最后達成虛擬裝配平臺的主要功能,即結構呈現、智能拆裝、人工手工拆裝、考評系統與故障檢查與檢修。在故障檢修環節中,以檢查、測量氣缸體翹曲度指標為實例加以分析,構建出完整化的虛擬裝配系統,希望能為相關專業課程教學活動開展創造輔助平臺。
參考文獻
[1] 沈平.虛實結合汽車發動機拆裝實訓教學模式研究[J].南方農機,2020,51(08):111-114.
[2] 鄭華磊.虛擬現實技術在汽車發動機進氣系統拆裝教學中的研究與應用[J].職業,2020,47(12):26-28.
[3] 趙強,李勝,徐善勇,劉大維.雙動力源車用空調壓縮機傳動系統研究[J].青島大學學報(工程技術版),2019,34(04):66-70+75.
[4] 廖燕輝.基于LabVIEW的汽車發動機油耗與動力性能測試系統設計[J].時代汽車,2019(07):102-103.
[5] 馬光.虛擬教學系統在汽車發動機構造與檢修中的應用研究[J].成才之路,2019(12):47.
[6] 喻曹豐,陳清華,汪選要,張國榮.虛擬仿真實驗模塊在車輛工程專業實驗教學中的應用[J].教育教學論壇,2019,47(17):276-278.
[7] 姚遠.發動機缸蓋加工專用機床的設計研究[J].三門峽職業技術學院學報,2018,17(04):129-132.
[8] 李士明,何海龍.虛擬現實技術在發動機拆裝教學中的應用[J].汽車與駕駛維修(維修版),2018,22(11):127-128.
[9] 任小萍.汽車發動機典型零件的加工工藝虛擬仿真系統研究[J].小型內燃機與車輛技術,2018,47(04):15-19.
[10] 張勇.虛擬儀器技術在汽車檢測中的應用案例[J].汽車與駕駛維修(維修版),2018,74(07):185-187.
[11] 魏曉旭,田哲文.汽車發動機拆裝實踐虛實結合教學模式探索[J].大學教育,2018,41(07):96-98.
[12] 劉勉,張際平.虛擬現實視域下的未來課堂教學模式研究[J].中國電化教育,2018,75(05):30-37.
[13] 張兆明,邢正雙.虛擬裝配技術在汽車發動機裝配中的應用[J].柴油機設計與制造,2018,24(01):49-51+56.
[14] 全宏.汽車發動機虛擬裝配學習系統的設計與實現[J].電腦編程技巧與維護,2018(03):124-125+141.
[15] 何濤.基于Pro/E的汽車發動機虛擬裝配教學系統設計[J].企業技術開發,2018,37(02):45-47.