雷 文, 陳清奎, 朱肖龍, 高 博, 厚國旺
(山東建筑大學 機電工程學院,濟南 250100)
“農業機械學”這門課程的實踐性很強,傳統的教學難以讓同學們掌握農業機械的基本知識,對于各種現代化的農業機械的基本結構的了解也僅能從圖片與文字素材上獲取,并且大部分的農機設備的主要零部件均包裹在殼體內部,學生無法觀察其內部結構以及工作狀態時的內部原理. 虛擬現實技術,是一種融合計算機圖形學技術、人機交互技術、多媒體技術、網絡技術及仿真技術等多種科學技術的新型技術,具有沉浸感、交互性和構想性[1]. 如果將其應用在農業機械教學中,將會實現傳統教學中不具備或難以完成的教學功能,并能解決實踐教學中的產品成本高、工作場所受限制等一系列問題.
然而,目前由于虛擬現實技術在農業機械教學上的應用還不廣泛,專門針對農業機械的軟件屈指可數,盡管近年來不少國內外研究者圍繞虛擬農業機械進行了研究,但是取得的成果甚微. 朱鐘祥等人[2]以聯合收獲機的底盤為例,利用虛擬現實軟件EON及其二次開發技術實現了聯合收獲機底盤部件的交互性裝配. 李潤聲等人[3]以棉花制缽機的動畫制作為案例,研究了虛擬仿真技術在農業機械課程教學中的應用,缺點在于過分強調了虛擬仿真技術對農業機械課程教學的必要性,但卻沒能給出有效的解決方式. 吳升等人[4]以Unity3D為開發平臺,實現了甘蔗種植生長周期虛擬展示以及種植過程中對農機設備的交互操作,可以推廣應用于其他農作物的虛擬生產作業培訓系統的開發.以上研究雖然將虛擬現實技術應用在農業機械教學中,但是所開發的軟件只針對某一種農機設備或某一類農作物的生產作業,存在著資源不完善的問題,無法勘破農業機械教學中的難題. 基于以上不足,本文開發出一個全面、完善的仿真教學系統,涵蓋了耕地機械、整地機械、播種機械、植保機械、收割機械的拆裝與設備維修保養及工作原理展示,并且學生可以在系統實時生成的三維場景中操作機械設備,模擬生產勞作.
本系統的主體設計目的是以建構主義學習理論為基礎,結合《農業機械學》的課程特點,為學習者塑造一定的情景,學習者能在其中自主地學習專業知識,即在虛擬農場的三維場景之下,學習者通過操作鼠標、鍵盤可以清楚的查看場景中的每一個角落、每一臺設備和每一處細微結構,并且場景中的每一臺設備與每一個區域標示都是一個觸發點,點擊即可進入到相應的教學界面,實現相關項目的知識點教學,見圖1.
《農業機械學》所涉及的內容主要是田間作業機械,而且側重于生產機械化所必須的典型設備的構造、原理、生產作業等[5],所以本系統的關鍵點在于每種農機設備教學模式的設計. 從“老師易教,學生易學”的角度出發,系統的設置應以交互操作為主、演示教學為輔,并且為了讓老師了解學生在自主學習狀態下的學習情況和出現的問題以及學生對自我知識點的審核,在知識點功能模塊的基礎上還應構建考核功能模塊.

圖1 “虛擬農場”背景下“農業機械學”系統的設計圖
虛擬農場農業機械學仿真教學系統最終要實現場景漫游、農機設備教學與典型農作物生產線的全方位展示,因此可將其劃分為3個大模塊,然后根據教學需要再將這3個模塊進行逐次劃分. 故該系統的開發主要有以下4個任務:
(1) 建立農場的三維虛擬場景. 場景模型數據庫與農機設備模型數據庫的建立.
(2) 實現虛擬農場的漫游行走.(3) 實現主要農機設備的教學.(4) 實現典型農作物的生產流程.
虛擬農場里的主要農業機械可分為耕地、整地、播種、植保、收割5大類,每種設備的組成結構、工作原理、維修保養方式都大不相同,因此系統開發的難點在于前期對每臺設備完整資料的收集與整理.
針對虛擬農場農業機械學仿真教學系統開發的側重點與任務需求,該教學系統主要需要具備如下功能:① 農場的漫游和實體模型的可視化; ② 交互式的虛擬拆裝; ③ 設備工作原理演示; ④ 交互式的維修保養;⑤ 自定義設備的工作參數; ⑥ 知識點的檢驗; ⑦ 模擬勞作.
虛擬農場仿真教學系統的設計按照軟件工程設計的思路,貫徹分層布局和模塊組成的思想[6],從系統功能分析入手,設計系統各個功能模塊. 根據需要實現場景漫游、農機設備教學、機械化生產線3個功能模塊的開發,生成界面友好、操作簡單、實用性強的教學系統,全面地實現滲透式的教學培訓. 整個系統總體結構框架如圖2所示.
虛擬農場仿真教學系統的主體在于農機設備,了解每臺設備的結構和工作原理是整個系統開發的目的,分析不同農機設備的工作特性,將其劃分為主要組成模塊,以玉米聯合收獲機為例,玉米聯合收獲機由摘穗臺模塊 (撥禾機構、切割裝置、輸送裝置、摘穗機構)、脫離系統模塊 (剝皮機構、分離機構、清糧裝置等)、底盤模塊 (行走裝置、動力裝置、傳動系統、駕駛室與操縱控制)、卸糧裝置模塊等4個模塊組成. 將每臺設備結構進行模塊劃分的原因,是在學生進行拆裝學習時,能分塊操作,對設備結構有清晰而全面的認識.

