梁聰聰,焦國太,張 可,陳建文
(中北大學機電工程學院,山西 太原 030051)
傳統的雷場一旦部署就無法調整,在現代多種掃雷手段面前,已經達不到理想的封鎖效果。為解決上述問題,智能自修復雷場中各個地雷不但具有自主移動能力,而且具有目標識別、定位和通信能力,一旦雷場因作戰消耗或敵方掃雷出現缺口,雷場能判斷缺口,根據相應的修復策略自主移動地雷填補缺口,重新恢復對作戰區域的封鎖[1]。
目前自修復雷場系統由美國幾家公司共同研究,美國Sandia公司采取的修復策略為蜂窩式修復,該方案最終達到的理想效果是節點之間為無縫分布,即兩節點間的距離為期望距離,多節點組成期望的分布結構,但該方案要使封鎖區域所有節點連續多次跳躍才能達到期望分布。美國SAIC公司提出多模式修復的策略,根據節點掌握雷場缺口信息的多少來采用不同的修復策略。當雷場缺口信息全部可知時,采用缺口定位模式;當雷場缺口信息部分可知時,采用鄰居節點修復模式;當雷場缺口信息很少或不可知時,采用隨機跳動修復模式。該方案對缺口信息有依賴性,對缺口的信息融合有較高要求[1]。
針對雷場多次跳躍引起的修復效率問題,本文引入智能代理(Agent)體系,提出基于智能Agent的雷場自修復策略。
智能Agent是代表一切具有智能(無論自然智能,還是人工智能)的實體的一個抽象名詞,因此,它可描述機器人、智能設備、智能軟件等。智能Agent置身于某種環境中,通過傳感器感知環境,通過效應器作用于環境。智能gent不能在環境中單獨存在,而要與多個智能Agent在同一環境中協同工作,協同的手段是相互通信,但每個智能Agent都是主動、自治地工作。它具有以下四個特征:1)自治性,A-gent可以在沒有人或其他Agent直接干預的情況下運作,而且對自己的行為和內部狀態有某種控制能力;2)社會性,Agent和其他Agent通過某種A-gent語言進行信息交流;3)反應性,Agent能夠理解周圍的環境,并對環境的變化作出實時響應;4)能動性,Agent不僅簡單地對環境作出反應,也能夠通過接受某些啟動信息,表現出有目的的行為[2]。
“黑板模型”是一種已經被廣泛使用的協調方法,并且相應的技術已較為成熟。黑板系統采用合適的結構支持分布式問題求解。在多Agent系統中,黑板提供公共工作區,Agent可以交換信息、數據和知識。“黑板模型”主要由“黑板”、知識源和控制機構三大部分組成,結構如圖1所示。

圖1 黑板模型圖Fig.1 Blackboard model
1)黑板
所謂“黑板”,就是一個分層的全局工作區(或稱全局數據庫)。它用來存儲初始數據、中間結果和最終結果。整個黑板被分為若干層,每一層用于描述領域問題的某一類信息。高層信息可以看作是下層信息的抽象(或整體),反之,下層信息可以看作是上層信息的實例(或部分)。
2)知識源
所謂知識源,就是一個知識模塊。黑板結構中具有多個知識源,每個知識源能用來完成某些特定的解題功能。知識源可以表示完成過程、規則集或邏輯斷言等形式。知識源之間互相獨立,它們只能通過黑板進行通訊和互相調用。
3)控制機構
控制機構是求解問題的推理機構,由監督程序和調度程序組成。監督程序時刻注視著黑板狀態,根據黑板狀態采用某種策略選擇合適的知識源。調度程序通過選擇所謂“聚焦”來優先使用隊列中最重要、最有希望的知識源來執行[3]。
多Agent系統已獲得十分廣泛的應用,涉及機器人協調、過程控制、遠程通信等。移動機器人系統,其協調十分重要。機器人足球比賽是一種典型的協調多Agent系統。在比賽中,多機器人系統利用全局信息、知識和技能,通過多Agent系統協調作用,合作完成單機器人無法獨立完成的復雜任務[3]。
針對目前雷場修復策略下修復能力有限問題,本文引入智能Agent體系,分析缺口狀態并進行有針對性的修復。采用“黑板模型”進行缺口信息的融合,提高信息融合效率。當偵測到雷場有缺口產生時,封鎖區域通過“缺口黑板”進行缺口信息融合,修復算法依據節點在缺口中的位置給出各節點的運動公式。這一過程各個節點均相當于一個智能Agent,并與其他節點實時交流修復進程,多節點共同協作完成修復任務。
在研究雷場自修復策略前,對雷場各地雷節點作如下假設:1)假設每個地雷可以實時確定自己的雷場坐標;2)假設地雷節點基于扇區接受它周圍地雷的無線電信號,設定每個地雷具有6個探測扇區,地雷接受探測扇區內所有的地雷節點信號,通過地雷坐標和雷場結構模型分析出“鄰居”節點,地雷與“鄰居”節點建立連接,將其納入雷場網絡,并通過“鄰居”節點與其他節點進行通信;3)假設每個地雷靠跳躍移動,在其6個方向上有6個微型火箭(一種跳躍機構,包括可控的火藥點火裝置),這樣在雷場范圍內,地雷節點在有限的方向上具有可控的移動能力[4]。
在雷場中,每個地雷節點都是一個智能Agent,它能探測到周圍節點的變化,并能判斷出缺口大小和方位。每個節點探測到的是缺口的部分信息,通過與其他節點交換缺口信息并進行信息融合,Agent節點可知缺口的輪廓和方位,并分析缺口模型,確定自己在缺口中的位置,最后根據相應的修復策略進行修復。在分析雷場修復環境的基礎上,本文提出了一種以自修復算法驅動Agent動作的雷場Agent節點模型(見圖2)。

