劉雅麗,高立娥,李 樂,郭利偉,劉衛(wèi)東
(西北工業(yè)大學(xué) 航海學(xué)院,西安 710072)
水下爬游機(jī)器人具有爬行與巡游兩種運(yùn)動模式,它可以幫助或替代人類完成一些難度較高、危險(xiǎn)的水下作業(yè)任務(wù)[1]。由于單個爬游機(jī)器人存在攜帶資源有限、獲取和處理信息能力有限等問題,導(dǎo)致其在執(zhí)行復(fù)雜多樣的任務(wù)時遇到挑戰(zhàn),因此爬游機(jī)器人集群為完成水下復(fù)雜作業(yè)提供了一種有效途徑[2-4]。多機(jī)器人任務(wù)分配(MRTA,multi robot task allocation)問題是集群協(xié)同作業(yè)的關(guān)鍵之一[5-7]。在多爬游機(jī)器人系統(tǒng)中,各爬游機(jī)器人之間通過信息交互、相互合作的方式完成水下作業(yè)任務(wù)。
目前,用于MRTA問題的算法主要有群體智能優(yōu)化算法、市場拍賣算法、神經(jīng)網(wǎng)絡(luò)算法等。市場拍賣算法較群體智能優(yōu)化算法而言計(jì)算簡單,能夠得到全局最優(yōu)分配結(jié)果,但魯棒性弱且對系統(tǒng)配置要求較高。群體智能優(yōu)化算法包括粒子群算法、蟻群算法、遺傳算法等。文獻(xiàn)[8]引入資源均衡函數(shù),采用粒子群蟻群混合算法求解了異構(gòu)多AUV任務(wù)分配中資源配置問題。文獻(xiàn)[9]提出了一種基于自組織映射(SOM)神經(jīng)網(wǎng)絡(luò)的雙競爭策略算法能夠較好地實(shí)現(xiàn)水下機(jī)器人之間的任務(wù)分配。文獻(xiàn)[10]為了滿足實(shí)時系統(tǒng)的約束條件,提出了一種混合最大最小蟻群優(yōu)化算法(H-MMAS)。將H-MMAS進(jìn)行擴(kuò)展,引入局部搜索啟發(fā)式算法,改進(jìn)了任務(wù)分配算法。由于蟻群算法具備正反饋特點(diǎn),全局搜索性較好。針對任務(wù)分配問題,本文采用蟻群優(yōu)化算法進(jìn)行求解。但是多水下爬游機(jī)器人執(zhí)行任務(wù)時也存在著一系列的問題,如機(jī)器人之間水下通信問題、協(xié)調(diào)合作機(jī)制等[11-12]。本文針對通信問題研究了異構(gòu)爬游機(jī)器人在通信距離約束條件下的任務(wù)分配情況。
可靠高效通信是多水下爬游機(jī)器人順利完成任務(wù)必不可少的條件。就目前而言,以聲波為載體的水聲通信是實(shí)現(xiàn)水下通信的主要形式。由于水介質(zhì)吸收聲信號的特性,導(dǎo)致水聲信道帶寬窄[13]。通信質(zhì)量與距離不可兼得,而且海洋環(huán)境噪聲影響嚴(yán)重,所以水聲通信的傳輸距離具有一定的限制。當(dāng)多水下機(jī)器人中所有個體構(gòu)成的通信圖為非連通時,機(jī)器人獲得不完整的信息會影響水下機(jī)器人的任務(wù)完成進(jìn)度。為了減小通信環(huán)境對水下爬游機(jī)器人執(zhí)行任務(wù)效率的影響,所以需要多水下爬游機(jī)器人之間時刻保持通信。針對弱水下通信環(huán)境多AUV任務(wù)分配問題,文獻(xiàn)[14]建立了基于可變時延的多AUV任務(wù)分配框架,提出了通信中斷情況下機(jī)器人應(yīng)采取的策略。文獻(xiàn)[2]針對無人艇USV的能耗和通信范圍的兩個關(guān)鍵問題,提出了一種新的能量協(xié)調(diào)方案和任務(wù)優(yōu)先排序方法,完成了多USV系統(tǒng)的任務(wù)分配問題。文獻(xiàn)[15]研究了有限通信下多AUV編隊(duì)控制,提出了領(lǐng)導(dǎo)者編隊(duì)模式。領(lǐng)導(dǎo)者與每個AUV建立單向通信來維持編隊(duì)形成,大大降低了通信能耗。文獻(xiàn)[16]研究了強(qiáng)化學(xué)習(xí)下的多AUV軌跡規(guī)劃。由于AUV-到達(dá)最后一個路徑點(diǎn)時需要將其現(xiàn)場樣本發(fā)送到一個接入點(diǎn),因此AUV必須至少在一個接入點(diǎn)的通信范圍內(nèi)。在此通信、運(yùn)動學(xué)等約束下實(shí)現(xiàn)了多AUV軌跡規(guī)劃。文獻(xiàn)[17]研究了通過AUV,UAV,USV之間協(xié)作完成水下目標(biāo)搜索跟蹤任務(wù)。文中要求UAV與USV、USV與AUV之間的距離小于要求范圍。以上文獻(xiàn)從不同角度研究了弱水下通信情況下集群任務(wù)規(guī)劃問題,卻未保證執(zhí)行任務(wù)時多水下機(jī)器人通信圖能夠時刻保持連通的問題。文獻(xiàn)[18]研究了通信距離、角度等約束情況下的多無人機(jī)目標(biāo)分配。文獻(xiàn)[19]針對通信范圍有限的多分散機(jī)器人任務(wù)分配問題,提出了基于STST (single-traveling-salesman tour)的分布式算法和RBA(rendezvous-based algorithm)集中式方法在有限航程距離內(nèi)訪問所有目標(biāo)位置而不需考慮機(jī)器人通信范圍。文獻(xiàn)[20]設(shè)計(jì)觀察到同一目標(biāo)的兩個機(jī)器人之間可以進(jìn)行相互通信。在有限通信情況下研究了一組移動機(jī)器人對多運(yùn)動目標(biāo)跟蹤問題。上述文獻(xiàn)研究了無人機(jī)與陸上機(jī)器人的通信問題。水下的通信環(huán)境較空中的通信環(huán)境差,以上文獻(xiàn)研究方法在應(yīng)用于水下機(jī)器人集群時受到挑戰(zhàn)。本文則針對多水下爬游機(jī)器人執(zhí)行任務(wù)時通信距離受限的情況,使用互通與單通兩種方法研究了距離約束條件,而且解決了多水下機(jī)器人通信圖不連通的問題。在任意時刻,任意一個爬游機(jī)器人都可以與其他爬游機(jī)器人進(jìn)行通信從而保證整個集群獲得全局信息,提高任務(wù)完成效率。
本文主要研究通信距離約束條件下異構(gòu)多水下爬游機(jī)器人的任務(wù)分配問題。在通信距離、航程等約束條件下,將爬游機(jī)器人的總航行距離作為評價任務(wù)分配優(yōu)劣的準(zhǔn)則,采用蟻群算法進(jìn)行優(yōu)化求解,最終解決了異構(gòu)多水下爬游機(jī)器人的任務(wù)分配問題。
異構(gòu)多水下爬游機(jī)器人任務(wù)分配問題是指由N個異構(gòu)爬游機(jī)器人執(zhí)行M個不同的任務(wù),通過決定各爬游機(jī)器人完成任務(wù)的特定序列實(shí)現(xiàn)所給定目標(biāo)函數(shù)最小。異構(gòu)多水下爬游機(jī)器人任務(wù)分配可以建模為一個四元組{CR,task,C,f}。CR={CR1,CR2,…,CRN}表示爬游機(jī)器人集合。每個爬游機(jī)器人包含其位置,速度,最長運(yùn)動時間,最大航程等基本信息。task={task1,task2,…,taskM}表示任務(wù)集合。每個任務(wù)應(yīng)包含其位置,完成任務(wù)所需時間,任務(wù)類型等基本參數(shù)。C表示約束條件集合。f表示任務(wù)分配系統(tǒng)的目標(biāo)函數(shù),本文所考慮的目標(biāo)函數(shù)為爬游機(jī)器人在完成任務(wù)的前提下所航行總距離最小。
任務(wù)分配方案需要通過指標(biāo)進(jìn)行評價,本文所建立的任務(wù)分配模型將水下爬游機(jī)器人完成任務(wù)需要的總航行距離作為評價指標(biāo)。所建立的目標(biāo)函數(shù)如下所示:
(1)
其中:D(CRi)表示爬游機(jī)器人i的航行距離。
任務(wù)分配時,異構(gòu)多水下爬游機(jī)器人被分配不同的任務(wù),為了可以實(shí)現(xiàn)總體效能值最優(yōu),建立的約束條件如下:
1.3.1 通信距離約束
多水下爬游機(jī)器人通過水聲通信獲取彼此間的位置、執(zhí)行任務(wù)情況等信息。由于水聲通信固有特性,而且爬游機(jī)器人的通信設(shè)備能力有限,導(dǎo)致爬游機(jī)器人的通信能力具有一定的限制,水下爬游機(jī)器人的通信范圍如圖1所示。為了保證爬游機(jī)器人在執(zhí)行任務(wù)過程中一直可以進(jìn)行信息交互,使用單通和互通兩種不同方式建立以下通信約束條件。
圖1 爬游機(jī)器人通信范圍
(2)
其中:R(i,j)表示水下機(jī)器人i與機(jī)器人j是否可以通信。R(i,j)=1表示機(jī)器人j在機(jī)器人i的通信距離范圍內(nèi)即機(jī)器人i可以向機(jī)器人j發(fā)送信息。R(i,j)則相反。rc(i)為機(jī)器人i的最大通信距離。D(i,j)表示爬游機(jī)器人i與機(jī)器人j之間的距離。
1)互通:
為了減小通信環(huán)境對水下爬游機(jī)器人工作效率的影響,需要爬游機(jī)器人之間可以時刻保持通信,所以建立互通通信約束條件來滿足爬游機(jī)器人的通信需求。任意時刻任意兩個爬游機(jī)器人之間的距離小于最大通信范圍時可以相互通信。設(shè)定在k(k=1,2,…,K)時刻多水下爬游機(jī)器人中任意一個機(jī)器人j(j=1,2,…,N且j≠i)在機(jī)器人i(i=1,2,…,N)的通信范圍內(nèi),此時兩個機(jī)器人可以實(shí)現(xiàn)互通。
?i,?j(j≠i),R(i,j,k)=1,i=(1,2,...,N),
j=(1,2,...,N),k=(1,2,...,K)
(3)
k=t/Δt
(4)
其中:t為機(jī)器人運(yùn)行時間,Δt為時間步長。
2)單通:
雖然互通情況下通信距離約束條件可以滿足爬游機(jī)器人之間時刻保持通信的要求,但是任意兩個爬游機(jī)器人之間距離都小于最大通信距離的約束性較強(qiáng),所以考慮建立單通情況下通信距離約束條件。單通約束條件要求在任意時刻任意一個爬游機(jī)器人可以與其他爬游機(jī)器人中任意一個爬游機(jī)器人進(jìn)行通信即可。為了保證機(jī)器人之間順利通信,在k時刻,至少有一個機(jī)器人j位于機(jī)器人i的通信范圍內(nèi)。建立相應(yīng)表達(dá)式如下:
?i,?j(j≠i),R(i,j,k)=1,i=(1,2,...,N),
j=(1,2,...,N),k=(1,2,...,K)
(5)
3)非連通通信圖:
由于單通下的距離約束條件中可能出現(xiàn)部分水下爬游機(jī)器人出現(xiàn)局部孤立的情況,本文采用遍歷搜索方法解決此問題。根據(jù)搜索路徑,遍歷搜索方法包括深度優(yōu)先搜索算法與廣度優(yōu)先搜索算法。本文所采用的廣度優(yōu)先搜索算法是以廣度優(yōu)先的方式遍歷整個圖,使用隊(duì)列來實(shí)現(xiàn)搜索,從樹的根節(jié)點(diǎn)開始,沿其寬度遍歷所有節(jié)點(diǎn)。
任意時刻k,廣度優(yōu)先算法多水下爬游機(jī)器人非連通圖檢測流程包括如下步驟:
設(shè)定訪問標(biāo)志Vlog(i)=1時表示第i節(jié)點(diǎn)已被訪問,Vlog(i)=0表示該節(jié)點(diǎn)未被訪問。
step 1:假設(shè)初始狀態(tài)所有頂點(diǎn)均未被訪問Vlog(i)=0;
step 2:任意選取一個節(jié)點(diǎn)V作為搜索的起點(diǎn),遍歷節(jié)點(diǎn)V的所有相鄰節(jié)點(diǎn),并將未被訪問過的相鄰節(jié)點(diǎn)放入緩存隊(duì)列中,將已訪問過的節(jié)點(diǎn)放入結(jié)果隊(duì)列中。
step 3:取出丟棄緩存隊(duì)列中的首位節(jié)點(diǎn)并訪問其相鄰節(jié)點(diǎn),將未被訪問的節(jié)點(diǎn)放入緩存隊(duì)列中,將已訪問過的節(jié)點(diǎn)放入結(jié)果隊(duì)列中。
step 4:循環(huán)步驟step 3,直至緩存隊(duì)列為空。
Step 5:判斷結(jié)果隊(duì)列是否遍歷所有節(jié)點(diǎn)。如果存在Vlog(i)=0,則k時刻通信圖為非連通圖,即此刻出現(xiàn)了局部機(jī)器人通信的情況。
1.3.2 執(zhí)行任務(wù)能力約束
一個水下爬游機(jī)器人同時只能執(zhí)行一個任務(wù)。
(6)
其中:x(i,j)為1則表示爬游機(jī)器人i執(zhí)行第j個任務(wù),0則相反。
1.3.3 航程約束
每個水下爬游機(jī)器人所攜帶的資源和續(xù)航能力有限,可以維系航行的最遠(yuǎn)距離有限。為了避免出現(xiàn)完成任務(wù)前能源耗盡的情況,建立如下的約束條件:
maxD_CR(i)≥
(7)
其中:D(CRi,task1)表示水下爬游機(jī)器人i到它所執(zhí)行第一個任務(wù)的距離,D(taskj,taskj+1)表示爬游機(jī)器人i所執(zhí)行任務(wù)中第j個任務(wù)與第j+1個任務(wù)的距離,tempi表示爬游機(jī)器人i所執(zhí)行任務(wù)的個數(shù),maxD_CR(i)表示水下爬游機(jī)器人i的最大航行距離。
1.3.4 時間約束
由于水下爬游機(jī)器人最大工作時間有限,所以要求機(jī)器人完成任務(wù)的時間不可以超出最大工作時間,建立如下的約束條件:
maxT_CR(i)≥
(8)
(9)
T(taskj,taskj+1)=
(10)
其中:T(CRi,task1)表示爬游機(jī)器人i到它所執(zhí)行第一個任務(wù)并完成此任務(wù)所需時間,T(taskj,taskj+1)表示爬游機(jī)器人i從任務(wù)j到達(dá)并完成下一任務(wù)的時間,maxT_CR(i)表示第i個爬游機(jī)器人的最長工作時間,V_CR(i)表示爬游機(jī)器人i的航行速度,T_task(j)表示完成任務(wù)j所需時間。
1.3.5 能力約束
單個水下爬游機(jī)器人能力有限,所以不同類型的任務(wù)需要特定的爬游機(jī)器人來執(zhí)行,如采樣任務(wù)需要帶有機(jī)械臂的爬游機(jī)器人來執(zhí)行,監(jiān)測任務(wù)則要求執(zhí)行此任務(wù)的爬游機(jī)器人帶有攝像頭。TK=[TK1,TK2,TK3]表示任務(wù)類型。TK1,TK2,TK3分別表示采樣任務(wù)、監(jiān)測任務(wù)、測掃任務(wù),如TK=[1 0 0]表示該任務(wù)為采樣任務(wù)。VK=[VK1,VK2,VK3]表示機(jī)器人類型。VK1,VK2,VK3則分別表示爬游機(jī)器人是否有機(jī)械臂、攝像頭、側(cè)掃聲吶,如VK=[1 0 0]表示機(jī)器人只帶有機(jī)械臂。為了保證爬游機(jī)器人可以成功完成不同類型的任務(wù),爬游機(jī)器人i能夠執(zhí)行任務(wù)j必須滿足的約束條件如下:
TKtaskj(l)≤VKCRi(l)l=1,2,3
(11)
綜合上述所建立的約束條件及目標(biāo)函數(shù),以實(shí)現(xiàn)總航程最短的多水下爬游機(jī)器人任務(wù)分配。
蟻群算法是由意大利學(xué)者M(jìn).Dorigo初次提出,它是一種模擬螞蟻尋覓食物的優(yōu)化算法。自然界螞蟻起初選擇路徑具有隨機(jī)性,當(dāng)尋找到食物之后會向環(huán)境中釋放一種具有揮發(fā)性的信息素。它們根據(jù)其濃度來獲得路徑遠(yuǎn)近的信息,進(jìn)行協(xié)作、交流,通過信息素?fù)]發(fā)、增強(qiáng),最終找到一條最短路徑。簡單而言,蟻群算法便是通過計(jì)算狀態(tài)轉(zhuǎn)移概率選擇下一個轉(zhuǎn)移節(jié)點(diǎn),從而逐漸走到終點(diǎn),經(jīng)過一次次迭代、信息素更新,最終找到一條從起點(diǎn)到終點(diǎn)的最短路徑。蟻群算法的兩個關(guān)鍵步驟為計(jì)算狀態(tài)轉(zhuǎn)移概率和更新信息素。
狀態(tài)轉(zhuǎn)移概率的計(jì)算與信息素濃度和啟發(fā)式信息有關(guān)。狀態(tài)轉(zhuǎn)移概率的表達(dá)式:
(12)
其中:pij表示螞蟻從節(jié)點(diǎn)i轉(zhuǎn)移到下一節(jié)點(diǎn)j的概率。allowed為未被訪問過的節(jié)點(diǎn)集合。τij表示節(jié)點(diǎn)i到節(jié)點(diǎn)j的信息素濃度值。α為信息素啟發(fā)因子,表示在螞蟻經(jīng)過的路徑上留下的信息素受重視的程度。β為期望啟發(fā)因子,表示在轉(zhuǎn)移節(jié)點(diǎn)時螞蟻遺留下來的啟發(fā)信息的重要程度。ηij則為啟發(fā)函數(shù),在本文選擇爬游機(jī)器人與任務(wù)的距離的倒數(shù)作為啟發(fā)函數(shù)。
更新信息素:蟻群算法完成一次循環(huán)之后要更新信息素的值。信息素更新表達(dá)式如下:
τij(t+1)=(1-ρ)τij(t)+Δτij(t+1)
(13)
(14)
ρ∈(0,1)為信息素?fù)]發(fā)系數(shù),代表信息素?fù)]發(fā)程度。Q為常量,Lk為第k只螞蟻完成搜索路線長度。
本文使用蟻群算法求解通信距離約束條件下的異構(gòu)機(jī)器人任務(wù)分配問題的流程如下。
Step1:初始化{CR1,CR2,...,CRn}、{task1,task2,...,taskm}位置、速度等信息以及蟻群算法相關(guān)參數(shù),如螞蟻數(shù)K,最大迭代次數(shù)NC_max、信息素啟發(fā)因子α、期望啟發(fā)因子β等。
step 2:forNC=1 toNC_max
step 3:fork=1 to K
step 4:為螞蟻k隨機(jī)選取未執(zhí)行的任務(wù);
step 5:由公式(7)計(jì)算,采用輪盤賭法為螞蟻k選擇下一節(jié)點(diǎn);
step 6:更新禁忌表,將已訪問的節(jié)點(diǎn)加入禁忌表;
step 7:end
step 8:If 滿足通信距離、航程等約束條件 then
step 9:記錄該次循環(huán)的最優(yōu)路徑;
step 10:end
step 11:按照公式(8),更新信息素;
step 12:end
step 13:輸出歷史目標(biāo)函數(shù)值最小的任務(wù)分配結(jié)果。
針對異構(gòu)多水下爬游機(jī)器人的任務(wù)分配問題,設(shè)置爬游機(jī)器人個數(shù)為N=5,任務(wù)個數(shù)為M=9。具體參數(shù)如表1、表2所示。蟻群優(yōu)化算法參數(shù)設(shè)置為:NC_max=100、K=30、α=4、β=7、ρ=0.5、Q=100。使用MATLAB軟件和蟻群算法工具包分別針對不同通信范圍情況下單通和互通兩種通信距離約束方法進(jìn)行仿真驗(yàn)證及分析。
表1 任務(wù)參數(shù)設(shè)置
表2 爬游機(jī)器人參數(shù)設(shè)置
為了驗(yàn)證互通與單通兩種通信距離約束方法,設(shè)定爬游機(jī)器人最大通信距離rc為[500,600,500,500,600]米。
3.1.1 互通情況仿真結(jié)果及分析
針對互通情況下的通信約束,本節(jié)對多水下爬游機(jī)器人任務(wù)分配問題仿真求解得到任務(wù)分配結(jié)果和相應(yīng)目標(biāo)函數(shù)變化情況如圖2和圖3所示。
圖2 互通情況下任務(wù)分配結(jié)果
圖3 目標(biāo)函數(shù)值變化情況
由圖2的分配結(jié)果可知爬游機(jī)器人在執(zhí)行任務(wù)具有順序。由于任務(wù)1、4、6均帶有采樣任務(wù),所以需要帶有機(jī)械臂的爬游機(jī)器人來執(zhí)行。任務(wù)3、8為測掃任務(wù),需要帶有側(cè)掃聲吶設(shè)備的機(jī)器人來執(zhí)行。最終分配結(jié)果為CR1執(zhí)行任務(wù)9,CR2執(zhí)行任務(wù)序列為5-1,CR3執(zhí)行任務(wù)7,CR5執(zhí)行任務(wù)序列為8-3-6-2-4。在滿足能力約束條件以及目標(biāo)函數(shù)最小的要求下,最終CR4并未分配任務(wù)。由圖3可知,當(dāng)算法循環(huán)迭代22次之后收斂,目標(biāo)函數(shù)取到最小值。在圖2的任務(wù)分配結(jié)果下,多水下爬游機(jī)器人完成任務(wù)的總航行距離達(dá)到最小,最小值為1 929 m。在此任務(wù)分配結(jié)果下,爬游機(jī)器人在執(zhí)行任務(wù)過程中的每一刻都可以保證與其他的爬游機(jī)器人進(jìn)行通信,且多爬游機(jī)器人所運(yùn)動的距離最短。
3.1.2 單通情況仿真結(jié)果與分析
針對單通情況下的通信約束,本節(jié)對多水下爬游機(jī)器人任務(wù)分配問題仿真求解得到任務(wù)分配結(jié)果和相應(yīng)目標(biāo)函數(shù)變化情況如圖4和圖5所示。
圖4 單通情況下任務(wù)分配結(jié)果
圖5 目標(biāo)函數(shù)值變化情況
圖4表示最終分配結(jié)果為CR1執(zhí)行任務(wù)序列為9-2,CR2執(zhí)行任務(wù)序列為5-1,CR3執(zhí)行任務(wù)7,CR5執(zhí)行任務(wù)序列為8-3-6-4。在滿足能力約束條件以及目標(biāo)函數(shù)最小的要求下,最終CR4并未分配任務(wù)。由圖5可知,當(dāng)算法循環(huán)迭代5次之后收斂,目標(biāo)函數(shù)取到最小值1 917米,算法收斂速度快。
本節(jié)仿真驗(yàn)證了單通和互通兩種通信距離約束方法都可以保證異構(gòu)多水下爬游機(jī)器人順利完成水下作業(yè)任務(wù),并實(shí)現(xiàn)總航行距離最短的目標(biāo)。
為了比較互通與單通兩種通信距離約束方法,設(shè)定爬游機(jī)器人最大通信距離rc為[250,300,250,250,300]米。
3.2.1 互通情況仿真結(jié)果與分析
針對爬游機(jī)器人最大通信范圍較小時互通情況下的通信距離約束,本節(jié)對多水下爬游機(jī)器人任務(wù)分配問題仿真結(jié)果為無解。
3.2.2 單通情況仿真結(jié)果與分析
針對爬游機(jī)器人最大通信范圍較小的單通情況下通信距離約束,本節(jié)對多水下爬游機(jī)器人任務(wù)分配問題仿真求解得到任務(wù)分配結(jié)果和相應(yīng)目標(biāo)函數(shù)變化情況如圖6和圖7所示。
圖6 單通情況下任務(wù)分配結(jié)果
圖7 目標(biāo)函數(shù)值變化情況
圖6表示最終分配結(jié)果為CR1執(zhí)行任務(wù)序列為9,CR2執(zhí)行任務(wù)序列為6-4,CR3執(zhí)行任務(wù)2,CR4執(zhí)行任務(wù)7,CR5執(zhí)行任務(wù)序列為8-3-5-1。由圖7可知,當(dāng)算法循環(huán)迭代14次之后收斂,目標(biāo)函數(shù)取到最小值2 251米。
本節(jié)進(jìn)行爬游機(jī)器人最大通信范圍較小時單通和互通兩種情況下仿真實(shí)驗(yàn)。通過兩種不同通信距離約束下多水下爬游機(jī)器人任務(wù)分配仿真實(shí)驗(yàn)結(jié)果可知,由于互通通信距離約束條件的約束性更強(qiáng),互通通信距離約束下的任務(wù)分配無解,無法順利進(jìn)行任務(wù)分配,但單通通信距離約束下爬游機(jī)器人卻可以順利完成水下作業(yè)任務(wù),單通通信距離約束的方法適用性更廣。
本文針對水下爬游機(jī)器人能源攜帶有限,而且水下通信難、通信距離有限的問題,研究了通信距離等約束條件下的多爬游機(jī)器人任務(wù)分配問題。為了保證多水下爬游機(jī)器人可以順利執(zhí)行任務(wù),建立通信距離、航程等約束條件,以多爬游機(jī)器人總航行距離為目標(biāo),構(gòu)建異構(gòu)多水下爬游機(jī)器人任務(wù)分配模型,利用蟻群優(yōu)化算法進(jìn)行求解。仿真實(shí)驗(yàn)結(jié)果表明本文所研究模型和算法的有效性。下一步工作將分析研究水下爬游機(jī)器人集群任務(wù)分配時降低能耗問題。