圖2 虛擬農場仿真教學系統總體結構
本系統以Unity3D為開發平臺,應用Solidworks、3Ds Max建模軟件來構建三維虛擬農場的場景模型數據庫與農機設備模型數據庫,并通過Photoshops軟件來處理紋理貼圖和設計界面. 最后將資源融合到Unity虛擬現實平臺內,在Unity中進行場景搭建、模型大小設置以及效果調試等操作,并編寫相關代碼實現交互功能,最后對項目進行打包發布. 其具體開發步驟如圖3所示.
為了使學生在操作虛擬農場農業機械學仿真教學系統時實現各項功能,UI界面上設置了可操作的按鈕,使用者可以通過這些按鈕來“立體化”學習相關知識點,如拆裝玉米聯合收獲機. 根據功能分析,主場景設置為二級界面,由于三維場景中只能完成場景漫游,因此農機設備的教學模塊或者機械化生產作業模塊的實現就需要點擊場景中的標示,即虛擬按鈕,從而加載到下一級界面. 創建好的虛擬農場界面如圖4所示.

圖3 虛擬農場仿真教學系統開發流程
虛擬農場農業機械學仿真教學系統是一個數據龐大,結構復雜的綜合系統,包含多種模型組件. 農場的場景模型數據庫的模型包括:地形、農作物、房屋建筑、自然指示牌、道路、天空等. 農業機械設備模型數據庫的模型包括:耕地機械、整地機械、播種機械、植保機械、收割機械,其具體表現為:拖拉機、旋耕機、播種機、噴霧機械、小麥聯合收獲機、玉米聯合收獲機、采棉機、蘋果分級機、青貯收獲機、干燥機、鏵式犁、農機配套附件等.
系統采用Solidworks和3Ds Max共同來完成場景模型與農機設備模型的構建. 模型的面數制約著系統渲染處理的響應速度和系統的逼真性,當模型的面數越高時,能獲得更強的沉浸感,但是系統所占內存就會越大,導致響應變慢,所以為了兼顧視覺與效率的平衡,需要對模型進行優化處理[7],圖5為優化處理前后的青貯收獲機的對比圖. 本系統的模型采用的優化方式如下:
(1) 對于各種復雜農機設備,在保留模型的幾何形狀特征的同時對模型的重要細節局部優化,忽略次要部分,即用簡單的輪廓來代替復雜的形狀[8]. 如青貯收獲機,分析其工作原理,對其基本組成模塊的各部分機構,如割臺機構、切割調質裝置、輸送裝置等進行精確化建模,對其他次要部分進行簡化處理,刪除一些隱藏的面.

圖4 界面展示
(2) 系統中各種農機設備的模型從Solidworks以.stl的格式導入到3Ds Max之后,四邊面會被轉變為三角面,模型的三角面數及頂點數會急劇增加,例如青貯收獲機的三角面數就高達90多萬. 利用 3Ds Max中內置的腳本語言MaxScript,編寫一個后綴為.ms文件并運行程序,3DS Max將自動的把模型中的三角面轉換為四邊面,根據此種方式,青貯收獲機的模型的面數銳減到了40多萬. .ms文件的具體內容如下:



