黃文健,李曉明
(浙江理工大學 機械與自動控制學院,浙江 杭州 310018)
不管對于部隊還是對于民兵,射擊訓練都是一項熱點和必備科目,但是目前訓練水平整體還很落后,大多數還是采用人工報靶的方式.這種訓練方式效率低下,誤差大,射擊效果差,訓練人員無法根據訓練成績及時進行調整,而且存在一定的安全隱患.少數射擊訓練場所安裝的自動報靶系統只是對報靶數據進行處理,而沒有針對整個訓練過程進行管理.在大多數射擊訓練場所,器材的自動化程度較低,人員管理、信息統計、舉靶、報靶、成績錄入及評定等都由人工完成,工作量大,效率低,也不便于指揮人員實時了解射擊情況.
伴隨著移動物聯網技術的快速發展以及裝備自動化程度的不斷提高,人們對訓練設備的無線化、網絡化、智能化需求越來越強烈.因此,具有不同學科背景的相關學者曾對智能靶機系統進行了探索.顧麗莉基于圖像自動處理技術構建的報靶管理平臺,主要解決報靶環節的自動化問題[1].張曉錕設計了基于圖像處理技術的自動報靶系統[2].有的學者采用激光槍和激光接收器來實現模擬打靶[3].這些研究主要針對的是系統中某一具體模塊或者只是尋求真實訓練某一環節的替代方法,并未將真實訓練的過程作為整體進行考慮,因而未能開發出完整實用高效的訓練系統.本文針對訓練全過程,進行基于ZigBee網絡智能靶機顯控系統的開發,以期實現“數據實時釆集、無線網絡數據透傳、APP準確控制、上位機集中管理”的設計目標.
基于ZigBee網絡的智能靶機顯控系統需要根據射擊訓練大綱,結合射擊訓練科目,最終滿足各種槍支、時間和地形等條件下訓練任務的需求.
1.1.1 硬件設計要求
(1) 標準化、易擴展.嚴格參照ZigBee規范來設計智能靶機顯控系統的控制模塊、數據傳輸模塊、傳感器模塊,以保證各模塊更換簡單,有良好的兼容性、擴展性以及較低的整合難度.
(2) 高效、節能.一方面要求靶機舉靶、隱靶等物理動作摩擦小且效率高;另一方面要求降低ZigBee模塊能耗,增加電池工作時長,保證無線傳感網絡的有效壽命.
(3) 可靠、穩定.訓練場地如果在室外就可能受到外界信號和地形的干擾,因此要求ZigBee模塊有很強的抗干擾能力,同時室外無線傳感網絡應能有效組網,且通訊穩定可靠.
1.1.2 軟件設計要求
(1) 遵循協議規范.軟件設計模塊化,制定并嚴格遵循協議規范,提升系統兼容性,設計統一的數據格式,使傳輸穩定,解析簡單.
(2) 全自動組網.系統網絡必須具有自動組網、組網靈活方便、修復能力強等特點,且要保證網絡覆蓋面積廣,無通訊盲區.
(3) 數據交互可靠.前端與服務器,服務器與靶機之間的通訊要簡單、可靠.
1.1.3 功能設計要求
(1) 狀態信息監測功能.無線傳感網絡應能實時通過傳感器獲取靶機溫度、電壓、GPS信號、電量等數據,并通過協調器發送給PC上位機,以方便使用者及時了解靶機的狀態變化.
(2) 多模式控制功能.用戶應能根據訓練要求設置參數,靈活地控制靶機(可選擇手動控制模式、半自動控制模式、全自動控制模式、智能控制模式等),以最大限度地展示智能靶機顯控系統的高科技優勢.
(3) PC上位機集中管理功能.上位機應能實時顯示靶機的狀態數據和打靶數據,并能夠對靶機進行精準控制.
根據基于無線傳感網絡的智能靶機顯控系統的設計要求(硬件要求、軟件要求和功能要求),可得出該系統的總體設計模型(圖1).無線傳感網絡主要包括Coordinator(協調器)和終端這兩種邏輯設備.該網絡具有很強的“自愈”能力,每個終端設備都能夠作為一個中繼器,使靶機連接附近的其他靶機而實現與服務器相連.協調器上電后能夠實現自動組網、地址分配、節點管理以及上位機通訊等.終端設備可自由申請入網或離網.服務器連接協調器串口,以接收無線傳感網絡實時采集的靶機參數(電量、GPS信號、溫度等)、靶機工作狀態、故障報警等數據.移動終端設備通過WiFi連接服務器,并且能夠通過服務器對底層靶機進行控制,以便用戶使用可視化界面對靶機進行操作和管理.

圖1 智能靶機顯控系統的總體設計模型
根據智能靶機顯控系統的軟件設計和功能設計要求,可制定圖2所示的系統工作流程.該流程圖(又稱為輸入-輸出圖)能夠直觀地描述系統工作的具體步驟,是UML[4]中一種重要的建模思路.在該系統工作流程中,組織人員負責對訓練相關輔助信息的填寫以及對靶機的操控;訓練人員根據訓練任務進行相應的訓練;系統則根據評估標準將打靶信息生成成績信息.成績信息可在APP上查詢,也可以生成Excel表格.

