引 言
船舶機電設備拆裝能力是輪機員實操技能的重要體現,也是國家海事部門船員培訓和考核的重點. 隨著計算機仿真、人工智能等技術的快速發展,虛擬拆裝技術在機械設計制造、裝配等領域得到廣泛應用. 虛擬拆裝技術是指利用計算機模擬機械設備的三維模型,在虛擬環境里允許用戶交互的控制虛擬設備,用以觀察設備結構、檢驗設備裝配性能等. 與實際設備拆裝相比,虛擬拆裝可以節省大量資金和場地空間,拆裝靈活、簡便,培訓效率高,能有效減少教師工作量. 本文根據《中華人民共和國內河船舶船員適任考試大綱》
開發的內河船機電設備虛擬拆裝考試系統,集虛擬拆裝技術和網絡考試系統于一體,可有效實現內河船員輪機設備拆裝技能的培訓和考評.
1 系統結構框架
內河船機電設備虛擬拆裝考試系統主要由數據庫、管理端、客戶端等三個部分組成,三者之間通過以太網連接通信,系統結構框架如圖 1 所示.【圖1】
\\( 1\\) 數據庫數據庫用來儲存拆裝模型信息、拆裝順序、評分標準、考生信息、考試成績、考試過程等相關信息. 鑒于考試系統的安全性要求較高,系統選用Oracle 數據庫.\\( 2\\) 管理端管理端是教練員出題、組卷的模塊. 教練員可以針對不同級別考生設置不同的考試題目,回放考生的考試過程,給考生評定成績并能保存與打?。?此外,管理端還能管理用戶、設置權限等.\\( 3\\) 客戶端客戶端即考生登錄的考試終端,主要功能有:
拆裝模型和虛擬場景的動態加載與卸載、設備零部件模型的碰撞檢測、模型的燈光渲染、拆裝動畫關鍵幀等,以及實現人機交互與網絡通信.
2 虛擬拆裝試題庫的建立
根據《中華人民共和國內河船舶船員適任考試大綱》對機電設備\\( 零部件\\) 拆裝的考核要求,內河船機電設備虛擬拆裝考試系統試題庫主要包括: 柴油機拆裝、廢氣渦輪增壓器的拆裝、船用泵及濾器的拆裝、分油機的拆裝、船用燃油輔鍋爐附件的拆裝和三相異步電動機的拆裝. 根據內河船員考核實際情況,題庫試題根據重要性和難度可以分為以下級別: 一類輪機長、大管輪、二/三管輪,二類輪機長、輪機員,三類輪機員.試題庫是虛擬拆裝考試系統的核心. 利用 3dsMax 軟件強大的三維建模、場景渲染功能,建立上述所有機電設備精細三維模型,根據機電設備使用場所繪制、渲染出虛擬的設備拆裝場景. 利用3ds Max 的插入關鍵幀功能生成零件的拆裝過程動畫. 為便于虛擬拆裝業務進行擴展,系統運用了便于編輯的腳本技術,即通過腳本語言來描述業務內容,從而增強系統題庫的可擴展性.腳本語言是一種解釋性語言,以文本的方式進行存儲. 在編寫和修改腳本內容之后,不需要重新編譯程序即可產生作用. 而腳本文件只需要使用記事本之類的文本編輯軟件就可以打開并進行編輯. 腳本語言易于編輯但存在安全性問題,為防止普通用戶隨意編輯腳本內容,系統使用的腳本文件全部會被加密,只有管理員使用本軟件為管理員專門配置的加密解密工具對腳本文件進行解密后才可以被打開編輯,編輯完成后再次加密即可. 系統全部的拆裝業務均實現了腳本化,使系統可以在不需要重新編譯的情況下,增加新的船舶設備拆裝業務,并可對已有拆裝業務的場景、約束條件、步驟流程和用戶拆裝事件進行修改. 系統運用了 XML 和 LUA 兩種腳本語言. 其中 XML 簡單易懂,便于讀寫,其內容按順序排列,適用于描述步驟流程和作為配置文件使用. 而 LUA 腳本語言支持函數、閉包、條件語句與循環語句,可與系統程序之間互相調用,適合用于執行判斷和作為事件的回調腳本. 根據功能的不同,系統使用的腳本文件包括場景配置文件\\( XML\\) 、拆裝步驟描述文件\\( XML\\) 、拆裝約束條件文件\\( LUA\\) 、動作描述文件\\( LUA\\) 和用戶事件文件\\( LUA\\) . 這些腳本可實現的主要功能有:
\\( 1\\) 對拆裝場景進行配置. 例如: 加載模型文件、初始化參數設置等.\\( 2\\) 編寫用戶在拆裝場景中進行虛擬拆裝時,用戶拆裝的響應事件和事件內容. 例如: 當用戶在三維場景中按住鼠標右鍵移動鼠標時,系統將做出什么樣的響應.\\( 3\\) 對設備拆卸、分解、裝配、試驗、安裝和檢修的步驟流程進行描述.\\( 4\\) 對設備拆卸、分解、裝配、試驗、安裝和檢修的約束條件進行描述. 例如: A 工具必須接觸到B 零件上才能觸發 C 動作.\\( 5\\) 當正確的拆裝發生時,設備模型的動作描述. 例如: C 動作是先移動到 X 位置,再沿 Y 軸旋轉 Z 角度.系統考題腳本運行流程如圖 2 所示.【圖2】
3 虛擬拆裝順序規劃
在虛擬場景中,用戶點擊可以被拆裝的設備,在彈出的拆裝列表中選擇拆卸或者安裝選項,就可以對該設備進行拆裝. 當需要使用工具來拆卸零件時,首先選中該工具,在彈出的拆裝列表中選擇使用選項,然后系統會提示用戶選擇目標零件,選中要拆卸的零件. 如果拆卸工具和零件選擇正確并且拆卸順序正確,則系統將會自動執行該工具拆卸指定零件的動作,否則將會提示拆裝錯誤.當要拆卸的零件不需要使用工具時,直接選中該零件,在彈出的拆裝列表中選擇拆卸選項,如果拆卸順序正確,則系統將會自動執行拆卸該零件的動作,否則將會提示拆裝錯誤.為確保船舶機電設備的虛擬拆裝精確、真實,系統在設計開發時征集了多位資深輪機員的指導意見. 選取了在實船應用中有代表性的設備品牌型號,嚴格按照設備使用手冊中規定的拆裝順序,力求能夠最大限度地反映船舶設備的實際拆裝過程. 為使虛擬拆裝過程更加清晰明了,將實際拆裝過程中一些重復性的、不太重要的拆裝進行合并.下面以分油機為例講述船用設備虛擬拆裝順序的規劃.根據大綱要求,分油機拆裝主要考察對分離筒及其附件的拆裝. 分油機虛擬拆裝模型選用著名船用設備商 Alfa Laval 公司的 SA816 高速分油機,虛擬拆裝效果如圖 3 所示. 【圖3.略】
按照設備使用手冊,分油機分離筒拆卸包含分油機罩拆卸和分離筒本體拆卸兩大部分. 分油機罩正常的拆卸順序為: 鎖緊螺母→連接罩→固定臂→分油機罩螺栓→分油機罩. 分離筒本體正常的拆卸順序為: 鎖緊環→分離筒頂蓋→密封環→進出油管及頂盤→蛇皮管→分離盤組及盤架→螺母→滑動底盤→蓋形螺母→分離筒本體→分離筒支撐→工作盤→工作水環.
4 智能評分算法的設計
合理、公平的評分算法是考試系統的關鍵,正確的評分算法不僅需要正確反映考生的真實水平,還需要將考生成績區分開來. 虛擬拆裝考試系統選用的是基于時間和拆裝順序的評分算法.系統智能評分算法首先要計算設備拆裝操作的標準時間,然后確定設備的拆裝步驟和拆裝順序. 以 Alfa Laval SA816 分油機為例,其拆卸步驟有 18 步,按照 D1→D2→D3→…… →D18的順序進行排列,各步驟之間有前后相互約束關系. 設定設備拆裝的總分為 PT,然后根據每個步驟在評估過程中的重要程度賦予各步驟不同的權值 wi\\( i = 1 ~ 18\\) ,則有【1】
在正確進行 Di的拆裝后,如果考生點擊下一步Di +1拆裝在Di之后,符合約束條件的限制,則可以進行下一步拆裝,此時調出拆裝動畫,并將拆裝記錄存入數據庫. 如果考生點擊錯誤或者沒有選擇正確的工具,則不觸發動畫效果,并提示拆裝錯誤,同時也將拆裝記錄存入數據庫,然后考生可以繼續選擇正確的拆裝. 為防止考生在考試過程中反復嘗試,系統可以設定錯誤次數上限. 考生的錯誤次數如果超過限定值則會宣布考試失敗,考試成績為不及格. 如果考生在規定時間內完成了所有拆裝,則系統計算考生所有的正確拆裝總得分:【2】
其中: n 為正確拆裝步驟數.如果考生未在規定時間內完成所有拆裝,為公平起見,則只計算該生在規定時間內的正確拆裝步驟得分.
5 虛擬拆裝考試系統的實現
系統 Oracle 數據庫在 Windows Server 2003 拆裝系統下運行可以充分發揮其功能特點,而在Windows7 系統下,Oracle 數據庫的運行尚存在一定的問題. 海事局現有考試系統均運行在 win-dows7 系統,為提高虛擬拆裝考試系統的兼容性,系統配置了一款在 Windows7 環境下運行的 Win-dows Server 2003 系統虛擬機.
5. 1 管理端功能實現
運行虛擬機,打開系統軟件管理端登錄界面,設置管理端 IP 地址與虛擬機 IP 地址一致,測試管理端與系統數據庫之間的通訊,通訊成功即可登陸系統管理端.系統管理端設定了考卷管理、考試管理、成績評定、成績單管理、用戶管理、權限管理、訪問記錄、皮膚風格 8 個菜單. 點擊打開考卷管理菜單,可以添加、刪除考卷或者對考卷信息進行編輯. 考卷管理菜單下包含配置考題、調整分數兩個子菜單. 打開考題配置窗口,即可看到系統試題庫,教練員可以根據考生級別為考卷配置相應的題目.在要選擇的題目前打鉤并確定即可完成考題配置,如圖 4 所示. 【圖4略】
由于不同題目重要程度不同,考核過程中需要突出某些拆裝,因此要對考題進行分值的分配. 在考卷管理欄下半部打開分數調整窗口,就可以對選中的每道題目進行分值分配,滿分為 100 分,直至將分值分配完點擊保存.考試管理欄是編輯考試信息的菜單欄,可以編輯考試時間、地點等信息以及配置考生等. 只有在考試管理欄添加了考生信息的考生才能參加考試. 成績評定欄是教練員根據考生的考試過程對其進行評定的菜單. 系統根據智能評分算法評定考生的考試分數。為避免智能評分算法在實際考試中的不足,教練員可以回放考生的考試過程,給出自己的打分,最后綜合起來評判考生是否合格.成績單管理是在考試過程結束后,對學員們的成績綜合管理的菜單,可以用來查詢考生成績、打印成績單等. 用戶管理是添加、刪除用戶的菜單. 權限管理是設置用戶權限的菜單,用戶權限分為高級管理員、教練員、學員等級別,不同的級別拆裝權限不同,高級管理員可以添加、刪除用戶,教練員只能管理考試、制定考卷,學員只能登陸考試端. 訪問記錄可以記錄各個用戶在什么時間登陸哪個模塊. 皮膚風格用來改變主拆裝界面不同風格的背景色以滿足不同用戶的喜好.
5. 2 客戶端功能實現
客戶端的主界面包含交互練習、技能考核、用戶信息、資料庫、退出系統四個菜單欄. 交互練習模式供學員學習、訓練使用. 打開交互練習窗口可以看到系統試題庫所有試題,學員可根據自身情況加載需要學習的虛擬拆裝試題,加載界面如圖5 所示. 練習模式下學員雙擊要拆卸的部件,如果拆卸順序正確則該部件能被拆卸下來,如果拆卸順序錯誤,系統會提示“回答錯誤”并給出正確的拆裝動作.技能考核是考試菜單,如果考生要參加考試,則點擊技能考核進入考試界面,系統會自動記錄考試時間、考試過程,最后給出考試成績. 用戶信息能夠查到參加考試的考生信息,以便考生核實自己的信息.【圖5略】
6 結 語
針對傳統船舶設備拆裝訓練考核方式存在的諸多弊端,本文運用三維建模動畫軟件 3ds Max、XML 和 LUA 腳本語言以及智能評分算法和以太網技術設計構建內河船機電設備虛擬拆裝考試系統. 目前該系統正在海事局船員考試系統中逐步推廣使用.