董熙晨 朱 澤 王國賢 周 強(qiáng) 胡 侃
(武漢理工大學(xué)物流工程學(xué)院1) 武漢 430063) (武漢科碼軟件有限公司2) 武漢 430074)
隨著計算機(jī)技術(shù)、虛擬現(xiàn)實技術(shù)、多媒體技術(shù)、自動控制等技術(shù)的飛速發(fā)展和廣泛應(yīng)用,以計算機(jī)系統(tǒng)為核心和操縱控制臺為基礎(chǔ)構(gòu)成的各種模擬仿真訓(xùn)練系統(tǒng)已成為當(dāng)今重大生產(chǎn)或過程控制設(shè)備操作人員的崗前培訓(xùn)的必備手段,成為培訓(xùn)飛機(jī)、汽車、船舶等駕駛?cè)藛T的重要途徑[1-5].起重機(jī)操作訓(xùn)練模擬器是眾多訓(xùn)練模擬器應(yīng)用領(lǐng)域中的重要種類之一,早在20世紀(jì)90年代即已出現(xiàn),目前國外少數(shù)幾家高科技公司也推出了一些市場化的產(chǎn)品,但價格昂貴且缺少在地化服務(wù).因此開發(fā)國產(chǎn)高性能起重機(jī)操作訓(xùn)練模擬器,具有較大的技術(shù)和市場的需求,但由于它是一個把系統(tǒng)仿真技術(shù)與起重機(jī)動力學(xué)分析技術(shù)相結(jié)合的復(fù)雜的分布式實時仿真系統(tǒng),存在著大量的不確定因素,需要漫長的開發(fā)周期,導(dǎo)致國內(nèi)有關(guān)研發(fā)機(jī)構(gòu)組織的起重機(jī)操作訓(xùn)練模擬器的自主開發(fā),一直停留在方案階段,沒有達(dá)到系統(tǒng)性的突破[6].
武漢理工大學(xué)物流工程學(xué)院與武漢科碼軟件有限公司于2010年開始聯(lián)合開發(fā)大型起重機(jī)操作訓(xùn)練集成模擬系統(tǒng),通過以基礎(chǔ)理論研究為先導(dǎo),解決了一系列技術(shù)難題,終于取得了成功.本文介紹了在起重機(jī)操作訓(xùn)練模擬系統(tǒng)的開發(fā)實踐中所采用的以減少系統(tǒng)開發(fā)風(fēng)險、加快系統(tǒng)開發(fā)進(jìn)程為目的的促進(jìn)系統(tǒng)快速實現(xiàn)的方法——基于開放式系統(tǒng)及COTS技術(shù)的方法.這種方法亦可為相關(guān)模擬訓(xùn)練系統(tǒng)的研發(fā)人員提供參考.
開發(fā)起重機(jī)操作訓(xùn)練模擬系統(tǒng)首先要解決的問題是,系統(tǒng)的體系結(jié)構(gòu)如何定義,以什么樣的方式促進(jìn)系統(tǒng)的設(shè)計方案可以低風(fēng)險的快速實現(xiàn).基于開放式系統(tǒng)[7-8]及商用成品構(gòu)件(commercial off-the-shelf,COTS)技術(shù)[9-10]的方法就是經(jīng)過深入研究之后提出的適合于開發(fā)模擬訓(xùn)練系統(tǒng)的構(gòu)建方法,它的核心是把開放式的體系結(jié)構(gòu)與COTS組件進(jìn)行有機(jī)的結(jié)合.
系統(tǒng)的開放性概念出現(xiàn)在20世紀(jì)80年代末90年底初,目的是解決變化頻繁的需求與控制系統(tǒng)專一固定的框架之間的矛盾,從而建立一個統(tǒng)一的可重構(gòu)的系統(tǒng)工具平臺極大地增強(qiáng)系統(tǒng)的柔性和適應(yīng)性.COTS,即商業(yè)成品構(gòu)件技術(shù)則從另一個角度規(guī)范系統(tǒng),特別是軟件系統(tǒng)的實現(xiàn)模式,即系統(tǒng)的開發(fā)不是采用傳統(tǒng)的瀑布模型,進(jìn)行從零開始的源代碼級開發(fā),而是盡量地采用現(xiàn)成的商業(yè)成品構(gòu)件COTS.為了實現(xiàn)系統(tǒng)的快速開發(fā),擬采用的COTS組件只要其功能經(jīng)過裁剪后能與系統(tǒng)匹配,就可以考慮先行使用,即使該組件可能有大量的功能閑置.
把開放式體系結(jié)構(gòu)與COTS 組件進(jìn)行有機(jī)結(jié)合的方法的具體含義是,充分吸取這兩種技術(shù)各自積累的研究成果,在系統(tǒng)架構(gòu)的設(shè)計上,參照開放式系統(tǒng)推薦的成功模式,定義一個恰當(dāng)?shù)拈_放平臺和參考結(jié)構(gòu);而在體系結(jié)構(gòu)中各功能模塊單元的定義上盡量使之被刻畫成COTS組件,只有完全獨特的專業(yè)性的功能模塊才需要進(jìn)行全新的開發(fā).其實施步驟是,首先建立一個系統(tǒng)的概念性模型,明確系統(tǒng)的主要功能和大致結(jié)構(gòu),并在系統(tǒng)的實施過程中不斷地對它進(jìn)行完善.接下來根據(jù)開放性原理確定一個恰當(dāng)?shù)拈_放平臺和參考結(jié)構(gòu).之后運用COTS 技術(shù),建立相關(guān)的分析測試標(biāo)準(zhǔn)并以此為依據(jù)選用COTS組件.最后對系統(tǒng)進(jìn)行規(guī)整,完成COTS 組件的包裹器(wrapper)及系統(tǒng)專有功能模塊的開發(fā).
起重機(jī)操作訓(xùn)練模擬系統(tǒng)屬于人在回路中仿真系統(tǒng),是對實際的由起重機(jī)和操縱者組成的人機(jī)系統(tǒng)中的起重機(jī)部分進(jìn)行感官效果相同或相近的等效替代,被仿真的對象實體的動態(tài)特性通過建立數(shù)學(xué)模型在計算機(jī)上運行及驅(qū)動各種物理效應(yīng)設(shè)備生成人的感覺環(huán)境,包括視覺、聽覺、觸覺、動感等,讓操作者如同駕駛真實的起重機(jī)一樣.由此可確定原型系統(tǒng)的原理見圖1,其組成見圖2.
圖1 起重機(jī)操作訓(xùn)練模擬系統(tǒng)原理框圖
圖2 起重機(jī)操作訓(xùn)練模擬系統(tǒng)的結(jié)構(gòu)組成
模擬司機(jī)室是提供學(xué)員實際操作學(xué)習(xí)的地方,其結(jié)構(gòu)布局、尺寸大小、內(nèi)部環(huán)境與真實的起重機(jī)駕駛室基本一樣,有真實的操作聯(lián)動臺、司機(jī)座椅、操作手柄、開關(guān)、按鈕、儀表、指示器等部件,在還可以在6 自由度運動平臺的作用下產(chǎn)生晃動.實時仿真主控系統(tǒng)是系統(tǒng)的核心,主要用于接收實時訓(xùn)練數(shù)據(jù)采集系統(tǒng)及訓(xùn)練教學(xué)管理系統(tǒng)的指令,控制模擬司機(jī)室、6 自由度運動平臺、投影系統(tǒng)、音響系統(tǒng)等設(shè)備,使它們產(chǎn)生和諧的訓(xùn)練氛圍.視景系統(tǒng)由4個高清晰的投影儀和4塊大尺寸幕布圍繞司機(jī)室的左右兩側(cè)、正前方和前下方,使司機(jī)向這幾個方向看時,都有虛擬畫面,與音響系統(tǒng)配合形成強(qiáng)烈的沉浸感.音響系統(tǒng)配合司機(jī)操作產(chǎn)生現(xiàn)場工作背景聲音、工作機(jī)構(gòu)的聲音或物體碰擊聲.6自由度運動平臺是用來給司機(jī)駕駛培訓(xùn)室產(chǎn)生運動感覺的設(shè)備,模擬起重機(jī)在進(jìn)行裝卸生產(chǎn)作業(yè)時,各種因素產(chǎn)生的整機(jī)振動最終傳遞到司機(jī)室的有感振動.
根據(jù)系統(tǒng)的概念模型研制原型系統(tǒng)是一個大型而復(fù)雜的系統(tǒng)工程,開發(fā)過程中將商用成品構(gòu)件與開放式的架構(gòu)進(jìn)行有效的結(jié)合,將會大大提高開發(fā)效率,縮短開發(fā)周期,并且使系統(tǒng)升級換代方便.
模擬器是根據(jù)各種操縱信號產(chǎn)生模擬效果的,這些信號來自多個信號源,既有模擬的也有數(shù)字的,需要實時采集、緩存并在進(jìn)入模擬主控系統(tǒng)之前進(jìn)行初級處理.按照開放式的架構(gòu)及組件COTS化的思想,通過對可行的數(shù)據(jù)采集系統(tǒng)構(gòu)建方式,即基于PCI總線、USB總線和CAN 總線等3種主要方式進(jìn)行對比(見圖3),決定選用USB總線方式.理由如下:它的開放性雖然不及CAN 總線方式,但因數(shù)據(jù)采集點較集中,USB 總線方式可方便地進(jìn)行有限的開放式擴(kuò)展,遠(yuǎn)勝過遠(yuǎn)距離接線多且需要進(jìn)行箱內(nèi)安裝的PCI總線方式,完全能滿足應(yīng)用要求,且由于它封裝有更多的數(shù)據(jù)處理功能,相當(dāng)于附加了大量的即插即用的COTS組件,無需重新開發(fā),可促進(jìn)原型系統(tǒng)的快速開發(fā).
圖3 3種數(shù)據(jù)采集系統(tǒng)構(gòu)建模式
與數(shù)據(jù)采集系統(tǒng)的信息流向相反,6 自由度運動平臺控制系統(tǒng)將上位機(jī)輸入的期望動感運動參數(shù),轉(zhuǎn)換成運動驅(qū)動數(shù)字信號,實時送往6自由度運動平臺的伺服電機(jī)驅(qū)動器中,也有兩種結(jié)構(gòu)方式:“上位機(jī)+運動控制計算機(jī)+CAN 總線通信+伺服驅(qū)動”的方式及“上位機(jī)+運動控制計算機(jī)+運動控制卡+伺服驅(qū)動”的方式.從系統(tǒng)開放性上看,采用CAN 總線的方式更好,但是基于COTS組件的思想,由于運動控制卡中封裝了大量的經(jīng)過裁減后可以直接利用的COTS 軟件模塊,不同于采用CAN 總線方式需要進(jìn)行大量的底層的通信等輔助功能的開發(fā),所以本模擬器的6自由度運動平臺控制系統(tǒng)最終決定采用“上位機(jī)+運動控制計算機(jī)+運動控制卡+伺服驅(qū)動”的方式.
開放式的架構(gòu)與組件COTS 化的系統(tǒng)設(shè)計開發(fā)原則不僅體現(xiàn)在數(shù)據(jù)采集系統(tǒng)和運動控制系統(tǒng)等主要組成部分中,也體現(xiàn)在系統(tǒng)的整體設(shè)計上,特別是網(wǎng)絡(luò)通信方式的選擇.最終的方案是通過以太網(wǎng)交換機(jī)將視景計算機(jī)等計算機(jī)系統(tǒng)連結(jié)成一體,見圖4.系統(tǒng)的工作過程是:教員通過訓(xùn)練服務(wù)器制定訓(xùn)練環(huán)境并分配訓(xùn)練任務(wù),學(xué)員通過與主控系統(tǒng)連結(jié)的學(xué)員監(jiān)視屏領(lǐng)取訓(xùn)練任務(wù),啟動實時主控平臺.主控系統(tǒng)根據(jù)操縱控制系統(tǒng)傳送過來的操作信息,實時進(jìn)行起重機(jī)動力學(xué)仿真計算,對相關(guān)物體的狀態(tài)、位置、動作、干涉等進(jìn)行計算和判斷,并將相關(guān)信息分別傳送到視景系統(tǒng)、振動平臺系統(tǒng)和操縱控制系統(tǒng),完成三維動畫視景變換、平臺各自由度振動和聯(lián)動臺后續(xù)操作工作.
圖4 模擬系統(tǒng)計算機(jī)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
由于采用開放式系統(tǒng)架構(gòu),且各軟硬件組成模塊又盡量地采用了COTS組件,因此軟件開發(fā)工作的展開主要是圍繞將各COTS 組件的功能進(jìn)行裁剪后重新組合集成,重點是在現(xiàn)有的操作系統(tǒng)功能和COTS模塊的基礎(chǔ)上進(jìn)行深度應(yīng)用開發(fā),因此,減少了開發(fā)工作量.軟件系統(tǒng)主要分3大部分:
1)系統(tǒng)實時控制軟件,它們駐留在實時主控計算機(jī)、USB數(shù)據(jù)采集器、視景計算機(jī)及6 自由度運動控制計算機(jī)上,包括實時調(diào)度模塊、通信模塊、任務(wù)同步模塊、數(shù)據(jù)采集模塊和視景、音響及動感輸出模塊等.
2)起重機(jī)動力學(xué)及環(huán)境仿真軟件,它駐留在實時主控計算機(jī)上,包括起重機(jī)動力學(xué)分析計算模塊、天氣風(fēng)力等環(huán)境模擬模塊和視景、音響及動感數(shù)據(jù)生成模塊等.
3)教學(xué)監(jiān)控與管理軟件.它們駐留在訓(xùn)練管理服務(wù)器及實時主控計算機(jī)上,包括教學(xué)監(jiān)控數(shù)據(jù)庫、教員管理模塊和學(xué)員模塊等.
系統(tǒng)的集成主要解決了數(shù)據(jù)通信和時鐘同步等2個方面的問題.系統(tǒng)的基礎(chǔ)運行平臺為Windows操作系統(tǒng),編程語言為VC++,圖5為正在運行中的、采用開放式系統(tǒng)及COTS技術(shù)開發(fā)成功的起重機(jī)操作訓(xùn)練模擬器的實物場景圖.目前,已有多套系統(tǒng)推向了市場,運行性能獲得了包括寧波港、福州港等國內(nèi)多家大型港口企業(yè)的認(rèn)可,更多的訂購意向還在不斷地達(dá)成.雖然大量采用包含了一些多余功能的COTS組件,系統(tǒng)的成本還有較大下降空間,但由于產(chǎn)品的稀缺性,市場可接受的價格較高,在售價定在不到進(jìn)口同類產(chǎn)品的1/3的情況仍有豐厚的盈利.鑒于系統(tǒng)定位于把開放性與組件COTS化進(jìn)行完美結(jié)合,因此系統(tǒng)的快速開發(fā)及后續(xù)的功能升級擴(kuò)展有可靠的保證.
圖5 起重機(jī)模擬訓(xùn)練系統(tǒng)實物場景
基于開放式系統(tǒng)及COTS 組件技術(shù)的計算機(jī)系統(tǒng)的開發(fā)方法,是一種快速的原型系統(tǒng)開發(fā)方法,可保證所開發(fā)的系統(tǒng)具有強(qiáng)大的柔性和適應(yīng)性.首先,縮短系統(tǒng)調(diào)試開發(fā)周期是其主要出發(fā)點,而經(jīng)濟(jì)性先放在其次,就是說即使被考慮的COTS組件可能含有較多的、昂貴的、閑置的功能,只要它能提供待設(shè)計的系統(tǒng)所需要的功能,就可以先予以選用.其次,當(dāng)原型系統(tǒng)研制成功、系統(tǒng)預(yù)期的功能得以驗證之后,就要利用系統(tǒng)的開放性和適應(yīng)性對系統(tǒng)進(jìn)行重構(gòu),重點改善被暫時擱置的經(jīng)濟(jì)性能.因此,這一系統(tǒng)開發(fā)方法具有良好的可操作性,既保證企業(yè)迅速培育出在某一領(lǐng)域的技術(shù)能力,快速占領(lǐng)市場,又能為企業(yè)后續(xù)的降低成本、提高經(jīng)濟(jì)效益預(yù)留了發(fā)展空間.
[1]陳又軍.現(xiàn)代飛行模擬機(jī)技術(shù)發(fā)展概述[J].中國民航飛行學(xué)院學(xué)報,2011(2):25-27.
[2]王行仁.飛行實時仿真系統(tǒng)技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005.
[3]鄭淑濤,黃其濤,靳 軍,等.基于COTS的飛行模擬器快速原型系統(tǒng)開發(fā)[J].吉林大學(xué)學(xué)報:工學(xué)版,2009(S1):279-285.
[4]王泰魁,段建民.汽車駕駛模擬器運動仿真系統(tǒng)的研究[J].計算機(jī)測量與控制[J].2011(12):3114-3117.
[5]鄧志良,汪電明,姜文剛.船舶模擬器駕駛臺仿真系統(tǒng)研究[J].中國造船,2001(4):52-56.
[6]孫豐鑫.基于虛擬現(xiàn)實的集裝箱岸吊仿真培訓(xùn)系統(tǒng)的集成與研究[D].北京:清華大學(xué),2010.
[7]魏康民,聶建武.基于PC 的開放式數(shù)控系統(tǒng)體系的分析[J].組合機(jī)床與自動化加工技術(shù),2007(5):53-55.
[8]沈曉紅,張艷婷,羅晨磊.基于Windows的開放式數(shù)控系統(tǒng)總控模塊設(shè)計[J].微計算機(jī)信息,2011(6):48-50.
[9]王婷婷,鄭永果.基于COTS軟件開發(fā)方法的應(yīng)用[J].現(xiàn)代計算機(jī),2005(3):72-75.
[10]屈喜龍.COTS軟件系統(tǒng)開發(fā)的研究[J].計算機(jī)應(yīng)用研究,2005,22(9):43-45.