圖2 策略驅動的Agent節點結構框圖Fig.2 Agent node frame
通信與協作是實現多個Agent地雷節點之間進行協同修復工作的關鍵。各個Agent地雷節點之間的通信是通過Agent間的交互來實現。目前智能Agent的通信及協作方式,基本上可以分為“黑板模型”和“消息傳遞”兩種方式:第一類是廣播通信形式,屬同步消息傳遞,把消息放在廣泛可取的黑板上,每個Agent均可以向黑板發送消息,也可以從黑板讀取信息;第二類是消息傳遞通信方式,屬于異步消息傳遞,即一個Agent可以向一個或多個Agent發送消息,采用點對點的傳遞方式。
根據雷場的結構及通信方式,本文中的地雷Agent節點采取“消息傳遞”與 “黑板模型”相結合的通信機制。雷場主體通信采用“消息傳遞”的點對點傳遞方式,當出現缺口時,缺口邊界節點建立“缺口黑板模型”來存放缺口信息,各邊界節點對“缺口黑板模型”進行缺口信息的融合及更新,并將“缺口黑板模型”傳遞給其周圍的邊界節點。當“缺口黑板模型”遍歷整個缺口邊界的節點后,“黑板模型”便掌握了缺口的邊界信息,最后將信息告知缺口邊界的各個節點(見圖3)。

圖3 節點的通信機制Fig.3 Node communication mechanism
雷場的修復算法以節點最少移動來減少能耗為原則對缺口進行修復,即在封鎖住缺口的前提下,以節點的移動次數最小和移動距離最短為原則。修復后的節點應與雷場建立連接,以通知缺口的修復情況。針對雷場的點對點通信方式,移動后的修復節點應與最近的雷場節點保持在雷場通信距離l內(雷場封鎖邊長),以便與雷場進行通信。因此,在矩形缺口區域內,按雷場結構和通信距離進行斜線封鎖 (見圖4)。

圖4 修復策略圖Fig.4 Repair strategy
“缺口黑板模型”經信息融合之后便可計算出缺口的縱向深度L和橫向寬度W(L>W),修復算法依據L和W 計算出修復位置的坐標。雷場坐標采用第一象限,選取邊界節點為基點,通過迭代依次計算出個修復位置的坐標。

當n=NW時,修復斜線已經到達缺口邊界,計算出此時的修復坐標(xn,yn),選取與此坐標誤差最小的一個邊界節點的坐標來代替(xn,yn),進行誤差校正。并采用式(2)進行反向修復。

當n為NW的整數倍時,就進行一次修復坐標的誤差校正和式(1)、式(2)的交替選取(見圖5)。

