馬文秀,琚章鋒,張 淼,裴科科,弓云龍
(北方自動控制技術(shù)研究所,太原 030001)
未來戰(zhàn)爭是信息化戰(zhàn)爭,下車步兵作為戰(zhàn)場體系中的末端節(jié)點(diǎn),需根據(jù)指揮員的指示和作戰(zhàn)任務(wù)規(guī)劃不斷地進(jìn)行戰(zhàn)術(shù)機(jī)動,搶占、固守陣地并完成戰(zhàn)斗任務(wù)。隨著作戰(zhàn)任務(wù)多樣化,作戰(zhàn)編組小型化、模塊化以及戰(zhàn)術(shù)通信方式的拓展,對指揮的要求也進(jìn)一步提高。
國防科學(xué)技術(shù)大學(xué)的陳鴻對態(tài)勢生成關(guān)鍵技術(shù)進(jìn)行了研究[1],國內(nèi)學(xué)者對虛擬態(tài)勢顯示系統(tǒng)的開發(fā)進(jìn)行了研究[2]。田威等人對面向任務(wù)的戰(zhàn)場態(tài)勢生成研究進(jìn)行了理論性的優(yōu)化與控制[3];這些研究或多或少存在不足。其一,多數(shù)研究集中于純理論性方面,較難應(yīng)用于實(shí)際工程中;其二,大多數(shù)態(tài)勢顯示系統(tǒng)研究基于桌面系統(tǒng),對復(fù)雜戰(zhàn)場環(huán)境下的下車步兵來說無法使用。
為確保指揮員可在制定作戰(zhàn)規(guī)劃、實(shí)施指揮控制時(shí),方便地變換場景,根據(jù)視野范圍進(jìn)行旋轉(zhuǎn)等操作發(fā)送指令,洞悉整個(gè)戰(zhàn)場態(tài)勢,開展戰(zhàn)況推演及直觀作戰(zhàn)雙方在戰(zhàn)斗力量對比、戰(zhàn)斗部署和戰(zhàn)斗行動等方面形成的信息[1]。本文通過利用步兵指揮員及作戰(zhàn)人員所配備的單兵系統(tǒng)核心處理設(shè)備——智能手機(jī)的強(qiáng)大AR 功能,為參戰(zhàn)員生成態(tài)勢。在演習(xí)時(shí),指揮中心可據(jù)傳回?cái)?shù)據(jù)在軟件中顯示宏觀情況,選擇進(jìn)攻路線并時(shí)刻調(diào)整力量的分配和部署,以期達(dá)到理想情況。
單兵態(tài)勢生成軟件宗旨在于方便、高效。對特定戰(zhàn)場環(huán)境掃描檢測并顯示預(yù)設(shè)的作戰(zhàn)形勢,自動疊加虛擬士兵并可設(shè)置班組編號生成特效來增強(qiáng)態(tài)勢的展示。通過手指的交互方式疊加顯示3D 導(dǎo)示標(biāo)記及路線部署等,全角度進(jìn)行形式觀測,方便指戰(zhàn)員下達(dá)命令。指揮員可在制定作戰(zhàn)規(guī)劃、實(shí)施指揮控制時(shí),方便地變換場景、根據(jù)視野范圍進(jìn)行旋轉(zhuǎn)等操作,洞悉整個(gè)戰(zhàn)場態(tài)勢,開展戰(zhàn)況推演及直觀作戰(zhàn)雙方在戰(zhàn)斗力量對比、戰(zhàn)斗部署和戰(zhàn)斗行動等方面形成的信息,有助于參戰(zhàn)人員正確決策并輔助導(dǎo)調(diào)控制參戰(zhàn)士兵把握戰(zhàn)事進(jìn)程[4]。
圖1 展示了單兵態(tài)勢生成軟件的設(shè)計(jì)方案。
圖1 單兵戰(zhàn)場態(tài)勢生成設(shè)計(jì)方案圖
軟件可對整個(gè)指揮作戰(zhàn)過程進(jìn)行部署和控制,并能貫穿于指揮作戰(zhàn)全過程。為實(shí)現(xiàn)戰(zhàn)場態(tài)勢指揮緊密協(xié)作,可使作戰(zhàn)士兵從戰(zhàn)前籌劃到戰(zhàn)斗實(shí)時(shí)干預(yù)全過程,實(shí)時(shí)接收指示并完成戰(zhàn)斗任務(wù)[5]。軟件信息反饋方式以及用戶與系統(tǒng)的關(guān)系如圖2 所示。
根據(jù)戰(zhàn)場態(tài)勢顯示的內(nèi)容形式和軍用交互方式需求,軟件通過Android Studio 編程,編程語言為Java,研究設(shè)計(jì)單兵態(tài)勢生成軟件模塊。
在實(shí)現(xiàn)AR 特效時(shí),為減少工程量,本文借助了較新的AR SDK——HUAWEI AR Engine。HUAWEI AR Engine 是用于在Android 上構(gòu)建增強(qiáng)現(xiàn)實(shí)應(yīng)用的平臺。可通過垂直整合AR 核心算法和海思麒麟芯片(本文采用海思麒麟980)提供AR 基礎(chǔ)能力,目前提供了運(yùn)動跟蹤、平面檢測、光照估計(jì)和命中檢測。HUAWEI AR Engine 可實(shí)現(xiàn)在手機(jī)移動時(shí)跟蹤其位置、構(gòu)建對現(xiàn)實(shí)世界的理解。
態(tài)勢生成軟件采用三維虛擬士兵來逼真呈現(xiàn)步兵班組,模型的構(gòu)建分為人體骨骼的構(gòu)建與動作單元的構(gòu)建。本文采用Poser 建模軟件構(gòu)建虛擬人體模型,利用人體模型的特征點(diǎn)確定關(guān)節(jié)位置并設(shè)置DEF 節(jié)點(diǎn),動作單元建立節(jié)點(diǎn),以實(shí)現(xiàn)人體的正或逆物理運(yùn)動仿真。VrmlPad 是極佳的實(shí)時(shí)仿真建模工具,由于其不能直接讀取數(shù)據(jù),需進(jìn)行文件格式轉(zhuǎn)換之后導(dǎo)入Android studio 中編程驅(qū)動。
軟件的AR 特效顯示采用虛擬三角形作為識別標(biāo)識,借助AR Engine 的邊緣檢測和特征點(diǎn)提取,可得出其相對于真實(shí)世界的坐標(biāo),其簡要技術(shù)原理如圖3 所示。
通過計(jì)算標(biāo)識的6 個(gè)圖像坐標(biāo)與其空間三維坐標(biāo)間的變換關(guān)系,可以求出攝像機(jī)參數(shù)及攝像機(jī)相對于標(biāo)志點(diǎn)的旋轉(zhuǎn)矩陣和平移矩陣,其標(biāo)識坐標(biāo)系與攝像頭坐標(biāo)系的轉(zhuǎn)換圖如下頁圖4,公式如式(1):
圖4 AR Enigne 坐標(biāo)系圖
(R T):攝像機(jī)外參數(shù);R:旋轉(zhuǎn)矩陣;T:平移向量[6]。
軟件的AR 實(shí)現(xiàn)主要基礎(chǔ)數(shù)據(jù)類如下幾項(xiàng):ARAnchor 錨點(diǎn)是真實(shí)世界中一個(gè)固定的位置和方向。ARCamera 提供用于拍照的相機(jī)信息,且每次ARSession.update()方法被調(diào)用時(shí)相機(jī)屬性都會更新。ARPlane 保存AR Engine 識別的真實(shí)世界中的平面信息,派生自ARTrackableBase。ARPointCloud記錄場景中的所有特征點(diǎn),包含三維點(diǎn)及其對應(yīng)置信度的集合。功能類主要用ARHitResult 定義了射線與真實(shí)世界的碰撞交點(diǎn)。
軟件態(tài)勢顯示模塊功能類由6 個(gè)功能類進(jìn)行封裝實(shí)現(xiàn)。類MainActivity 是系統(tǒng)主框架,用于實(shí)現(xiàn)界面切換、消息傳遞、參數(shù)設(shè)置等功能。BackgroundRenderer 實(shí)現(xiàn)虛擬物體渲染窗口的功能,PlaneRenderer 實(shí)現(xiàn)對虛擬物體的渲染功能,PointRenderer 實(shí)現(xiàn)物體坐標(biāo)參數(shù)的傳遞,Triangulartor 實(shí)現(xiàn)對平面的二維渲染平鋪,VirtualObjectRenderer 建立對虛擬物體設(shè)置,包括坐標(biāo)參數(shù)接收及填充圖形設(shè)置[9]。CameralPermissionHelper:獲取本地相機(jī)的使用權(quán)限;DisplayRotationHelper:平面檢測的開始和停止設(shè)置。
軟件模塊各功能類間的協(xié)作關(guān)系如圖5 所示。
圖5 軟件模塊的邏輯流程圖
手機(jī)是在戰(zhàn)場復(fù)雜環(huán)境下使用方便、易攜帶的移動設(shè)備,是單兵系統(tǒng)最佳的實(shí)時(shí)通信工具,本文采用華為P20 基于AR Engine SDK 設(shè)計(jì)軟件實(shí)現(xiàn)單兵態(tài)勢生成、力量部署、路線規(guī)劃等預(yù)設(shè)功能。指戰(zhàn)員可手持智能手機(jī)面對沙盤左右轉(zhuǎn)動進(jìn)行平面檢測,待軟件檢測出特征點(diǎn)并用平鋪密集三角標(biāo)識平面顯示出傳回態(tài)勢信息后,通過簡單的手指交互進(jìn)行力量的部署和繪制簡易三維標(biāo)記進(jìn)行進(jìn)攻路線設(shè)置。當(dāng)攝像頭拍攝范圍超出已部署區(qū)域時(shí),回掃數(shù)據(jù)保留,自行調(diào)整智能手機(jī)與沙盤的距離就能實(shí)現(xiàn)遠(yuǎn)近角度觀察,點(diǎn)擊虛擬班組可進(jìn)行命令的編輯與下達(dá),圖6 為態(tài)勢特效顯示示例圖,第189 頁圖7 為軟件測試圖。
圖6 態(tài)勢特效顯示示例圖
本文在大量調(diào)研分析的基礎(chǔ)上,建立了有助于單兵作戰(zhàn)指揮控制的單兵態(tài)勢生成系統(tǒng),在Android Studio 中采用JAVA 編程,設(shè)計(jì)實(shí)現(xiàn)基于AR 的單兵態(tài)勢生成軟件設(shè)計(jì)。采用基于手指的人機(jī)交互模式,裝入華為P20 手機(jī)進(jìn)行對測試結(jié)果的調(diào)試。軟件測試結(jié)果證明可以實(shí)現(xiàn)對戰(zhàn)場態(tài)勢三維展示、力量部署、作戰(zhàn)任務(wù)演示等功能[10]。同時(shí)測試發(fā)現(xiàn)一些待改進(jìn)的軟件缺點(diǎn):在預(yù)設(shè)虛擬戰(zhàn)隊(duì)時(shí),不能放置超過50 個(gè);對平面的檢測速率較慢且不能做到足夠精確;生成響應(yīng)較為滯后[11]。這是下一步的研究目標(biāo)與任務(wù)。
圖7 軟件測試效果圖(1)-(2)