本發(fā)明涉及一種多機(jī)器人控制協(xié)調(diào)者產(chǎn)生方法,屬于機(jī)器人技術(shù)領(lǐng)域。
背景技術(shù):
目前,機(jī)器人技術(shù)廣泛應(yīng)用于災(zāi)難救援、數(shù)據(jù)采集監(jiān)測(cè)等領(lǐng)域中,多機(jī)器人協(xié)調(diào)作業(yè)有助于提高任務(wù)完成速度和效率,因此,多機(jī)器人的隊(duì)形控制和網(wǎng)絡(luò)協(xié)調(diào)是當(dāng)前的熱點(diǎn)問(wèn)題。
多機(jī)器人的隊(duì)形控制主要包括集中式結(jié)構(gòu)和分布式結(jié)構(gòu)。集中式結(jié)構(gòu)中,由某一關(guān)鍵的個(gè)體進(jìn)行決策并與團(tuán)隊(duì)中的其他機(jī)器人進(jìn)行通訊,該核心個(gè)體可以優(yōu)化機(jī)器人的協(xié)調(diào),監(jiān)視任務(wù)的完成情況。分布式體系結(jié)構(gòu)是指在機(jī)器人團(tuán)隊(duì)的控制結(jié)構(gòu)中沒(méi)有集中組織,單個(gè)機(jī)器人根據(jù)局部信息進(jìn)行自主決策。分布式結(jié)構(gòu)的優(yōu)點(diǎn)在于對(duì)單個(gè)機(jī)器人成員的故障或丟失具有魯棒性和可擴(kuò)展性,并且不易受通訊和計(jì)算誤差的影響。然而,分布式結(jié)構(gòu)算法相對(duì)復(fù)雜且獲取信息有限,導(dǎo)致無(wú)法進(jìn)行較為全面的集中決策。多機(jī)器人隊(duì)形控制方法中主要針對(duì)選取好協(xié)調(diào)者后,其余非協(xié)調(diào)者機(jī)器人如何與協(xié)調(diào)者保持特定隊(duì)形,如柱形、直線形、三角形、菱形、楔形以及圓形等結(jié)構(gòu),協(xié)調(diào)者的選取方法主要根據(jù)機(jī)器人位置等選取。
在無(wú)線傳感網(wǎng)絡(luò)中,網(wǎng)絡(luò)分簇是一種常用的方法,分簇傳感網(wǎng)絡(luò)由多個(gè)相鄰的傳感節(jié)點(diǎn)聚合成簇,簇頭節(jié)點(diǎn)由簇內(nèi)的各傳感節(jié)點(diǎn)選舉產(chǎn)生。簇頭的選舉方法包括隨機(jī)選取、輪流選取方法等,選舉依據(jù)一般根據(jù)傳感節(jié)點(diǎn)的剩余能量或節(jié)點(diǎn)位置等?,F(xiàn)有的無(wú)線傳感網(wǎng)絡(luò)的簇頭選舉方法主要適用于單跳的簇結(jié)構(gòu)中,不能適用于多跳的簇結(jié)構(gòu)中。
現(xiàn)有方法注重節(jié)點(diǎn)的能量,機(jī)器人組網(wǎng)時(shí),機(jī)器人電池可先更換,能量會(huì)相對(duì)充足,因此,除了能量約束外,通過(guò)該機(jī)器人編組完成特定任務(wù)更為重要,更應(yīng)該注重機(jī)器人組網(wǎng)的性能,數(shù)據(jù)傳輸?shù)男省?/p>
多機(jī)器人的網(wǎng)絡(luò)中,需要多個(gè)機(jī)器人配合作業(yè)完成一些特定任務(wù),此時(shí)需要產(chǎn)生一個(gè)協(xié)調(diào)者對(duì)這些機(jī)器人進(jìn)行集中控制和協(xié)調(diào),以提高機(jī)器人作業(yè)的效率。多機(jī)器人的網(wǎng)絡(luò)中,有且僅有一個(gè)機(jī)器人協(xié)調(diào)者,該協(xié)調(diào)者負(fù)責(zé)管理和控制整個(gè)網(wǎng)絡(luò)。與普通的網(wǎng)絡(luò)不同,該網(wǎng)絡(luò)可能為多跳網(wǎng)絡(luò),即機(jī)器人協(xié)調(diào)者與非協(xié)調(diào)者之間可能無(wú)法直接通信,需經(jīng)過(guò)中間節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)。此時(shí),現(xiàn)有的協(xié)調(diào)者選舉方法和分簇?cái)?shù)據(jù)傳輸方法將不能直接使用。
由于多機(jī)器人網(wǎng)絡(luò)中,機(jī)器人協(xié)調(diào)者與非協(xié)調(diào)者之間的數(shù)據(jù)傳輸要求要大于非協(xié)調(diào)者之間的數(shù)據(jù)傳輸要求。因此,提高協(xié)調(diào)者與非協(xié)調(diào)者之間的數(shù)據(jù)傳輸效率,有助于提高整個(gè)機(jī)器人網(wǎng)絡(luò)的數(shù)據(jù)傳輸效率,進(jìn)而提高整個(gè)網(wǎng)絡(luò)的性能,提高任務(wù)的完成速度和效果。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明要解決的技術(shù)問(wèn)題是在多機(jī)器人網(wǎng)絡(luò)中,如何提高機(jī)器人協(xié)調(diào)者與非協(xié)調(diào)者之間的數(shù)據(jù)傳輸效率,進(jìn)而提高整個(gè)機(jī)器人網(wǎng)絡(luò)的數(shù)據(jù)傳輸效率。
為了解決上述技術(shù)問(wèn)題,本發(fā)明的技術(shù)方案是提供一種多機(jī)器人控制協(xié)調(diào)者產(chǎn)生方法,其特征在于,該方法由以下2個(gè)步驟組成:
步驟1:選取多機(jī)器人網(wǎng)絡(luò)中處于邏輯拓?fù)浣Y(jié)構(gòu)的中心位置的機(jī)器人為協(xié)調(diào)者;當(dāng)網(wǎng)絡(luò)中存在多個(gè)可能的中心位置時(shí),選取周圍有較多機(jī)器人數(shù)量的機(jī)器人為協(xié)調(diào)者;
步驟2:確定協(xié)調(diào)者后,通過(guò)廣播和轉(zhuǎn)發(fā)方式通知所有機(jī)器人。
優(yōu)選地,所述步驟1的具體過(guò)程如下:
統(tǒng)計(jì)網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)的最短路徑跳數(shù),并取出最短路徑中跳數(shù)最大的路徑;假設(shè)該路徑的跳數(shù)為M,M為正整數(shù),該路徑的節(jié)點(diǎn)數(shù)為M+1;
a1)當(dāng)M為偶數(shù)時(shí),取出該路徑的最中間節(jié)點(diǎn)為協(xié)調(diào)者;
a2)當(dāng)M為奇數(shù)時(shí),取出該路徑最中間的兩個(gè)節(jié)點(diǎn),計(jì)算該兩個(gè)節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù),取一跳鄰居節(jié)點(diǎn)數(shù)多的節(jié)點(diǎn)為協(xié)調(diào)者;當(dāng)兩個(gè)節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù)相同時(shí),取該兩個(gè)節(jié)點(diǎn)中節(jié)點(diǎn)ID小的為協(xié)調(diào)者。
更優(yōu)選地,當(dāng)網(wǎng)絡(luò)中最短路徑中跳數(shù)最大的路徑有多條時(shí),設(shè)有L條路徑,L為大于1的整數(shù),假設(shè)這些路徑的跳數(shù)為M,M為正整數(shù),該路徑的節(jié)點(diǎn)數(shù)為M+1;
b1)當(dāng)M為偶數(shù)時(shí),取出該L條路徑的最中間節(jié)點(diǎn)并計(jì)算節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù),取一跳鄰居節(jié)點(diǎn)數(shù)多的節(jié)點(diǎn)為協(xié)調(diào)者;當(dāng)這些節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù)相同時(shí),取節(jié)點(diǎn)ID小的為協(xié)調(diào)者;
b2)當(dāng)M為奇數(shù)時(shí),取出該L條路徑最中間的兩個(gè)節(jié)點(diǎn),計(jì)算這些節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù),取一跳鄰居節(jié)點(diǎn)數(shù)多的節(jié)點(diǎn)為協(xié)調(diào)者;當(dāng)這些節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù)相同時(shí),取節(jié)點(diǎn)ID小的為協(xié)調(diào)者。
優(yōu)選地,所述步驟2的具體過(guò)程如下:
2.1確定協(xié)調(diào)者后,擔(dān)任協(xié)調(diào)者的機(jī)器人發(fā)布廣播信息;
2.2非協(xié)調(diào)者接收到協(xié)調(diào)者的廣播信息后,如果是第一次接收到該廣播信息,則將該廣播信息繼續(xù)廣播,同時(shí)將自己的節(jié)點(diǎn)ID寫入該廣播信息的發(fā)送節(jié)點(diǎn)ID中。
更優(yōu)選地,所述廣播信息包含信息類型、源節(jié)點(diǎn)ID、發(fā)送節(jié)點(diǎn)ID、目的節(jié)點(diǎn)ID、協(xié)調(diào)者ID、信息結(jié)束標(biāo)識(shí)。
本發(fā)明針對(duì)多機(jī)器人網(wǎng)絡(luò)中,機(jī)器人之間需要多跳傳輸數(shù)據(jù)且網(wǎng)絡(luò)協(xié)調(diào)者的數(shù)據(jù)傳輸需求較大的特點(diǎn),通過(guò)選取多機(jī)器人網(wǎng)絡(luò)中處于中心位置(邏輯拓?fù)浣Y(jié)構(gòu)的中心位置)的機(jī)器人為協(xié)調(diào)者;當(dāng)網(wǎng)絡(luò)中存在多個(gè)可能的中心位置時(shí),選取周圍有較多機(jī)器人數(shù)量(較多的一跳鄰居節(jié)點(diǎn)數(shù))的機(jī)器人為協(xié)調(diào)者;通過(guò)該協(xié)調(diào)者選取方法,減少協(xié)調(diào)者與其余網(wǎng)絡(luò)節(jié)點(diǎn)之間數(shù)據(jù)傳輸?shù)奶鴶?shù),提高網(wǎng)絡(luò)數(shù)據(jù)傳輸效率。
本發(fā)明提供的方法克服了現(xiàn)有技術(shù)的不足,借鑒無(wú)線傳感網(wǎng)絡(luò)的簇頭選舉方法和網(wǎng)絡(luò)路由方法,有助于快速產(chǎn)生機(jī)器人協(xié)調(diào)者,通過(guò)選取網(wǎng)絡(luò)邏輯拓?fù)涞闹行臑閰f(xié)調(diào)者,減少網(wǎng)絡(luò)協(xié)調(diào)者與其他節(jié)點(diǎn)之間數(shù)據(jù)傳輸跳數(shù),減少數(shù)據(jù)傳輸延時(shí),提高協(xié)調(diào)者與其他節(jié)點(diǎn)之間數(shù)據(jù)傳輸效率,進(jìn)而提高了整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)傳輸效率。本發(fā)明方法不僅適用于單跳的網(wǎng)絡(luò)中,而且適用于多跳網(wǎng)絡(luò)中。
附圖說(shuō)明
圖1為機(jī)器人組隊(duì)協(xié)調(diào)者確定示意圖;
圖2為協(xié)調(diào)者確定廣播信息結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實(shí)施例僅用于說(shuō)明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對(duì)本發(fā)明作各種改動(dòng)或修改,這些等價(jià)形式同樣落于本申請(qǐng)所附權(quán)利要求書所限定的范圍。
本實(shí)施例提供了一種多機(jī)器人控制協(xié)調(diào)者產(chǎn)生方法,具體過(guò)程如下。
1、網(wǎng)絡(luò)的多個(gè)機(jī)器人根據(jù)網(wǎng)絡(luò)拓?fù)浯_定擔(dān)任協(xié)調(diào)者的機(jī)器人,確定方法如下:
統(tǒng)計(jì)網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)的最短路徑跳數(shù),并取出最短路徑中跳數(shù)最大的路徑;
A.當(dāng)網(wǎng)絡(luò)中最短路徑中跳數(shù)最大的路徑有且只有一條時(shí),假設(shè)該路徑的跳數(shù)為M(M為正整數(shù)),該路徑的節(jié)點(diǎn)數(shù)為M+1;
(a1)當(dāng)M為偶數(shù)時(shí),取出該路徑的最中間節(jié)點(diǎn)為協(xié)調(diào)者;
(a2)當(dāng)M為奇數(shù)時(shí),取出該路徑最中間的兩個(gè)節(jié)點(diǎn),計(jì)算該兩個(gè)節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù),取一跳鄰居節(jié)點(diǎn)數(shù)多的節(jié)點(diǎn)為協(xié)調(diào)者(當(dāng)以連通圖來(lái)表示網(wǎng)絡(luò)拓?fù)鋾r(shí),節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù)即為節(jié)點(diǎn)為頂點(diǎn)的度,即取度大的節(jié)點(diǎn)為協(xié)調(diào)者);當(dāng)兩個(gè)節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù)相同時(shí),取該兩個(gè)節(jié)點(diǎn)中節(jié)點(diǎn)ID小的為協(xié)調(diào)者;
B.當(dāng)網(wǎng)絡(luò)中最短路徑中跳數(shù)最大的路徑有多條時(shí),設(shè)有L條路徑(L為大于1的整數(shù)),假設(shè)這些路徑的跳數(shù)為M(M為正整數(shù)),該路徑的節(jié)點(diǎn)數(shù)為M+1;
(b1)當(dāng)M為偶數(shù)時(shí),取出該L條路徑的最中間節(jié)點(diǎn)并計(jì)算節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù),取一跳鄰居節(jié)點(diǎn)數(shù)多的節(jié)點(diǎn)為協(xié)調(diào)者;當(dāng)這些節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù)相同時(shí),取節(jié)點(diǎn)ID小的為協(xié)調(diào)者;
(b2)當(dāng)M為奇數(shù)時(shí),取出該L條路徑最中間的兩個(gè)節(jié)點(diǎn),計(jì)算這些節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù),取一跳鄰居節(jié)點(diǎn)數(shù)多的節(jié)點(diǎn)為協(xié)調(diào)者;當(dāng)這些節(jié)點(diǎn)的一跳鄰居節(jié)點(diǎn)數(shù)相同時(shí),取節(jié)點(diǎn)ID小的為協(xié)調(diào)者。
協(xié)調(diào)者確定方法實(shí)例如圖1所示,圖1中各機(jī)器人節(jié)點(diǎn)之間的路徑連接用實(shí)線表示,節(jié)點(diǎn)N1到N2之間的最短路徑為節(jié)點(diǎn)N1經(jīng)過(guò)N4、N0后到達(dá)N2的路徑(表示為路徑P12),該路徑有5跳6個(gè)節(jié)點(diǎn)。節(jié)點(diǎn)N1到N3的最短路徑為N1經(jīng)過(guò)N4、N5到達(dá)N3的路徑,該路徑有4跳5個(gè)節(jié)點(diǎn)。因此,選擇路徑P12的中間節(jié)點(diǎn)N0和N4,而節(jié)點(diǎn)N0和N4的一跳鄰居節(jié)點(diǎn)分別為5和3,因此,節(jié)點(diǎn)N0將被確定為協(xié)調(diào)者。
2、確定協(xié)調(diào)者后,通過(guò)廣播和轉(zhuǎn)發(fā)方式通知所有機(jī)器人。
2.1確定協(xié)調(diào)者后,擔(dān)任協(xié)調(diào)者的機(jī)器人發(fā)布廣播信息,廣播信息包含信息類型(TOS)、源節(jié)點(diǎn)ID(SID)、發(fā)送節(jié)點(diǎn)ID(TID)、目的節(jié)點(diǎn)ID(DID)、協(xié)調(diào)者ID(CID)、信息結(jié)束標(biāo)識(shí)(EOS),格式如圖2所示。
(2.2)非協(xié)調(diào)者接收到協(xié)調(diào)者的廣播信息后,如果是第一次接收到該廣播信息則將該信息繼續(xù)廣播,同時(shí)將自己的節(jié)點(diǎn)ID寫入該廣播的發(fā)送節(jié)點(diǎn)ID中,格式如圖2所示。