圖5 修復位置坐標計算原理圖Fig.5 Coor dinate calculate principle
當雷場出現缺口時,缺口邊界各Agent節首先進行橫向修復并建立“缺口黑板模型”,“缺口黑板模型”在信息融合后把缺口的全局信息提供給修復算法,修復算法計算出修復位置坐標后,通過“缺口黑板模型”傳遞給各缺口邊界節點并進行修復。修復過程如圖6所示。

圖6 修復流程圖Fig.6 Repair flow chart
雷場修復能力仿真程序采用C++語言編寫。每個地雷節點用圓圈表示,分別編寫布雷、掃雷和修復函數來模擬雷場的修復過程。
雷場初始結構分布是由大規模布撒來完成的。用于封鎖的兩個地雷間的距離小于等于兩倍的最小殺傷半徑,各個節點圍成等邊三角形封鎖,封鎖邊長為l。運行布雷函數來模擬布撒雷場結果(見圖7)。

圖7 初始雷場分布Fig.7 The initialize distributing of minefields
從圖7可以看出:每個節點周圍劃分出6個均等的扇區,以封鎖邊長l為兩“鄰居”節點的距離,按照正六邊形結構設定每個扇區內只有一個“鄰居”節點,這樣節點在其所有探測扇區內共可探測到6個“鄰居”節點,分別對6個方向進行封鎖。
掃雷程序運行后雷場被徹底掃通,出現掃雷通路。雷場被掃雷通路分為互不相連的兩部分(見圖8)。

圖8 掃雷后雷場分布Fig.8 Minefields distributing after mine sweeping
雷場被徹底掃通后,由于“缺口黑板模型”只掌握了缺口的縱向信息,因此被分開的兩部分雷場首先進行了探索修復與對方建立連接進而掌握缺口的橫向信息。
當運行修復程序后,被分割的兩部分雷場首先進行橫向探索修復與對方建立連接,通過信息融合掌握缺口的全局信息并計算缺口面積,橫向修復后的結果如圖9所示。

圖9 橫向探索修復Fig.9 Landscape orientation explore repair
從圖9可以看出:被截斷的兩部分雷場進行橫向探索修復時,首先把雷場缺口最底部的邊界節點激活,激活的兩個節點分別在各自的雷場內尋找可用的修復節點進行橫向移動修復,當兩個方向的修復節點建立連接后橫向修復完成。
隨著修復函數的繼續運行,由修復公式計算出的修復位置坐標傳遞給各個邊界節點,距修復坐標最近的邊界節點尋找可用修復節點進行修復。修復后的雷場分布如圖10所示。

圖10 修復后雷場分布Fig.10 Minefields distributing after repairing
從圖10可以看出:缺口邊界各節點找到了合適的修復節點并進行了移動修復,勢必會對原雷場結構造成影響,但不會對原封鎖區域的封鎖效果和通信能力造成功能性破壞。原封鎖區域通過相鄰節點的傳遞仍可以和其他節點進行通信,修復節點移動后的無雷方向仍被封鎖。
修復過程顯示,修復函數運行前,雷場共被掃去40顆雷,修復函數運行后,雷場僅向缺口區域移動了9顆雷進行封鎖,在保持雷場能夠進行有效封鎖和通信的基礎上,達到了移動次數最少,避免修復節點多次跳躍的目的。
本文提出了基于智能Agent的雷場自修復策略,該策略引入智能Agent體系,利用“缺口黑板模型”進行缺口信息融合,修復算法以節點最少移動為原則進行缺口修復。仿真結果表明:該修復策略能對缺口信息作出快速反應,進行全局規劃修復,避免了修復節點的多次跳躍。考慮到多次掃雷的情況,雷場不斷修復后的封鎖效能問題有待進一步研究。
[1]Tho msa W Altshuler.The self healing minefield program[EB/OL].[2011-09-20]http:// www.darpa.mil/ato/programs/SH M/index.ht ml.
[2]吳勝,王書芹.人工智能基礎與應用[M].北京:電子工業出版社,2007.
[3]王宏生,孟國艷.人工智能及其應用[M].北京:國防工業出版社,2009.
[4]秦棟澤,聶宏斌,陸世杰,等.自修復雷場自修復能力分析[J].中北大學學報,2009,30(2):143-146.QIN Dongge,NIE Hongbin,LU Shijie,et al.Analysis self-healing capacity of the self-healing minefield[J].Journal of North University of China,2009,30(2):143-146.