張素芹
(西安工業(yè)大學(xué) 理學(xué)院,西安710021)
隨著智能機(jī)器人的研究和計(jì)算機(jī)技術(shù)的發(fā)展,將信息融合技術(shù)應(yīng)用在智能移動(dòng)機(jī)器人,已經(jīng)發(fā)展到一定水平.智能機(jī)器人就是通過(guò)各類(lèi)型傳感器獲取大量信息來(lái)決策的,如何有效快速處理從傳感器接收到的信息顯得尤為重要,目前常用的方法是信息融合處理技術(shù).經(jīng)過(guò)融合技術(shù)處理后的信息將直接決定機(jī)器人能否準(zhǔn)確、及時(shí)地獲得并解析它周?chē)沫h(huán)境信息,機(jī)器人通過(guò)使用融合處理過(guò)后的信息,才能獨(dú)立的完成決策.
機(jī)器人在不同的環(huán)境中進(jìn)行導(dǎo)航和避障時(shí)選擇的算法不同,避障算法分為傳統(tǒng)算法和智能算法,傳統(tǒng)算法中有可視圖法、柵格法、自由空間法、拓?fù)浞叭斯?shì)場(chǎng)法等,文獻(xiàn)[1]對(duì)這些方法做了詳細(xì)的闡述,智能算法主要有模糊控制法[2-3]和神經(jīng)網(wǎng)絡(luò)法[4-5].目前信息融合領(lǐng)域在大量應(yīng)用誤差后向傳播(Back Propagation,BP)神經(jīng)網(wǎng)絡(luò).文獻(xiàn)[6]采用Hopfield神經(jīng)網(wǎng)絡(luò)通過(guò)使用模糊神經(jīng)元的方法進(jìn)行路徑規(guī)劃和避障;文獻(xiàn)[7]通過(guò)使用神經(jīng)網(wǎng)絡(luò)進(jìn)行避障的同時(shí)與混合智能系統(tǒng)(Hybrid Intelligent Systems,HIS)相連接,可以使移動(dòng)機(jī)器人的認(rèn)知決策避障的能力和人相近;文獻(xiàn)[8]在得到移動(dòng)機(jī)器人和障礙物之間距離和角度信息后,采用4層神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)控制器,在解決移動(dòng)機(jī)器人避障時(shí)間和避障效率上有較好的效果;文獻(xiàn)[9]采用生物激勵(lì)神經(jīng)網(wǎng)絡(luò)的方法解決非靜態(tài)環(huán)境下動(dòng)態(tài)避障問(wèn)題.信息融合神經(jīng)網(wǎng)絡(luò)算法具有良好的容錯(cuò)能力、適應(yīng)能力,還具有一定的記憶能力和并行處理能力.但這些算法會(huì)隨著輸入節(jié)點(diǎn)數(shù)和隱含層數(shù)的增加,結(jié)構(gòu)將變得越來(lái)越復(fù)雜,網(wǎng)絡(luò)的收斂速度將會(huì)變得很慢,因此近幾年國(guó)內(nèi)外神經(jīng)網(wǎng)絡(luò)研究者都想找到可以?xún)?yōu)化神經(jīng)網(wǎng)絡(luò)或者是否能將幾種方法進(jìn)行整合,以此來(lái)提高它的處理速度.針對(duì)存在的這些問(wèn)題,文中結(jié)合機(jī)器人在導(dǎo)航避障過(guò)程中實(shí)際技術(shù)要求,通過(guò)BP神經(jīng)網(wǎng)絡(luò)算法收斂分析對(duì)算法進(jìn)行改進(jìn),提出一種新型機(jī)器人二級(jí)BP神經(jīng)網(wǎng)絡(luò)避障控制模型,對(duì)該模型進(jìn)行仿真,以期消除傳統(tǒng)機(jī)器人BP神經(jīng)網(wǎng)絡(luò)避障模型權(quán)值調(diào)節(jié)收斂慢的瓶頸,為機(jī)器人實(shí)時(shí)避障提供新的控制模型.
BP神經(jīng)網(wǎng)絡(luò)在模式識(shí)別方面有較好的非線(xiàn)性逼近能力及多層感知能力[10].在識(shí)別時(shí),采用訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)與工作BP神經(jīng)網(wǎng)絡(luò)兩種不同工作種類(lèi)的網(wǎng)絡(luò)模型,這兩模型具有相同的層數(shù)和節(jié)點(diǎn)數(shù).BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)分為輸入層、隱含層與輸出層,每層的節(jié)點(diǎn)數(shù)目根據(jù)實(shí)際應(yīng)用來(lái)確定.訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)的主要作用是根據(jù)采樣數(shù)據(jù)集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過(guò)調(diào)節(jié)輸入層與隱含層、隱含層與輸出層的連接權(quán)值矩陣直到網(wǎng)絡(luò)輸出層的誤差為零.工作BP神經(jīng)網(wǎng)絡(luò)使用訓(xùn)練過(guò)的權(quán)值矩陣對(duì)障礙物進(jìn)行識(shí)別,所以這種模型識(shí)別障礙物的時(shí)間分成訓(xùn)練時(shí)間和工作時(shí)間.通過(guò)調(diào)節(jié)學(xué)習(xí)率可以提高訓(xùn)練的速度,減少訓(xùn)練時(shí)間從而提高系統(tǒng)的效率.基于BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過(guò)程包括前向計(jì)算及誤差的反向傳播.
1)前向計(jì)算
設(shè)定網(wǎng)絡(luò)輸出層神經(jīng)元m的輸入為netm,輸出為ym,隱含層任意神經(jīng)元i的輸出為yi,輸入層任意神經(jīng)元n的輸出為yn,輸出層中每個(gè)神經(jīng)元的輸入值是隱含層中每一個(gè)神經(jīng)元的輸出與連接權(quán)值之后的求和乘積,wmi是輸出層神經(jīng)m與隱含層神經(jīng)元i間的連接權(quán)值,win是隱含層神經(jīng)元i與輸入層神經(jīng)元n之間的連接權(quán)值.
對(duì)于輸出層有
其中f(netm)為神經(jīng)元m激活函數(shù).
對(duì)隱含層有
神經(jīng)元的激活函數(shù)取Sigmoid,則輸出層的激活函數(shù)為
式中:hm為神經(jīng)元m 的閾值;θ0為控制函數(shù)Sigmoid的斜率.
2)誤差的反向傳播
誤差反向傳播的目的是修正連接權(quán)值wmi和win使誤差,使其達(dá)到最小化.所以連接權(quán)值wmi和win應(yīng)當(dāng)沿著輸出層誤差減少方向進(jìn)行調(diào)節(jié).
假設(shè)在輸入模式xp(p為輸入神經(jīng)元節(jié)點(diǎn)數(shù))作用下,若輸出層的第k個(gè)神經(jīng)元的期望輸出值為dpk,實(shí)際輸出值為ypk,輸出層輸出方差Ep為
式中:η為學(xué)習(xí)率;Δpwmi為修正權(quán)值;δpm為學(xué)習(xí)規(guī)則中神經(jīng)元m的誤差值.
傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)存在權(quán)值收斂慢的問(wèn)題,從式(8)看出,權(quán)值調(diào)節(jié)收斂的速度與學(xué)習(xí)率調(diào)節(jié)因子大小有一定的關(guān)系,每個(gè)神經(jīng)元的連接權(quán)值是通過(guò)學(xué)習(xí)調(diào)節(jié)沿著梯度下降方向進(jìn)行的.一旦學(xué)習(xí)規(guī)則固定,學(xué)習(xí)率的調(diào)節(jié)會(huì)影響學(xué)習(xí)過(guò)程的收斂速度.傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)法學(xué)習(xí)率是固定不變的,無(wú)法適應(yīng)在學(xué)習(xí)過(guò)程中發(fā)生較為復(fù)雜的的狀態(tài)變化.過(guò)大的學(xué)習(xí)率會(huì)使系統(tǒng)趨向不穩(wěn)定,但過(guò)小的學(xué)習(xí)率將導(dǎo)致訓(xùn)練時(shí)間較長(zhǎng),收斂速度變慢,不過(guò)能保證網(wǎng)絡(luò)的誤差值不跳出誤差表面的低谷而最終趨于最小的誤差值,所以一般學(xué)習(xí)率在0.1~0.9之間選取.通過(guò)引入調(diào)節(jié)因子,調(diào)節(jié)學(xué)習(xí)率,改善權(quán)值收斂的速度,改善學(xué)習(xí)效果、加快學(xué)習(xí)過(guò)程.學(xué)習(xí)率的調(diào)節(jié)因子為學(xué)習(xí)率η的函數(shù),那么權(quán)值修正公式為
式中:f(η)為學(xué)習(xí)率的調(diào)節(jié)因子;α為慣性系數(shù),0<α<1;wmi(t)為t次訓(xùn)練時(shí)修正權(quán)值.
為減小學(xué)習(xí)過(guò)程中因?yàn)闄?quán)值變化而引起的震蕩,給式(9)中引入一慣性項(xiàng)α[wmi(t)-wmi(t-1)],相當(dāng)于給權(quán)值調(diào)節(jié)加入阻尼項(xiàng),可避免BP神經(jīng)網(wǎng)絡(luò)陷入一種局部極小值點(diǎn)狀態(tài).根據(jù)可變學(xué)習(xí)速 率 反 向 傳 播 (Variable Learning Rate Back Propagation,VLBP)算法[11],學(xué)習(xí)率的大小可以根據(jù)均方誤差做出適當(dāng)?shù)恼{(diào)整.當(dāng)E(k+1)小于E(k)時(shí),增加學(xué)習(xí)率;當(dāng)E(k+1)大于E(k)時(shí),就減少學(xué)習(xí)率.引入調(diào)節(jié)學(xué)習(xí)率的增量因子kinc和減量因子kdec,那么學(xué)習(xí)率的調(diào)節(jié)因子f(η)的選取規(guī)則為
若E(k+1)比E(k)小時(shí)說(shuō)明權(quán)值修正方向正確,這種情況應(yīng)該要增大學(xué)習(xí)率;若E(k+1)比E(k)大時(shí),說(shuō)明修正過(guò)大,適當(dāng)減少學(xué)習(xí)率,否則權(quán)值系數(shù)會(huì)出現(xiàn)反復(fù)震蕩導(dǎo)致不能收斂.kinc和kdec的值依據(jù)以往經(jīng)驗(yàn)進(jìn)行初步設(shè)置,通過(guò)不斷調(diào)節(jié)其大小,直到最后得到理想的訓(xùn)練步長(zhǎng).
二級(jí)BP神經(jīng)網(wǎng)絡(luò)的信息融合系統(tǒng)模型如圖1所示,系統(tǒng)模型分為兩個(gè)子神經(jīng)網(wǎng)絡(luò),子神經(jīng)網(wǎng)絡(luò)用Sub1和Sub2表示.距離信息是通過(guò)超聲波傳感器和紅外傳感器兩種傳感器檢測(cè).通過(guò)電荷耦合器件(Charge Coupled Device,CCD)攝像機(jī)檢測(cè)的圖像信息和通過(guò)Sub1輸出的距離信息輸入神經(jīng)網(wǎng)絡(luò)Sub2.其中Sub1由三層BP神經(jīng)網(wǎng)絡(luò)組成,其輸入層有9個(gè)神經(jīng)元,分別表示3個(gè)紅外傳感器和6個(gè)超聲波傳感器測(cè)得的距離;輸出層有3個(gè)神經(jīng)元,分別表示距離正前方、左前方和右前方障礙物的距離;隱含層中神經(jīng)元的個(gè)數(shù)c為
式中:m為輸入層中神經(jīng)元的個(gè)數(shù);n為輸出層中神經(jīng)元的個(gè)數(shù).
圖1 二級(jí)BP神經(jīng)網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu)Fig.1 The structure of two level BP neural network system
對(duì)于障礙物的大小信息以及形狀等信息,機(jī)器人是無(wú)法預(yù)先感知的,因此可根據(jù)檢測(cè)到的距離信息以及通過(guò)攝像機(jī)獲取障礙物的圖像信息得出關(guān)于障礙物的三維圖像信息,從而實(shí)現(xiàn)對(duì)障礙物類(lèi)型快速識(shí)別.若使用傳統(tǒng)單級(jí)BP神經(jīng)網(wǎng)絡(luò),輸入層有17個(gè)節(jié)點(diǎn),輸出層有5個(gè)節(jié)點(diǎn),則隱含層的節(jié)點(diǎn)數(shù)為15時(shí),才能實(shí)現(xiàn)對(duì)障礙物的有效識(shí)別,但此時(shí)系統(tǒng)結(jié)構(gòu)會(huì)變得復(fù)雜,計(jì)算量變大,系統(tǒng)的實(shí)時(shí)性受到一定的限制.
進(jìn)行仿真實(shí)驗(yàn)時(shí),首先進(jìn)行障礙物的類(lèi)型設(shè)置,可大體初步分為五種形式:長(zhǎng)方體、圓柱體、橢球體、球體及等腰梯形.在進(jìn)行機(jī)器人二級(jí)BP神經(jīng)網(wǎng)絡(luò)避障控制模型學(xué)習(xí)訓(xùn)練時(shí),學(xué)習(xí)參數(shù)設(shè)置如下:最大訓(xùn)練步數(shù)為100,訓(xùn)練誤差最小值為0.001.慣性系數(shù)α的值在很多實(shí)際實(shí)驗(yàn)中選取0.9~1之間,本次仿真實(shí)驗(yàn)選取值為0.95.學(xué)習(xí)率η的取值通常在0~1之間,本次仿真實(shí)驗(yàn)選取η=0.8.實(shí)驗(yàn)采用調(diào)節(jié)學(xué)習(xí)率增減量因子動(dòng)態(tài)的改變學(xué)習(xí)率的大小,從而減少訓(xùn)練步長(zhǎng).假設(shè)機(jī)器人以0.2m·s-1速度向前方行駛,設(shè)置一組障礙物形體值并對(duì)每個(gè)障礙物每隔10°進(jìn)行取樣作為訓(xùn)練集,然后對(duì)障礙物的大小稍作改變,每隔15°采樣作為測(cè)試集;在仿真實(shí)驗(yàn)中通過(guò)設(shè)置參數(shù)kinc和kdec實(shí)現(xiàn)學(xué)習(xí)率大小的動(dòng)態(tài)調(diào)節(jié),一般在開(kāi)始訓(xùn)練時(shí),學(xué)習(xí)率值應(yīng)當(dāng)取大一些,在此取kinc為1.5,kdec為0.3.神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差-步長(zhǎng)曲線(xiàn)圖如圖2所示.由圖2看出,需60個(gè)步長(zhǎng)才使得訓(xùn)練誤差小于0.001.
圖2 kinc=1.5,kdec=0.3時(shí)神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差-步長(zhǎng)曲線(xiàn)圖Fig.2 The training step of kinc=1.5,kdec=0.3
通過(guò)反復(fù)調(diào)整學(xué)習(xí)率參數(shù),確定出kinc和kdec最佳取值,即當(dāng)kinc=1.2,kdec=0.5時(shí),神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程達(dá)到最優(yōu),其神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差-步長(zhǎng)曲線(xiàn)圖如圖3所示.從圖3看出,只需30步就能使訓(xùn)練誤差小于0.001.步長(zhǎng)達(dá)到全局最小,步長(zhǎng)減小能顯著縮短網(wǎng)絡(luò)訓(xùn)練時(shí)間,提高學(xué)習(xí)效率.
機(jī)器人二級(jí)BP神經(jīng)網(wǎng)絡(luò)避障控制模型訓(xùn)練結(jié)束后即可對(duì)障礙物進(jìn)行識(shí)別,避障控制模型對(duì)障礙物的識(shí)別結(jié)果見(jiàn)表1.從表1可看出,該模型能有效識(shí)別障礙物.隨著識(shí)別次數(shù)增加時(shí),該模型的識(shí)別率會(huì)不斷增加.
圖3 kinc=1.2,kdec=0.5時(shí)神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差-步長(zhǎng)曲線(xiàn)圖Fig.3 The training step of kinc=1.2,kdec=0.5
表1 機(jī)器人二級(jí)BP神經(jīng)網(wǎng)絡(luò)避障控制模型的障礙物識(shí)別率Tab.1 Obstacle recognition rate of robot
按照障礙物大小,采用相應(yīng)比例構(gòu)建機(jī)器人工作空間,已知機(jī)器人工作空間中的起始點(diǎn)和目標(biāo)點(diǎn).機(jī)器人導(dǎo)航避障軌跡如圖4所示,圖4中軌跡坐標(biāo)記為(X,Y).
圖4 機(jī)器人導(dǎo)航避障軌跡Fig.4 Trajectory of robot navigation
從圖4中看出機(jī)器人導(dǎo)航軌跡避開(kāi)了障礙物,且沿著一條最短路徑到達(dá)目標(biāo)點(diǎn),導(dǎo)航效果優(yōu)于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)避障控制模型,運(yùn)動(dòng)路徑趨近最優(yōu)直線(xiàn)路徑.通過(guò)引入學(xué)習(xí)率調(diào)節(jié)因子有效縮短了機(jī)器人目標(biāo)點(diǎn)到達(dá)時(shí)間,機(jī)器人導(dǎo)航效率得以提升.
1)通過(guò)引入學(xué)習(xí)率調(diào)節(jié)因子kinc和kdec,提出了學(xué)習(xí)率動(dòng)態(tài)調(diào)節(jié)方法.基于該方法給出了二級(jí)BP神經(jīng)網(wǎng)絡(luò)算法.該算法在權(quán)值調(diào)節(jié)收斂速度方面優(yōu)于傳統(tǒng)單級(jí)BP神經(jīng)網(wǎng)絡(luò)算法,通過(guò)減少訓(xùn)練步長(zhǎng)能顯著節(jié)約網(wǎng)絡(luò)訓(xùn)練時(shí)間,提高學(xué)習(xí)效率.
2)通過(guò)BP神經(jīng)網(wǎng)絡(luò)算法的改進(jìn),給出了新型機(jī)器人二級(jí)BP神經(jīng)網(wǎng)絡(luò)避障控制模型.仿真結(jié)果表明,該模型實(shí)現(xiàn)了障礙物的快速識(shí)別,其障礙物識(shí)別率達(dá)到80.5%~99.5%,導(dǎo)航效率優(yōu)于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型,運(yùn)動(dòng)路徑趨近最優(yōu)直線(xiàn)路徑,有效縮短了機(jī)器人到達(dá)目標(biāo)點(diǎn)時(shí)間.
[1] 常健,吳成東.移動(dòng)機(jī)器人避障方法綜述[J].儀器儀表學(xué)報(bào),2010,31(8):439.CHANG Jian,WU Cheng-dong.Survey of Obstacle A-voidance of Mobile Robot[J].Chinese Journal of Scientific Instrument,2010,31(8):439.(in Chinese)
[2] 陳華志,謝存禧.移動(dòng)機(jī)器人避障模糊控制[J].機(jī)床與液壓,2004(11):77.CHEN Hua-zhi,XIE Cun-xi.Fuzzy Technique for Mobile Robot Obstacle Avoidance[J].Machine Tool & Hydraulics,2004(11):77.(in Chinese)
[3] 任亞楠,賈瑞清.基于超聲波傳感器的移動(dòng)機(jī)器人避障系統(tǒng)研究[J].中國(guó)測(cè)試,2012,38(3):76.REN Ya-nan,JIA Rui-qing.Research on Obstacle A-voidance System of Mobile Robot Based on Ultrasonic Sensor[J].China Measurement & Test,2012,38(3):76.(in Chinese)
[4] 王丙強(qiáng),宋弘.二級(jí)BP網(wǎng)絡(luò)在機(jī)器人傳感器融合中的應(yīng)用[J].微計(jì)算機(jī)信息,2009,25(23):192.WANG Bin-qiang,SONG Hong.The Application of Two-level Neural Networks in Sensors Fusion of the Robot [J].Microcomputer Information,2009,25(23):192.(in Chinese)
[5] 郭琦,洪炳熔.基于人工神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)智能機(jī)器人的避障軌跡控制[J].機(jī)器人,2002,24(6):508.GUO Qi,HONG Bing-rong.Trajectory Control with Obstacle Avoidance of Mobile Robots Based on Neural Network[J].Robot,2002,24(6):508.(in Chinese)
[6] GLASIUS R,KOMODA A,GIELEN S C.Neural Network Dynamics for Planning and Obstacle Avoidance[J].Neural Networks,1995,8(1):125.
[7] CHOHRA A,F(xiàn)ARAH A,BELLOUCIF M.Neuro-Fuzzy Expert System E_S_CO_V for the Obstacle A-voidance Behavior of Intelligent Autonomous Vehicles[J].Advance Robotics,1999,12(6):629.
[8] PARHI D R,SINGH M K.Real-Time Navigational Control of Mobile Robots Using an Artificial Neural Network[J].Proceedings of the Institution of Mechanical Engineers,Part C:Journal of the Mechanical Engineering Science,2009,223(7):1713.
[9] SIMON X,YANG M M.Neural Network Approaches to Dynamic Collision-free Trajectory Generation[J].IEEE Transaction on Systems,Man,and Cybernetics Part B:Cybernetics,2001,31(3):302.
[10] 儲(chǔ)琳琳,郭純生.淺析BP神經(jīng)網(wǎng)絡(luò)算法的改進(jìn)和優(yōu)化[J].科技經(jīng)濟(jì)市場(chǎng),2009(4):4.CHU Lin-lin,GUO Chun-sheng.Analysed the BP Neural Network Algorithm of Improvement and Optimized[J].Science and Technology Economic Market,2009(4):4.(in Chinese)
[11] 張華節(jié),李璀.學(xué)習(xí)速率連續(xù)變化的BP神經(jīng)網(wǎng)絡(luò)算法[J].四川兵工學(xué)報(bào),2011(4):61.ZHANG Hua-jie,LI Cui.The BP Neural Network Algorithm with Continuous Learning Rate[J].Journal of Sichuan Ordnance Industry,2011(4):61.(in Chinese)