摘要:介紹了構建交互式農田虛擬現實場景的關鍵技術,利用VRML技術設計了交互式農田虛擬現實的場景環(huán)境原型,詳述了模型開發(fā)過程中的建模、轉換、裝飾和交互等關鍵技術。用戶可以直接與農田虛擬現實場景中的農作物地塊和道路等事物交互,產生身臨其境的效果,從而使用戶在虛擬空間中得到與自然世界同樣的感受,并為農業(yè)裝備的虛擬試驗提供了接口和場景空間。
關鍵詞:虛擬現實,虛擬場景,VRML,農田,交互
0引言
眾所周知,大田糧食作物的生產具有明顯的季節(jié)性特征。新的農業(yè)裝備研制開發(fā)出來后,如果沒有正好趕到使用的季節(jié),研究者就很有可能需要等到下一季才能夠實地試驗檢測裝備的各項指標,而且很有可能在實地試驗后需要對農業(yè)裝備做進一步的改進,因此可能要再等到下一季才能夠安排測試。這樣的情形長期以來一直制約著農業(yè)裝備的研發(fā)速度和周期,嚴重妨礙了國家農業(yè)裝備的更新?lián)Q代和創(chuàng)新水平的提升。隨著計算機軟硬件技術的飛速發(fā)展和光機電液一體化技術的巨大進步,開發(fā)全天候、高度模擬真實大田作業(yè)環(huán)境和農作物長勢的、可以完全替代季節(jié)性田間試驗的農田虛擬場景及其農業(yè)裝備虛擬試驗系統(tǒng),受到了國內外學者的廣泛重視和研究。在車輛和部分農業(yè)裝備的室內試驗中,基于虛擬場景的虛擬試驗研究已取得了良好的效果。
美國MDI公司開發(fā)的ADAMS軟件是構造產品虛擬原型的一個很好的平臺,利用其中的CAR模塊,工程師可以快速建造高精度的整車虛擬樣機(包括車身、懸架、傳動系統(tǒng)、發(fā)動機、轉向機構和制動系統(tǒng)等),并進行仿真,通過高速動畫直觀地顯示在各種試驗工況下整車動力學響應,輸出標志操縱穩(wěn)定性、制動性、乘坐舒適性和安全性的特征參數,從而減少對物理樣機的依賴。VTL(VirtualTestLab)系統(tǒng)是由美國MTS(MechanicalTestSystem)公司研制的虛擬試驗系統(tǒng),該系統(tǒng)在產品或部件上安裝虛擬傳感器并將虛擬原型安裝在不同的試驗環(huán)境中,一旦虛擬模型確定,可以反復進行試驗,并根據虛擬試驗結果對設計進行反復修改,從而獲得最佳設計方案。
就國內來講,吉林大學汽車動態(tài)模擬國家重點實驗室對汽車防抱制動系統(tǒng)(ABS)混合仿真試驗臺進行了系統(tǒng)分析;喬彬和李尚萍等對甘蔗收獲機械智能收獲系統(tǒng)虛擬試驗平臺進行了研究;王鳴和劉喜昂等研究了基于VRML的虛擬試驗系統(tǒng);趙明和劉春光等開展了VRML在電傳動裝甲車輛虛擬試驗中的應用研究;周鵬等對潛土逆轉旋耕刀的重構及拋土問題進行了虛擬試驗的研究;陸林等開展了基于ADAMS的油菜收割機清選裝置仿真與試驗研究,利用虛擬樣機軟件ADAMS對收割機的清選裝置進行三維實體建模在此基礎上對清選裝置進行了清選過程仿真和虛擬試驗。關于虛擬場景的建立,國內眾多研究者就VRML技術在遠程教育、道路、地理環(huán)境三維漫游和交互式設備虛擬裝配等方面的應用問題展開了廣泛的研究。結合農業(yè)裝備虛擬試驗的需要,本文就交互式農田三維虛擬場景構建的關鍵技術與過程進行研究。
1VRML簡介
虛擬建模語言VRML(VirtualRealityModelingLanguage)是最近幾年才興起的一門新型語言,它可以通過創(chuàng)建一個虛擬場景而達到現實中的效果。VRML支持三維動畫,其實時交互功能大大克服了原來互聯(lián)網上單調和交互性較差的弱點,從而創(chuàng)建一個全新的可進入和可參與的三維立體虛擬現實世界。
VRML是一種描述語言標準,規(guī)定了用來描述三維場景的文本描述語言,它的基本原理包括:文本描述、遠程傳輸和本地計算生成。VRML描述的虛擬場景由多種場景對象構成,對象及其屬性用節(jié)點(node)描述,節(jié)點按照一定規(guī)則構成場景圖(SceneGraph)。場景圖中的一類節(jié)點用于從視覺和聽覺角度表現對象,它們按照層次體系組織起來,反映了場景的空間結構;另一類節(jié)點參與事件產生和路由機制,形成路由圖(RouteGraph),確定場景隨時問的推移如何動態(tài)變化。因此,VRML是以節(jié)點和事件路由為基本組成要素,來描述三維對象和交互行為,經過瀏覽器解釋執(zhí)行后,用戶就可感受到一個有聲有色的虛擬世界。
VRML虛擬現實建模語言用來創(chuàng)建逼真的三維虛擬場景。它改變了網絡上2D畫面的狀態(tài),并能實現3D動畫效果,特別是改變了當前網絡與用戶交互的局限性,使得人機交互更加方便與靈活,使虛擬世界的真實性、交互性和動態(tài)性得到了更充分的體現。在VRML建立的虛擬場景中,用戶可以直接與場景中的事物交互,產生身臨其境的效果,從而使人在虛擬場景中得到與自然世界同樣的感受。
2虛擬農田場景的設計
2.1建立虛擬場景應用背景
虛擬現實農田場景設計是利用人造景觀和自然景觀相結合,為檢測農機作業(yè)機組在農田中的工作性能、減小能耗、提高功效以及檢測關鍵部件的工作性能提供一個實用的軟件開發(fā)試驗平臺。例如,通過與虛擬現實農田場景的交互,就可以不受季節(jié)限制,完成對收獲機割臺工作性能的測試,掌握其動力消耗、損失率和傳動配合等情況,進而測試整機設計方案的合理性。虛擬現實農田場景設計針對農田路況、農作物布局和行走作業(yè)機組進行虛擬仿真,創(chuàng)造出逼真的三維立體場景。
2.2虛擬現實農田場景設計
虛擬現實農田場景設計是利用虛擬現實程序設計語言進行軟件的設計開發(fā),使虛擬農田場景與現實農田場景融合,從而創(chuàng)建出逼真的三維立體農田場景。虛擬現實農田場景包括玉米地、土地、人行道和行走車輛等。在虛擬現實農田中,可以體驗虛擬世界給人們帶來的現實無法比擬的感受。
虛擬現實農田場景軟件設計,是利用先進的漸進式軟件開發(fā)模式對虛擬現實農田場景進行需求分析、設計和編碼,包括路面設計、人行道設計、作物設計和車輛設計等。設計采用模塊化和組建化設計思想,開發(fā)設計層次清晰、結構合理的虛擬現實農田場景。虛擬現實農田場景設計的層次結構如圖1所示。
2.3農田三維源數據獲取
農田三維源數據多種多樣,主要有地形圖、專題地圖、衛(wèi)星影像、航空相片和現有的數據文件以及相應的海量屬性數據等,包含等高線、高程點、溝渠、田間道路、田埂、植被類型、農作物等圖層或數據類型。不同格式的源數據的采集獲取方式也不同,主要包括全野外數字測圖、地形圖數字化和數字攝影測量等。
2.3.1農田三維地理對象建立
對于大范圍農田地形數據,采用內聯(lián)VRML文件,將整個復雜的地形分為幾個部分,每一部分用一個相應的VRML文件創(chuàng)建,最后用Inline節(jié)點將這幾部分的VRML文件集合到一個VRML文件中,得到整個地形模型。對于田埂、溝坡、田邊樹木和溝渠等農田設施,需要單獨三維建模。建模時,將其分為點、線狀地物和面狀地物,以便分別建模描述表達?梢赃x用AutoCAD,3DSMAX,ISB(IntemetSpaceBuilder)等作為三維模型的開發(fā)工具,然后通過文件轉換工具轉換成.wrl文件。為營造出真實農田環(huán)境的氛圍,在戶外用數碼相機采集農作物真實紋理,并進行適當的處理,得到理想的材質圖片。
2.3.2編輯軟件的選擇
采用VrmlPad編輯器來對VRML文件編輯。Vrm1.Pad編輯器在編寫VRML文件時,除具有一般的文本編輯功能外,還可以提示選擇VRML語言的關鍵字,而且用戶定義的節(jié)點名和事件名等會自動地動態(tài)加入關鍵字庫中,參與提示選擇,編程人員無需記憶VRML眾多的關鍵字。VrmlPad編輯器支持打開文件時的預覽,支持對節(jié)點效果的預覽和整體場景預覽。通過對VrmlPad編輯器中瀏覽器控制按鈕的選擇,用戶可以從不同角度觀看場景。
2.3.3交互式場景的實現
VRML場景沒有地面屬性,行進中的拖拉機難以感知當前路面狀況,如土壤的堅實度、空隙率、密度和土壤應力等,給虛擬試驗帶來了諸多不便。根據VRML的事件驅動機制和Script編程技術,在場景開發(fā)中進行了場景地面信息的列表,給出了不同地面坐標下的地面屬性(主要包括路面介質參數或坡度等)。場景運行中,通過編程節(jié)點實時采集當前車輛坐標,并調用地面信息列表,將地面屬性反饋給仿真模型,以實時調整仿真參數和運行姿態(tài)。
2.3.4虛擬現實農田場景源程序
虛擬現實農田場景設計,利用虛擬現實程序設計語言中的基本幾何節(jié)點、復雜節(jié)點和動態(tài)感知節(jié)點進行開發(fā)設計,包括背景節(jié)點、視角節(jié)點、節(jié)坐標變換節(jié)點、內聯(lián)節(jié)點、組節(jié)點、重定義節(jié)點、重用節(jié)點、面節(jié)點、時間傳感器節(jié)點、動態(tài)插補器節(jié)點、事件和路由等,并利用內聯(lián)節(jié)點實現子程序調用,并實現模塊化和組件化設計。該設計利用動態(tài)插補器節(jié)點設計行駛的車輛景更加逼真、生動和鮮活。
在建立農田虛擬場景時,要求無論場景怎么移動,農作物始終面向瀏覽者,所以在建立農作物場景時引用了布告牌節(jié)點(Billboard)。在Billboard節(jié)點中,通過對域值axisOfRotation的設定,使Billboard自動地以其局部坐標系的z軸圍繞旋轉,從而保證布告牌造型始終面向瀏覽者。通過引用坐標變換節(jié)點(transform),可以完成對多個農作物的導人。利用改變該節(jié)點中translation的值以及引用inline節(jié)點,可逐個導入農作物,從而構建整個農田場景。構建農田場景的程序代碼由于篇幅所限從略。用VRML語言設計的虛擬農田場景如圖2所示。
參考文獻:
[1]周鵬.潛土逆轉旋耕刀的重構及拋土虛擬試驗[D].鎮(zhèn)江:江蘇大學,2007:1—17.
[2]楊國治.虛擬試驗場技術的研究與開發(fā)[D].上海:同濟大學,2005:12—23.
[3]陸林.基于ADAMS的油菜收割機清選裝置仿真與試驗研究[D].鎮(zhèn)江:江蘇大學,2005.
[4]郭天太.基于VR的虛擬測試技術及其應用基礎研究[D].杭州:浙江大學,2005.
[5]喬彬,李尚萍.甘蔗收獲機械智能收獲系統(tǒng)虛擬試驗平臺的研究[J].機械制造,2007,45(3):4—6.
[6]趙明.VRML在電傳動裝甲車輛虛擬試驗中的應用[J]裝甲兵工程學院學報,2005,19(2):85—88.
[7]張文春,張濤.基于VRML的道路三維虛擬景觀構建[J].吉林建筑工程學院學報,2007,24(2):22—24.
[8]王嗚,劉喜昂.基于VRML的虛擬試驗系統(tǒng)研究[J].現代電子技術,2006,29(15):105—106.
[9]丘威,鐘治初.基于VRML的在線虛擬現實場景設計與實現[J].計算機應用與軟件,2007,24(4):29—31.