鄭以君 陳秋蓮 蔣環(huán)宇
摘要:研究一種基于神經(jīng)網(wǎng)絡(luò)的無(wú)人車越過障礙自動(dòng)抵達(dá)指定地點(diǎn)的路徑規(guī)劃算法。神經(jīng)網(wǎng)絡(luò)具有高度并行的結(jié)構(gòu)且適用于提高無(wú)人車路徑規(guī)劃算法的運(yùn)行速度,神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)算法成了避過障礙、規(guī)劃全局與局部較優(yōu)路徑過程必不可少的重要部分。理論表明該算法可以快速地規(guī)劃無(wú)碰撞的較優(yōu)路徑。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);越障;路徑規(guī)劃
中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)10-0181-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
1 引言
無(wú)人車路徑規(guī)劃是智能導(dǎo)航過程中必不可少的重要部分,它除了需要對(duì)在具有障礙物的環(huán)境中規(guī)劃出一條從起始點(diǎn)至終點(diǎn)的無(wú)碰撞的路徑,還應(yīng)該對(duì)整體路徑長(zhǎng)度進(jìn)行最短方案的優(yōu)化。
無(wú)人車的行進(jìn)環(huán)境空間可以利用前向型神經(jīng)網(wǎng)絡(luò)進(jìn)行描述,將構(gòu)成環(huán)境空間中的障礙物約束條件依次輸入該神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中依照輸出的結(jié)果即可判別此路徑點(diǎn)是否在障礙物內(nèi)。神經(jīng)網(wǎng)絡(luò)作為一個(gè)具有高度非線性并行處理的運(yùn)算結(jié)構(gòu),同時(shí)具備網(wǎng)絡(luò)的全局作用及高度魯棒性,為無(wú)人車系統(tǒng)路徑規(guī)劃實(shí)時(shí)性提供了很高的可行性。在此研究中,神經(jīng)網(wǎng)絡(luò)的運(yùn)算相當(dāng)于一個(gè)代價(jià)約束函數(shù),首先是因?yàn)樵谏窠?jīng)網(wǎng)絡(luò)結(jié)構(gòu)中障礙物是以凸多邊形模型數(shù)值表示的,當(dāng)行進(jìn)向下一個(gè)路徑點(diǎn)時(shí)只需要使用該路徑點(diǎn)與環(huán)境中的障礙物信息[1]。神經(jīng)網(wǎng)絡(luò)將運(yùn)動(dòng)物體視作一個(gè)質(zhì)點(diǎn)進(jìn)行模擬。最后,運(yùn)用模擬退火法對(duì)局部極值問題進(jìn)行優(yōu)化。
無(wú)人車路徑規(guī)劃可劃分為環(huán)境全部或者部分未知的局部路徑規(guī)劃與已知環(huán)境的全局路經(jīng)規(guī)劃。環(huán)境已知的全局路徑規(guī)劃算法主要有人工勢(shì)場(chǎng)法、粒子群算法等,但該類普遍用于二維運(yùn)動(dòng)環(huán)境中。人工勢(shì)場(chǎng)法的應(yīng)用于此類問題中的工作方式為構(gòu)建目標(biāo)點(diǎn)、環(huán)境障礙物與無(wú)人車的勢(shì)場(chǎng)模型,無(wú)人車只需要順延著勢(shì)場(chǎng)能量的梯度方向行進(jìn)方向就可以找到避開障礙物的路徑,其好處是快速、高效,然而該算法有局部極小值的問題并且不適用于尋求最優(yōu)結(jié)果[2]。本文主要介紹前向型神經(jīng)網(wǎng)絡(luò)路徑規(guī)劃為主,禹建麗等[3,4,5,6]給出的基于神經(jīng)網(wǎng)絡(luò)的路徑規(guī)劃算法,得出結(jié)果收斂快、運(yùn)算簡(jiǎn)便,并且可以避免某些局部極小值問題并規(guī)劃出最短路徑,并且經(jīng)過改良以后可以用于未知環(huán)境下的機(jī)器人路徑規(guī)劃問題[7,8]。同時(shí)易于從二維擴(kuò)展到三維的情況中。
2 基于神經(jīng)網(wǎng)絡(luò)的越障路徑規(guī)劃算法
2.1 無(wú)人車行進(jìn)環(huán)境障礙物的神經(jīng)網(wǎng)絡(luò)描述
前向型神經(jīng)網(wǎng)絡(luò)的作用之一是用于描述無(wú)人車行進(jìn)至終點(diǎn)過程中所在的障礙物,通過神經(jīng)網(wǎng)絡(luò)對(duì)所在路徑點(diǎn)與多邊形障礙的約束條件的關(guān)系即可完整的描述障礙物信息,具體關(guān)系如下所述:無(wú)人車所在路徑點(diǎn)[pi(xi,yi)]作為神經(jīng)網(wǎng)絡(luò)輸入層的輸入數(shù)據(jù),每個(gè)多邊形障礙物可以使用一個(gè)不等式組描述,每個(gè)不等式中變量的系數(shù)為輸入層與隱藏之間的權(quán)值,常數(shù)項(xiàng)為隱層的閾值,示例如下:
圖1描述的是長(zhǎng)方形的障礙物和描述相應(yīng)的障礙物不等式組。由圖得知,通過判別某個(gè)路徑點(diǎn)是否符合并同時(shí)符合該不等式組的條件即可了解該路徑點(diǎn)是否位于障礙物里,通過規(guī)劃出來(lái)的路徑點(diǎn)與障礙物空間對(duì)比即可知路徑點(diǎn)直接按是否經(jīng)過障礙物,環(huán)境空間的點(diǎn)集[pi(xi,yi)]與凸多邊形障礙物所坐落位置可用圖2所示的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型來(lái)描述。
輸入層的2個(gè)底層節(jié)點(diǎn)分別是計(jì)算路徑點(diǎn)[pi]的[xi],[yi]坐標(biāo),輸入層節(jié)點(diǎn)到中間層節(jié)點(diǎn)的連接權(quán)值系數(shù)去為每個(gè)不等式中[x],[y]的系數(shù),中間層為神經(jīng)網(wǎng)絡(luò)隱層節(jié)點(diǎn)的閾值,用不等式中的常數(shù)項(xiàng)表示,隱層到頂層節(jié)點(diǎn)的連接權(quán)值系數(shù)均為常數(shù)1,頂層節(jié)點(diǎn)的輸出值為環(huán)境中路徑點(diǎn)對(duì)障礙物的碰撞罰函數(shù),表示路徑點(diǎn)對(duì)于障礙物的碰撞程度,頂層節(jié)點(diǎn)的閾值取每個(gè)不等式的個(gè)數(shù)減去0.5后的相反數(shù)。
式中,[IMm]為中間層第m個(gè)節(jié)點(diǎn)的輸入;[Wxm],[Wym],為第m個(gè)不等式限制條件的系數(shù);[θMm]為神經(jīng)網(wǎng)絡(luò)隱層第m個(gè)節(jié)點(diǎn)的閾值,G為該層的節(jié)點(diǎn)數(shù);[OMm]為中間層第m個(gè)節(jié)點(diǎn)的輸出值;T1為各個(gè)中間層結(jié)構(gòu)與閾值的求和值作為頂層節(jié)點(diǎn)輸入值;[θo]為頂層節(jié)點(diǎn)的閾值;[C]為輸出層節(jié)點(diǎn)輸出,數(shù)值范圍為(0,1),數(shù)值越大表明越接近障礙物,其罰函數(shù)形狀則相對(duì)于非障礙物位置越陡峭;選擇S型函數(shù)[f(x)=1(exp(-xT))]為激活函數(shù),參數(shù)T影響罰函數(shù)的形狀,T(t)=[βlog(1+t)],是模擬退火算法中的“溫度”,其含義是,隨著時(shí)間[t]路徑點(diǎn)將向著盡可能避開障礙物并且使得整體路徑比較短的位置移行進(jìn)。但由于模擬退火位于在起始時(shí)溫度比較高,無(wú)人車的路徑點(diǎn)行進(jìn)到遠(yuǎn)遠(yuǎn)避開障礙物的位置,隨著該溫度降低,無(wú)人車路徑的長(zhǎng)度將逐步減小,最終,將其路徑收斂到避障的狀態(tài)。
2.2 基于神經(jīng)網(wǎng)絡(luò)碰撞罰能量的最優(yōu)路徑規(guī)劃
無(wú)人車路徑規(guī)劃需要處理兩個(gè)優(yōu)化問題:首先是無(wú)人車避開障礙物避免任何程度的碰撞;其次是規(guī)劃的路徑是最短的。這兩個(gè)要求得以滿足,則無(wú)人車規(guī)劃的路徑則可為最優(yōu)路徑規(guī)劃。
3 結(jié)論
基于神經(jīng)網(wǎng)絡(luò)的路徑規(guī)劃算法的實(shí)現(xiàn)過程:首先根據(jù)已知障礙物環(huán)境的約束方程,建立障礙物模型;確定起點(diǎn)和終點(diǎn),連接這兩點(diǎn),并取路徑上若干點(diǎn)集均分線段作初始迭代路徑點(diǎn);利用神經(jīng)網(wǎng)絡(luò)對(duì)應(yīng)其參數(shù)與激發(fā)函數(shù)運(yùn)算出各個(gè)路徑點(diǎn)的偏導(dǎo)數(shù)以作為下一個(gè)路徑點(diǎn)的運(yùn)算基礎(chǔ),經(jīng)過完整的迭代過程后如果符合終止條件[x'<Δ],[y'<Δ],則退出運(yùn)算。最后對(duì)最終結(jié)果進(jìn)行保存與繪制仿真圖形。
基于神經(jīng)網(wǎng)絡(luò)的路徑規(guī)則算法可規(guī)劃出最短路徑,而且收斂較快,計(jì)算方式簡(jiǎn)便。該算法除了適用于環(huán)境中障礙物為凸多邊形構(gòu)成的形狀外, 同時(shí)還適用于環(huán)境中障礙物是圓形的情形,并可以簡(jiǎn)單地避免某些情況下的局部極小值,為無(wú)人車的最優(yōu)化行進(jìn)路徑規(guī)劃提供了一個(gè)簡(jiǎn)便有效的算法。
參考文獻(xiàn):
[1] 孫增圻.智能控制理論與技術(shù)[M].北京:清華大學(xué)出版社,2000.
[2] 戴博,肖曉明,蔡自興.移動(dòng)機(jī)器人路徑規(guī)劃技術(shù)的研究現(xiàn)狀與展望[J].控制工程, 2005, 12 (3) : 113- 116 .
[3] 禹建麗,V.Kromov,孫增圻,成久洋之. 一種快速神經(jīng)網(wǎng)絡(luò)路徑規(guī)劃算法[J].機(jī)器人Robot , 2001, 23 (3) :201-205.
[4] 禹建麗,程思雅,孫增圻,V.Kromov.一種移動(dòng)機(jī)器人三維路徑規(guī)劃優(yōu)化算法[J].中南大學(xué)學(xué)報(bào)(自然科學(xué)版),2009, 40 (2) :471-477.
[5] 魏冠偉,付夢(mèng)印.基于神經(jīng)網(wǎng)絡(luò)的機(jī)器人路徑規(guī)劃算法[J].計(jì)算機(jī)仿真,2010,7:112-116.
[6] 陳志華,謝存禧,曾德懷.基于神經(jīng)網(wǎng)絡(luò)的移動(dòng)機(jī)器人路徑規(guī)劃算法的仿真[J].華南理工大學(xué)(自然科學(xué)版),2003,6:56-59.
[7] 宮孟孟.基于神經(jīng)網(wǎng)絡(luò)的移動(dòng)機(jī)器無(wú)人車路徑規(guī)劃方法研究[D].哈爾濱工業(yè)大學(xué),2017.
[8] AnminZhu,Simon X. Yang.A Neural Network Approach to Dynamic Task Assignment of Multirobots[J].IEEE Transactions On Neural Networks,2006,9(17):471-477.
【通聯(lián)編輯:代影】