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