尹旭日
(蚌埠汽車士官學(xué)校運(yùn)輸勤務(wù)系,安徽蚌埠233011)
北斗車載型用戶機(jī)是北斗衛(wèi)星定位導(dǎo)航系統(tǒng)的用戶終端設(shè)備,可以安裝在各種不同的車輛上,是連接用戶與用戶、用戶與上級(jí)指揮中心的重要設(shè)備,是北斗衛(wèi)星定位導(dǎo)航系統(tǒng)發(fā)揮預(yù)定戰(zhàn)術(shù)技術(shù)指標(biāo)、達(dá)到實(shí)戰(zhàn)應(yīng)用目標(biāo)的關(guān)鍵設(shè)備之一。近幾年,隨著軍隊(duì)信息化建設(shè)逐步推進(jìn),北斗車載型用戶機(jī)已經(jīng)開始陸續(xù)裝備到全軍汽車運(yùn)輸部(分)隊(duì)。
通過部隊(duì)調(diào)研以及教學(xué)工作實(shí)踐,發(fā)現(xiàn)北斗車載型用戶機(jī)在部隊(duì)訓(xùn)練和院校教學(xué)的過程中還存在一些突出問題:一是配發(fā)的設(shè)備數(shù)量有限,訓(xùn)練中不能保證一車一套或一人一套,導(dǎo)致訓(xùn)練效率低下;二是設(shè)備保密性要求高,北斗車載型用戶機(jī)工作時(shí),需要安裝保密卡,保密卡屬于機(jī)密級(jí),在訓(xùn)練中存在丟失或損壞的安全隱患;三是設(shè)備價(jià)格昂貴,許多部隊(duì)或教學(xué)單位在訓(xùn)練中怕?lián)p壞設(shè)備,不愿意使用實(shí)際設(shè)備進(jìn)行訓(xùn)練,影響了戰(zhàn)斗力形成;四是訓(xùn)練時(shí)需要配套裝備,在實(shí)裝訓(xùn)練中,只有隨車攜帶北斗車載型用戶機(jī)執(zhí)行運(yùn)輸任務(wù)時(shí),其導(dǎo)航功能才能正常發(fā)揮作用,這給實(shí)訓(xùn)者的組織與管理帶來不便。
模擬訓(xùn)練以其在指揮決策、訓(xùn)練演習(xí)和理論研究上特有的科學(xué)性,逐步成為信息時(shí)代提高作戰(zhàn)效能和加強(qiáng)軍隊(duì)質(zhì)量建設(shè)的必然途徑[1]?;谟?jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的數(shù)字化模擬訓(xùn)練系統(tǒng),正越來越多地出現(xiàn)在部隊(duì)的各項(xiàng)訓(xùn)練中,已成為軍事訓(xùn)練的助推器。目前,在軍內(nèi)已有不少與軍事訓(xùn)練相關(guān)的模擬系統(tǒng)的研究成果[2-5],也有北斗車載型用戶機(jī)模擬訓(xùn)練系統(tǒng)的研制報(bào)道,但主要是針對(duì)北斗車載型用戶機(jī)硬件的各個(gè)組成部分的結(jié)構(gòu)、關(guān)系以及相互連接進(jìn)行模擬訓(xùn)練[3]。根據(jù)查新報(bào)告顯示,目前尚無基于功能操作的北斗車載型用戶機(jī)模擬訓(xùn)練系統(tǒng)的研發(fā)應(yīng)用報(bào)道,因此,研究開發(fā)基于功能操作的北斗車載型用戶機(jī)模擬訓(xùn)練系統(tǒng)已成為亟待解決的問題。
北斗車載型用戶機(jī)具有定位、導(dǎo)航、通信和授時(shí)4大主要功能[6],作為基于功能性模擬訓(xùn)練,北斗車載型用戶機(jī)模擬訓(xùn)練系統(tǒng)(以下簡稱:模擬訓(xùn)練系統(tǒng))的功能涵蓋實(shí)際北斗車載型用戶機(jī)的主要功能。因此,研發(fā)的模擬訓(xùn)練系統(tǒng)包括定位模擬、導(dǎo)航模擬、通信模擬、授時(shí)模擬以及訓(xùn)練管理5部分。
(1)定位模擬。主要模擬單次定位、連續(xù)定位、緊急定位、定位設(shè)置以及定位信息等功能。系統(tǒng)能夠通過定位申請(qǐng)指令實(shí)時(shí)提供其所在位置的經(jīng)度、緯度與高程,并以標(biāo)準(zhǔn)格式顯示(經(jīng)度、緯度:度—分—秒;高程:米;時(shí)間:年—月—日—時(shí)—分—秒)。系統(tǒng)模擬設(shè)定北斗自動(dòng)定位頻度,服務(wù)頻度根據(jù)用戶機(jī)類別定位于1~60 s之間。
(2)導(dǎo)航模擬。導(dǎo)航功能模擬包括羅盤導(dǎo)航、文字導(dǎo)航、地圖導(dǎo)航、偏航指示、航線管理、路標(biāo)管理、航跡管理以及導(dǎo)航設(shè)置等。具有航路點(diǎn)、航線的錄入、編輯功能,能計(jì)算出當(dāng)前方位及當(dāng)前位置到目的地的距離與時(shí)間。
(3)通信模擬。通信功能模擬具有電文鍵入、編輯、發(fā)送、接收和顯示功能,模擬用戶與用戶、用戶與地面控制中心之間雙向數(shù)字報(bào)文通信。其中,通信信息含通信時(shí)間、發(fā)信地址和通信電文,接收的通信信息可人為鎖定存儲(chǔ)、解鎖和刪除。模擬用戶終端可向中心控制系統(tǒng)查詢其他用戶發(fā)給本用戶的通信電文。
(4)授時(shí)模擬。授時(shí)功能模擬有兩種方式:一種模擬手動(dòng)設(shè)置系統(tǒng)時(shí)間;另一種模擬同步北斗衛(wèi)星時(shí)間。
(5)訓(xùn)練管理。包括模擬流程控制、學(xué)員訓(xùn)練過程的記錄以及訓(xùn)練效果的評(píng)判。
模擬訓(xùn)練系統(tǒng)硬件部署如圖1所示。學(xué)員訓(xùn)練用機(jī)通過模擬訓(xùn)練系統(tǒng)的客戶端軟件,進(jìn)行北斗用戶機(jī)功能性模擬訓(xùn)練,完成信息的接收、顯示、發(fā)送以及部分?jǐn)?shù)據(jù)計(jì)算工作。教員專用機(jī)為每個(gè)教室的教員提供本教室學(xué)員訓(xùn)練情況的查詢和統(tǒng)計(jì)等功能。數(shù)據(jù)庫服務(wù)器用于存放模擬訓(xùn)練系統(tǒng)數(shù)據(jù),包括用戶通信、用戶當(dāng)前的訓(xùn)練狀態(tài)、訓(xùn)練歷史以及系統(tǒng)數(shù)據(jù)維護(hù)等信息。通信服務(wù)器模擬北斗衛(wèi)星地面控制站功能,負(fù)責(zé)信息的接收、存儲(chǔ)、發(fā)送等。導(dǎo)調(diào)專用機(jī)用來對(duì)模擬訓(xùn)練系統(tǒng)流程進(jìn)行控制和管理,保證系統(tǒng)按照指定的訓(xùn)練課目要求進(jìn)行模擬訓(xùn)練。
圖1 模擬訓(xùn)練系統(tǒng)硬件部署
模擬訓(xùn)練系統(tǒng)采用Client/Server結(jié)構(gòu)模式(如圖2所示)。學(xué)員通過客戶端軟件進(jìn)行模擬訓(xùn)練,主要的邏輯運(yùn)算功能放在客戶端來進(jìn)行;服務(wù)器端軟件完成地面控制站以及訓(xùn)練過程管理的功能,負(fù)責(zé)通信信息和控制信息的中轉(zhuǎn)、處理、存儲(chǔ)及分發(fā)。這種配置結(jié)構(gòu)有利于分擔(dān)服務(wù)器的工作負(fù)載,確保了訓(xùn)練系統(tǒng)的實(shí)時(shí)性。
圖2 模擬訓(xùn)練系統(tǒng)軟件構(gòu)成
基于系統(tǒng)的功能設(shè)計(jì)以及用戶訓(xùn)練要求,系統(tǒng)采用廣泛使用的Access 2003數(shù)據(jù)庫系統(tǒng)進(jìn)行系統(tǒng)數(shù)據(jù)管理?;谙到y(tǒng)的體系結(jié)構(gòu),可將系統(tǒng)數(shù)據(jù)庫分為客戶端數(shù)據(jù)庫和服務(wù)器端數(shù)據(jù)庫??蛻舳藬?shù)據(jù)庫包括地址表、航線表、航標(biāo)表、短信表、導(dǎo)航信息表和定位信息表。服務(wù)器端數(shù)據(jù)庫主要包括通信信息表、訓(xùn)練成績表和系統(tǒng)管理表。
客戶端軟件的用戶為學(xué)員,包括定位模擬、導(dǎo)航模擬、通信模擬、常用工具和系統(tǒng)設(shè)置5個(gè)主要模塊。以數(shù)據(jù)庫為橋梁,實(shí)現(xiàn)模塊與模塊之間、學(xué)員與學(xué)員之間、學(xué)員與教員之間數(shù)據(jù)交換或通信交流。
服務(wù)器端軟件的用戶為教員,包括通信管理、成績管理、訓(xùn)練評(píng)價(jià)和訓(xùn)練控制4個(gè)主要模塊。其中,訓(xùn)練評(píng)價(jià)模塊用于對(duì)學(xué)員在某個(gè)課目訓(xùn)練的總評(píng)價(jià),主要考評(píng)點(diǎn)包括訓(xùn)練所用的時(shí)間、不正確操作的次數(shù)以及完成任務(wù)的準(zhǔn)確度等。
模擬訓(xùn)練系統(tǒng)的主要功能模塊包括定位、通信、導(dǎo)航、系統(tǒng)和工具等。本文重點(diǎn)介紹導(dǎo)航和通信功能模塊的設(shè)計(jì)。
北斗車載型用戶機(jī)的導(dǎo)航功能通常是在給定航線的基礎(chǔ)上,實(shí)時(shí)分析并顯示車輛的實(shí)時(shí)位置、速度、航向以及與航線中的關(guān)鍵航點(diǎn)的偏離程度等信息。
2.1.1 偏距計(jì)算
為了判別車輛當(dāng)前位置與目標(biāo)點(diǎn)的偏離程度,需要計(jì)算兩點(diǎn)間距離。設(shè)地球上任意兩點(diǎn)坐標(biāo)為 A(lng1,lat1)與 B(lng2,lat2),其中,lng1和lng2分別為A、B點(diǎn)的經(jīng)度,lat1和 lat2分別為A、B點(diǎn)的緯度,則用下式可獲得A、B兩點(diǎn)間距離d。
式中a、b為中間變量。
2.1.2 多線程技術(shù)
系統(tǒng)需要自動(dòng)生成航跡信息,然后經(jīng)導(dǎo)航模擬模塊處理后,對(duì)導(dǎo)航信息進(jìn)行實(shí)時(shí)顯示,這兩項(xiàng)工作幾乎是同時(shí)進(jìn)行的。為此,在系統(tǒng)中引入多線程技術(shù)。在導(dǎo)航模擬訓(xùn)練中,還應(yīng)根據(jù)需要隨時(shí)開始導(dǎo)航,或在暫停后再繼續(xù)導(dǎo)航。模擬訓(xùn)練系統(tǒng)中導(dǎo)航模擬的算法框圖如圖3所示。
圖3 模擬系統(tǒng)中導(dǎo)航模擬算法
北斗車載型用戶機(jī)的信息主要是通過報(bào)文形式傳輸?shù)?,可以?shí)現(xiàn)用戶機(jī)之間以及地面站與用戶機(jī)之間的通信聯(lián)絡(luò)。通過計(jì)算機(jī)局域網(wǎng)絡(luò)能很好地對(duì)通信功能進(jìn)行模擬,客戶端模擬用戶機(jī),服務(wù)器端模擬地面站,客戶端通過服務(wù)器端的信息交換實(shí)現(xiàn)報(bào)文通信。服務(wù)端程序在一個(gè)固定地址監(jiān)聽對(duì)服務(wù)的請(qǐng)求,當(dāng)一個(gè)客戶對(duì)該服務(wù)的地址提出連接請(qǐng)求時(shí),服務(wù)端被喚醒并對(duì)客戶的請(qǐng)求作出反應(yīng)。通信功能模擬步驟如圖4所示。
圖4 模擬系統(tǒng)中通信模擬主要步驟
圖5 模擬訓(xùn)練系統(tǒng)工作流程
模擬訓(xùn)練系統(tǒng)工作流程如圖5所示。
系統(tǒng)啟動(dòng)后,首先進(jìn)行初始化工作,然后等待學(xué)員選擇訓(xùn)練課目。系統(tǒng)根據(jù)相應(yīng)課目進(jìn)行相關(guān)數(shù)據(jù)讀入,例如,在導(dǎo)航模擬課目中,需讀入上級(jí)指定運(yùn)輸路線、運(yùn)輸開始與結(jié)束時(shí)間、車速等信息。系統(tǒng)讀入初始信息后,學(xué)員開始模擬訓(xùn)練。期間系統(tǒng)需要進(jìn)行模擬訓(xùn)練的輔助計(jì)算工作,例如,在導(dǎo)航模擬課目中,需要根據(jù)算法產(chǎn)生運(yùn)輸?shù)膶?shí)時(shí)位置點(diǎn)坐標(biāo)、偏距、偏角、實(shí)時(shí)速度、預(yù)計(jì)到達(dá)目的地時(shí)間等信息。一旦訓(xùn)練結(jié)束,系統(tǒng)立即進(jìn)行訓(xùn)練效果評(píng)定并給出參考成績。
使用Visual C++編程環(huán)境,研制完成了北斗車載型用戶機(jī)模擬訓(xùn)練系統(tǒng),其運(yùn)行環(huán)境為基于Windows XP操作系統(tǒng)和TCP/IP的局域網(wǎng)。以導(dǎo)航模擬為例,設(shè)計(jì)PARAM結(jié)構(gòu):
typedef struct PARAM
{HWND hWnd;//窗口句柄
int nData;//航點(diǎn)下標(biāo)
int N;//航點(diǎn)數(shù)
BOOL bExit;//是否退出}
PARAM m_ThreadParam;
根據(jù)算法,可以實(shí)現(xiàn)開始導(dǎo)航或在導(dǎo)航暫停后再繼續(xù)導(dǎo)航的操作,其程序如下:
CWinThread* m_pThread=AfxBeginThread(NaviThreadProc,&m_ThreadParam,
THREAD_PRIORITY_ABOVE_NORMAL,0,CREATE_SUSPENDED);
m_pThread->m_bAutoDelete=FALSE;
m_pThread->ResumeThread();
在導(dǎo)航模擬過程中,也可以根據(jù)需要,隨時(shí)停止或暫停導(dǎo)航,其程序如下:
m_ThreadParam.bExit=TRUE;
::WaitForSingleObject(m_pThread->m_hThread,INFINITE);
圖6為模擬訓(xùn)練系統(tǒng)軟件的部分界面。鑒于篇幅,圖(b)—(e)只截取用戶界面的上半部分。其中,圖(a)為系統(tǒng)主界面;圖(b)為文字導(dǎo)航界面;圖(c)為單點(diǎn)定位界面;圖(d)為收件箱界面; 圖(e)為衛(wèi)星校時(shí)界面。
圖6 北斗車載型用戶機(jī)模擬訓(xùn)練系統(tǒng)部分界面
本文探討了基于功能的北斗車載型用戶機(jī)模擬訓(xùn)練系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),該系統(tǒng)具有以下特點(diǎn)。
(1)系統(tǒng)用戶界面設(shè)計(jì)友好。采用先進(jìn)的界面設(shè)計(jì)技術(shù),保證了模擬操作與實(shí)際操作一致,模擬界面與實(shí)際界面一致。
(2)便于實(shí)裝訓(xùn)練組織與管理。模擬系統(tǒng)采用多線程技術(shù),通過預(yù)存車輛不同的運(yùn)行軌跡來模擬車輛的實(shí)際運(yùn)行,使得導(dǎo)航功能的操作訓(xùn)練簡便易行;同時(shí),該系統(tǒng)是基于計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境的軟件系統(tǒng),訓(xùn)練的用戶規(guī)模只受計(jì)算機(jī)數(shù)量的限制,保證了全員參訓(xùn),一人一機(jī),提高了教學(xué)訓(xùn)練效果。
(3)增強(qiáng)了訓(xùn)練中的安全保密性。系統(tǒng)不需要請(qǐng)領(lǐng)或安裝保密卡,采用軟加密模式在軍隊(duì)內(nèi)部局域網(wǎng)環(huán)境中進(jìn)行通信,因此,對(duì)做好軍事訓(xùn)練中安全保密工作具有積極作用。
目前,該系統(tǒng)已經(jīng)在我單位部分學(xué)員隊(duì)教學(xué)中投入使用,學(xué)員普遍反映該系統(tǒng)易于使用,界面友好,對(duì)提高訓(xùn)練效果有很好的促進(jìn)作用,它既能夠用于軍隊(duì)院校相關(guān)專業(yè)學(xué)員的學(xué)習(xí)培訓(xùn),也可在汽車部(分)隊(duì)?wèi)?zhàn)備訓(xùn)練中進(jìn)行推廣應(yīng)用。
[1] 袁富國,王麗,賀元豐.拓展模擬訓(xùn)練方式提高軍交運(yùn)輸系統(tǒng)適應(yīng)打仗需求能力[J].軍事交通學(xué)院學(xué)報(bào),2014,16(5):79-81.
[2] 尹旭日,史新生,徐泉峰.模擬訓(xùn)練系統(tǒng)中自動(dòng)評(píng)判技術(shù)的研究[J].微計(jì)算機(jī)信息,2008(15):245-246.
[3] 王教?hào)|,王伉.北斗車載型用戶機(jī)模擬訓(xùn)練系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].后勤科技裝備,2013(6):47-49.
[4] 史新生,尹旭日,徐泉峰.軍事交通運(yùn)輸模擬訓(xùn)練系統(tǒng)設(shè)計(jì)[M].北京:海潮出版社,2009:16-19.
[5] Yin X R.Application of serious game in military transportation simulation training system[J].Lecture Notes in Information Technology,2012(31):69-73.
[6] 北京星地恒通信息科技有限公司.北斗1號(hào)一體式車載型用戶機(jī)使用維護(hù)手冊(cè)[M].北京:北京星地恒通信息科技有限公司,2011:21.