[發(fā)明專利]全覆蓋應用下異構多機器人系統(tǒng)的任務規(guī)劃方法有效
| 申請?zhí)枺?/td> | 202011401042.8 | 申請日: | 2020-12-02 |
| 公開(公告)號: | CN112462783B | 公開(公告)日: | 2021-07-23 |
| 發(fā)明(設計)人: | 楊文婧;李林;藍龍;楊紹武;徐利洋;黃達;史殿習;楊思寧;崔玉寧;劉哲 | 申請(專利權)人: | 中國人民解放軍國防科技大學 |
| 主分類號: | G05D1/02 | 分類號: | G05D1/02 |
| 代理公司: | 湖南企企衛(wèi)知識產(chǎn)權代理有限公司 43257 | 代理人: | 任合明 |
| 地址: | 410073 湖*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 覆蓋 應用 下異構多 機器人 系統(tǒng) 任務 規(guī)劃 方法 | ||
1.一種全覆蓋應用下異構多機器人系統(tǒng)的任務規(guī)劃方法,其特征在于包括以下步驟:
第一步,構建全覆蓋應用下的異構多機器人任務規(guī)劃系統(tǒng),異構多機器人任務規(guī)劃系統(tǒng)由服務端、客戶端及機器人終端組成;服務端是一臺服務器,其上安裝有異構多機器人任務分配模塊、異構多機器人路徑規(guī)劃模塊;
客戶端是一臺服務器或PC機或移動終端,其上存放有統(tǒng)一機器人定義格式文件即URDF文件,客戶端上有探測傳感器,通過探測傳感器獲取目標區(qū)域的信息,計算目標區(qū)域的待覆蓋總面積Area并確定策略選擇參數(shù)Stra,將N臺異構機器人的URDF文件、目標區(qū)域的信息、目標區(qū)域的待覆蓋面積Area發(fā)送給異構多機器人任務分配模塊,將Stra發(fā)送給異構多機器人路徑規(guī)劃模塊;所述目標區(qū)域的信息包括目標區(qū)域的面積、障礙物、邊界;
異構多機器人任務分配模塊與客戶端和異構多機器人路徑規(guī)劃模塊相連,由機器人選擇模塊及環(huán)境建模模塊組成;機器人選擇模塊與客戶端及環(huán)境建模模塊相連,從客戶端接收URDF文件及目標區(qū)域的待覆蓋總面積Area,將覆蓋任務與機器人能力進行匹配,得到分配給覆蓋任務的最優(yōu)機器人集合C及其覆蓋面積集合CA,將C和CA發(fā)送給環(huán)境建模模塊,C中含K個機器人,1≤K≤N;環(huán)境建模模塊與客戶端、機器人選擇模塊及異構多機器人路徑規(guī)劃模塊相連,從客戶端獲取Area、障礙物、邊界信息,對目標區(qū)域進行網(wǎng)格建模,得到建模后的二維網(wǎng)格矩陣D,從機器人選擇模塊獲取C及CA,結合建模得到的二維網(wǎng)格矩陣D,求得機器人集合C內(nèi)各機器人的待覆蓋網(wǎng)格數(shù)量集合G、起始網(wǎng)格坐標集合S、網(wǎng)格數(shù)量比值集合H,將C、D、G、S、H發(fā)送給異構多機器人路徑規(guī)劃模塊;
異構多機器人路徑規(guī)劃模塊與異構多機器人任務分配模塊、客戶端及N個機器人終端相連,由區(qū)域劃分模塊及并行路徑規(guī)劃模塊兩個子模塊組成;區(qū)域劃分模塊與客戶端、環(huán)境建模模塊及并行路徑規(guī)劃模塊相連,由初始劃分模塊及二次劃分模塊組成;初始劃分模塊與客戶端、環(huán)境建模模塊及二次劃分模塊相連,從環(huán)境建模模塊獲取目標區(qū)域網(wǎng)格建模后的二維網(wǎng)格矩陣D、最優(yōu)分配機器人集合C及其起始網(wǎng)格集合S、待覆蓋網(wǎng)格數(shù)量G、網(wǎng)格數(shù)量比值集合H,從客戶端獲取策略選擇參數(shù)Stra,對目標區(qū)域進行初始劃分,得到初始子區(qū)域集合P,將P發(fā)送給二次劃分模塊;二次劃分模塊與初始劃分模塊、并行路徑規(guī)劃相連,對從初始劃分模塊接收的P進行二次劃分,得到精確的區(qū)域劃分結果P’,將P’發(fā)送給并行路徑規(guī)劃模塊;并行路徑規(guī)劃模塊與二次劃分模塊及N個機器人終端相連,從二次劃分模塊獲取C中K臺機器人的精確子區(qū)域劃分結果P’,然后在P’中的K個待覆蓋子區(qū)域中并行進行規(guī)劃路徑,得到K個機器人的覆蓋路徑,并將K個機器人的覆蓋路徑分別輸出到與C對應的K臺機器人終端;
N個機器人終端是與URDF文件相對應的N臺機器人,其中的K臺機器人從并行路徑規(guī)劃模塊接收對應的覆蓋路徑,并行按照對應的覆蓋路徑運動,生成K條運動軌跡;
第二步,客戶端的探測傳感器采集目標區(qū)域的信息,根據(jù)目標區(qū)域的信息計算目標區(qū)域的待覆蓋總面積Area,將N臺異構機器人的URDF文件、目標區(qū)域的待覆蓋面積Area發(fā)送給機器人選擇模塊,將目標區(qū)域的信息發(fā)送給環(huán)境建模模塊;
第三步,客戶端確定策略選擇參數(shù)Stra為1或2,將Stra發(fā)送給初始劃分模塊;
第四步,機器人選擇模塊從客戶端接收N臺異構機器人的URDF文件和目標區(qū)域的待覆蓋面積Area,根據(jù)URDF文件定義一個異構多機器人集合A={a1,a2,...,an,...,aN},N為正整數(shù),1≤n≤N,an為A中的第n臺機器人的序號;
第五步,機器人選擇模塊根據(jù)A中N臺機器人所對應的URDF文件及目標區(qū)域的待覆蓋面積Area,從A中分配最優(yōu)的K臺機器人給覆蓋任務,這K臺機器人組成最優(yōu)機器人集合C={c1,c2,...,ck,...,cK},K為正整數(shù),1≤K≤N,1≤k≤K;方法為:
5.1構建異構機器人能力模型,使其能從A中篩選出具備覆蓋能力的機器人集合,具體步驟如下:
5.1.1構建機器人本體,本體是指一種形式化的、對共享概念體系的明確而又詳細的說明;
5.1.2根據(jù)機器人的URDF文件,為A中的N臺機器人進行本體實例化,得到N個異構機器人本體實例,對于第n臺機器人an,此步即根據(jù)an的URDF文件采用本體這個數(shù)據(jù)結構對an進行描述,得到an的本體實例;
5.1.3定義機器人覆蓋任務描述,該任務描述包含了機器人執(zhí)行一個覆蓋任務時所必備的R個技能,用技能集合Skill={Skill1,Skill2,...,Skillr,...,SkillR}表示,R為正整數(shù),1≤r≤R;
5.1.4根據(jù)執(zhí)行覆蓋任務的機器人必須具備覆蓋任務描述中所有技能的原則,對A中N個機器人的本體實例進行推理,從A中篩選出具備覆蓋能力的M臺機器人,組成具備覆蓋能力的機器人集合B={b1,b2,...,bm,...,bM},M為正整數(shù),1≤M≤N,1≤m≤M;
5.2制定基于機器人覆蓋面積的數(shù)學模型,使得從機器人集合B中得到分配給當前覆蓋任務的最優(yōu)機器人集合,方法如下:
5.2.1構建基于機器人覆蓋面積的數(shù)學模型,如公式(1)、(2)、(3)所示:
(area(1),area(2),...,area(m),...,area(M))·(y1,y2,...,ym,...,yM)T≥Area 公式(2)
ym∈{0,1},i=1,2,...,m,...,M 公式(3)
其中ym為變量,表示B中的第m臺機器人是否被分配到該覆蓋任務,如果是,ym=1,否則ym=0;area(m)表示機器人集合B中的第m臺機器人的最大覆蓋面積,該值等于第m臺機器人的電池續(xù)航時間、最大運行速度及裝載的傳感器的感知范圍的乘積;
5.2.2求解基于機器人覆蓋面積的數(shù)學模型,其最優(yōu)解對應分配給當前覆蓋任務的最優(yōu)的K臺機器人,組成最優(yōu)機器人集合C={c1,c2,…,ck,…,cK};
5.2.3計算C內(nèi)K臺機器人實際需要覆蓋的面積,得到面積集合CA,CA={ca1,ca2,…,cak,…,caK},cak為第k臺機器人實際需要覆蓋的面積,cak按公式(4)計算如下:
其中CArea表示C中K臺機器人的最大覆蓋面積累加和,area(k)表示C中的第k臺機器人的最大覆蓋面積,area(k)等于第k臺機器人的電池續(xù)航時間、最大運行速度及裝載的傳感器的感知范圍的乘積;
第六步,環(huán)境建模模塊從客戶端接收目標區(qū)域的信息,對目標區(qū)域進行環(huán)境建模,從機器人選擇模塊接收C和CA,計算C中K臺機器人需要覆蓋的網(wǎng)格數(shù)量,統(tǒng)計與C中K臺機器人的位置距離最近的網(wǎng)格,方法是:
6.1采用STC網(wǎng)格建模法對目標區(qū)域進行網(wǎng)格建模,得到長為X,寬為Y的二維網(wǎng)格地圖,用二維矩陣D表示,D={d(x,y),1≤x≤X,1≤y≤Y,X和Y為正整數(shù)},d(x,y)是橫坐標為x,縱坐標為y的網(wǎng)格的值,如果d(x,y)=0,表示該網(wǎng)格為障礙物,如果d(x,y)=1,表示該網(wǎng)格屬于待覆蓋區(qū)域;
6.2計算C內(nèi)K臺機器人需要覆蓋的網(wǎng)格數(shù)量,用網(wǎng)格數(shù)量集合G={g1,g2,…,gk,…,gK}表示,C中第k臺機器人需要覆蓋的網(wǎng)格數(shù)量gk按公式(5)計算:
其中T表示機器人上搭載的傳感器的視野面積;將G中K個元素分別除以這K個元素的最大公約數(shù),得到集合C中K臺機器人的網(wǎng)格數(shù)量比值,用網(wǎng)格數(shù)量比值集合H={h1,h2,…,hk,…,hK}表示,hk是C中第k臺機器人的網(wǎng)格數(shù)量比值;
6.3統(tǒng)計二維矩陣D中,與C中K臺機器人的位置距離最近的K個網(wǎng)格,組成起始網(wǎng)格集合S={s(x1,y1),…,s(xk,yk),…,s(xK,yK)},s(xk,yk)是C中第k臺機器人的起始網(wǎng)格;
第七步,區(qū)域劃分模塊從環(huán)境建模模塊接收最優(yōu)機器人集合C及其預期需要覆蓋的網(wǎng)格數(shù)量集合G、網(wǎng)格數(shù)量比值集合H、起始網(wǎng)格集合S以及二維網(wǎng)格矩陣D,從客戶端獲取策略選擇參數(shù)Stra,通過初始劃分和二次劃分兩個子模塊,將目標區(qū)域劃分成K個待覆蓋子區(qū)域,將K個待覆蓋子區(qū)域發(fā)送給并行路徑規(guī)劃模塊,方法是:
7.1初始劃分模塊將二維矩陣D初步劃分為K個子區(qū)域,用初始子區(qū)域集合P={p1,p2,…,pk,…,pK}表示,pk是C中第k臺機器人需要覆蓋的網(wǎng)格集合,具體方法如下:
7.1.1將集合C中K臺機器人的起始網(wǎng)格作為第一個分配網(wǎng)格分配到初始子區(qū)域集合P中;
7.1.2參考C中各機器人的預期網(wǎng)格數(shù)量G及網(wǎng)格數(shù)量比值H,交替將二維網(wǎng)格矩陣D中其他未分配網(wǎng)格分配給各子區(qū)域,方法是:
7.1.2.1令機器人序號k=1;
7.1.2.2計算G中各元素的累加和若說明二維網(wǎng)格矩陣D中的待覆蓋網(wǎng)格均已被分配給C中的K臺機器人,轉7.2;否則,說明二維網(wǎng)格矩陣D中還有網(wǎng)格尚未被分配給C中的K臺機器人,轉7.1.2.3;
7.1.2.3統(tǒng)計和子區(qū)域pk相鄰的未被分配網(wǎng)格,定義D中的未分配網(wǎng)格d(x1,y1)與子區(qū)域pk相鄰,x1為橫坐標,y1為縱坐標,1≤x1≤X,1≤y1≤Y,當且僅當子區(qū)域pk中存在網(wǎng)格d(x,y)滿足以下條件,
d(x1,y1)≠0 公式(7)
將與子區(qū)域pk相鄰且未被分配的網(wǎng)格組成子區(qū)域pk的候選網(wǎng)格集合Ek,Ek={e(x1,y1),e(x2,y2),...,e(xq,yq),...e(xQ,yQ)},e(xq,yq)≠0,e(xq,yq)∈D,Q為正整數(shù),1≤q≤Q;
7.1.2.4根據(jù)從客戶端獲取的策略選擇參數(shù)Stra,從候選網(wǎng)格集合Ek中挑選出hk個網(wǎng)格,分配給子區(qū)域pk,方法如下:
7.1.2.4.1若Stra=1,從候選網(wǎng)格集合Ek中,隨機挑選hk個網(wǎng)格,組成子區(qū)域pk的網(wǎng)格集合Fk,將Fk分配給子區(qū)域pk,即pk={pk,F(xiàn)},轉7.1.2.5;
7.1.2.4.2若Stra=2,從候選網(wǎng)格集合Ek中,依次選取與起始網(wǎng)格sk距離最近的hk個網(wǎng)格,組成子區(qū)域pk的網(wǎng)格集合Fk,將Fk分配給子區(qū)域pk,即pk={pk,F(xiàn)},轉7.1.2.5;
7.1.2.5令gk=gk-hk,k=k+1;
7.1.2.6若k≤K,轉7.1.2.2;否則,轉7.1.2.1;
7.2二次劃分模塊從初始區(qū)域劃分模塊接收初始子區(qū)域集合P,通過二次劃分將二維網(wǎng)格矩陣D精確地劃分成K個子區(qū)域,這K個子區(qū)域組成精確子區(qū)域集合P’,并將P’輸出到并行路徑規(guī)劃模塊,方法是:
7.2.1令P’=P,其中P’={p’1,p’2,...,p’k,...,p’K},即使用P初始化P’;
7.2.2計算P’中K個子區(qū)域的實際分配網(wǎng)格數(shù)量與預期分配網(wǎng)格數(shù)量之間的偏差,得到網(wǎng)格數(shù)量偏差集合G’;
7.2.3若max(G’)=0,說明P’中K個子區(qū)域的實際分配網(wǎng)格數(shù)量與預期分配網(wǎng)格數(shù)量相等,max(G’)為對集合G’中的元素取最大值,轉7.2.9;否則,統(tǒng)計G中數(shù)值等于±m(xù)ax(G’)的子區(qū)域,構成最大偏差子區(qū)域集合PG={pg1,pg2,...,pgi,...,pgI},I為正整數(shù),1≤I≤K,1≤i≤I,pgi為PG中的第i個子區(qū)域,轉7.2.4;
7.2.4建立搜索樹,從PG中隨機挑選出一個元素pgi作為該搜索樹的根節(jié)點,然后逐級生成搜索樹的各層子節(jié)點,直到在某層子節(jié)點中找到可以和pgi進行二次再分配的子區(qū)域為止;方法如下:
7.2.4.1令搜索樹節(jié)點層數(shù)j=2,令搜索樹第j-1層節(jié)點集合T={pgi};
7.2.4.2生成搜索樹第j層節(jié)點,組成第j層節(jié)點集合TT,TT中包含子區(qū)域集合TR,TR={tr1,...,tro,...,trO},O為正整數(shù)且1≤O≤K,1≤o≤O,tro為TR中的第o個子區(qū)域;
7.2.4.3若TT中存在子區(qū)域tro,滿足如果有,說明有可以和pgi進行二次再分配的子區(qū)域,這些子區(qū)域組成二次分配子區(qū)域集合TTS,從TTS中隨機挑選一個元素,令為tro,轉7.2.5;否則轉7.2.4.4;
7.2.4.4令j=j+1,T=TT,轉7.2.4.2;
7.2.5從節(jié)點tro開始,沿著搜索樹逐級回溯,直到遇到根節(jié)點pgi,回溯過程中遇到的節(jié)點,組成回溯路徑子區(qū)域集合W={w1,w2,...,wz,...,wZ},Z為正整數(shù)且1≤Z≤K,1≤z≤Z,其中w1=tro,wZ=pgi;
7.2.6若說明子區(qū)域pgi的實際網(wǎng)格分配數(shù)量比預期分配數(shù)量要少,轉7.2.7;否則,說明子區(qū)域pgi的實際網(wǎng)格分配數(shù)量比預期分配數(shù)量要多,轉7.2.8;
7.2.7從其他子區(qū)域中挑選出一個網(wǎng)格,二次分配給子區(qū)域pgi;方法如下:
7.2.7.1令實際二次分配子區(qū)域集合W1={w1,w2,...,wz,...,wZ-1},令W1中子區(qū)域序號z=1;
7.2.7.2從子區(qū)域wz中挑選出一個網(wǎng)格d(x,y),轉移給子區(qū)域wz+1中即令wz+1={wz+1,d(x,y)},wz=wz-{d(x,y)};挑選的網(wǎng)格滿足以下條件:二次分配完以后,子區(qū)域{wz+1,d(x,y)}依然是連通的,定義子區(qū)域是連通的,當且僅當該子區(qū)域內(nèi)的每個網(wǎng)格,都存在至少一個相鄰網(wǎng)格;
7.2.7.3令z=z+1;
7.2.7.4若z=Z-1,令轉7.2.2;否則,轉7.2.7.2;
7.2.8將子區(qū)域pgi內(nèi)部的一個網(wǎng)格,二次分配給其他子區(qū)域,方法如下:
7.2.8.1令W1={w2,…,wz,…,wZ},令z=1;
7.2.8.2從子區(qū)域wz+1中挑選出一個網(wǎng)格,轉移給子區(qū)域wz,即wz={wz,d(x,y)},wz+1=wz+1-{d(x,y)};挑選的網(wǎng)格滿足以下條件:二次分配完以后,子區(qū)域依然是連通的;
7.2.8.3令z=z+1;
7.2.8.4若z=Z-1,則令轉7.2.2;否則,轉7.2.8.2;
7.2.9經(jīng)過二次劃分,得到精確的子區(qū)域集合P’,將P’發(fā)送給并行路徑規(guī)劃模塊;
第八步,并行路徑規(guī)劃模塊從區(qū)域劃分模塊接收精確子區(qū)域集合P’,在P’的K個子區(qū)域上并行執(zhí)行單機器人生成樹覆蓋路徑規(guī)劃算法,在K個子區(qū)域分別生成一條覆蓋路徑,共生成K條覆蓋路徑,將K條覆蓋路徑分別發(fā)送給與C對應的K臺機器人終端;
第九步,與C對應的K臺機器人終端并行接收對應的覆蓋路徑,并行按照對應的覆蓋路徑運動,生成K條運動軌跡,這K條運動軌跡實現(xiàn)對目標區(qū)域的完全覆蓋。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國人民解放軍國防科技大學,未經(jīng)中國人民解放軍國防科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011401042.8/1.html,轉載請聲明來源鉆瓜專利網(wǎng)。
- 基于空間對象類化模型及網(wǎng)格體索引的異構地理空間數(shù)據(jù)管理技術
- 一種多基地異構無人機協(xié)同偵察的任務規(guī)劃方法
- 一種異構存儲環(huán)境下多版本文件視圖管理方法和裝置
- 一種基于多源異構數(shù)據(jù)模式下應用于配電網(wǎng)投資的方法
- 多源異構數(shù)據(jù)處理方法及裝置
- 一種基于元數(shù)據(jù)的多源異構數(shù)據(jù)集成方法
- 一種異構環(huán)境下應用發(fā)布的方法和裝置
- 基于混合本體模式的多源異構數(shù)據(jù)管理方法
- 基于RBF神經(jīng)網(wǎng)絡的異構多智能體系統(tǒng)協(xié)同容錯控制方法
- 異構模型自適應協(xié)作方法