圖2 智能靶機顯控系統的工作流程
智能靶機系統的設計主要包括:服務器端開發、通訊協議制定和移動端的開發.
Java是一種跨平臺、適合于分布式計算環境的面向對象的編程語言,具有通用性、高效性、平臺移植性、安全性以及支持多線程開發等優點.智能靶機系統的服務器端開發優先選用Java語言.對服務器而言,其重要功能是完成與各移動端和靶機節點之間的通訊,確保通訊過程中數據傳輸的穩定性、可靠性和可控性.服務器端的主要模塊包括:客戶端接口模塊、數據庫模塊、靶機通訊模塊、控制模塊和成績模塊.
(1) 客戶端接口模塊負責處理客戶端的數據請求(一個請求對應一個處理流程),并返回處理結果.數據被存儲在隊列中或者數據庫中.客戶端接口模塊可根據需要進行功能擴展.
(2) 數據庫模塊負責數據的存儲和讀取.
(3) 靶機通訊模塊用來實現服務器和靶機之間的通訊,以保證服務器和靶機之間的連接安全、有效、高速.
(4) 控制模塊用來有序控制靶機,使靶機能夠按照事先安排的步驟運動.控制模塊可選用手動控制、半自動控制、全自動控制和智能控制等模式.其中,智能控制模式可通過獲取訓練人員和靶機的GPS信號,比較兩者的距離,在訓練人員和靶機的距離小于設定值時,讓靶機起靶.
(5) 成績模塊負責成績生成與查詢.它依據評估標準(由訓練組織人員在訓練開始前選定此次訓練的評估標準)對射手的成績進行評估,可生成相應的成績等級.系統生成的成績可供查詢.
2.2.1 服務器與客戶端的通訊
HTTP[5]具有支持C/S模型、請求簡單快速(當客戶端發起請求時,只需傳送請求方法和路徑即可)、信息傳輸靈活等優點.因此,本系統采用HTTP協議.其中通訊內容采用目前流行的JSON[6]數據格式,因為與XML相比,JSON(JavaScript Object Notation)更加簡潔、輕便,不管是編寫、傳輸還是解析都更加高效.此外,它節省空間,通用性強,目前常用的主流語言都能為JSON提供原生支持.
對服務器和客戶端之間的通訊過程進行分析,可得出圖3所示的C/S通訊流程.

圖3 C/S通訊流程
2.2.2 服務器與靶端節點的通訊
ZigBee技術[7]是一種先進的近距離、低復雜度、低功耗、低數據速率、低成本、高可靠性、高安全性的雙向無線通訊技術.它具有組網簡便、使用靈活等優勢,因此服務器和靶機(靶端節點)之間的通訊采用ZigBee網絡并遵循ZigBee協議.一個ZigBee協調器能夠同時管理255個單層網絡節點,可一次性滿足兵員為一個營的攻防戰斗目標保障的需求.
對服務器和靶端節點之間的通訊交互過程進行分析,可得出圖4所示服務器與靶端節點之間的通訊流程.

圖4 服務器與靶端節點之間的通訊流程
HTML5[8]標記語言簡便、功能強大,為互聯網應用程序提供了重要的支持.它與CSS3技術結合應用,可以大大優化網頁和網站的性能、布局等.移動端與服務器端使用JavaScript,可進行實時數據交互.因此,本文采用H5+CSS3+JS結合的前端技術來開發智能靶機顯控系統的APP[9],并通過Hbuilder工具進行打包發布[10].
為了實時顯示訓練場地中人員和靶機的位置,系統會調用高德地圖提供的API(Application Programming Interface)來植入地圖,并可在地圖中分別顯示人員和靶機的圖標.點擊人員圖標,可顯示人員的相應信息;點擊靶機圖標,可顯示靶機的相應信息.圖標的位置主要根據人員和靶機的GPS數據來實時定位.掌握了位置信息,可以豐富訓練內容,也可讓組織人員時刻了解訓練人員的位置和訓練情況.
可視化界面使得用戶操作更加簡單便利.智能靶機系統的APP中包含很多頁面,如首頁(圖5)和控制模式(圖6)等.

圖5 APP中的首頁

圖6 APP中的控制模式
在整個系統的開發過程中,軟件測試是非常重要的一部分,是系統能否正常運行的關鍵.通過測試可以了解系統運行的穩定性和實用性.
(1) 登錄功能測試.根據用戶名和密碼,測試系統能否有效地檢查登錄者身份.
(2) 控制功能測試.在平板電腦上操控靶機,看靶機能否有效執行命令,包括起靶、倒靶、照明燈開關、GPS開關等.
(3) 人員信息管理測試.它主要是對人員信息增、刪、改、查的測試.
(4) 控制模式測試.它主要測試半自動控制、全自動控制、智能控制等模式,制定控制方案,檢查靶機能否嚴格按照方案執行.
(5) 成績管理測試.選定評定標準,通過針扎靶紙的方式模擬士兵訓練,產生數據,統計成績,存入數據庫,最后查詢成績并檢查成績是否合理.
(6) 打印測試.通過它,將個人或單位的成績制成Excel表格,以驗證系統成績打印模塊的功能.
測試證明,系統運行正常,各業務流程的運行無障礙,數據傳輸流暢,界面設計合理,比較符合當前國內用戶和訓練相關人員的使用習慣.
本文通過UML建立系統模型,采用Java和HTML5等技術完成了系統軟件的開發,實現了智能靶機顯控系統的通訊協議制定、邏輯控制、數據傳輸等主要功能.該系統的功能較其他打靶系統功能更為強大,具有良好的可擴展性和可移植性,而且可在多種平臺和可系統中進行部署發布.
本系統尚存在不足之處,在沒有網絡信號的情況下無法準確定位訓練人員的位置.今后將針對移動靶、坦克靶等進行設計,實現集多兵種、多裝備訓練控制于一體的集成控制系統.