圖5 優化處理前后的青貯收獲機的對比圖
(3) 使用紋理來代替細節描述,將二維圖像映射到幾何形狀上減少環境模型的多邊形數目. 系統對較簡單的模型采用直接貼圖渲染的方式,如農場的地面、建筑物的花紋、農作物、維修工具等; 而對各種復雜的農機設備模型,系統采用則外部指定式貼圖坐標的方式,分別對模型的每一個對象都進行貼圖渲染.
系統交互功能的實現最主要是交互腳本的設計,只有當場景中的農機設備、標示框按鈕等被賦予腳本組件并關聯之后,才能實現相關的交互操作. Unity3D支持Java和C#兩種腳本語言,其中C#的應用更為廣泛,因此本平臺采用C#語言編寫腳本來進行復雜的場景邏輯控制. 以二級界面虛擬農場場景中的“玉米聯合收獲機”觸發按鈕為例,點擊之后進入到三級的玉米聯合收獲機教學模塊界面,其功能實現創建順序如下:
(1) 新建一個名為yumishouhuoji的C#腳本程序,在程序中定義兩個變量:canvas_scence02,canvas_yumi03,創建名為enter_yumi03的函數,并在其中添加實現的功能代碼語句; 實現代碼如下:

(3) 給子物體yumishouhuoji添加一個Button組件,將PS處理過的玉米聯合收獲機的提示文本框貼圖以Sprite類型添加到Button組件里的Source Image中,并將這個按鈕組件的On click作為事件接口與canvas_scence02、enter_yumi03關聯上.
(3) 給子物體yumishouhuoji添加一個Button組件,將PS處理過的玉米聯合收獲機的提示文本框貼圖以Sprite類型添加到Button組件里的Source Image中,并將這個按鈕組件的On click作為事件接口與canvas_scence02、enter_yumi03關聯上.
本系統依照一般網絡游戲的漫游方式,即按住鍵盤上的“W”、“A”、“S”、“D”鍵,可以在虛擬農場中進行“前”、“左”、“后”、“右”的漫游操作,從而對場景進行全方位的瀏覽; 同時鼠標點擊2.5D熱點地圖上的區域,可以快速的進行場景切換,農場的區域效果如圖6所示.

圖6 虛擬農場的區域效果圖
系統中的每一種農機設備的教學由拆裝教學模塊、拆裝練習模塊、工作原理模塊、故障檢測模塊以及維修保養模塊組成. 其中拆裝教學模塊是以動畫播放的形式來將每種設備的主要組成結構來進行拆卸、裝配的演示說明; 針對拆裝練習模塊,設置了工具欄和零件欄,以交互的方式來完成每種設備的主要組成結構的拆卸與裝配的訓練. 以小麥聯合收獲機為例,其各個功能模塊截圖如圖7所示.
系統中的每一種農作物的機械化生產作業教學由耕地作業、播種作業、植保作業、收獲作業等4大模塊組成. 耕地作業以小麥機械化生產作業為例,其操作時效果如圖8所示.

圖7 小麥聯合收獲機教學展示
本文利用計算機建模與仿真技術、虛擬現實及可視化技術,以現代農場為原型,從虛擬仿真教學的角度出發,在Unity平臺上開發了虛擬農場農業機械學仿真教學系統,實現了真實的機械化生產作業的虛擬可視化,并且對各種主要農機設備的拆裝、維修保養及工作原理進行了在線展示. 操作者可以通過虛擬環境內反復對各種農機進行拆裝以及故障維修訓練,掌握各式農機的內部結構、工作原理、維修保養等方面的知識,并且該系統考核模塊的設置更是對學生知識理解程度的檢驗. 應用結果表明,該系統實現了“老師易教,學生易學”的教學目的,“畫面感”的場景設置提高了學生的學習興趣,有效促進學生對知識點的深層次理解以及實踐能力的增強,是農業機械教學模式的新突破.

圖8 耕地作業
1 鄒湘軍,孫健,何漢武,等. 虛擬現實技術的演變發展與展望. 系統仿真學報,2004,16(9):1905-1909.
2 朱忠祥,陳莉,李山山,等. 基于虛擬現實的聯合收獲機底盤虛擬裝配關鍵技術. 農業機械學報,2013,44(S2):262-267.
3 李潤聲,林衛國,王樹才. 虛擬仿真技術在農業機械課程教學中的應用. 農業工程,2015,5(3):112-114.
4 吳升,郭新宇,賀誼,等. 基于Unity3D的甘蔗種植虛擬教育培訓系統設計與實現. 中國農業科技導報,2014,16(6):96-102.
5 李兵. 農業機械學省級精品課程建設的教學實踐. 安徽農業科學,2015,43(25):391-392. [doi:10.3969/j.issn.0517-6611.2015.25.141]
6 楊雪松. 基于Unity 3D的發動機虛擬拆裝系統研究. 機械,2016,(1):32-35. [doi:10.3969/j.issn.1674-8530.15.0065]
7 王秀萍,程文明,梁曉波,等. 基于VR的起重運輸機械培訓仿真系統的研究. 機械設計與制造,2015,(7):223-226.
8 萬華明,楊麗,鄒湘軍,等. 基于VR技術的幾何建模與優化. 蘇州科技學院學報(自然科學版),2009,26(4):20-24.