摘 要: 針對機器人路徑規(guī)劃中,應(yīng)用遺傳算法時容易陷入局部最優(yōu)解以及收斂速度較慢等問題,,設(shè)計出一種基于混沌遺傳算法的路徑規(guī)劃方法,。在基本遺傳算法的基礎(chǔ)上采用自適應(yīng)調(diào)整的選擇概率,并引入混沌操作,,從而增強移動機器人路徑規(guī)劃算法的魯棒性,,解決一般遺傳算法的早熟和收斂速度慢問題。經(jīng)MATLAB仿真,,證明該方法具有良好的避障性能,。
關(guān)鍵詞: 混沌;遺傳算法,;路徑規(guī)劃
路徑規(guī)劃是按照某一性能指標搜索一條從起始狀態(tài)到目標狀態(tài)的最優(yōu)或近似最優(yōu)的無碰路徑,,機器人的路徑規(guī)劃是一個非線性問題,遺傳算法GA(Genetic Algorithm)可以求解此類問題,。但對于復雜的大型系統(tǒng),,GA仍然有一些缺陷[1-3]。為了避免這些問題,,不少人對遺傳算法的編碼方式和算法結(jié)構(gòu)等進行了改進[4],。Hussein A. Abdullah等[5]采用直角坐標法編碼,將浮點數(shù)表示的坐標點鏈接成染色體,,染色體為不定長,,這種方法具有良好的全局搜索性能,但路徑個體中途點坐標的可取值范圍過大,,路徑拐點多,;周明等[6]提出一種連續(xù)空間下基于遺傳算法的機器人路徑規(guī)劃方法,該方法先建立連通圖,,然后再使用遺傳算法逐步得到較優(yōu)的路線,,但對于復雜環(huán)境、障礙物數(shù)目較多的情況,,建立連通圖會有一定的困難,;羅熊[7]等設(shè)計了一種基于隨機指導式搜索策略的初始種群的快速有效生成方法,用于具有大量不規(guī)則障礙物的環(huán)境下的機器人路徑規(guī)劃,,取得很好的仿真效果,;馮琦[8]等提出了一種在極坐標環(huán)境下應(yīng)用遺傳算法求解機器人路徑規(guī)劃問題的方法,該方法采用簡捷有效的路徑染色體編碼方法和快速的個體適應(yīng)度計算方法,,并對生成的初始路徑點集進行提煉處理,,以剔除其中含有的不必要拐點。
本文結(jié)合混沌優(yōu)化方法,,在基本遺傳算法的搜索機制上,,利用混沌優(yōu)化的遍歷性和遺傳算法優(yōu)化的反演性,提出了一種混沌遺傳算法CGA(Chaos Genetic Algorithm),。本算法通過設(shè)計編碼方式,、選擇概率以及加入操作算子來改進基本遺傳算法,,并在遺傳算法中引入混沌操作,將本算法運用于機器人路徑規(guī)劃中,,經(jīng)MATLAB仿真實驗,,證明此算法能夠有效的進行機器人路徑規(guī)劃。
1 混沌遺傳算法
CGA的基本思想是利用混沌優(yōu)化策略的遍歷性生成較優(yōu)良的初始種群,,根據(jù)適者生存的原則,,對其進行選擇、雜交,、變異遺傳操作,,同時加入刪除和插入操作加快遺傳算法收斂速度,然后利用混沌的隨機性在種群中加入擾動,,避免遺傳算法的早熟收斂現(xiàn)象,,增強算法的魯棒性,通過不斷繁衍進化,,最后得到適合環(huán)境的較優(yōu)個體,。算法流程圖如圖1所示。
2 路徑規(guī)劃方法
2.1 基于地理信息的編碼
如何將問題的解轉(zhuǎn)換為編碼表達的染色體,,在xoy坐標系中表示障礙物信息,,并利于后續(xù)約束條件下的優(yōu)化操作是遺傳算法的關(guān)鍵問題。在遺傳算法中,,對于固定的適應(yīng)度函數(shù),,編碼的長度和搜索空間的大小直接決定了在線的計算時間。因此必須設(shè)計一種簡捷實用的編碼技術(shù),,才能縮短規(guī)劃時間,,實現(xiàn)實時控制。在實際運動中,,路徑點是二維的,,如果能對路徑坐標點進行降維處理,必將大大提高計算速度,。因此本文采用了簡化編碼長度的技術(shù),,即把路徑的二維編碼簡化為一維編碼。編碼形式如圖2所示,。
在xoy坐標系中,,機器人運動的起始點是(X1,Y1),,目標點是(Xn,,Yn),把起始點和目標點按x坐標等分成n段,則每個點的坐標可表示為(Xi,,Yi)(i=1,,2,…,,n),。在初始化種群時,,由于x坐標被等分,,所以每個個體表示的路徑的區(qū)別僅僅是路徑的縱坐標不同,縱坐標y的改變可以使機器人避開障礙物并按照不同的路徑運動到目標點,。
2.3 基于約束條件的適應(yīng)度函數(shù)
根據(jù)以上分析,,在機器人路徑規(guī)劃中適應(yīng)度函數(shù)需要滿足兩個條件:避障和路徑最短。假設(shè)障礙物的位置信息可由機器人的超聲波傳感器檢測到,,由此信息計算出機器人與障礙物的距離和夾角,,然后進行編碼,以直角坐標的形式表示在以機器人位置為原點的直角坐標系中,,若種群中個體包含障礙物坐標越多則適應(yīng)度越小,,反之就比較大,適應(yīng)度函數(shù)為f1,。評價路徑最短的適應(yīng)度函數(shù)為個體的前后基因的距離和,,距離越大則適應(yīng)度越小,反之就比較大,,適應(yīng)度函數(shù)為f2,。遺傳算法的適應(yīng)度函數(shù)可用如下關(guān)系表示:
其中(Xi,Yi)為個體基因,,n為基因個數(shù),,(xj,yj)為障礙物坐標,,m為障礙物個數(shù),。F是把2個約束條件有機結(jié)合起來的綜合適應(yīng)度函數(shù),a和b為加權(quán)系數(shù),。
2.4 路徑規(guī)劃方法步驟
(1)初始化參數(shù),。設(shè)定種群大小為npop,交叉概率為pc,,變異概率為pm,,最大迭代次數(shù)為counter。
(2)環(huán)境建模,。此地圖信息建立在xoy坐標下的柵格,,將機器人傳感器獲得外界地理信息轉(zhuǎn)化為柵格坐標,包括障礙物的坐標點和非障礙物的坐標點。柵格大小以機器人自由轉(zhuǎn)身來確定,,若障礙物大小不滿一個柵格也占據(jù)一個柵格的坐標,。
(3)種群初始化。首先隨機生成一維編碼的種群,,然后把此種群每個個體分別進行Logistic混沌映射,,產(chǎn)生的新個體的適應(yīng)值若大于原個體,則新個體替換原個體,,否則保留原個體,,經(jīng)混沌優(yōu)化后得到初始種群Gi(i=1,2,,…,,npop)。
(4)進入循環(huán),。判斷循環(huán)次數(shù)是否滿足終止條件,,若滿足,則跳轉(zhuǎn)到步驟9,,否則執(zhí)行下一步,。
(5)將種群進行混沌擾動。
?、俪跏蓟河秒S機方法產(chǎn)生新的種群Ci(i=1,,2,…,,cpop),,種群數(shù)量為cpop=pch×npop,其中pch為混沌擾動概率,。
?、趯⑸傻幕煦缧蛄蠧i映射到區(qū)間[0,1]內(nèi),,設(shè)mx為種群中最大基因值,,mi為種群中最小基因值,則01映射公式為CHi(Ci-mi)/(mx-mi),。
?、垡訡Hi為初始值,用Logistic映射得到序列CSi,,Logistic映射公式為CSi=μ×CHi×(1-CHi),,μ為混沌算子中的吸引算子。
?、芨鶕?jù)01映射公式作逆映射得到基因序列,,將此基因序列替換掉Gi種群中適應(yīng)度較高的個體,,形成新的Gi種群。
(6)以混沌擾動后的個體為基準進行遺傳操作,。
?、佥啽P賭法選擇操作。選擇操作采用自適應(yīng)調(diào)整的選擇概率ps進行操作,,根據(jù)適應(yīng)度函數(shù)計算種群適應(yīng)度的平均值fmean和最優(yōu)個體的適應(yīng)值ftop,。ftop-fmean越大則表明個體適應(yīng)值差別較大,ftop-fmean越小則表明個體之間的適應(yīng)值差別較小,,說明此種群容易達到局部最優(yōu),,過早收斂的可能性越大。因此可以近似地用最優(yōu)個體的適應(yīng)值和平均適應(yīng)值之差來反映種群的收斂程度,。這樣選擇概率ps的自適應(yīng)計算公式表示為ps=c(ftop-fmean)/k,,其中k為算法迭代次數(shù),c為比例系數(shù),。
②交叉操作,。以設(shè)定好的交叉概率pc進行個體的交叉操作,,適應(yīng)度高的個體和適應(yīng)度低的個體進行交叉。首先找到兩個交叉?zhèn)€體的交叉點,,即相同的基因值,,然后從此基因開始交換兩個個體后面的基因。
?、圩儺惒僮?。變異操作目的是在個體結(jié)構(gòu)一定的前提下,加入隨機擾動,,以尋找最優(yōu)解,,以此來避免丟失一些有用的遺傳因子。具體操作是隨機產(chǎn)生一個[0,,1]空間的數(shù)值與Pm進行比較,,若小于Pm,則進行變異操作,,將變異后的個體替代原個體,;若隨機產(chǎn)生的隨機數(shù)大于Pm,則不做變換,。
(7)對種群進行刪除和插入操作,。刪除操作通過刪除個體中包含的障礙物基因,可以使不可行路徑變?yōu)橐粭l可行的路徑,。插入操作即在不連續(xù)的路徑處插入基因使路徑成為一條連續(xù)可行的路徑,。
(8)計算終止條件。終止條件包括迭代次數(shù)和適應(yīng)值,其中迭代次數(shù)加一,,并計算當前種群的適應(yīng)度函數(shù)值,,然后跳轉(zhuǎn)到步驟(4)。
(9)進行輸出,,終止此次機器人行走的路徑規(guī)劃,。
3 仿真結(jié)果
為了驗證本文提出的基于混沌遺傳算法的路徑規(guī)劃方法的有效性和正確性,在MATLAB7.0中對算法進行了仿真試驗,,仿真試驗的主要參數(shù)設(shè)置為:9×9矩形場地,,種群規(guī)模為50,交叉概率為0.8,,變異概率為0.1,,最大迭代次數(shù)為100,混沌吸引算子為4,。
設(shè)定移動機器人運動的起始點為左下角柵格,,目標點為右上角柵格,這里用圓圈表示移動機器人走過的柵格,,用矩形表示障礙物,,SGA仿真實驗分別對基本遺傳算法(Simple Genetic Algorithm)和本文所設(shè)計的CGA進行仿真實驗,圖4給出其中一次應(yīng)用CGA的仿真結(jié)果,。
基于混沌遺傳算法的移動機器人路徑規(guī)劃方法,,把遺傳算法和混沌優(yōu)化方法各自優(yōu)點結(jié)合起來,可以克服遺傳算法在求解可行解空間巨大的大范圍優(yōu)化問題時容易陷入局部最優(yōu)值的局限,,對提高路徑規(guī)劃的質(zhì)量和效率有較好的效果,。仿真結(jié)果說明混沌遺傳算法在移動機器人路徑規(guī)劃中的可行性和有效性。但在移動機器人運動過程中,,運動精度還有待提高,。
參考文獻
[1] ASHIRU I, CZARNECKI C,, ROUTENT. Characteristics of a genetic based approach to path planning for mobile robots[J]. Journal of Network and Computer Applications,, 1996,19: 149-159.
[2] 孫樹棟,,曲彥賓.遺傳算法在機器人路徑規(guī)劃中的應(yīng)用研究[J].西北工業(yè)大學學報,,1998,16(1):79-83.
[3] 陳剛,,沈林成.復雜環(huán)境下路徑規(guī)劃問題的遺傳路徑規(guī)劃方法[J].機器人,,2001,23(1):40-44.
[4] 章敬東,,劉小輝,,鄧飛其,,等.混沌優(yōu)化與遺傳算法的智能集成[J].計算機工程與應(yīng)用,2003(17):17-20.
[5] ABDULLAH H A,, AREIBI S. Mobile robots path planning optimization in static and dynamic environments[J]. Ahmed ELSHAMLI,, 2004, 12-15.
[6] 周明,,孫樹棟,,彭炎午.使用遺傳算法規(guī)劃移動機器人路徑[J].西北工業(yè)大學學報,1998,,16(4):581-583.
[7] 羅熊,,樊曉平,易最,,等.具有大量不規(guī)則障礙物的環(huán)境下機器人路徑規(guī)劃的一種新型遺傳算法[J].機器人,,2004,26:23-24.
[8] 馮琦,,周德云.極坐標系下基于遺傳算法的路徑規(guī)劃方法[J].機械科學與技術(shù),,2004,23(5):45-48.