基於動態粒子蜜蜂算法的群機器人搜索方法與流程
2023-06-08 21:53:11 4

本發明涉及機器人自動檢測技術領域,特別是一種群機器人的搜索方法。
背景技術:
近幾年,全球開啟工業4.0模式,其發展方向是走向網際網路和物聯網、信息流和數據流的進一步融合,也加快了機器人領域的發展速度,提高了機器人軟硬體技術,拓寬了移動機器人應用的範圍,由機器人來完成服務、家居生活、工業生產等方面的工作成為一種勢不可擋的潮流,在餐廳中做服務員的機器人、工廠中忙於生產的機械臂等隨處可見。
雖然單個機器人可以完成一些簡單的任務,但是由於單個機器人一般都體積大、能耗高、結構複雜,靈活性差,在使用單機器人進行搜索任務時的效果不是很好,而群機器人因為其體積小、數量多、結構簡單、比較靈活、魯棒性強,比單個機器人更容易控制,而且其容錯能力強,即使其中某個機器人壞了,也不會影響整體的搜索等特徵,因此,近幾年受到越來越多的關注。
研究利用群機器人搜索目標,在理論和實際研究中都有重要的意義。從理論上來說,通過研究群機器人尋找目標的過程,可以促進對群體自組織原理及協同行為湧現規律的研究。從實際上來說,研究利用群機器人搜索目標,可以利用機器人代替人完成很多工作,比如排雷排爆、空間探測、地震等災難後的倖存者搜索、礦難搜救問題等,從而使機器人的應用變得更加廣闊。
技術實現要素:
本發明需要解決的技術問題是提供一種高效率的群機器人搜索方法。
為解決上述技術問題,本發明所採取的技術方案如下。
基於動態粒子蜜蜂算法的群機器人搜索方法,具體包括以下步驟:
a.採用組合拍賣法對搜索問題建模;
其中,
xij=0,1,(i,j=1,2,…,n);
cij表示機器人ri搜索目標gj所需要的代價;
b.設置搜索領域以及搜索時間t;
c.利用動態粒子蜜蜂算法進行搜索,直到整個搜索區域搜索完成或者設定的搜索時間達到,結束搜索。
上述基於動態粒子蜜蜂算法的群機器人搜索方法,步驟c具體包括以下內容:
c1.利用蜜蜂算法進行全局搜索;
c2.當發現目標之後,轉變為動態粒子群搜索算法進行局部搜索,確定動態離子群搜索時間t1;.在t1時間內,一直採用動態粒子群搜索算法進行目標位置的確定;確定目標位置後,判斷是否完成整個區域的搜索,如果完成,則結束當前區域的搜索;如沒有確定目標,則在t1時間到達後,轉換為蜜蜂算法,繼續進行當前區域的搜索;
c3.如果蜜蜂算法沒有發現目標,一直使用蜜蜂搜索算法進行搜索,直到整個搜索區域搜索完成或者搜索時間t到達,結束搜索。
上述基於動態粒子蜜蜂算法的群機器人搜索方法,步驟c1具體包括以下內容:
c11.初始化被隨機釋放在搜索環境中的偵查蜂位置;
c12.計算偵查蜂的適應度值,按降序排列,選取出nb只最佳蜂;
c13.招募nrb只蜜蜂,進行領域搜索;
c14.計算最佳蜂的適應度值,按降序排列,選取出ne只精英蜂;
c15.招募nre只蜜蜂,進行領域搜索。
上述基於動態粒子蜜蜂算法的群機器人搜索方法,所述適應度值計算採用下式計算獲得:
式中:
其中,α,β和γ分別是質量、成本和機器人性能的控制參數,
vik是第k個機器人對第i個任務的性能值,
n是機器人個數,gik是第k個機器人得到關於第i個任務的信息,
cik是第k個機器人執行第i個任務花費的成本,
ti是完成第i個任務花費的時間,
m是目標個數,t為搜索總時間,
fi表示任務i的標準化優先權,
fi是任務i的優先權,第k個機器人完成第i個目標的成本就是相互間的距離dik,
(xi,yi)和(xk,yk)分別代表目標和機器人的位置;
上述適應度計算過程中,所有偵查蜂的適應度值總和為1,所有最佳蜂的適應度總和為1。
上述基於動態粒子蜜蜂算法的群機器人搜索方法,步驟c2具體包括以下內容:
c21.均勻分割搜索空間成若干子搜索空間,並初始化子搜索空間,確定粒子坐標值;
c22.隨機生成敏感粒子,計算器適應度值,通過響應閾值來衡量敏感粒子的適應度值;
c23.以一定的比例更新粒子的位置和速度,直到確定目標位置或者動態離子群搜索時間t1到達。
上述基於動態粒子蜜蜂算法的群機器人搜索方法,所述粒子和敏感粒子的適應度計算公式如下:
fitness(i)=positionx(i)+positiony(i)
其中,fitness(i)表示粒子i的適應度值;positionx(i)表示粒子i的位置x坐標值,positiony(i)表示粒子i的位置y坐標值。
上述基於動態粒子蜜蜂算法的群機器人搜索方法,所述粒子和敏感粒子的速度和位置更新公式如下:
其中,pbestx是粒子本身在搜索過程中在x軸的最好位置,
pbesty是粒子本身在搜索過程中在y軸的最好位置,
gbestx是在通信範圍內所有粒子中在x軸的最好位置,
gbesty是在通信範圍內所有粒子中在y軸的最好位置,
w,c1,c2為權值,0<w<2,0<c1/c20,此處代價函數cij>0可認為競標的出價,代價函數cij表示機器人ri搜索目標gj所需要的代價。
當xij=1時,表示機器人ri搜索到目標gj;當xij=0時,表示機器人ri未搜索未到目標gj。
當機器人ri搜索完目標點gj之後,必須要有一個確切的即將探測的目標點;而探測目標點gj之前必須要有一個剛剛探測過的確切目標。
那麼,基於組合拍賣法的混合整數線性規劃的數學模型如下:
其中,
xij=0,1,(i,j=1,2,…,n);
cij表示機器人ri搜索目標gj所需要的代價。
b.設置搜索領域以及搜索時間t;設置搜索區域,並在搜索區域內設置4個目標點,實際坐標分別為(-60,-60)、(40,40)、(-40,40)和(40,-40),利用100個機器人進行搜索的任務,搜索時間為t。
c.利用動態粒子蜜蜂算法進行搜索,直到整個搜索區域搜索完成或者設定的搜索時間達到,結束搜索,具體流程如圖2所示。
步驟c具體包括以下內容:
c1.利用蜜蜂算法進行全局搜索,具體流程如圖4所示。
c11.初始化被隨機釋放在搜索環境中的偵查蜂位置。
c12.計算偵查蜂的適應度值,按降序排列,選取出nb只最佳蜂。
c13.招募nrb只蜜蜂,進行領域搜索。
c14.計算最佳蜂的適應度值,按降序排列,選取出ne只精英蜂。
c15.招募nre只蜜蜂,進行領域搜索。
上述偵查蜂和最佳蜂適應度值計算採用下式計算獲得。
式中:
其中,α,β和γ分別是質量、成本和機器人性能的控制參數,
vik是第k個機器人對第i個任務的性能值,
n是機器人個數,gik是第k個機器人得到關於第i個任務的信息,
cik是第k個機器人執行第i個任務花費的成本,
ti是完成第i個任務花費的時間,
m是目標個數,t為搜索總時間,
fi表示任務i的標準化優先權,
fi是任務i的優先權,第k個機器人完成第i個目標的成本就是相互間的距離dik,
(xi,yi)和(xk,yk)分別代表目標和機器人的位置;
上述適應度計算過程中,所有偵查蜂的適應度值總和為1,所有最佳蜂的適應度總和為1。
c2.當發現目標之後,轉變為動態粒子群搜索算法進行局部搜索,確定動態離子群搜索時間t1;.在t1時間內,一直採用動態粒子群搜索算法進行目標位置的確定;確定目標位置後,判斷是否完成整個區域的搜索,如果完成,則結束當前區域的搜索;如沒有確定目標,則在t1時間到達後,轉換為蜜蜂算法,繼續進行當前區域的搜索,動態粒子群算法的具體流程如圖3所示。
c21.均勻分割搜索空間成若干子搜索空間,並初始化子搜索空間,確定粒子坐標值。
本步驟中,動態粒子群進行局部搜索時加入鄰域設置,使精英蜂和最佳蜂在局部搜索過程中,位置迭代的總和在設置的最大值和最小值之間,即xidmin≤xid(t+1)≤xidmax。
例如設置的鄰域邊界設置為20和25,那麼整個過程xid的值不能超過20*25這個矩形,如果其值超過這個範圍,鄰域設置會將其限制在20*25這個範圍內,提高完成搜索的效率。
c22.隨機生成敏感粒子,計算器適應度值,通過響應閾值來衡量敏感粒子的適應度值。
粒子和敏感粒子的適應度計算公式如下:
fitness(i)=positionx(i)+positiony(i)
其中,fitness(i)表示粒子i的適應度值;positionx(i)表示粒子i的位置x坐標值,positiony(i)表示粒子i的位置y坐標值。
c23.以一定的比例更新粒子的位置和速度,直到確定目標位置或者動態離子群搜索時間t1到達。
粒子和敏感粒子的速度和位置更新公式如下:
其中,pbestx是粒子本身在搜索過程中在x軸的最好位置,
pbesty是粒子本身在搜索過程中在y軸的最好位置,
gbestx是在通信範圍內所有粒子中在x軸的最好位置,
gbesty是在通信範圍內所有粒子中在y軸的最好位置,
w,c1,c2為權值,0<w<2,0<c1/c2<2。
c3.如果蜜蜂算法沒有發現目標,一直使用蜜蜂搜索算法進行搜索,直到整個搜索區域搜索完成或者搜索時間t到達,結束搜索。