新聞中心

EEPW首頁 > 模擬技術 > 設計應用 > 基于小生境遺傳算法的移動機器人路徑優(yōu)化

基于小生境遺傳算法的移動機器人路徑優(yōu)化

作者: 時間:2010-05-17 來源:網絡 收藏
0 引 言

規(guī)劃是機器人學的一個重要研究領域,也是人工智能與機器人學的一個結合點。不論是哪種類別的,都要求根據某一準則(如行走路線總長度最短,能量消耗最少等),在工作空間中沿一條最優(yōu)(或次優(yōu))的行走。

規(guī)劃的典型方法有圖搜索法、柵格法、人工勢場法等,這些都有一定局限性,易陷入局部最優(yōu)解,而遺傳在解決非線性問題上具有良好的適用性,已成為路徑規(guī)劃中使用較多的一種方法。但是標準的遺傳本身也存在著早熟,易陷入局部最優(yōu)解等缺陷,不能保證對路徑規(guī)劃上計算效率和可靠性的要求。為了提高路徑規(guī)劃的求解質量和求解效率,提出一種基于預選擇機制小生境技術的改進遺傳算法,并將其應用于的路徑規(guī)劃,采用化復雜的二維坐標為一維坐標的編碼方式,有效降低了遺傳算法的搜索空間;根據移動機器人的行走特點,設計了自適應交叉算子、自適應變異算子、插入算子、刪除算子、擾動算子和倒位算子。通過計算機仿真證明了改進后的遺傳算法明顯提高了搜索效率和收斂速度,并能保證收斂到全局最優(yōu)解,克服了標準遺傳算法的缺點,為機器人快速尋求一條無碰的最優(yōu)路徑。

1基于遺傳算法的機器人路徑規(guī)劃算法的改進與應用

本文的移動機器人路徑規(guī)劃,目標是在一幅已知障礙物分布的二維地圖上尋找一條最優(yōu)路徑,使其到達目標點的距離最短,同時盡可能地使其與障礙物的距離最大化。為了簡化討論,將移動機器考慮為一個質點,而障礙物的邊界向外擴張,這是移動機器人的最大安全距離。

1.1基于預選擇機制技術的小生境遺傳算法機理

由于簡單遺傳算法是一種隨機的方法,旨在對多個不同的個體進行隱并行尋優(yōu),其運行過程和實現方法在本質上仍是串行的,這樣的進化運算過程相對緩慢;同時,基本遺傳算法常在各個個體未達到最優(yōu)解之前就收斂于一個局部最優(yōu)點,從而導致染色體趨于一致,即產生“早熟”現象。為了克服這些不足,引入了小生境遺傳機理,用基于預選擇機制技術的小生境方法維持群體的多樣性,避免群體內個別個體的大量增加,實現解空間內對局部最優(yōu)解和全局最優(yōu)解的尋優(yōu)。

小生境技術就是將每一代個體劃分為若干類,每個類中選出若干適應度較大的個體作為一個類的優(yōu)秀代表組成一個種群,再在種群中以及不同種群之間,通過雜交、變異產生新一代個體群,同時采用預選擇機制完成選擇操作。基于這種小生境技術的遺傳算法,可以更好地保持解的多樣性,同時具有很高的全局尋優(yōu)能力和收斂速度。

在預選擇機制中,只有在子串的適應度超過其父串的情況下,子串才能替換其父串,進入下一代群體。這種方式趨向于替換與其本身相似的個體(父與子之間的性狀遺傳),因而能夠較好地維持群體的分布特性,即使在群體規(guī)模相對較小的情況下,仍可維持較高的群體分布特性。具體算法的實現步驟如下:

(1)初始化(建立初始群體,確定遺傳參數);

(2)計算個體的適應度;

(3)遺傳操作(選擇、交叉、變異);

(4)比較子串和父串的適應度大小,如果子串的適應度高于父串的適應度,就替換父串;否則維持父串不變;

(5)如果沒有滿足算法的終止條件,則返回第(2)步;否則,算法終止。

1.2 路徑編碼

基因的編碼方式確定了問題在遺傳算法中的表現形式,也決定了所采用的遺傳進化操作。每個染色體表示為給定符號集中的字符組成基因串。在早期的遺傳算法中,符號集僅限于二進制數,因此遺傳基因型是一個二進制符號串,其優(yōu)點在于編碼、解碼的操作簡單,交叉、變異等的遺傳操作便于實現;缺點是不便反映所求問題的特定知識,以及對一些連續(xù)函數的優(yōu)化問題等。由于遺傳算法的隨機特性使得其局部搜索能力較差,對于一些要求多維、高精度的連續(xù)函數優(yōu)化,二進制編碼存在連續(xù)函數離散化時的映射誤差,當個體編碼串較短時,可能達不到精度要求;當個體編碼串較長時,雖然能提高精度,但卻會使算法的搜索空間急劇增大。

實數編碼適用于表示范圍大、精度高的數,能有效地克服二進制編碼的海明懸崖缺點,且可直接采用真值編碼,便于與問題相關的啟發(fā)知識,可以提高算法的搜索效率。移動機器人的路徑可以視為一系列坐標點連接而成的線段,對移動機器人的路徑規(guī)劃也就是對這些坐標點做各種操作,以使它們符合移動機器人行走的需要??紤]到移動機器人自身的特點(不僅需要避開障礙物,還要保證路徑的平滑性),以及移動機器人路徑中轉向點個數的不確定性,采用可變長染色體的實數編碼方式,用實數直接對路徑坐標點進行編碼,以便于對路徑點的靈活操作,從而避免在使用二進制編碼時,二進制位串與直角坐標點之間互相轉換的繁瑣操作,且易于進行遺傳算子操作。

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