梁聰聰,焦國(guó)太,張 可,陳建文
(中北大學(xué)機(jī)電工程學(xué)院,山西 太原 030051)
傳統(tǒng)的雷場(chǎng)一旦部署就無法調(diào)整,在現(xiàn)代多種掃雷手段面前,已經(jīng)達(dá)不到理想的封鎖效果。為解決上述問題,智能自修復(fù)雷場(chǎng)中各個(gè)地雷不但具有自主移動(dòng)能力,而且具有目標(biāo)識(shí)別、定位和通信能力,一旦雷場(chǎng)因作戰(zhàn)消耗或敵方掃雷出現(xiàn)缺口,雷場(chǎng)能判斷缺口,根據(jù)相應(yīng)的修復(fù)策略自主移動(dòng)地雷填補(bǔ)缺口,重新恢復(fù)對(duì)作戰(zhàn)區(qū)域的封鎖[1]。
目前自修復(fù)雷場(chǎng)系統(tǒng)由美國(guó)幾家公司共同研究,美國(guó)Sandia公司采取的修復(fù)策略為蜂窩式修復(fù),該方案最終達(dá)到的理想效果是節(jié)點(diǎn)之間為無縫分布,即兩節(jié)點(diǎn)間的距離為期望距離,多節(jié)點(diǎn)組成期望的分布結(jié)構(gòu),但該方案要使封鎖區(qū)域所有節(jié)點(diǎn)連續(xù)多次跳躍才能達(dá)到期望分布。美國(guó)SAIC公司提出多模式修復(fù)的策略,根據(jù)節(jié)點(diǎn)掌握雷場(chǎng)缺口信息的多少來采用不同的修復(fù)策略。當(dāng)雷場(chǎng)缺口信息全部可知時(shí),采用缺口定位模式;當(dāng)雷場(chǎng)缺口信息部分可知時(shí),采用鄰居節(jié)點(diǎn)修復(fù)模式;當(dāng)雷場(chǎng)缺口信息很少或不可知時(shí),采用隨機(jī)跳動(dòng)修復(fù)模式。該方案對(duì)缺口信息有依賴性,對(duì)缺口的信息融合有較高要求[1]。
針對(duì)雷場(chǎng)多次跳躍引起的修復(fù)效率問題,本文引入智能代理(Agent)體系,提出基于智能Agent的雷場(chǎng)自修復(fù)策略。
智能Agent是代表一切具有智能(無論自然智能,還是人工智能)的實(shí)體的一個(gè)抽象名詞,因此,它可描述機(jī)器人、智能設(shè)備、智能軟件等。智能Agent置身于某種環(huán)境中,通過傳感器感知環(huán)境,通過效應(yīng)器作用于環(huán)境。智能gent不能在環(huán)境中單獨(dú)存在,而要與多個(gè)智能Agent在同一環(huán)境中協(xié)同工作,協(xié)同的手段是相互通信,但每個(gè)智能Agent都是主動(dòng)、自治地工作。它具有以下四個(gè)特征:1)自治性,A-gent可以在沒有人或其他Agent直接干預(yù)的情況下運(yùn)作,而且對(duì)自己的行為和內(nèi)部狀態(tài)有某種控制能力;2)社會(huì)性,Agent和其他Agent通過某種A-gent語言進(jìn)行信息交流;3)反應(yīng)性,Agent能夠理解周圍的環(huán)境,并對(duì)環(huán)境的變化作出實(shí)時(shí)響應(yīng);4)能動(dòng)性,Agent不僅簡(jiǎn)單地對(duì)環(huán)境作出反應(yīng),也能夠通過接受某些啟動(dòng)信息,表現(xiàn)出有目的的行為[2]。
“黑板模型”是一種已經(jīng)被廣泛使用的協(xié)調(diào)方法,并且相應(yīng)的技術(shù)已較為成熟。黑板系統(tǒng)采用合適的結(jié)構(gòu)支持分布式問題求解。在多Agent系統(tǒng)中,黑板提供公共工作區(qū),Agent可以交換信息、數(shù)據(jù)和知識(shí)?!昂诎迥P汀敝饕伞昂诎濉?、知識(shí)源和控制機(jī)構(gòu)三大部分組成,結(jié)構(gòu)如圖1所示。
圖1 黑板模型圖Fig.1 Blackboard model
1)黑板
所謂“黑板”,就是一個(gè)分層的全局工作區(qū)(或稱全局?jǐn)?shù)據(jù)庫)。它用來存儲(chǔ)初始數(shù)據(jù)、中間結(jié)果和最終結(jié)果。整個(gè)黑板被分為若干層,每一層用于描述領(lǐng)域問題的某一類信息。高層信息可以看作是下層信息的抽象(或整體),反之,下層信息可以看作是上層信息的實(shí)例(或部分)。
2)知識(shí)源
所謂知識(shí)源,就是一個(gè)知識(shí)模塊。黑板結(jié)構(gòu)中具有多個(gè)知識(shí)源,每個(gè)知識(shí)源能用來完成某些特定的解題功能。知識(shí)源可以表示完成過程、規(guī)則集或邏輯斷言等形式。知識(shí)源之間互相獨(dú)立,它們只能通過黑板進(jìn)行通訊和互相調(diào)用。
3)控制機(jī)構(gòu)
控制機(jī)構(gòu)是求解問題的推理機(jī)構(gòu),由監(jiān)督程序和調(diào)度程序組成。監(jiān)督程序時(shí)刻注視著黑板狀態(tài),根據(jù)黑板狀態(tài)采用某種策略選擇合適的知識(shí)源。調(diào)度程序通過選擇所謂“聚焦”來優(yōu)先使用隊(duì)列中最重要、最有希望的知識(shí)源來執(zhí)行[3]。
多Agent系統(tǒng)已獲得十分廣泛的應(yīng)用,涉及機(jī)器人協(xié)調(diào)、過程控制、遠(yuǎn)程通信等。移動(dòng)機(jī)器人系統(tǒng),其協(xié)調(diào)十分重要。機(jī)器人足球比賽是一種典型的協(xié)調(diào)多Agent系統(tǒng)。在比賽中,多機(jī)器人系統(tǒng)利用全局信息、知識(shí)和技能,通過多Agent系統(tǒng)協(xié)調(diào)作用,合作完成單機(jī)器人無法獨(dú)立完成的復(fù)雜任務(wù)[3]。
針對(duì)目前雷場(chǎng)修復(fù)策略下修復(fù)能力有限問題,本文引入智能Agent體系,分析缺口狀態(tài)并進(jìn)行有針對(duì)性的修復(fù)。采用“黑板模型”進(jìn)行缺口信息的融合,提高信息融合效率。當(dāng)偵測(cè)到雷場(chǎng)有缺口產(chǎn)生時(shí),封鎖區(qū)域通過“缺口黑板”進(jìn)行缺口信息融合,修復(fù)算法依據(jù)節(jié)點(diǎn)在缺口中的位置給出各節(jié)點(diǎn)的運(yùn)動(dòng)公式。這一過程各個(gè)節(jié)點(diǎn)均相當(dāng)于一個(gè)智能Agent,并與其他節(jié)點(diǎn)實(shí)時(shí)交流修復(fù)進(jìn)程,多節(jié)點(diǎn)共同協(xié)作完成修復(fù)任務(wù)。
在研究雷場(chǎng)自修復(fù)策略前,對(duì)雷場(chǎng)各地雷節(jié)點(diǎn)作如下假設(shè):1)假設(shè)每個(gè)地雷可以實(shí)時(shí)確定自己的雷場(chǎng)坐標(biāo);2)假設(shè)地雷節(jié)點(diǎn)基于扇區(qū)接受它周圍地雷的無線電信號(hào),設(shè)定每個(gè)地雷具有6個(gè)探測(cè)扇區(qū),地雷接受探測(cè)扇區(qū)內(nèi)所有的地雷節(jié)點(diǎn)信號(hào),通過地雷坐標(biāo)和雷場(chǎng)結(jié)構(gòu)模型分析出“鄰居”節(jié)點(diǎn),地雷與“鄰居”節(jié)點(diǎn)建立連接,將其納入雷場(chǎng)網(wǎng)絡(luò),并通過“鄰居”節(jié)點(diǎn)與其他節(jié)點(diǎn)進(jìn)行通信;3)假設(shè)每個(gè)地雷靠跳躍移動(dòng),在其6個(gè)方向上有6個(gè)微型火箭(一種跳躍機(jī)構(gòu),包括可控的火藥點(diǎn)火裝置),這樣在雷場(chǎng)范圍內(nèi),地雷節(jié)點(diǎn)在有限的方向上具有可控的移動(dòng)能力[4]。
在雷場(chǎng)中,每個(gè)地雷節(jié)點(diǎn)都是一個(gè)智能Agent,它能探測(cè)到周圍節(jié)點(diǎn)的變化,并能判斷出缺口大小和方位。每個(gè)節(jié)點(diǎn)探測(cè)到的是缺口的部分信息,通過與其他節(jié)點(diǎn)交換缺口信息并進(jìn)行信息融合,Agent節(jié)點(diǎn)可知缺口的輪廓和方位,并分析缺口模型,確定自己在缺口中的位置,最后根據(jù)相應(yīng)的修復(fù)策略進(jìn)行修復(fù)。在分析雷場(chǎng)修復(fù)環(huán)境的基礎(chǔ)上,本文提出了一種以自修復(fù)算法驅(qū)動(dòng)Agent動(dòng)作的雷場(chǎng)Agent節(jié)點(diǎn)模型(見圖2)。
圖2 策略驅(qū)動(dòng)的Agent節(jié)點(diǎn)結(jié)構(gòu)框圖Fig.2 Agent node frame
通信與協(xié)作是實(shí)現(xiàn)多個(gè)Agent地雷節(jié)點(diǎn)之間進(jìn)行協(xié)同修復(fù)工作的關(guān)鍵。各個(gè)Agent地雷節(jié)點(diǎn)之間的通信是通過Agent間的交互來實(shí)現(xiàn)。目前智能Agent的通信及協(xié)作方式,基本上可以分為“黑板模型”和“消息傳遞”兩種方式:第一類是廣播通信形式,屬同步消息傳遞,把消息放在廣泛可取的黑板上,每個(gè)Agent均可以向黑板發(fā)送消息,也可以從黑板讀取信息;第二類是消息傳遞通信方式,屬于異步消息傳遞,即一個(gè)Agent可以向一個(gè)或多個(gè)Agent發(fā)送消息,采用點(diǎn)對(duì)點(diǎn)的傳遞方式。
根據(jù)雷場(chǎng)的結(jié)構(gòu)及通信方式,本文中的地雷Agent節(jié)點(diǎn)采取“消息傳遞”與 “黑板模型”相結(jié)合的通信機(jī)制。雷場(chǎng)主體通信采用“消息傳遞”的點(diǎn)對(duì)點(diǎn)傳遞方式,當(dāng)出現(xiàn)缺口時(shí),缺口邊界節(jié)點(diǎn)建立“缺口黑板模型”來存放缺口信息,各邊界節(jié)點(diǎn)對(duì)“缺口黑板模型”進(jìn)行缺口信息的融合及更新,并將“缺口黑板模型”傳遞給其周圍的邊界節(jié)點(diǎn)。當(dāng)“缺口黑板模型”遍歷整個(gè)缺口邊界的節(jié)點(diǎn)后,“黑板模型”便掌握了缺口的邊界信息,最后將信息告知缺口邊界的各個(gè)節(jié)點(diǎn)(見圖3)。
圖3 節(jié)點(diǎn)的通信機(jī)制Fig.3 Node communication mechanism
雷場(chǎng)的修復(fù)算法以節(jié)點(diǎn)最少移動(dòng)來減少能耗為原則對(duì)缺口進(jìn)行修復(fù),即在封鎖住缺口的前提下,以節(jié)點(diǎn)的移動(dòng)次數(shù)最小和移動(dòng)距離最短為原則。修復(fù)后的節(jié)點(diǎn)應(yīng)與雷場(chǎng)建立連接,以通知缺口的修復(fù)情況。針對(duì)雷場(chǎng)的點(diǎn)對(duì)點(diǎn)通信方式,移動(dòng)后的修復(fù)節(jié)點(diǎn)應(yīng)與最近的雷場(chǎng)節(jié)點(diǎn)保持在雷場(chǎng)通信距離l內(nèi)(雷場(chǎng)封鎖邊長(zhǎng)),以便與雷場(chǎng)進(jìn)行通信。因此,在矩形缺口區(qū)域內(nèi),按雷場(chǎng)結(jié)構(gòu)和通信距離進(jìn)行斜線封鎖 (見圖4)。
圖4 修復(fù)策略圖Fig.4 Repair strategy
“缺口黑板模型”經(jīng)信息融合之后便可計(jì)算出缺口的縱向深度L和橫向?qū)挾萕(L>W(wǎng)),修復(fù)算法依據(jù)L和W 計(jì)算出修復(fù)位置的坐標(biāo)。雷場(chǎng)坐標(biāo)采用第一象限,選取邊界節(jié)點(diǎn)為基點(diǎn),通過迭代依次計(jì)算出個(gè)修復(fù)位置的坐標(biāo)。
當(dāng)n=NW時(shí),修復(fù)斜線已經(jīng)到達(dá)缺口邊界,計(jì)算出此時(shí)的修復(fù)坐標(biāo)(xn,yn),選取與此坐標(biāo)誤差最小的一個(gè)邊界節(jié)點(diǎn)的坐標(biāo)來代替(xn,yn),進(jìn)行誤差校正。并采用式(2)進(jìn)行反向修復(fù)。
當(dāng)n為NW的整數(shù)倍時(shí),就進(jìn)行一次修復(fù)坐標(biāo)的誤差校正和式(1)、式(2)的交替選?。ㄒ妶D5)。
圖5 修復(fù)位置坐標(biāo)計(jì)算原理圖Fig.5 Coor dinate calculate principle
當(dāng)雷場(chǎng)出現(xiàn)缺口時(shí),缺口邊界各Agent節(jié)首先進(jìn)行橫向修復(fù)并建立“缺口黑板模型”,“缺口黑板模型”在信息融合后把缺口的全局信息提供給修復(fù)算法,修復(fù)算法計(jì)算出修復(fù)位置坐標(biāo)后,通過“缺口黑板模型”傳遞給各缺口邊界節(jié)點(diǎn)并進(jìn)行修復(fù)。修復(fù)過程如圖6所示。
圖6 修復(fù)流程圖Fig.6 Repair flow chart
雷場(chǎng)修復(fù)能力仿真程序采用C++語言編寫。每個(gè)地雷節(jié)點(diǎn)用圓圈表示,分別編寫布雷、掃雷和修復(fù)函數(shù)來模擬雷場(chǎng)的修復(fù)過程。
雷場(chǎng)初始結(jié)構(gòu)分布是由大規(guī)模布撒來完成的。用于封鎖的兩個(gè)地雷間的距離小于等于兩倍的最小殺傷半徑,各個(gè)節(jié)點(diǎn)圍成等邊三角形封鎖,封鎖邊長(zhǎng)為l。運(yùn)行布雷函數(shù)來模擬布撒雷場(chǎng)結(jié)果(見圖7)。
圖7 初始雷場(chǎng)分布Fig.7 The initialize distributing of minefields
從圖7可以看出:每個(gè)節(jié)點(diǎn)周圍劃分出6個(gè)均等的扇區(qū),以封鎖邊長(zhǎng)l為兩“鄰居”節(jié)點(diǎn)的距離,按照正六邊形結(jié)構(gòu)設(shè)定每個(gè)扇區(qū)內(nèi)只有一個(gè)“鄰居”節(jié)點(diǎn),這樣節(jié)點(diǎn)在其所有探測(cè)扇區(qū)內(nèi)共可探測(cè)到6個(gè)“鄰居”節(jié)點(diǎn),分別對(duì)6個(gè)方向進(jìn)行封鎖。
掃雷程序運(yùn)行后雷場(chǎng)被徹底掃通,出現(xiàn)掃雷通路。雷場(chǎng)被掃雷通路分為互不相連的兩部分(見圖8)。
圖8 掃雷后雷場(chǎng)分布Fig.8 Minefields distributing after mine sweeping
雷場(chǎng)被徹底掃通后,由于“缺口黑板模型”只掌握了缺口的縱向信息,因此被分開的兩部分雷場(chǎng)首先進(jìn)行了探索修復(fù)與對(duì)方建立連接進(jìn)而掌握缺口的橫向信息。
當(dāng)運(yùn)行修復(fù)程序后,被分割的兩部分雷場(chǎng)首先進(jìn)行橫向探索修復(fù)與對(duì)方建立連接,通過信息融合掌握缺口的全局信息并計(jì)算缺口面積,橫向修復(fù)后的結(jié)果如圖9所示。
圖9 橫向探索修復(fù)Fig.9 Landscape orientation explore repair
從圖9可以看出:被截?cái)嗟膬刹糠掷讏?chǎng)進(jìn)行橫向探索修復(fù)時(shí),首先把雷場(chǎng)缺口最底部的邊界節(jié)點(diǎn)激活,激活的兩個(gè)節(jié)點(diǎn)分別在各自的雷場(chǎng)內(nèi)尋找可用的修復(fù)節(jié)點(diǎn)進(jìn)行橫向移動(dòng)修復(fù),當(dāng)兩個(gè)方向的修復(fù)節(jié)點(diǎn)建立連接后橫向修復(fù)完成。
隨著修復(fù)函數(shù)的繼續(xù)運(yùn)行,由修復(fù)公式計(jì)算出的修復(fù)位置坐標(biāo)傳遞給各個(gè)邊界節(jié)點(diǎn),距修復(fù)坐標(biāo)最近的邊界節(jié)點(diǎn)尋找可用修復(fù)節(jié)點(diǎn)進(jìn)行修復(fù)。修復(fù)后的雷場(chǎng)分布如圖10所示。
圖10 修復(fù)后雷場(chǎng)分布Fig.10 Minefields distributing after repairing
從圖10可以看出:缺口邊界各節(jié)點(diǎn)找到了合適的修復(fù)節(jié)點(diǎn)并進(jìn)行了移動(dòng)修復(fù),勢(shì)必會(huì)對(duì)原雷場(chǎng)結(jié)構(gòu)造成影響,但不會(huì)對(duì)原封鎖區(qū)域的封鎖效果和通信能力造成功能性破壞。原封鎖區(qū)域通過相鄰節(jié)點(diǎn)的傳遞仍可以和其他節(jié)點(diǎn)進(jìn)行通信,修復(fù)節(jié)點(diǎn)移動(dòng)后的無雷方向仍被封鎖。
修復(fù)過程顯示,修復(fù)函數(shù)運(yùn)行前,雷場(chǎng)共被掃去40顆雷,修復(fù)函數(shù)運(yùn)行后,雷場(chǎng)僅向缺口區(qū)域移動(dòng)了9顆雷進(jìn)行封鎖,在保持雷場(chǎng)能夠進(jìn)行有效封鎖和通信的基礎(chǔ)上,達(dá)到了移動(dòng)次數(shù)最少,避免修復(fù)節(jié)點(diǎn)多次跳躍的目的。
本文提出了基于智能Agent的雷場(chǎng)自修復(fù)策略,該策略引入智能Agent體系,利用“缺口黑板模型”進(jìn)行缺口信息融合,修復(fù)算法以節(jié)點(diǎn)最少移動(dòng)為原則進(jìn)行缺口修復(fù)。仿真結(jié)果表明:該修復(fù)策略能對(duì)缺口信息作出快速反應(yīng),進(jìn)行全局規(guī)劃修復(fù),避免了修復(fù)節(jié)點(diǎn)的多次跳躍。考慮到多次掃雷的情況,雷場(chǎng)不斷修復(fù)后的封鎖效能問題有待進(jìn)一步研究。
[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]吳勝,王書芹.人工智能基礎(chǔ)與應(yīng)用[M].北京:電子工業(yè)出版社,2007.
[3]王宏生,孟國(guó)艷.人工智能及其應(yīng)用[M].北京:國(guó)防工業(yè)出版社,2009.
[4]秦棟澤,聶宏斌,陸世杰,等.自修復(fù)雷場(chǎng)自修復(fù)能力分析[J].中北大學(xué)學(xué)報(bào),2009,30(2):143-146.QIN Dongge,NIE Hongbin,LU Shijie,et al.Analysis self-h(huán)ealing capacity of the self-h(huán)ealing minefield[J].Journal of North University of China,2009,30(2):143-146.