本發(fā)明涉及群體機(jī)器人協(xié)同區(qū)域覆蓋領(lǐng)域,具體是一種局部通訊環(huán)境下基于分組與合并機(jī)制的群體機(jī)器人覆蓋路徑規(guī)劃方法。
背景技術(shù):
1、移動(dòng)機(jī)器人廣泛應(yīng)用于軍事和民用領(lǐng)域,用于執(zhí)行許多重復(fù)或危險(xiǎn)的任務(wù)。覆蓋路徑規(guī)劃是移動(dòng)機(jī)器人的一個(gè)基本問題,旨在覆蓋除障礙物以外的目標(biāo)區(qū)域,并最大限度地降低機(jī)器人路徑的重復(fù)率。覆蓋路徑規(guī)劃已被廣泛研究和應(yīng)用于許多應(yīng)用,如自動(dòng)清掃、災(zāi)后救援、目標(biāo)搜索和環(huán)境監(jiān)測。
2、覆蓋路徑規(guī)劃問題與覆蓋旅行商問題有關(guān),覆蓋旅行商問題是旅行商問題的一個(gè)變體,被證明是np難問題。根據(jù)全局環(huán)境是否已知,現(xiàn)有的覆蓋路徑規(guī)劃方法可分為離線和在線兩種。前者假設(shè)全局環(huán)境是已知的,并在執(zhí)行覆蓋任務(wù)之前為機(jī)器人規(guī)劃路徑。后者可以在全局環(huán)境未知或變化時(shí)應(yīng)用,其基于傳感器更新環(huán)境信息并實(shí)時(shí)規(guī)劃路徑。在大多數(shù)實(shí)際任務(wù)中,環(huán)境是未知的或部分已知的。所以在線覆蓋路徑規(guī)劃的實(shí)用性更強(qiáng)。
3、目前大多數(shù)群體機(jī)器人在線覆蓋路徑規(guī)劃方法假設(shè)可靠的全局通信,以實(shí)現(xiàn)機(jī)器人之間的信息傳遞與任務(wù)分配。但在許多環(huán)境下無法保障全局通信,機(jī)器人只有局部的通信范圍。當(dāng)前在線覆蓋路徑規(guī)劃算法應(yīng)用在只有局部通信的環(huán)境下時(shí),機(jī)器人之間協(xié)同效率低下甚至無法協(xié)同,其覆蓋效率極大下降。
4、現(xiàn)有的局部通信下的多機(jī)器人協(xié)同方法可分為三類。第一類方法將地圖劃分為子區(qū)域,并將子區(qū)域分配給機(jī)器人進(jìn)行覆蓋,如bpcpp,然而,由于障礙物分布不均,每個(gè)子區(qū)域的覆蓋完成時(shí)間不同,已經(jīng)完成覆蓋的機(jī)器人無法協(xié)同其他機(jī)器人。第二類方法要求機(jī)器人定期會(huì)面以共享信息并分配任務(wù),如amcpp,但會(huì)面過程會(huì)消耗額外的能量和時(shí)間,并且需要預(yù)先確定每次會(huì)面的時(shí)間和地點(diǎn)。第三類方法保持所有機(jī)器人之間的局部通信,如dncpp,但這極大地限制了機(jī)器人的運(yùn)動(dòng),會(huì)造成大量的重復(fù)覆蓋。
5、為了在只有局部通信的未知環(huán)境中高效快速的完成覆蓋任務(wù),亟需一種能在局部通信下提升機(jī)器人間協(xié)同效率的覆蓋路徑規(guī)劃方法。
技術(shù)實(shí)現(xiàn)思路
1、針對(duì)現(xiàn)有群體機(jī)器人在線覆蓋路徑規(guī)劃方法在局部通信下協(xié)同覆蓋效率低下的問題,本發(fā)明提出了一種局部通訊環(huán)境下基于分組與合并機(jī)制的群體機(jī)器人覆蓋路徑規(guī)劃方法,該方法將待覆蓋地圖劃分為多個(gè)子區(qū)域并將機(jī)器人分組,每組分配一個(gè)特定的子區(qū)域進(jìn)行覆蓋,以實(shí)現(xiàn)初步的任務(wù)分配。同一組內(nèi)的機(jī)器人保持局部連續(xù)通信共享信息,共同覆蓋其分配的子區(qū)域。此外,還設(shè)計(jì)了一種合并機(jī)制來實(shí)現(xiàn)組間協(xié)作,已完成覆蓋的組前往其他未完成覆蓋的子區(qū)域與其他組合并以協(xié)同覆蓋。據(jù)此,群體機(jī)器人能在只有局部通信下大幅提升協(xié)同效率,高效完成覆蓋任務(wù)。
2、本發(fā)明是通過以下技術(shù)方案實(shí)現(xiàn)的:
3、一種局部通訊環(huán)境下基于分組與合并機(jī)制的群體機(jī)器人覆蓋路徑規(guī)劃方法,步驟如下:
4、建立覆蓋環(huán)境,地圖邊長l;初始化算法參數(shù):機(jī)器人個(gè)數(shù)n,通信范圍r,機(jī)器人探測范圍v,起始位置os。
5、步驟1:首先根據(jù)通信范圍的大小對(duì)機(jī)器人自適應(yīng)分組以最大限度地提高協(xié)作能力,根據(jù)以下公式計(jì)算出組的大小m:
6、
7、其中是n機(jī)器人的數(shù)量,r是機(jī)器人通信范圍的半徑,l是地圖的邊長,β是常數(shù),設(shè)置為1.35。m∈[1,n],并隨著r的增加而增加。
8、組的數(shù)量第i組的機(jī)器人數(shù)量ni計(jì)算如下:
9、
10、步驟2:對(duì)地圖進(jìn)行分區(qū),并為每個(gè)組分配一個(gè)分區(qū)。地圖被表示為一組目標(biāo)點(diǎn)集合o={oj:j=1,2,…,z},z為目標(biāo)點(diǎn)的總數(shù)。機(jī)器人最初聚集在起點(diǎn)os,每個(gè)目標(biāo)點(diǎn)被分配一個(gè)象限角θj,為目標(biāo)點(diǎn)與os所成向量和參考軸之間的角度,其中參考軸是以os為起點(diǎn)的正向水平軸。首先,根據(jù)象限角按升序?qū)δ繕?biāo)點(diǎn)進(jìn)行排序,以獲得集合o′。然后,按順序?qū)′中的目標(biāo)點(diǎn)分配給每個(gè)組。分配給第i組的目標(biāo)點(diǎn)集合是pi,其中包含的目標(biāo)點(diǎn)數(shù)量是|pi|,分別表示如下:
11、
12、其中表示分配給第1組至第i組的目標(biāo)點(diǎn)總數(shù)。
13、步驟3:在分組和劃分之后,每組機(jī)器人移動(dòng)到它們對(duì)應(yīng)的子區(qū)域進(jìn)行分布式協(xié)作覆蓋。在此過程中,組內(nèi)的機(jī)器人保持連續(xù)的本地通信,并共享以下信息:目標(biāo)點(diǎn)集合o、未覆蓋目標(biāo)點(diǎn)集合覆蓋目標(biāo)點(diǎn)集合和障礙物占用目標(biāo)點(diǎn)集合為了防止與組斷開連接,機(jī)器人i在選擇其下一個(gè)目標(biāo)點(diǎn)oi移動(dòng)時(shí)遵循以下約束,從oi到任意一個(gè)其他機(jī)器人的距離不大于通信范圍r,以保持與小組的通信:
14、||oi-rj||≤r,
15、其中rj表示機(jī)器人j的位置,gi表示機(jī)器人i所屬的組中的機(jī)器人集合。
16、步驟4:每個(gè)組覆蓋完其子區(qū)域后回到起始點(diǎn)os,查看os處是否存在基站,如果沒有基站則留下一個(gè)機(jī)器人作為基站,基站記錄未完成覆蓋的子區(qū)域集合t,初始化為所有子區(qū)域的集合:t={p1,p2,...,pn}。
17、步驟5:小組與基站通信,從未完成覆蓋子區(qū)域集合t中刪去小組所覆蓋的子區(qū)域。判斷是否覆蓋完所有子區(qū)域(t為空集則覆蓋完所有子區(qū)域),若是則覆蓋任務(wù)完成,若不是則從t中選擇一個(gè)子區(qū)域并前往搜索。
18、步驟6:搜索小組使用牧群覆蓋模式,將距離起始點(diǎn)從近到遠(yuǎn)的開始覆蓋,采用以下公式作為其機(jī)器人選擇下一個(gè)目標(biāo)點(diǎn)的總獎(jiǎng)勵(lì)函數(shù):
19、r(oj)=rh(oj)+ωd(rd(oj))+ωg(rg(oj))+ωs(rs(oj))+ωb(rb(oj))
20、其中rh為牧群吸引獎(jiǎng)勵(lì),rd為動(dòng)態(tài)捕食者躲避獎(jiǎng)勵(lì),rg為組吸引力獎(jiǎng)勵(lì),rs為路徑平滑獎(jiǎng)勵(lì),rb為邊界獎(jiǎng)勵(lì),ωd、ωg、ωs、ωb是加權(quán)因子。
21、具體的,獎(jiǎng)勵(lì)函數(shù)計(jì)算方法如下:
22、1)牧群吸引獎(jiǎng)勵(lì)
23、
24、其中,h(oj)是oj到虛擬獸群φi的距離,和分別是機(jī)器人i的候選點(diǎn)到φi的最大和最小距離。牧群吸引獎(jiǎng)勵(lì)使得機(jī)器人距離起始點(diǎn)從近到遠(yuǎn)的進(jìn)行覆蓋。
25、2)動(dòng)態(tài)捕食者躲避獎(jiǎng)勵(lì)
26、
27、其中,表示機(jī)器人i的動(dòng)態(tài)捕食者k,k∈{1,2,…,n}\i,是oj到的距離,和分別是的鄰居到的最大和最小距離。
28、3)組吸引力獎(jiǎng)勵(lì)
29、
30、其中,表示與機(jī)器人i同一個(gè)組的機(jī)器人k,k∈{1,2,…,n}\i,是oj到的距離,和分別是的鄰居到的最大和最小距離。
31、4)路徑平滑獎(jiǎng)勵(lì)
32、為鼓勵(lì)機(jī)器人直線運(yùn)動(dòng),使其移動(dòng)軌跡更有規(guī)律,采用了平滑度獎(jiǎng)勵(lì),計(jì)算如下:
33、
34、其中,表示移動(dòng)角度,是機(jī)器人i先前覆蓋的目標(biāo)點(diǎn)。和是所有鄰居點(diǎn)的最大角度和最小角度。因此,機(jī)器人會(huì)在沿直線移動(dòng)時(shí)獲得更多獎(jiǎng)勵(lì),減少了因轉(zhuǎn)彎造成的能量損失與磨損。
35、5)邊界獎(jiǎng)勵(lì)
36、為了減少往返覆蓋造成的時(shí)間損失,應(yīng)對(duì)位于覆蓋區(qū)域邊界的目標(biāo)點(diǎn)給予額外獎(jiǎng)勵(lì)。邊界獎(jiǎng)勵(lì)的計(jì)算方法如下:
37、
38、其中,ξ(oj)是oj的待覆蓋鄰居數(shù)量,和是所有鄰居中ξ(oj)的最大值和最小值。采用邊界獎(jiǎng)勵(lì)也可使覆蓋軌跡更有規(guī)律。
39、搜索小組將起始點(diǎn)作為os牧群,由近及遠(yuǎn)的進(jìn)行覆蓋,如果在過程中遇到其他正在覆蓋的小組,則與其合并共同覆蓋,若未遇到則獨(dú)自覆蓋。覆蓋完其子區(qū)域則各個(gè)小組分離并回到步驟4。
40、進(jìn)一步的,在上述步驟3中,使用分布式的組內(nèi)協(xié)同覆蓋路徑規(guī)劃方法,為每個(gè)機(jī)器人實(shí)時(shí)規(guī)劃移動(dòng)路徑。從機(jī)器人的視角選擇下一個(gè)移動(dòng)的目標(biāo)點(diǎn),具體步驟如下:
41、步驟3.1:機(jī)器人i根據(jù)移動(dòng)約束計(jì)算其鄰域中的哪些目標(biāo)點(diǎn)可以與任何其他機(jī)器人保持通信,并且這些可移動(dòng)目標(biāo)點(diǎn)的集合由qi表示。進(jìn)一步選擇qi中未覆蓋的目標(biāo)點(diǎn),得到候選點(diǎn)集,候選點(diǎn)集由wi表示。
42、步驟3.2:如果在機(jī)器人i的鄰域內(nèi)沒有可以與組保持通信的未覆蓋目標(biāo)點(diǎn),即wi為空集,則它將陷入死胡同。為了克服這種情況,首先在中選擇最接近ri的目標(biāo)點(diǎn)作為臨時(shí)目標(biāo)點(diǎn)。然后使用點(diǎn)對(duì)點(diǎn)規(guī)劃器(如a*算法)計(jì)算到臨時(shí)目標(biāo)點(diǎn)的路徑,并選擇路徑中的下一個(gè)點(diǎn)作為oi。如果為空集,則在檢測到的區(qū)域中沒有未覆蓋的目標(biāo)點(diǎn),并且在pi中距離ri最近的未檢測目標(biāo)點(diǎn)被選擇為臨時(shí)目標(biāo)點(diǎn)。注意如果計(jì)劃路徑的下一個(gè)點(diǎn)與所有其他機(jī)器人失去通信。在這種情況下,機(jī)器人i在qi中選擇最接近臨時(shí)目標(biāo)點(diǎn)的目標(biāo)點(diǎn)進(jìn)行移動(dòng)。
43、步驟3.3:如果機(jī)器人i的鄰域內(nèi)有可以與組保持通信的未覆蓋目標(biāo)點(diǎn),則它會(huì)在這些點(diǎn)中選擇獎(jiǎng)勵(lì)函數(shù)值最高的目標(biāo)點(diǎn)進(jìn)行移動(dòng)。采用捕食者覆蓋模式,距離起始點(diǎn)從遠(yuǎn)到近的開始覆蓋。為wi中的每個(gè)候選目標(biāo)點(diǎn)oj計(jì)算總獎(jiǎng)勵(lì)函數(shù)r(oj),并選擇具有最大獎(jiǎng)勵(lì)的候選點(diǎn)oj作為下一個(gè)目標(biāo)點(diǎn)oi??偑?jiǎng)勵(lì)函數(shù)由五個(gè)部分組成:1)固定捕食者回避獎(jiǎng)勵(lì)ra,2)動(dòng)態(tài)捕食者躲避獎(jiǎng)勵(lì)rd,3)路徑平滑獎(jiǎng)勵(lì)rs,4)邊界獎(jiǎng)勵(lì)rb,5)組吸引力獎(jiǎng)勵(lì)rg??偑?jiǎng)勵(lì)函數(shù)計(jì)算如下:
44、r(oj)=ra(oj)+ωd(rd(oj))+ωg(rg(oj))+ωs(rs(oj))+ωb(rb(oj))
45、其中ωd、ωg、ωs、ωb是加權(quán)因子。
46、具體的,固定捕食者回避獎(jiǎng)勵(lì)計(jì)算方法如下:
47、
48、其中,γ為靜態(tài)虛擬捕食者,設(shè)置在起始點(diǎn)處,k(oj)為oj到γ的距離,和分別為鄰居點(diǎn)到γ的最大距離和最小距離。固定捕食者回避獎(jiǎng)勵(lì)使得機(jī)器人距離起始點(diǎn)從遠(yuǎn)到近的進(jìn)行覆蓋。
49、動(dòng)態(tài)捕食者躲避獎(jiǎng)勵(lì)rd、路徑平滑獎(jiǎng)勵(lì)rs、邊界獎(jiǎng)勵(lì)rb、組吸引力獎(jiǎng)勵(lì)rg計(jì)算方法與步驟6相同。
50、有益效果
51、在本發(fā)明提出的方法中,機(jī)器人首先根據(jù)通信范圍的大小自適應(yīng)地分組以最大限度地提高協(xié)作能力。然后通過角度劃分方法為每個(gè)組平均劃分子區(qū)域。每組機(jī)器人移動(dòng)到相應(yīng)的子區(qū)域進(jìn)行協(xié)作覆蓋,通過引入組吸引力獎(jiǎng)勵(lì)增強(qiáng)機(jī)器人之間的吸引力以防止斷開連接,提升了組內(nèi)機(jī)器人的覆蓋效率。并提出組間合并方法,其結(jié)合已完成覆蓋小組的牧群覆蓋機(jī)制和未完成覆蓋小組的捕食者覆蓋機(jī)制實(shí)現(xiàn)了組間的高效合并,使得先完成覆蓋的小組能幫助未完成覆蓋的小組協(xié)同覆蓋其子區(qū)域,提升了組間機(jī)器人的協(xié)同效率。本發(fā)明所提出方法在只有局部通信的環(huán)境下極大的提升了機(jī)器人之間的協(xié)同能力,能夠?qū)崿F(xiàn)指定區(qū)域的快速覆蓋。