張永亮 李向東 郭鋒 莫方偉
摘 要
根據(jù)某型叉車的機械結(jié)構(gòu)組成和運動規(guī)律特點,利用Pro/E軟件創(chuàng)建其三維零件模型,并組裝成實體模型。運用Unity3D對某型叉車進行3D建模并仿真,利用軟件中物理引擎,腳本模擬變速器和液壓系統(tǒng)等技術(shù),分別實現(xiàn)某型叉車碰撞和摩擦數(shù)值模擬,同時也實現(xiàn)了駕駛運動和作業(yè)運動的仿真,通過對比發(fā)現(xiàn)其仿真效果與實際運動相一致。
關(guān)鍵詞
虛擬現(xiàn)實;叉車;Unity3D;運動仿真
中圖分類號: TP15 ? ? ? ? ? ? ? ? ? ? ? ?文獻標識碼: A
DOI:10.19694/j.cnki.issn2095-2457.2020.05.033
0 概述
叉車是主要運用在制造、港口、冶金、水電、倉儲中心、鐵路貨場等裝卸貨物的場合,作為特種工業(yè)車輛設(shè)備,在駕駛作業(yè)過程中容易出安全事故。叉車的規(guī)范駕駛操作關(guān)系到財產(chǎn)與生命安全,要求操作人員的愈來愈高操作素質(zhì)。因此,叉車的正確操作需要經(jīng)過專門職業(yè)技能部門組織訓練。之前的職業(yè)技能訓大多數(shù)都是在實際車輛上進行,隨著近些年來計算機技術(shù)、虛擬現(xiàn)實技術(shù)、自動控制技術(shù)的快速發(fā)展和廣泛應(yīng)用,運用計算機系統(tǒng)為核心和操縱控制臺為基礎(chǔ)組成各種模擬仿真訓練器,控制設(shè)備操作人員通過仿真訓練器進行培訓訓練,最后上崗工作。叉車模擬仿真訓練器的研制和開發(fā)也是必不可少的。叉車的種類多種多樣,其操作駕駛的技能要求也各不相同,本文主要是研究應(yīng)用Pro/E、3DMax、Unity3d等多媒體設(shè)計軟件對某型高速內(nèi)燃叉車進行3D建模并仿真。
1 模型的建立與渲染導出
3DS Max、Solidworks、Pro/E等三維建模軟件經(jīng)被工程設(shè)計者運用。其中3DS Max雖然在造型、渲染、父子關(guān)系等方面功能強大,但在完成外形復雜的零件建模和裝配方面,其工作速與 Pro/E相比相差甚遠[1-2]。而Pro/E軟件的幾何造型功能強大,能建立各種復雜特征的零件模型,而且建模的工作效率是其他建模軟件沒法比的。所以我們先是運用Pro/E軟件進行三維實體建模,然后應(yīng)用3DS Max軟件進行紋理貼圖和材質(zhì)渲染[3-5]。
1988年美國參數(shù)技術(shù)公司推出(PTC)Pro/E系統(tǒng),其中包括參數(shù)化設(shè)計三維CAD/CAM軟件包,廣泛應(yīng)用于工業(yè)設(shè)計、電子、機械、航天、模具、汽車、家電等各行業(yè)。某型叉車模型的設(shè)計主要是應(yīng)用Pro/E軟件,采用部件的Top-down設(shè)計過程,首先建立某型叉車的組件,設(shè)定叉車中發(fā)動機、工作裝置、車架、駕駛室、操縱裝置等主要零件之間的裝配尺寸參數(shù),然后根據(jù)各零件的外形尺寸進行發(fā)動機、工作裝置、車架、駕駛室、操縱裝置等單個零件的設(shè)計。再將Pro/E設(shè)計的叉車組件模型轉(zhuǎn)換成STL文件輸出。
2 某型叉車仿真模型的實現(xiàn)
2.1 叉車模型的導入
把裝配好的叉車模型先導入3ds Max中.在其中對叉車模型進行材質(zhì)的渲染和顏色配置。然后從接口導出為Unity 3D軟件可以識別的.fbx格式,然后導入到Unity 3D,導入后,在Unity 3D中添加必要的燈光和攝像機。由于3ds Max中的坐標系和單位與Unity 3D有所區(qū)別,所以在導入前必須調(diào)整好單位的轉(zhuǎn)換比例和各活動部件的坐標位置關(guān)系。
2.2 叉車物理仿真實現(xiàn)
Unity3D通過設(shè)置內(nèi)置來支持Nvidia PhysX,其實際工作就是封裝了一些游戲中常用的組件以及腳本中調(diào)用的類,只要將這些碰撞體組件賦予游戲?qū)ο?,就被加入PhysX虛擬世界進行運算。Unity3D的常用組件:
剛體(Rigid)、網(wǎng)格碰撞體(Mesh Collider)、地形碰撞體(Terrain Collider)、輪胎碰撞體(Wheel Collider)、彈簧連接體(Spring Joint)。
如圖1所示,場景中需要進行物理計算的主要有三種:地形、一些3D模型(如柵欄)和czs2.5叉車,其中地形和3D模型為靜態(tài)物體,只要為其增加靜態(tài)碰撞體組件即可。而叉車的構(gòu)造較為復雜,首先在模型中前車身和后車身為不同的部位,因此要定義為兩個網(wǎng)格碰撞體,并且為了得到真實的物理效果,需要將輪胎定義為車輪碰撞體并通過彈簧連接體與車身相連,叉車物理仿真的構(gòu)造如圖2所示。
2.3 叉車駕駛仿真實現(xiàn)
進行了叉車的物理組件裝配之后,還要建立實現(xiàn)叉車行駛狀態(tài)的動力學模型。由于叉車在駕駛過程中影響其運動情況的因素錯綜復雜,操縱機構(gòu)對叉車的行駛存在著多輸入、多耦合、非線性的控制作用,而實時渲染要求動力學仿真計算快速,要在精確度與計算速度之間折中,需要簡化動力學模型。
為了簡化模型,做如下假設(shè):所有車輛都是剛體,不考慮多節(jié)車廂的情況。叉車在行駛過程中,因速度的變化受到引擎的驅(qū)動力和阻力(動摩擦力、空氣阻力),如果叉車在轉(zhuǎn)彎還會收到輪胎的側(cè)摩擦力。
根據(jù)以上得出的叉車動力學模型,需要在Unity3D中通過腳本組件實現(xiàn),首先為叉車對象增加一個繼承自MonoBehavior的CZSControl.cs腳本,在其中重寫更新函數(shù)Update()和兩個Private函數(shù)shiftGears()、ChangeGears(),Update()函數(shù)在每幀繪制之前調(diào)用一次,shiftGears()和ChangeGears()函數(shù)在更新函數(shù)Update()中調(diào)用并進行動力學計算。圖3為更新函數(shù)的部分代碼,其中的計算公式中使用了大量的常量因子,不同的叉車可配置不同的參數(shù)以產(chǎn)生逼真的效果。
2.4 叉車作業(yè)仿真實現(xiàn)
叉車仿真模擬器通過駕駛仿真,實現(xiàn)了叉車的前進、后退、轉(zhuǎn)向、變速等行駛狀態(tài)仿真,但叉車不僅要實現(xiàn)駕駛仿真,還要對其工作裝置進行作業(yè)狀態(tài)仿真,讓叉車能實現(xiàn)取卸作業(yè)動作。要實現(xiàn)取卸作業(yè)的動作,首先要為叉車工作裝置對象增加三個繼承自MonoBehavior的腳本HCJControl.cs、FrontGanHYControl.cs、FrontGanFYControl.cs,通過這三個腳本,實現(xiàn)了叉車叉臂的伸縮、俯仰,貨叉架的橫移、起升下降等動作。腳本的部分代碼如圖4、圖5所示。
3 小結(jié)
本文基于某型叉車為主要研究對象,根據(jù)其機械結(jié)構(gòu)組成和運動規(guī)律特點,利用Pro/E軟件創(chuàng)建其三維零件模型,并組裝成實體模型。運用Unity3D對某型叉車進行3D建模并仿真,利用軟件中物理引擎,腳本模擬變速器和液壓系統(tǒng)等技術(shù),分別實現(xiàn)某型叉車碰撞和摩擦數(shù)值模擬,同時也實現(xiàn)了駕駛運動和作業(yè)運動的仿真,最終使用Unity3D仿真了叉車工作裝置取卸貨這一較復雜機械動作。通過對比發(fā)現(xiàn)其仿真效果與實際運動相一致,且使用者可在仿真時操作三維模型,有著良好的交互性。
參考文獻
[1]施志輝,宋淑娥.漸開線齒輪Pro/E造型方法研究[J].組合機床與自動化加工技術(shù),2004(11):45~46.
[2]李玉紅.基于Pro/Engineer野火版漸開線齒輪的參數(shù)化設(shè)計[J]. 機電設(shè)備,2008(2):45~47.
[3]宣雨松.Unity 3D游戲開發(fā)[M].北京:人民郵電出版社,2012.
[4]趙佳寶,馮欣欣,葛琳.基于Unity 3D日塔吊建模仿真[J].北京建筑大學學報,2014(4):66-69.
[5]張文磊,鄭曉雯,陳寶峰,等.基于虛擬現(xiàn)實的液壓支架工作狀態(tài)研究[J].煤礦機械,2012.10.