基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃方法
【專利摘要】基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃方法,該方法步驟為: 1. 獲取移動機(jī)器人工作環(huán)境的信息并對其進(jìn)行處理,將周圍環(huán)境中的靜態(tài)障礙物用矩形包圍盒的方式表示。 2. 在已收集的靜態(tài)環(huán)境信息基礎(chǔ)上應(yīng)用改進(jìn)的免疫網(wǎng)絡(luò)算法進(jìn)行全局路徑規(guī)劃。 3. 機(jī)器人沿著規(guī)劃出的路徑行進(jìn),如發(fā)現(xiàn)未知運(yùn)動障礙則預(yù)測其能否妨礙正常行駛,如果影響正常行駛則預(yù)測可能碰撞的危險區(qū)域。 4. 根據(jù)預(yù)測的結(jié)果形成新的局部環(huán)境可視圖并應(yīng)用免疫網(wǎng)絡(luò)算法規(guī)劃出新的局部路徑。 5. 當(dāng)機(jī)器人到達(dá)局部規(guī)劃的臨時目標(biāo)點(diǎn)后回到之前規(guī)劃的全局路徑上繼續(xù)行進(jìn)。本發(fā)明能夠在保障復(fù)雜環(huán)境下求解出全局最優(yōu)路徑的基礎(chǔ)上也能保障局部動態(tài)區(qū)域路徑規(guī)劃的最優(yōu)。
【專利說明】基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃方法
【技術(shù)領(lǐng)域】 [0001] :本發(fā)明涉及一種基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃方法。 本發(fā)明可廣泛用于解決相對復(fù)雜的動態(tài)環(huán)境下移動機(jī)器人路徑規(guī)劃問題。
【背景技術(shù)】 [0002] :路徑規(guī)劃是移動機(jī)器人學(xué)研究的核心內(nèi)容之一,其目的是在具有障礙 物的工作環(huán)境中,尋找一條從給定起點(diǎn)到目標(biāo)點(diǎn)的適當(dāng)?shù)陌踩\(yùn)動路徑,使機(jī)器人在運(yùn)動 過程中能夠無碰撞地繞過所有障礙物。在移動機(jī)器人的相關(guān)技術(shù)研究中,路徑規(guī)劃技術(shù)是 一個重要的研究領(lǐng)域。
[0003] 現(xiàn)實(shí)中大多情況下移動機(jī)器人處在動態(tài)不確定環(huán)境里,對這類環(huán)境中的動態(tài)障礙 物,移動機(jī)器人很難具備先驗(yàn)知識而只具有部分環(huán)境信息。在這種情況下,移動機(jī)器人只能 根據(jù)實(shí)時探測到的環(huán)境信息進(jìn)行局部路徑規(guī)劃。為了解決這類路徑規(guī)劃問題,通常是將傳 統(tǒng)的全局路徑規(guī)劃算法與碰撞預(yù)測的方法相結(jié)合,如一種碰撞預(yù)測法與人工勢場法相結(jié)合 的算法,該算法根據(jù)預(yù)測與動態(tài)障礙物發(fā)生碰撞的位置來改變移動機(jī)器人的運(yùn)行速度進(jìn)行 躲避,但其沒有考慮到復(fù)雜環(huán)境下移動機(jī)器人的全局路徑規(guī)劃能力。為解決上述的不足,本 發(fā)明使用一種改進(jìn)的免疫網(wǎng)絡(luò)算法應(yīng)用于部分未知環(huán)境下的移動機(jī)器人路徑規(guī)劃。
[0004] 免疫網(wǎng)絡(luò)算法是人工免疫算法中的一個重要的方法?;贘erne提出免疫系 統(tǒng)內(nèi)部調(diào)節(jié)的獨(dú)特型網(wǎng)絡(luò)理論,de Castro與Timmis于2002年提出了免疫網(wǎng)絡(luò)算法 (opt-aiNet),它具有收斂速度快,求解精度高,穩(wěn)定性能好,并且可以有效地克服"早熟"的 特點(diǎn),使其在全局尋優(yōu)和優(yōu)化速度方面具有優(yōu)勢,因此適合于解決移動機(jī)器人路徑規(guī)劃中 的復(fù)雜多障礙全局規(guī)劃問題和快速動態(tài)避障規(guī)劃問題。
【發(fā)明內(nèi)容】
:
[0005] 發(fā)明目的:為了提高移動機(jī)器人路徑規(guī)劃問題的求解質(zhì)量和求解效率的問題,本 發(fā)明提供一種基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃方法,此方法不僅可以解決環(huán) 境復(fù)雜情況下移動機(jī)器人全局路徑規(guī)劃,也適用于部分環(huán)境未知情況下的局部路徑規(guī)劃。
[0006] 技術(shù)方案:
[0007] -種基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃方法,其特征在于:首先基于 可視圖法對全局靜態(tài)環(huán)境空間進(jìn)行預(yù)處理,之后應(yīng)用免疫網(wǎng)絡(luò)算法規(guī)劃出全局路徑,在行 進(jìn)的過程中實(shí)時檢測周圍環(huán)境信息,對進(jìn)入感知范圍的未知動態(tài)障礙進(jìn)行危險預(yù)測,根據(jù) 預(yù)測的結(jié)果形成新的局部環(huán)境可視圖并應(yīng)用免疫網(wǎng)絡(luò)算法規(guī)劃出新的局部路徑,當(dāng)機(jī)器人 到達(dá)局部規(guī)劃的臨時目標(biāo)點(diǎn)后回到之前規(guī)劃的全局路徑上繼續(xù)行進(jìn)。
[0008] (一)、免疫網(wǎng)絡(luò)算法的實(shí)現(xiàn)過程:
[0009] 經(jīng)過對免疫網(wǎng)絡(luò)算法的改進(jìn)以及與可視圖的結(jié)合,算法具體的實(shí)現(xiàn)步驟如下:
[0010] (1)對移動機(jī)器人運(yùn)行的環(huán)境空間進(jìn)行預(yù)處理,構(gòu)建可視圖;
[0011] (2)根據(jù)可視圖的建立與分析,總結(jié)先驗(yàn)知識并提取疫苗,包括生成的抗體或路徑 不穿越障礙物的包圍盒和生成的抗體或路徑不存在倒退現(xiàn)象;
[0012] (3)種群初始化:先接種疫苗,在搜索空間內(nèi)通過植入疫苗產(chǎn)生m個抗體即m條路 徑,路徑的生成方式是從起始點(diǎn)逐步延伸到目標(biāo)點(diǎn),由這m個抗體即m條路徑構(gòu)成初始父代 種群Aln,其中上標(biāo)i表示第i代,下標(biāo)m表示抗體個數(shù);
[0013] (4)停止條件:根據(jù)抗體和抗原之間的適應(yīng)度以及抗體之間的濃度來最終確定抗 體的親和度,計(jì)算當(dāng)前父代種群的遺傳代數(shù)及AL中所有抗體的親和度,若滿足條件,則終 止運(yùn)算并輸出結(jié)果,否則繼續(xù);
[0014] (5)克隆擴(kuò)增:對上述抗體群中的每個抗體(路徑)分別產(chǎn)生n個克隆體,此時擴(kuò) 增為m*n個克隆抗體(路徑),此時抗體群變?yōu)锳:^。每條路徑都復(fù)制n倍,下一步的路徑 變異將更充分,增加了每代抗體的多樣性;
[0015] (6)高頻變異:克隆抗體群A、』中每個克隆的抗體均要經(jīng)歷高頻變異得到 ,這里指的是對抗體路徑進(jìn)行增加或者刪除節(jié)點(diǎn);
[0016] (7)重新計(jì)算適配值:對抗體群中的所有個體,包括每個父抗體及其變異克隆抗 體,重新計(jì)算其親和度;
[0017] (8)記憶抗體群更新:從每個父抗體及其克隆抗體+ ,選擇具有最高親 和度的變異克隆抗體,共同組成m個新的具有最高親和力的精英變異抗體群Cjn,并將其作 為更新記憶抗體群的候選,再從Ain與(^中選出m個親和力最高的組成新的精英變異抗體 群Dln,之后再計(jì)算記憶抗體群中的平均親和力;
[0018] (9)免疫自調(diào)節(jié)與受體編輯:隨機(jī)生成r (Km)個全新的抗體C丨,替換此時抗體群 戌中r個具有最低親和力的抗體,以模擬生物免疫系統(tǒng)中的受體編輯過程,增加抗體群的 多樣性,如此一來,算法即產(chǎn)生了下一代的抗體群A= = C丨+ Dm,之后返回步驟4 ;
[0019] (二)、基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃步驟:
[0020] 針對移動發(fā)機(jī)器人工作空間為環(huán)境信息部分未知的情況,具體的路徑規(guī)劃步驟如 下:
[0021] (1)對已知的靜態(tài)環(huán)境信息應(yīng)用改進(jìn)的免疫網(wǎng)絡(luò)算法進(jìn)行全局路徑規(guī)劃;
[0022] (2)機(jī)器人沿著規(guī)劃出的路徑行進(jìn);
[0023] (3)判斷是否到達(dá)目標(biāo)點(diǎn),到達(dá)則結(jié)束,沒到達(dá)則繼續(xù)沿著規(guī)劃出的路徑行進(jìn);
[0024] 由于環(huán)境空間中的靜態(tài)障礙物的信息事先已知,那么每當(dāng)機(jī)器人行走一步就會判 斷機(jī)器人和已知的各個靜態(tài)障礙物之間的距離是否小于滾動窗,即傳感器的感知范圍的半 徑,這樣就能得出這些靜態(tài)障礙物是否已出現(xiàn)在滾動窗的范圍內(nèi);
[0025] (4)判斷運(yùn)動障礙是否妨礙機(jī)器人的正常行駛;
[0026] (5)預(yù)測出標(biāo)記的未知動態(tài)障礙物會與沿著之前規(guī)劃好的路徑行進(jìn)的機(jī)器人在接 下來某T時刻發(fā)生碰撞,則把這個未知運(yùn)動障礙物T時刻的位置記錄下來,當(dāng)作"靜態(tài)障礙 物"處理,考慮到預(yù)測的誤差和實(shí)際環(huán)境中的不確定因素,把這個"靜態(tài)障礙物"的區(qū)域擴(kuò)大 一些,記作危險區(qū)域;
[0027] (6)當(dāng)危險區(qū)域完全進(jìn)入滾動窗之內(nèi)后,機(jī)器人將當(dāng)前時刻滾動窗與之前規(guī)劃的 路徑交點(diǎn)作為臨時局部目標(biāo)點(diǎn),當(dāng)前機(jī)器人的位置作為起始點(diǎn),感知窗內(nèi)的靜態(tài)障礙物和 危險區(qū)域作為局部環(huán)境信息,應(yīng)用免疫網(wǎng)絡(luò)算法規(guī)劃出新的路徑,機(jī)器人沿著新規(guī)劃的路 徑行駛,返回步驟3。
[0028] (二)步驟的第(4)步驟中機(jī)器人在行進(jìn)的過程中先不用考慮滾動窗,直到傳感器 發(fā)現(xiàn)新的未知障礙物進(jìn)入到滾動窗之內(nèi),即未知障礙物與機(jī)器人的距離小于滾動窗的半徑 時,標(biāo)記該未知動態(tài)障礙物并且開始預(yù)測未知障礙物的運(yùn)動軌跡;預(yù)測的結(jié)果分為以下兩 種情況:一是未知障礙物不會妨礙機(jī)器人的正常行駛,則機(jī)器人繼續(xù)沿著之前規(guī)劃好的路 徑行進(jìn)即可,即重新返回步驟2 ;二是預(yù)測出運(yùn)動障礙可能妨礙機(jī)器人的正常行駛,則轉(zhuǎn)到 (二)步驟的第(5)步驟。
[0029] 免疫網(wǎng)絡(luò)算法中抗體的設(shè)計(jì):
[0030] 經(jīng)過可視圖法對移動機(jī)器人工作環(huán)境空間處理之后,構(gòu)成抗體路徑只需要考慮各 個障礙物頂點(diǎn)的集合V中的元素,不需要考慮環(huán)境空間中之外的任何點(diǎn),這樣搜索范圍將 顯著減少,使得算法效率得到提高。各節(jié)點(diǎn)的結(jié)構(gòu)如下所示:
[0031]
【權(quán)利要求】
1. 一種基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃方法,其特征在于:首先基于可 視圖法對全局靜態(tài)環(huán)境空間進(jìn)行預(yù)處理,之后應(yīng)用免疫網(wǎng)絡(luò)算法規(guī)劃出全局路徑,在行進(jìn) 的過程中實(shí)時檢測周圍環(huán)境信息,對進(jìn)入感知范圍的未知動態(tài)障礙進(jìn)行危險預(yù)測,根據(jù)預(yù) 測的結(jié)果形成新的局部環(huán)境可視圖并應(yīng)用免疫網(wǎng)絡(luò)算法規(guī)劃出新的局部路徑,當(dāng)機(jī)器人到 達(dá)局部規(guī)劃的臨時目標(biāo)點(diǎn)后回到之前規(guī)劃的全局路徑上繼續(xù)行進(jìn)。
2. 根據(jù)權(quán)利要求1所述的基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃方法,其特征 在于: (一) 、免疫網(wǎng)絡(luò)算法的實(shí)現(xiàn)過程: 經(jīng)過對免疫網(wǎng)絡(luò)算法的改進(jìn)以及與可視圖的結(jié)合,算法具體的實(shí)現(xiàn)步驟如下: (1) 對移動機(jī)器人運(yùn)行的環(huán)境空間進(jìn)行預(yù)處理,構(gòu)建可視圖; (2) 根據(jù)可視圖的建立與分析,總結(jié)先驗(yàn)知識并提取疫苗,包括生成的抗體或路徑不穿 越障礙物的包圍盒和生成的抗體或路徑不存在倒退現(xiàn)象; (3) 種群初始化:先接種疫苗,在搜索空間內(nèi)通過植入疫苗產(chǎn)生m個抗體即m條路徑, 路徑的生成方式是從起始點(diǎn)逐步延伸到目標(biāo)點(diǎn),由這m個抗體即m條路徑構(gòu)成初始父代種 群,其中上標(biāo)i表示第i代,下標(biāo)m表示抗體個數(shù); (4) 停止條件:根據(jù)抗體和抗原之間的適應(yīng)度以及抗體之間的濃度來最終確定抗體的 親和度,計(jì)算當(dāng)前父代種群的遺傳代數(shù)及中所有抗體的親和度,若滿足條件,則終止運(yùn) 算并輸出結(jié)果,否則繼續(xù); (5) 克隆擴(kuò)增:對上述抗體群中的每個抗體(路徑)分別產(chǎn)生n個克隆體,此時擴(kuò)增為 m*n個克隆抗體(路徑),此時抗體群變?yōu)?。每條路徑都復(fù)制n倍,下一步的路徑變異 將更充分,增加了每代抗體的多樣性; (6) 高頻變異:克隆抗體群中每個克隆的抗體均要經(jīng)歷高頻變異得到 這里指的是對抗體路徑進(jìn)行增加或者刪除節(jié)點(diǎn); (7) 重新計(jì)算適配值:對抗體群中的所有個體,包括每個父抗體及其變異克隆抗體,重 新計(jì)算其親和度; (8) 記憶抗體群更新:從每個父抗體及其克隆抗體中,選擇具有最高親和 度的變異克隆抗體,共同組成m個新的具有最高親和力的精英變異抗體群Ct,并將其作為 更新記憶抗體群的候選,再從與(:|"中選出m個親和力最高的組成新的精英變異抗體群 ,之后再計(jì)算記憶抗體群中的平均親和力; (9) 免疫自調(diào)節(jié)與受體編輯:隨機(jī)生成r(r〈m)個全新的抗體C丨,替換此時抗體群D丨中 r個具有最低親和力的抗體,以模擬生物免疫系統(tǒng)中的受體編輯過程,增加抗體群的多樣 性,如此一來,算法即產(chǎn)生了下一代的抗體群A1:1 =Ci+D_,之后返回步驟4 ; (二)、基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人動態(tài)路徑規(guī)劃步驟: 針對移動發(fā)機(jī)器人工作空間為環(huán)境信息部分未知的情況,具體的路徑規(guī)劃步驟如下: (1) 對已知的靜態(tài)環(huán)境信息應(yīng)用改進(jìn)的免疫網(wǎng)絡(luò)算法進(jìn)行全局路徑規(guī)劃; (2) 機(jī)器人沿著規(guī)劃出的路徑行進(jìn); (3) 判斷是否到達(dá)目標(biāo)點(diǎn),到達(dá)則結(jié)束,沒到達(dá)則繼續(xù)沿著規(guī)劃出的路徑行進(jìn); 由于環(huán)境空間中的靜態(tài)障礙物的信息事先已知,那么每當(dāng)機(jī)器人行走一步就會判斷機(jī) 器人和已知的各個靜態(tài)障礙物之間的距離是否小于滾動窗,即傳感器的感知范圍的半徑, 這樣就能得出這些靜態(tài)障礙物是否已出現(xiàn)在滾動窗的范圍內(nèi); (4) 判斷運(yùn)動障礙是否妨礙機(jī)器人的正常行駛; (5) 預(yù)測出標(biāo)記的未知動態(tài)障礙物會與沿著之前規(guī)劃好的路徑行進(jìn)的機(jī)器人在接下來 某T時刻發(fā)生碰撞,則把這個未知運(yùn)動障礙物T時刻的位置記錄下來,當(dāng)作"靜態(tài)障礙物"處 理,考慮到預(yù)測的誤差和實(shí)際環(huán)境中的不確定因素,把這個"靜態(tài)障礙物"的區(qū)域擴(kuò)大一些, 記作危險區(qū)域; (6) 當(dāng)危險區(qū)域完全進(jìn)入滾動窗之內(nèi)后,機(jī)器人將當(dāng)前時刻滾動窗與之前規(guī)劃的路徑 交點(diǎn)作為臨時局部目標(biāo)點(diǎn),當(dāng)前機(jī)器人的位置作為起始點(diǎn),感知窗內(nèi)的靜態(tài)障礙物和危險 區(qū)域作為局部環(huán)境信息,應(yīng)用免疫網(wǎng)絡(luò)算法規(guī)劃出新的路徑,機(jī)器人沿著新規(guī)劃的路徑行 駛,返回步驟3。
3. 根據(jù)權(quán)利要求2所述的基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人局部路徑規(guī)劃方法,其特征 在于:(二)步驟的第(4)步驟中機(jī)器人在行進(jìn)的過程中先不用考慮滾動窗,直到傳感器 發(fā)現(xiàn)新的未知障礙物進(jìn)入到滾動窗之內(nèi),即未知障礙物與機(jī)器人的距離小于滾動窗的半徑 時,標(biāo)記該未知動態(tài)障礙物并且開始預(yù)測未知障礙物的運(yùn)動軌跡;預(yù)測的結(jié)果分為以下兩 種情況:一是未知障礙物不會妨礙機(jī)器人的正常行駛,則機(jī)器人繼續(xù)沿著之前規(guī)劃好的路 徑行進(jìn)即可,即重新返回步驟2 ;二是預(yù)測出運(yùn)動障礙可能妨礙機(jī)器人的正常行駛,則轉(zhuǎn)到 (二)步驟的第(5)步驟。
4. 根據(jù)權(quán)利要求2所述的基于免疫網(wǎng)絡(luò)算法的移動機(jī)器人局部路徑規(guī)劃方法,其特征 在于: 免疫網(wǎng)絡(luò)算法中抗體的設(shè)計(jì): 經(jīng)過可視圖法對移動機(jī)器人工作環(huán)境空間處理之后,構(gòu)成抗體路徑只需要考慮各個障 礙物頂點(diǎn)的集合V中的元素,不需要考慮環(huán)境空間中之外的任何點(diǎn),這樣搜索范圍將顯著 減少,使得算法效率得到提高。各節(jié)點(diǎn)的結(jié)構(gòu)如下所示:
其中IDpoint表示節(jié)點(diǎn)編號,IDobject表示節(jié)點(diǎn)所屬障礙物編號,x、y分別表示節(jié)點(diǎn) 的橫縱坐標(biāo);在移動機(jī)器人路徑規(guī)劃問題中,抗原表示所要解決的問題即最優(yōu)路徑,本申請 設(shè)定為起始點(diǎn)s與目標(biāo)點(diǎn)g的歐式距離,抗體表示所求問題的解,即搜索出的可行路徑,它 由移動機(jī)器人的起始點(diǎn)、目標(biāo)點(diǎn)以及一系列中間節(jié)點(diǎn)連接成的折線構(gòu)成,為清晰的描述路 徑走向,抗體中元素的順序表示移動機(jī)器人運(yùn)動時經(jīng)過節(jié)點(diǎn)的次序,抗體采用字符串編碼 方式,其長度可隨節(jié)點(diǎn)的數(shù)目而變化,抗體的數(shù)據(jù)結(jié)構(gòu)入下所示:_
其中Affinity表示抗體的親和度,這里用親和度評價抗體的好壞;Fitness表示抗體的 適應(yīng)度,具有較短路徑的抗體具有較高的適應(yīng)度;Density表示抗體的濃度,即相同抗體所 占抗體群中的比例,Length表示抗體由s到g的長度,其余部分為構(gòu)成路徑的節(jié)點(diǎn),這種存 儲結(jié)構(gòu)在抗體發(fā)生變化時,可靈活改變抗體的長度; 免疫網(wǎng)絡(luò)算法中親和度的計(jì)算: 本申請為了抑制和避免早熟現(xiàn)象的出現(xiàn),這里加入了抗體濃度的計(jì)算,具體親和度的 計(jì)算公式如下:
其中Affinity⑴表示抗體i的親和度;Fitness⑴表示抗體i的適應(yīng)度,和距離有關(guān), 抗體路徑的距離越短,其抗體的適應(yīng)度就越高;Density(i)表示抗體i的濃度,即相同的抗 體路徑越多,抗體的濃度就越大;a是一個正的常數(shù),通過此式子可以看出適應(yīng)度越大,親 和度越大;濃度越高,親和度越小。
【文檔編號】G05D1/02GK104407616SQ201410729927
【公開日】2015年3月11日 申請日期:2014年12月3日 優(yōu)先權(quán)日:2014年12月3日
【發(fā)明者】段勇, 許曉龍 申請人:沈陽工業(yè)大學(xué)