惠鐸鐸,沈 超,馬 進(jìn),張利利,秦澤西,胡文東
(1.第四軍醫(yī)大學(xué)航空航天醫(yī)學(xué)教育部重點(diǎn)實(shí)驗(yàn)室,陜西西安,710032;2.長(zhǎng)安大學(xué)電子與控制學(xué)院,陜西西安,710064)
基于Unity的團(tuán)隊(duì)績(jī)效測(cè)評(píng)軟件開發(fā)
惠鐸鐸1,沈 超2,馬 進(jìn)1,張利利1,秦澤西1,胡文東1
(1.第四軍醫(yī)大學(xué)航空航天醫(yī)學(xué)教育部重點(diǎn)實(shí)驗(yàn)室,陜西西安,710032;2.長(zhǎng)安大學(xué)電子與控制學(xué)院,陜西西安,710064)
隨著科技的進(jìn)步,飛機(jī)有了跨越式發(fā)展,機(jī)組成員之間必須有較為默契的配合才能更加高效和安全的完成飛行任務(wù),因此客觀的評(píng)價(jià)機(jī)組成員之間的團(tuán)隊(duì)績(jī)效非常重要。為了開發(fā)出一種能夠測(cè)評(píng)團(tuán)隊(duì)績(jī)效的有效工具,運(yùn)用Unity開發(fā)工具,結(jié)合JavaScript以及C#聯(lián)合編制出了一套測(cè)評(píng)軟件,運(yùn)用該軟件測(cè)評(píng)出團(tuán)隊(duì)績(jī)效。
Unity;團(tuán)隊(duì)績(jī)效;軟件開發(fā)
團(tuán)隊(duì)是指一個(gè)由兩人或兩人以上所組成的相互依賴、并為實(shí)現(xiàn)一個(gè)共同的價(jià)值目標(biāo)而工作的可識(shí)別的集合。在飛行過(guò)程中,飛行團(tuán)隊(duì)成員的合理組合及其效能的評(píng)價(jià)是十分重要的,此問(wèn)題也一直困擾著決策者?,F(xiàn)代大型民用軍用飛機(jī)功能的要求也日趨復(fù)雜,多數(shù)功能無(wú)法由一個(gè)乘員單獨(dú)完成,需要成員之間相互配合共同完成,對(duì)機(jī)組成員之間的協(xié)作能力提出了巨大的考驗(yàn)。選拔出優(yōu)秀的團(tuán)隊(duì)成員來(lái)進(jìn)行配合工作在新型飛行器的工作中非常關(guān)鍵,因此能夠研發(fā)出一種可以客觀評(píng)價(jià)團(tuán)隊(duì)績(jī)效的體系至關(guān)重要。
本文就是根據(jù)飛行中各任務(wù)的特點(diǎn)抽象出一種需要團(tuán)隊(duì)實(shí)現(xiàn)的任務(wù)模型,并用計(jì)算機(jī)軟件模擬出來(lái),以測(cè)試其團(tuán)隊(duì)完成任務(wù)的績(jī)效。
通過(guò)前期大量的研究,該測(cè)試軟件根據(jù)人機(jī)工程學(xué)、心理學(xué)和工效學(xué)等有關(guān)人完成作業(yè)任務(wù)的信息處理理論,通過(guò)調(diào)研飛行中需要完成的任務(wù)的動(dòng)作特征和過(guò)程,我單位研制開發(fā)了團(tuán)隊(duì)績(jī)效測(cè)評(píng)軟件來(lái)測(cè)評(píng)機(jī)組團(tuán)隊(duì)的協(xié)作情況以及其績(jī)效。經(jīng)過(guò)調(diào)查分析民航飛行過(guò)程,飛機(jī)機(jī)組人員的作業(yè)任務(wù)可以分為三種不同類型的任務(wù),分別是持續(xù)跟蹤控制型任務(wù),持續(xù)監(jiān)視離散控制型任務(wù)和突發(fā)型任務(wù)。持續(xù)跟蹤控制型任務(wù)就是持續(xù)不斷的關(guān)注一些信息并且進(jìn)行相應(yīng)的操作,同時(shí)不斷核對(duì)系統(tǒng)響應(yīng)結(jié)果,飛機(jī)駕駛就屬于這種任務(wù)。持續(xù)監(jiān)視離散控制型任務(wù)是指機(jī)組人員對(duì)任務(wù)信息持續(xù)監(jiān)視并與任務(wù)預(yù)期狀態(tài)對(duì)比分析,從而判斷系統(tǒng)運(yùn)行狀態(tài)是否正常,一旦系統(tǒng)偏離任務(wù)預(yù)期狀態(tài)立即采取相應(yīng)的行動(dòng),保證系統(tǒng)按照任務(wù)需求正常運(yùn)行;這些信息一般情況下都處于正常運(yùn)行狀態(tài),出現(xiàn)異常后也只需要機(jī)組人員正確判斷后做出簡(jiǎn)單的控制。這類任務(wù)占據(jù)了飛行作業(yè)任務(wù)的主要內(nèi)容,包括監(jiān)控飛行儀表信息、導(dǎo)航系統(tǒng)信息、飛機(jī)和發(fā)動(dòng)機(jī)的參數(shù)及工作狀態(tài)信息等,信息呈現(xiàn)形式主要以儀表為主,要求機(jī)組人員能夠進(jìn)行較好的注意力分配和具有較強(qiáng)的情景意識(shí),對(duì)各儀表信息有清醒的掌握。離散突發(fā)型任務(wù),這類任務(wù)的出現(xiàn)沒(méi)有規(guī)律,不在作業(yè)人員預(yù)期范圍之內(nèi),是一系列信息綜合作用的產(chǎn)物。任務(wù)一旦出現(xiàn),要求機(jī)組人員在允許的時(shí)間范圍內(nèi)必須對(duì)其進(jìn)行正確而迅速的處理,以確保系統(tǒng)按任務(wù)預(yù)期運(yùn)行,包括威脅預(yù)警、系統(tǒng)告警等。
我們將這幾種任務(wù)分別在軟件中實(shí)現(xiàn)仿真建模,用飛機(jī)追蹤任務(wù)、表監(jiān)控任務(wù)、光點(diǎn)任務(wù)以及輔助數(shù)字任務(wù)來(lái)實(shí)現(xiàn)。在測(cè)試過(guò)程中,將三人組成一個(gè)團(tuán)隊(duì)。測(cè)評(píng)軟件系統(tǒng)由服務(wù)器端和三個(gè)客戶端組成。測(cè)試過(guò)程中首先由服務(wù)器端建立服務(wù)器連接,接著由客戶端端建立連接。當(dāng)三個(gè)客戶端端都連接上后,由服務(wù)器端指派任務(wù)給三個(gè)客戶端。飛機(jī)追蹤任務(wù)、表監(jiān)控任務(wù)、光點(diǎn)任務(wù)分別指派給三個(gè)人中的一個(gè)人。輔助數(shù)字任務(wù)可同時(shí)指派給三人或者同時(shí)不指派該任務(wù)。同時(shí)軟件中還設(shè)置了提示項(xiàng)目可供選擇。設(shè)置的選項(xiàng)有是否顯示同時(shí)開火以及是否看到其他任務(wù)。測(cè)試過(guò)程持續(xù)是三分鐘,在測(cè)試過(guò)程中,當(dāng)三個(gè)客戶端的被試同時(shí)完成自己的任務(wù)時(shí),則同時(shí)按下游戲手柄上的fire鍵,如果同時(shí)按下,則表示成功一次,成功次數(shù)越多表示三人合作績(jī)效越高。在成功完成與別人配合的主任務(wù)的情況下,個(gè)人答對(duì)輔任務(wù)即數(shù)字反應(yīng)任務(wù)的個(gè)數(shù)越多,表示個(gè)人在團(tuán)隊(duì)中的能力越強(qiáng)。如圖1是軟件結(jié)構(gòu)圖。
圖1 軟件結(jié)構(gòu)圖
Unity是一款產(chǎn)自丹麥、由Unity Technologies開發(fā)的游戲引擎,帶著強(qiáng)大的跨平臺(tái)開發(fā)等特性展示給用戶,組件式的開發(fā)讓用戶告別枯燥乏味的純代碼式開發(fā),使快速的、高質(zhì)量的游戲開發(fā)成為可能,是一個(gè)全面整合的專業(yè)游戲引擎。
本文所使用的Unity腳本編輯器是MonoDevelop,本軟件開發(fā)所使用的語(yǔ)言是C#和Javascript腳本語(yǔ)言聯(lián)合開發(fā)的。其中C#語(yǔ)言是用來(lái)編寫數(shù)據(jù)庫(kù)操作功能模塊,Javascript是用來(lái)編寫場(chǎng)景功能模塊以及通訊模塊。數(shù)據(jù)庫(kù)存儲(chǔ)部分是采用Access數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)。其程序流程圖如下圖2所示:
圖2 程序流程圖
在流程圖中可以看到,首先3個(gè)客戶端登錄服務(wù)器后,由服務(wù)器分配任務(wù)分別給三個(gè)客戶端,客戶端向服務(wù)器確認(rèn)任務(wù)后由服務(wù)器統(tǒng)一下發(fā)指令開始測(cè)試。測(cè)試程序持續(xù)三分鐘,在測(cè)試過(guò)程中,數(shù)據(jù)庫(kù)一直處于打開狀態(tài),客戶端每40ms向服務(wù)器傳輸數(shù)據(jù)一次,服務(wù)器得到數(shù)據(jù)后,將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,3分鐘測(cè)試完成后數(shù)據(jù)庫(kù)關(guān)閉。向數(shù)據(jù)庫(kù)中存儲(chǔ)數(shù)據(jù)的算法如下所示:
function insertData()
{
if(openDataFlag == 0)
{
openDataFlag=OperDatabase.readMDB(Application. dataPath+"/teamdata.mdb";
}
if((openDataFlag == 1)&&(testData[0] <= 180))
{
testData[0] = Time.time - startTime;
OperDatabase.inserttemp(Application. dataPath + "/teamdata.mdb",Scence111. testBatch,testData); //Scence111.testBatch
insertNum ++;
}
if((openDataFlag == 1) && (testData[0] >= 180))
{
OperDatabase.closeconnection();
Application.Quit();
}
}
這段程序?qū)崿F(xiàn)的功能是向數(shù)據(jù)庫(kù)teamdata.mdb中存儲(chǔ)數(shù)據(jù),如果檢測(cè)到數(shù)據(jù)庫(kù)是關(guān)閉的,將數(shù)據(jù)庫(kù)打開;如果檢測(cè)到數(shù)據(jù)庫(kù)是打開的并且沒(méi)有超過(guò)三分鐘,將調(diào)用工程中的Plugin文件夾內(nèi)的OperaDataBase腳本中的inerttemp函數(shù),將數(shù)據(jù)以數(shù)組的形式插入到數(shù)據(jù)庫(kù)當(dāng)中。如果時(shí)間超過(guò)三分鐘,關(guān)閉數(shù)據(jù)庫(kù)。軟件服務(wù)器測(cè)評(píng)界面如圖3所示:
The software based on Unity developed and applicated for the test of team performance
Hui Duoduo1,Shen Chao2,Ma Jin1,Zhang Lili1,Qin Zexi1,Hu Wendong1
(1.Key Laboratory of Aerospace Medicine,Ministry of Education,the 4th Military Medical University,Xi’an,710032,China;2.Academy of Electronics and Control,Chang’an University,Xi’an,710064,China)
With the advancement of technology,the aircraft has been leaps and bounds,there must be a tacit understanding between the crew members with a more efficient and more secure to complete the mission, so the team performance objective evaluation of crew members is very important.In order to develop an effective evaluation tool capable team performance,the use of Unity development tools,combined with JavaScript and C # jointly prepared a set of evaluation software,evaluation of the use of the software team performance.T
Unity;Team performance;Software develop
TP311.5
A
國(guó)家自然科學(xué)基金-民航總局聯(lián)合資助項(xiàng)目(U1333101);國(guó)家自然科學(xué)基金青年基金(81202178)