基于多目標人工蜂群算法的多機器人路徑規(guī)劃方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及路徑規(guī)劃技術(shù)領(lǐng)域,具體涉及一種基于多目標人工蜂群算法的多機器 人路徑規(guī)劃方法。
【背景技術(shù)】
[0002] 自機器人誕生以來,人類社會的生活、生產(chǎn)方式發(fā)生了巨大變化。隨著對機器人需 求的發(fā)展,人們認識到完成一件復(fù)雜的任務(wù)時,相比于設(shè)計單個功能復(fù)雜的機器人,設(shè)計多 個功能簡單的機器人在成本、效率、魯棒性上有很多優(yōu)勢。多機器人系統(tǒng)相比于單機器人具 有效率更高、成本更低、靈活性高、魯棒性強等優(yōu)點。在多機器人系統(tǒng)中,移動多機器人系統(tǒng) 是一個研宄的重要方向。設(shè)計移動多機器人系統(tǒng),自主導航是研宄的關(guān)鍵問題之一。路徑 規(guī)劃作為自主導航技術(shù)的核心,是實現(xiàn)多機器人自主導航技術(shù)的關(guān)鍵,也是多機器人系統(tǒng) 研宄的一個熱點問題。路徑規(guī)劃不僅要考慮路徑最短這一指標,還要考慮路徑的安全性、平 滑性等性能指標。傳統(tǒng)的路徑規(guī)劃方法只考慮單個的性能指標或者通過加權(quán)法將多個性能 指標轉(zhuǎn)化為單個性能指標,然后用單目標函數(shù)優(yōu)化方法求解多目標優(yōu)化問題。然而實際的 路徑規(guī)劃問題其路徑長度、路徑安全性和平滑性等指標一般都是相互沖突的,難以達到同 時最優(yōu)化。通過傳統(tǒng)的路徑規(guī)劃方法一次只能求得一條路徑,不能滿足復(fù)雜環(huán)境中機器人 的路徑規(guī)劃需求。多目標優(yōu)化方法可以良好的解決存在沖突情況下的優(yōu)化問題,每次優(yōu)化 可以根據(jù)需要得到一個解集,包含所優(yōu)化問題的多個可行解,便于機器人進行選擇。多目標 人工蜂群算法是一種智能優(yōu)化算法,算法收斂速度快、不易陷入局部最優(yōu)值,是一種求解多 目標優(yōu)化問題的有效算法。
【發(fā)明內(nèi)容】
[0003] 針對現(xiàn)有技術(shù)存在的缺陷,本發(fā)明的目的在于對標準人工蜂群算法進行多目標優(yōu) 化改進,提供一種基于多目標人工蜂群算法的多機器人路徑規(guī)劃方法。
[0004] 本發(fā)明提供一種基于多目標人工蜂群算法的多機器人路徑規(guī)劃方法,其特征在 于,包含以下優(yōu)化步驟:
[0005] 步驟一:環(huán)境建模
[0006] -,路徑規(guī)劃問題的環(huán)境建模
[0007] 路徑規(guī)劃的環(huán)境設(shè)置為二維平面,建立環(huán)境地圖的全局坐標系O-XY ;Start為 機器人的出發(fā)點,Target為機器人的目標點;機器人的路徑在環(huán)境地圖中可以表示為 起點、目標點和中間經(jīng)過的η個路徑點組成的集合:Path = {Start, Step1, Step2,… ,Stepn, Target};其中,集合P= (Step1, Step2, "^StepJ即為路徑規(guī)劃的優(yōu)化目標,Step 為機器人的路徑點,每個Step路徑點含有機器人運動的橫縱坐標
[0008] 為簡化環(huán)境地圖、優(yōu)化機器人路徑點的表示方法,將機器人的步長值設(shè)置為定值 StepLen,其運動路徑通過機器人起點坐標(Startx, Starty)和機器人每一個 當前位置相對于上一個位置的夾角Θ i來確定,具體如下式:
【主權(quán)項】
1. 一種基于多目標人工蜂群算法的多機器人路徑規(guī)劃方法,其特征在于,包含以下優(yōu) 化步驟: 步驟一:環(huán)境建模 一,路徑規(guī)劃問題的環(huán)境建模 路徑規(guī)劃的環(huán)境設(shè)置為二維平面,建立環(huán)境地圖的全局坐標系O-XY;Start為機器人 的出發(fā)點,Target為機器人的目標點;機器人的路徑在環(huán)境地圖中可以表示為起點、目標 點和中間經(jīng)過的n個路徑點組成的集合:Path= {Start,StepuStep2,…,Stepn,Target}; 其中,集合P= {SkPl,St^2,…,St印J即為路徑規(guī)劃的優(yōu)化目標,St印為機器人的路徑 點,每個Step路徑點含有機器人運動的橫縱坐標(S/t九,S/(:九); 為簡化環(huán)境地圖、優(yōu)化機器人路徑點的表示方法,將機器人的步長值設(shè)置為定值StepLen,其運動路徑(5"/〇7:>,:,57〇7:〇通過機器人起點坐標(Start51,Starty)和機器人每一個 當前位置相對于上一個位置的夾角0i來確定,具體如下式:
其中,k表示機器人行走的第k步,為路徑點的x坐標值,Sk九為路徑點的y坐標 值;Startx為起點的x坐標值,Starty為起點的y坐標值;StepLen為機器人的步長值,0i 為機器人路徑點對應(yīng)的夾角; 路徑規(guī)劃目標由集合P轉(zhuǎn)化為集合9 = {^,92,…,9n,9n+1};其中,^為路徑點Start和路徑點StePi之間對應(yīng)的夾角;0 n+1為路徑點Step"和Target之間對應(yīng)的夾角;夾 角9 初始化是通過隨機數(shù)生成的,生成方式為如下式: 9i= rand(0, 1) X (max「minj+mini 其中,rand(0, 1)表示0到1之間的隨機數(shù),maxi為夾角0i可以取得的最大值,mini為夾角Qi可以取得的最小值; 二,路徑規(guī)劃問題的三個目標函數(shù) 路徑規(guī)劃中,性能指標有很多;本發(fā)明考慮最重要的三個目標函數(shù):路徑長度函數(shù)、路 徑安全性函數(shù)和路徑平滑性函數(shù);其定義分別是如下: 路徑長度函數(shù)f\(0): 對于路徑Path= {Stari^StepnStepa…,Stepn,Target} = ^,卩丨,…,pn,pn+1}的優(yōu) 化轉(zhuǎn)化為對0 = {0i,02,…,0n,0n+1}的優(yōu)化;本發(fā)明中機器人的步長值為定值,因此機 器人路徑長度為機器人的行走步數(shù)和最后一步到目標點的距離,可以表示為如下式: fi( 0 ) =f1(p) =nXStepLen+1pnpn+1 其中,n表示機器人行走的步數(shù),StepLen為機器人的步長值;|pnpn+11表示路徑目標點Target和機器人第n步的位置Stepn之間的距離; 路徑安全性函數(shù)4(9): 機器人在運動過程中不能與障礙物或者其他機器人相撞,路徑安全性函數(shù)是避免碰撞 的關(guān)鍵函數(shù),本發(fā)明設(shè)計的路徑安全性函數(shù)為如下式:
其中,min為最小值求取函數(shù),disObst為機器人的路徑點到障礙物的距離,min(disObst)為機器人的路徑點到各個障礙物的距離的最小值;Dist為設(shè)定的閾值,表示 機器人的安全度;const為常數(shù),表示當機器人的路徑點到障礙物的距離大于此值時,機器 人的路徑是安全的,不需要進行優(yōu)化; 路徑平滑性函數(shù)&(0): 通過路徑點之間對應(yīng)的夾角計算路徑的方式簡化了路徑平滑性函數(shù)的設(shè)計,本發(fā)明的 路徑平滑性函數(shù)為如下式:
其中,max為最大值求取函數(shù),機器人的路徑點集合0中機器人路徑點之間的夾 角,n表示夾角的數(shù)目; 步驟二:路徑規(guī)劃參數(shù)、多目標人工蜂群算法參數(shù)初始化 多目標人工蜂群算法需要初始化的參數(shù):首先設(shè)置食物源數(shù)目Fs、最大迭代次數(shù)MaxCycle、食物源的取值范圍[min,max];然后進行食物源的初始化,食物源即代表路徑規(guī) 劃中的優(yōu)化目標一一路徑點之間的夾角集合9 ;食物源的數(shù)目等于雇傭蜂和觀察蜂總量的 二分之一,通常每個食物源會對應(yīng)一只雇傭蜂,雇傭蜂會對食物源進行優(yōu)化;需要初始化的 路徑規(guī)劃參數(shù)為機器人步長值StepLen; 步驟三:三種蜜蜂分別對路徑進行優(yōu)化 算法初始化之后,進入算法的主體迭代優(yōu)化過程;多目標人工蜂群算法的優(yōu)化是通過 蜂群的自組織能力實現(xiàn)的;蜂群的自組織能力體現(xiàn)在其具有正反饋、負反饋、波動和交互的 屬性;在多目標人工蜂群算法中,食物源最初在解空間中的分布是無序的、隨機的,經(jīng)過一 次次優(yōu)化,逐步走向有序,得到最優(yōu)解; 三種蜜蜂分別對路徑進行優(yōu)化是算法的主體循環(huán)部分之一;首先,雇傭蜂采蜜,產(chǎn)生新 的路徑,得到路徑點對應(yīng)的夾角的集合0/ ;其路徑的更新方式為如下式:
其中,ub#P 分別是路徑點對應(yīng)的夾角的最大值和最小值;eu代表的是波動系數(shù), 決定雇傭蜂覓食的范圍;9i/為新產(chǎn)生的路徑點之間的夾角;9u為集合9 /中的一個元 素,9w為集合9中隨機選擇的一個子集9k中的對應(yīng)元素; 然后雇傭蜂會判斷新得到的0'和當前的0之間的Pareto支配關(guān)系,如果沒,則 用0 '取代0作為當前的路徑集合;如果則不進行更新操作;觀察蜂會根據(jù)自己的 喜好進行采蜜,之后同樣會進行路徑更新;最后,偵察蜂會根據(jù)當前的排序狀態(tài)選擇放棄不 可行路徑,并重新生成新的路徑; 步驟四:基于Pareto支配和擁擠距離排序,保留優(yōu)良路徑 基于Pareto支配和擁擠距離的排序是等雇傭蜂、觀察蜂和偵察蜂路徑優(yōu)化結(jié)束之后 才總體進行的;此方法運行效率明顯優(yōu)于每種蜜蜂路徑優(yōu)化結(jié)束之后就進行一次排序;排 序之后,根據(jù)排序的次序保留優(yōu)良路徑,舍棄不可行路徑,維持種群大小的恒定;此步驟也 是算法的主體循環(huán)部分之一;此步結(jié)束之后,會判斷是否已經(jīng)達到最大迭代次數(shù),如果達到 最大迭代次數(shù)則進入下一步;否則,算法的迭代次數(shù)加1,繼續(xù)進行下一步優(yōu)化過程; 步驟五:輸出最優(yōu)路徑 當算法達到最大迭代次數(shù)時便會終止;此時得到機器人路徑規(guī)劃的路徑點之間的夾角 的集合;此集合是一個Pareto最優(yōu)解集;算法的最后一步是把路徑點的夾角關(guān)系集合0 轉(zhuǎn)化為路徑點的集合Path;然后,將集合Path輸出,路徑規(guī)劃結(jié)束;最后,機器人運動的路 徑是從輸出的Pareto最優(yōu)解集中選取的一條適合當時機器人所在環(huán)境要求的路徑。
2. 根據(jù)權(quán)利要求1所述的基于多目標人工蜂群算法的多機器人路徑規(guī)劃方法,其特征 在于,所述機器人步長值StepLen決定機器人行走的歩距,步長值越大,機器人路徑平滑性 越差;步長值越小,機器人路徑平滑性越好。
3. 根據(jù)權(quán)利要求1所述的基于多目標人工蜂群算法的多機器人路徑規(guī)劃方法,其特征 在于,所述食物源數(shù)目Fs取40~60 ;所述最大迭代次數(shù)MaxCycle取800~1500 ;所述食 物源的取值范圍[min, max]中,范圍為-Jr < min < max < 31。
4.根據(jù)權(quán)利要求1所述的基于多目標人工蜂群算法的多機器人路徑規(guī)劃方法,其特征 在于,所述波動系數(shù)eu的取值范圍為[-0. 5, 0. 5]。
【專利摘要】本發(fā)明提出一種基于多目標人工蜂群算法的多機器人路徑規(guī)劃方法,屬于路徑規(guī)劃技術(shù)領(lǐng)域,包括:路徑規(guī)劃問題的環(huán)境建模、多目標人工蜂群算法的參數(shù)初始化、三種蜜蜂迭代優(yōu)化路徑并確定非劣解集、排序保留優(yōu)良路徑和輸出最優(yōu)路徑集合。本發(fā)明基于Pareto支配和擁擠距離的非支配排序的概念對標準人工蜂群算法進行改進,提出了適用于求解多目標優(yōu)化問題的多目標人工蜂群算法。在路徑規(guī)劃過程中本算法可以考慮路徑長度、平滑性和安全性等多個性能指標,并且一次路徑規(guī)劃可以獲得一組Pareto最優(yōu)路徑。本發(fā)明提出的路徑規(guī)劃方法屬于元啟發(fā)式智能優(yōu)化方法,不同于傳統(tǒng)的單目標路徑規(guī)劃方法,能夠更好的適應(yīng)復(fù)雜環(huán)境中的路徑規(guī)劃任務(wù)。
【IPC分類】G05D1-02
【公開號】CN104808665
【申請?zhí)枴緾N201510179769
【發(fā)明人】李敏, 竇連航, 李洋
【申請人】上海大學
【公開日】2015年7月29日
【申請日】2015年4月16日