黃文健,李曉明
(浙江理工大學(xué) 機(jī)械與自動(dòng)控制學(xué)院,浙江 杭州 310018)
不管對(duì)于部隊(duì)還是對(duì)于民兵,射擊訓(xùn)練都是一項(xiàng)熱點(diǎn)和必備科目,但是目前訓(xùn)練水平整體還很落后,大多數(shù)還是采用人工報(bào)靶的方式.這種訓(xùn)練方式效率低下,誤差大,射擊效果差,訓(xùn)練人員無法根據(jù)訓(xùn)練成績及時(shí)進(jìn)行調(diào)整,而且存在一定的安全隱患.少數(shù)射擊訓(xùn)練場(chǎng)所安裝的自動(dòng)報(bào)靶系統(tǒng)只是對(duì)報(bào)靶數(shù)據(jù)進(jìn)行處理,而沒有針對(duì)整個(gè)訓(xùn)練過程進(jìn)行管理.在大多數(shù)射擊訓(xùn)練場(chǎng)所,器材的自動(dòng)化程度較低,人員管理、信息統(tǒng)計(jì)、舉靶、報(bào)靶、成績錄入及評(píng)定等都由人工完成,工作量大,效率低,也不便于指揮人員實(shí)時(shí)了解射擊情況.
伴隨著移動(dòng)物聯(lián)網(wǎng)技術(shù)的快速發(fā)展以及裝備自動(dòng)化程度的不斷提高,人們對(duì)訓(xùn)練設(shè)備的無線化、網(wǎng)絡(luò)化、智能化需求越來越強(qiáng)烈.因此,具有不同學(xué)科背景的相關(guān)學(xué)者曾對(duì)智能靶機(jī)系統(tǒng)進(jìn)行了探索.顧麗莉基于圖像自動(dòng)處理技術(shù)構(gòu)建的報(bào)靶管理平臺(tái),主要解決報(bào)靶環(huán)節(jié)的自動(dòng)化問題[1].張曉錕設(shè)計(jì)了基于圖像處理技術(shù)的自動(dòng)報(bào)靶系統(tǒng)[2].有的學(xué)者采用激光槍和激光接收器來實(shí)現(xiàn)模擬打靶[3].這些研究主要針對(duì)的是系統(tǒng)中某一具體模塊或者只是尋求真實(shí)訓(xùn)練某一環(huán)節(jié)的替代方法,并未將真實(shí)訓(xùn)練的過程作為整體進(jìn)行考慮,因而未能開發(fā)出完整實(shí)用高效的訓(xùn)練系統(tǒng).本文針對(duì)訓(xùn)練全過程,進(jìn)行基于ZigBee網(wǎng)絡(luò)智能靶機(jī)顯控系統(tǒng)的開發(fā),以期實(shí)現(xiàn)“數(shù)據(jù)實(shí)時(shí)釆集、無線網(wǎng)絡(luò)數(shù)據(jù)透?jìng)?、APP準(zhǔn)確控制、上位機(jī)集中管理”的設(shè)計(jì)目標(biāo).
基于ZigBee網(wǎng)絡(luò)的智能靶機(jī)顯控系統(tǒng)需要根據(jù)射擊訓(xùn)練大綱,結(jié)合射擊訓(xùn)練科目,最終滿足各種槍支、時(shí)間和地形等條件下訓(xùn)練任務(wù)的需求.
1.1.1 硬件設(shè)計(jì)要求
(1) 標(biāo)準(zhǔn)化、易擴(kuò)展.嚴(yán)格參照ZigBee規(guī)范來設(shè)計(jì)智能靶機(jī)顯控系統(tǒng)的控制模塊、數(shù)據(jù)傳輸模塊、傳感器模塊,以保證各模塊更換簡(jiǎn)單,有良好的兼容性、擴(kuò)展性以及較低的整合難度.
(2) 高效、節(jié)能.一方面要求靶機(jī)舉靶、隱靶等物理動(dòng)作摩擦小且效率高;另一方面要求降低ZigBee模塊能耗,增加電池工作時(shí)長,保證無線傳感網(wǎng)絡(luò)的有效壽命.
(3) 可靠、穩(wěn)定.訓(xùn)練場(chǎng)地如果在室外就可能受到外界信號(hào)和地形的干擾,因此要求ZigBee模塊有很強(qiáng)的抗干擾能力,同時(shí)室外無線傳感網(wǎng)絡(luò)應(yīng)能有效組網(wǎng),且通訊穩(wěn)定可靠.
1.1.2 軟件設(shè)計(jì)要求
(1) 遵循協(xié)議規(guī)范.軟件設(shè)計(jì)模塊化,制定并嚴(yán)格遵循協(xié)議規(guī)范,提升系統(tǒng)兼容性,設(shè)計(jì)統(tǒng)一的數(shù)據(jù)格式,使傳輸穩(wěn)定,解析簡(jiǎn)單.
(2) 全自動(dòng)組網(wǎng).系統(tǒng)網(wǎng)絡(luò)必須具有自動(dòng)組網(wǎng)、組網(wǎng)靈活方便、修復(fù)能力強(qiáng)等特點(diǎn),且要保證網(wǎng)絡(luò)覆蓋面積廣,無通訊盲區(qū).
(3) 數(shù)據(jù)交互可靠.前端與服務(wù)器,服務(wù)器與靶機(jī)之間的通訊要簡(jiǎn)單、可靠.
1.1.3 功能設(shè)計(jì)要求
(1) 狀態(tài)信息監(jiān)測(cè)功能.無線傳感網(wǎng)絡(luò)應(yīng)能實(shí)時(shí)通過傳感器獲取靶機(jī)溫度、電壓、GPS信號(hào)、電量等數(shù)據(jù),并通過協(xié)調(diào)器發(fā)送給PC上位機(jī),以方便使用者及時(shí)了解靶機(jī)的狀態(tài)變化.
(2) 多模式控制功能.用戶應(yīng)能根據(jù)訓(xùn)練要求設(shè)置參數(shù),靈活地控制靶機(jī)(可選擇手動(dòng)控制模式、半自動(dòng)控制模式、全自動(dòng)控制模式、智能控制模式等),以最大限度地展示智能靶機(jī)顯控系統(tǒng)的高科技優(yōu)勢(shì).
(3) PC上位機(jī)集中管理功能.上位機(jī)應(yīng)能實(shí)時(shí)顯示靶機(jī)的狀態(tài)數(shù)據(jù)和打靶數(shù)據(jù),并能夠?qū)Π袡C(jī)進(jìn)行精準(zhǔn)控制.
根據(jù)基于無線傳感網(wǎng)絡(luò)的智能靶機(jī)顯控系統(tǒng)的設(shè)計(jì)要求(硬件要求、軟件要求和功能要求),可得出該系統(tǒng)的總體設(shè)計(jì)模型(圖1).無線傳感網(wǎng)絡(luò)主要包括Coordinator(協(xié)調(diào)器)和終端這兩種邏輯設(shè)備.該網(wǎng)絡(luò)具有很強(qiáng)的“自愈”能力,每個(gè)終端設(shè)備都能夠作為一個(gè)中繼器,使靶機(jī)連接附近的其他靶機(jī)而實(shí)現(xiàn)與服務(wù)器相連.協(xié)調(diào)器上電后能夠?qū)崿F(xiàn)自動(dòng)組網(wǎng)、地址分配、節(jié)點(diǎn)管理以及上位機(jī)通訊等.終端設(shè)備可自由申請(qǐng)入網(wǎng)或離網(wǎng).服務(wù)器連接協(xié)調(diào)器串口,以接收無線傳感網(wǎng)絡(luò)實(shí)時(shí)采集的靶機(jī)參數(shù)(電量、GPS信號(hào)、溫度等)、靶機(jī)工作狀態(tài)、故障報(bào)警等數(shù)據(jù).移動(dòng)終端設(shè)備通過WiFi連接服務(wù)器,并且能夠通過服務(wù)器對(duì)底層靶機(jī)進(jìn)行控制,以便用戶使用可視化界面對(duì)靶機(jī)進(jìn)行操作和管理.
圖1 智能靶機(jī)顯控系統(tǒng)的總體設(shè)計(jì)模型
根據(jù)智能靶機(jī)顯控系統(tǒng)的軟件設(shè)計(jì)和功能設(shè)計(jì)要求,可制定圖2所示的系統(tǒng)工作流程.該流程圖(又稱為輸入-輸出圖)能夠直觀地描述系統(tǒng)工作的具體步驟,是UML[4]中一種重要的建模思路.在該系統(tǒng)工作流程中,組織人員負(fù)責(zé)對(duì)訓(xùn)練相關(guān)輔助信息的填寫以及對(duì)靶機(jī)的操控;訓(xùn)練人員根據(jù)訓(xùn)練任務(wù)進(jìn)行相應(yīng)的訓(xùn)練;系統(tǒng)則根據(jù)評(píng)估標(biāo)準(zhǔn)將打靶信息生成成績信息.成績信息可在APP上查詢,也可以生成Excel表格.
圖2 智能靶機(jī)顯控系統(tǒng)的工作流程
智能靶機(jī)系統(tǒng)的設(shè)計(jì)主要包括:服務(wù)器端開發(fā)、通訊協(xié)議制定和移動(dòng)端的開發(fā).
Java是一種跨平臺(tái)、適合于分布式計(jì)算環(huán)境的面向?qū)ο蟮木幊陶Z言,具有通用性、高效性、平臺(tái)移植性、安全性以及支持多線程開發(fā)等優(yōu)點(diǎn).智能靶機(jī)系統(tǒng)的服務(wù)器端開發(fā)優(yōu)先選用Java語言.對(duì)服務(wù)器而言,其重要功能是完成與各移動(dòng)端和靶機(jī)節(jié)點(diǎn)之間的通訊,確保通訊過程中數(shù)據(jù)傳輸?shù)姆€(wěn)定性、可靠性和可控性.服務(wù)器端的主要模塊包括:客戶端接口模塊、數(shù)據(jù)庫模塊、靶機(jī)通訊模塊、控制模塊和成績模塊.
(1) 客戶端接口模塊負(fù)責(zé)處理客戶端的數(shù)據(jù)請(qǐng)求(一個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)處理流程),并返回處理結(jié)果.數(shù)據(jù)被存儲(chǔ)在隊(duì)列中或者數(shù)據(jù)庫中.客戶端接口模塊可根據(jù)需要進(jìn)行功能擴(kuò)展.
(2) 數(shù)據(jù)庫模塊負(fù)責(zé)數(shù)據(jù)的存儲(chǔ)和讀取.
(3) 靶機(jī)通訊模塊用來實(shí)現(xiàn)服務(wù)器和靶機(jī)之間的通訊,以保證服務(wù)器和靶機(jī)之間的連接安全、有效、高速.
(4) 控制模塊用來有序控制靶機(jī),使靶機(jī)能夠按照事先安排的步驟運(yùn)動(dòng).控制模塊可選用手動(dòng)控制、半自動(dòng)控制、全自動(dòng)控制和智能控制等模式.其中,智能控制模式可通過獲取訓(xùn)練人員和靶機(jī)的GPS信號(hào),比較兩者的距離,在訓(xùn)練人員和靶機(jī)的距離小于設(shè)定值時(shí),讓靶機(jī)起靶.
(5) 成績模塊負(fù)責(zé)成績生成與查詢.它依據(jù)評(píng)估標(biāo)準(zhǔn)(由訓(xùn)練組織人員在訓(xùn)練開始前選定此次訓(xùn)練的評(píng)估標(biāo)準(zhǔn))對(duì)射手的成績進(jìn)行評(píng)估,可生成相應(yīng)的成績等級(jí).系統(tǒng)生成的成績可供查詢.
2.2.1 服務(wù)器與客戶端的通訊
HTTP[5]具有支持C/S模型、請(qǐng)求簡(jiǎn)單快速(當(dāng)客戶端發(fā)起請(qǐng)求時(shí),只需傳送請(qǐng)求方法和路徑即可)、信息傳輸靈活等優(yōu)點(diǎn).因此,本系統(tǒng)采用HTTP協(xié)議.其中通訊內(nèi)容采用目前流行的JSON[6]數(shù)據(jù)格式,因?yàn)榕cXML相比,JSON(JavaScript Object Notation)更加簡(jiǎn)潔、輕便,不管是編寫、傳輸還是解析都更加高效.此外,它節(jié)省空間,通用性強(qiáng),目前常用的主流語言都能為JSON提供原生支持.
對(duì)服務(wù)器和客戶端之間的通訊過程進(jìn)行分析,可得出圖3所示的C/S通訊流程.
圖3 C/S通訊流程
2.2.2 服務(wù)器與靶端節(jié)點(diǎn)的通訊
ZigBee技術(shù)[7]是一種先進(jìn)的近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率、低成本、高可靠性、高安全性的雙向無線通訊技術(shù).它具有組網(wǎng)簡(jiǎn)便、使用靈活等優(yōu)勢(shì),因此服務(wù)器和靶機(jī)(靶端節(jié)點(diǎn))之間的通訊采用ZigBee網(wǎng)絡(luò)并遵循ZigBee協(xié)議.一個(gè)ZigBee協(xié)調(diào)器能夠同時(shí)管理255個(gè)單層網(wǎng)絡(luò)節(jié)點(diǎn),可一次性滿足兵員為一個(gè)營的攻防戰(zhàn)斗目標(biāo)保障的需求.
對(duì)服務(wù)器和靶端節(jié)點(diǎn)之間的通訊交互過程進(jìn)行分析,可得出圖4所示服務(wù)器與靶端節(jié)點(diǎn)之間的通訊流程.
圖4 服務(wù)器與靶端節(jié)點(diǎn)之間的通訊流程
HTML5[8]標(biāo)記語言簡(jiǎn)便、功能強(qiáng)大,為互聯(lián)網(wǎng)應(yīng)用程序提供了重要的支持.它與CSS3技術(shù)結(jié)合應(yīng)用,可以大大優(yōu)化網(wǎng)頁和網(wǎng)站的性能、布局等.移動(dòng)端與服務(wù)器端使用JavaScript,可進(jìn)行實(shí)時(shí)數(shù)據(jù)交互.因此,本文采用H5+CSS3+JS結(jié)合的前端技術(shù)來開發(fā)智能靶機(jī)顯控系統(tǒng)的APP[9],并通過Hbuilder工具進(jìn)行打包發(fā)布[10].
為了實(shí)時(shí)顯示訓(xùn)練場(chǎng)地中人員和靶機(jī)的位置,系統(tǒng)會(huì)調(diào)用高德地圖提供的API(Application Programming Interface)來植入地圖,并可在地圖中分別顯示人員和靶機(jī)的圖標(biāo).點(diǎn)擊人員圖標(biāo),可顯示人員的相應(yīng)信息;點(diǎn)擊靶機(jī)圖標(biāo),可顯示靶機(jī)的相應(yīng)信息.圖標(biāo)的位置主要根據(jù)人員和靶機(jī)的GPS數(shù)據(jù)來實(shí)時(shí)定位.掌握了位置信息,可以豐富訓(xùn)練內(nèi)容,也可讓組織人員時(shí)刻了解訓(xùn)練人員的位置和訓(xùn)練情況.
可視化界面使得用戶操作更加簡(jiǎn)單便利.智能靶機(jī)系統(tǒng)的APP中包含很多頁面,如首頁(圖5)和控制模式(圖6)等.
圖5 APP中的首頁
圖6 APP中的控制模式
在整個(gè)系統(tǒng)的開發(fā)過程中,軟件測(cè)試是非常重要的一部分,是系統(tǒng)能否正常運(yùn)行的關(guān)鍵.通過測(cè)試可以了解系統(tǒng)運(yùn)行的穩(wěn)定性和實(shí)用性.
(1) 登錄功能測(cè)試.根據(jù)用戶名和密碼,測(cè)試系統(tǒng)能否有效地檢查登錄者身份.
(2) 控制功能測(cè)試.在平板電腦上操控靶機(jī),看靶機(jī)能否有效執(zhí)行命令,包括起靶、倒靶、照明燈開關(guān)、GPS開關(guān)等.
(3) 人員信息管理測(cè)試.它主要是對(duì)人員信息增、刪、改、查的測(cè)試.
(4) 控制模式測(cè)試.它主要測(cè)試半自動(dòng)控制、全自動(dòng)控制、智能控制等模式,制定控制方案,檢查靶機(jī)能否嚴(yán)格按照方案執(zhí)行.
(5) 成績管理測(cè)試.選定評(píng)定標(biāo)準(zhǔn),通過針扎靶紙的方式模擬士兵訓(xùn)練,產(chǎn)生數(shù)據(jù),統(tǒng)計(jì)成績,存入數(shù)據(jù)庫,最后查詢成績并檢查成績是否合理.
(6) 打印測(cè)試.通過它,將個(gè)人或單位的成績制成Excel表格,以驗(yàn)證系統(tǒng)成績打印模塊的功能.
測(cè)試證明,系統(tǒng)運(yùn)行正常,各業(yè)務(wù)流程的運(yùn)行無障礙,數(shù)據(jù)傳輸流暢,界面設(shè)計(jì)合理,比較符合當(dāng)前國內(nèi)用戶和訓(xùn)練相關(guān)人員的使用習(xí)慣.
本文通過UML建立系統(tǒng)模型,采用Java和HTML5等技術(shù)完成了系統(tǒng)軟件的開發(fā),實(shí)現(xiàn)了智能靶機(jī)顯控系統(tǒng)的通訊協(xié)議制定、邏輯控制、數(shù)據(jù)傳輸?shù)戎饕δ?該系統(tǒng)的功能較其他打靶系統(tǒng)功能更為強(qiáng)大,具有良好的可擴(kuò)展性和可移植性,而且可在多種平臺(tái)和可系統(tǒng)中進(jìn)行部署發(fā)布.
本系統(tǒng)尚存在不足之處,在沒有網(wǎng)絡(luò)信號(hào)的情況下無法準(zhǔn)確定位訓(xùn)練人員的位置.今后將針對(duì)移動(dòng)靶、坦克靶等進(jìn)行設(shè)計(jì),實(shí)現(xiàn)集多兵種、多裝備訓(xùn)練控制于一體的集成控制系統(tǒng).