沈顯慶, 汪才杰
(黑龍江科技學(xué)院 電氣與信息工程學(xué)院, 哈爾濱 150027)
?
智能機(jī)器人的模糊神經(jīng)網(wǎng)絡(luò)避障算法
沈顯慶,汪才杰
(黑龍江科技學(xué)院 電氣與信息工程學(xué)院, 哈爾濱 150027)
針對(duì)機(jī)器人避障過(guò)程中影響因素復(fù)雜及難以建立精確模型的問(wèn)題,采用超聲波傳感器和定位傳感器獲取機(jī)器人所處環(huán)境的輸入信息,對(duì)其進(jìn)行模糊處理,并建立三層BP神經(jīng)網(wǎng)絡(luò),進(jìn)而提出機(jī)器人模糊神經(jīng)網(wǎng)絡(luò)避障控制算法。仿真結(jié)果表明:機(jī)器人能從起點(diǎn)安全、無(wú)碰撞地避開(kāi)途中的障礙物,順利到達(dá)終點(diǎn),實(shí)現(xiàn)了安全避障,進(jìn)而證明該算法能夠使機(jī)器人在未知環(huán)境中準(zhǔn)確地避障。
機(jī)器人避障; 模糊神經(jīng)網(wǎng)絡(luò); BP網(wǎng)絡(luò)
智能移動(dòng)機(jī)器人的避障規(guī)劃一直是機(jī)器人研究的一個(gè)重要分支。它是通過(guò)傳感器獲取外部環(huán)境和自身的位置信息,采用一定的控制算法來(lái)實(shí)現(xiàn)機(jī)器人在有障礙物的未知環(huán)境中面向目標(biāo)位置的自主運(yùn)動(dòng)。
目前,基于不同傳感器的避障方法主要有紅外避障、視覺(jué)避障、超聲波避障等。文獻(xiàn)[1-3]研究了基于紅外傳感器的機(jī)器人避障,但紅外避障受外界光線(xiàn)影響較大,并且檢測(cè)距離短,只適合近距離的探測(cè)。文獻(xiàn)[4]、[5]探討了基于CCD視覺(jué)傳感器的機(jī)器人避障,因涉及大量圖像數(shù)據(jù)的處理,故實(shí)時(shí)性較差。
避障算法分為傳統(tǒng)算法和智能算法。傳統(tǒng)算法有可視圖法、柵格法、自由空間法、拓?fù)浞?、人工?shì)場(chǎng)法等,文獻(xiàn)[6]對(duì)這些方法做了詳細(xì)的闡述。智能算法主要有模糊控制法[7-8]和神經(jīng)網(wǎng)絡(luò)法[9-10]。模糊控制法方法實(shí)時(shí)性好,能很好的處理模糊信息,但不具備自適應(yīng)學(xué)習(xí)能力,限制了其在變化環(huán)境中應(yīng)用。神經(jīng)網(wǎng)絡(luò)法具有很強(qiáng)的自學(xué)習(xí)、聯(lián)想能力,但是不能處理和描述模糊信息。
筆者采用超聲波傳感器和定位傳感器獲取障礙物和自身位置信息。相比較而言,超聲波測(cè)距范圍為20~400 cm,抗干擾較強(qiáng),數(shù)據(jù)處理較CCD簡(jiǎn)單;控制算法使用模糊控制規(guī)則BP神經(jīng)網(wǎng)絡(luò)。二者結(jié)合了模糊控制與神經(jīng)網(wǎng)絡(luò)各自的優(yōu)點(diǎn),在自學(xué)習(xí)、自適應(yīng)、聯(lián)想、處理模糊信息上有很強(qiáng)優(yōu)勢(shì),在很大程度上提高了移動(dòng)機(jī)器人路徑規(guī)劃的避障精度和實(shí)時(shí)性。
機(jī)器人避障系統(tǒng)由超聲波傳感器測(cè)距系統(tǒng)、定位傳感器系統(tǒng)、直流電機(jī)、電源、FPGA控制芯片、LED顯示器等模塊組成。三個(gè)超聲波傳感器分別安置在機(jī)器人的左方L、前方F、右方R,如圖1所示。以FPGA作為控制器,為機(jī)器人提供這三個(gè)方向上障礙物距離信息,機(jī)器人自身相對(duì)于目標(biāo)點(diǎn)的方位信息則由定位傳感器系統(tǒng)獲得。障礙物的距離和機(jī)器人的方位信息作為系統(tǒng)的輸入,經(jīng)過(guò)模糊神經(jīng)網(wǎng)絡(luò)控制算法,輸出左右電機(jī)的速度,從而實(shí)現(xiàn)移動(dòng)機(jī)器人的避障運(yùn)動(dòng),機(jī)器人避障系統(tǒng)結(jié)構(gòu)如圖2所示。
圖1 超聲波傳感器位置及方位角的模糊子集
Fig. 1Position of ultrasonic sensor and fuzzy subset of azimuth
圖2 機(jī)器人避障控制模型結(jié)構(gòu)
2.1參數(shù)模糊化
2.1.1距離量、方位角的模糊化
系統(tǒng)采用的超聲波測(cè)距模塊測(cè)距范圍為20~400 cm,即L、F、R的物理論域?yàn)閇20,400]。由于輸入數(shù)據(jù)的范圍比較大,可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)收斂慢、訓(xùn)練時(shí)間長(zhǎng)等不利影響,故將輸入數(shù)據(jù)歸一化到模糊論域[-1,+1],輸入?yún)?shù)的物理論域?yàn)閇a,b]不對(duì)稱(chēng),選擇變換公式:
同理,將方位角α進(jìn)行論域變換。方位角α的模糊量分為五個(gè)等級(jí):左下LD、左上LU、前方FH、右上RU、右下RD,如圖1所示。隸屬函數(shù)選擇三角形函數(shù)。
2.1.2輸出量的模糊化
系統(tǒng)輸出量為左輪速度vL和右輪速度vR,將之分為三個(gè)等級(jí):慢DL、中DM、快DF,隸屬函數(shù)采用高斯函數(shù)。
2.2模糊控制規(guī)則BP神經(jīng)網(wǎng)絡(luò)
2.2.1模糊控制規(guī)則設(shè)計(jì)
移動(dòng)機(jī)器人的環(huán)境類(lèi)別大致有以下8種情況,如圖3所示,其中a無(wú)障礙物、b前方有障礙物、c左方有障礙物、d右方有障礙物、e左前方有障礙物、f右前方有障礙物、g左右方有障礙物、h左前右方有障礙物。
圖3 機(jī)器人環(huán)境類(lèi)別
根據(jù)環(huán)境類(lèi)別和專(zhuān)家經(jīng)驗(yàn)及實(shí)驗(yàn)室大量實(shí)驗(yàn)[12],制定了以下135條模糊推理規(guī)則:
a 類(lèi)環(huán)境共5條: if (L is dF) and (F is dF) and (R is dF) and (αis LU) then (vLis DM),(vRis DF);…
b 類(lèi)環(huán)境共10條:if (L is dF) and (F is dF) and (R is dF) and (αis LU) then (vLis DM),(vRis DF);…
c 類(lèi)環(huán)境共10條:if (L is dF) and (F is dF) and (R is dF) and (αis LU) then (vLis DM),(vRis DF);…
d 類(lèi)環(huán)境共10條:if (L is dF) and (F is dF) and (R is dF) and (αis LU) then (vLis DM),(vRis DF);…
e 類(lèi)環(huán)境共20條:if (L is dF) and (F is dF) and (R is dF) and (αis LU) then (vLis DM),(vRis DF);…
f 類(lèi)環(huán)境共20條:if (L is dF) and (F is dF) and (R is dF) and (αis LU) then (vLis DF),(vRis DF);…
g 類(lèi)環(huán)境共20條:if (L is dF) and (F is dF) and (R is dF) and (αis LU) then (vLis DM),(vRis DF);…
h 類(lèi)環(huán)境共40條:if (L is dF) and (F is dF) and (R is dF) and (αis LU) then (vLis DM),(vRis DF);…
2.2.2模糊BP神經(jīng)網(wǎng)絡(luò)
選擇三層BP神經(jīng)網(wǎng)絡(luò)作為模糊控制規(guī)則神經(jīng)網(wǎng)絡(luò),為訓(xùn)練神經(jīng)網(wǎng)絡(luò),需要將輸入、輸出樣本轉(zhuǎn)化為具體數(shù)值。令x1~x5、x6~x10、x11~x15分別為輸入量L、F、R的模糊子集,x16~x20為輸入量α的模糊子集,y1~y11、y12~y22為輸出量vL、vR的模糊子集。共有135條模糊控制,每條規(guī)則對(duì)應(yīng)一對(duì)樣本,可以產(chǎn)生135對(duì)樣本,參數(shù)量化值如表1所示。
表1輸入、輸出參量數(shù)值化
Table 1Input、output parameter digitization
根據(jù)模糊規(guī)則,可得網(wǎng)絡(luò)訓(xùn)練樣本P和αP=[0 0 0 0.115 1 0 0 0 0.115 1 0 0 0 0.115 1 0 1 0 0 0;0 0 0 0.115 1 1 0.115 0 0 0 0 0 0 0.115 1 0 0 1 0 0;0 0.115 1 0.115 0 0 0 0 0.115 1 0 0 0 0.115 1 0 0 0 1 0;0 0 0 0.115 1 0 0 0 0.115 1 0 0.115 1 0.115 0 0 0 0 0 1;…]′,α=[0 0.004 0.044 0.250 0.707 1 0.707 0.250 0.044 0.004 0 0 0 0 0 0 0 0.004 0.044 0.250 0.707 1;1 0.707 0.250 0.044 0.004 0 0 0 0 0 0 0 0 0 0 0 0 0.004 0.044 0.250 0.707 1;0 0 0 0 0 0 0.004 0.044 0.250 0.707 1 0 0.004 0.044 0.250 0.707 1 0.707 0.250 0.044 0.004 0;0 0 0 0 0 0 0.004 0.044 0.250 0.707 1 1 0.707 0.250 0.044 0.004 0 0 0 0 0 0;…]′。
由訓(xùn)練樣本P和α知,BP網(wǎng)絡(luò)的輸入神經(jīng)元節(jié)點(diǎn)20個(gè),輸出神經(jīng)元節(jié)點(diǎn)22個(gè),根據(jù)Kolmogorov定理及反復(fù)試驗(yàn)比較,最終確立隱含層神經(jīng)元節(jié)點(diǎn)41個(gè),BP網(wǎng)絡(luò)如圖4所示。
圖4 模糊控制規(guī)則BP神經(jīng)網(wǎng)絡(luò)
設(shè)網(wǎng)絡(luò)輸入向量Pk=(a1,a2,…,an),目標(biāo)向量Tk=(y1,y2,…,yn),輸入層至中間層的連接權(quán)值wij,中間層至輸出層的連接權(quán)值vjt,中間層各單元的輸出閥值θj,輸出層各單元的輸出閥值γj。網(wǎng)絡(luò)的訓(xùn)練過(guò)程為[13]:
(1) 給每個(gè)連接權(quán)值wij、vjt,閥值θj、γj賦予區(qū)間(-1,1)內(nèi)的隨機(jī)值,隨機(jī)選擇一組樣本給網(wǎng)絡(luò)。
(2) 計(jì)算隱含層各單元的輸入sj和輸出bj。
(3) 計(jì)算輸出層各單元的輸出Lt和響應(yīng)Ct
(4) 計(jì)算輸出層、隱含層的各單元誤差dt和ej。
(5) 修正連接權(quán)值vjt、wij和閥值γj
vjt(N+1)=vjt(N)+δ·dt·bj,
γt(N+1)=γ(N)+δ·dt,
vij(N+1)=wij(N)+β·ej·ai,
θj(N+1)=θj(N)+β·ej。
再隨機(jī)選擇下一個(gè)學(xué)習(xí)樣本向量給網(wǎng)絡(luò),重復(fù)以上過(guò)程,直到樣本訓(xùn)練完畢。
2.3輸出量的去模糊化
經(jīng)BP網(wǎng)絡(luò)得到的輸出量是模糊量,而電機(jī)控制必須用數(shù)字量,因此需要去模糊化處理。常用的去模糊化方法有面積中心法、面積平分法、最大隸屬度平均值法、最大隸屬度最大值法、最大隸屬度最小值法。文中采用面積中心法。面積中心法就是求出模糊集合隸屬函數(shù)曲線(xiàn)和橫坐標(biāo)包圍區(qū)域面積的中心,選取這個(gè)中心對(duì)應(yīng)的橫坐標(biāo)值,作為這個(gè)模糊集合的代表值。如果論域?yàn)閁={u1,u2,…,un},uj處的隸屬度為A(uj),則清晰量化值Q:
式中,A為輸出變量vL的語(yǔ)言變量值論域中相應(yīng)的一個(gè)語(yǔ)言變量,同理可計(jì)算vR的值。
將上述輸入向量P和目標(biāo)向量α,對(duì)三層BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,輸入層、隱含層、輸出層神經(jīng)元節(jié)點(diǎn)數(shù)分別為20、41、22個(gè),神經(jīng)元傳遞函數(shù)采用tansig,BP網(wǎng)絡(luò)學(xué)習(xí)函數(shù)learngdm,BP網(wǎng)絡(luò)訓(xùn)練函數(shù)trainlm,性能函數(shù)mse。網(wǎng)絡(luò)學(xué)習(xí)曲線(xiàn)如圖5所示。網(wǎng)絡(luò)僅經(jīng)過(guò)23次訓(xùn)練就達(dá)到目標(biāo)誤差,收斂誤差為9.514 78e-005,說(shuō)明網(wǎng)絡(luò)性能可以滿(mǎn)足實(shí)驗(yàn)控制要求。為檢測(cè)網(wǎng)絡(luò)的有效性,將表示圖3b的一種情況,遠(yuǎn)、中、遠(yuǎn)、正前方的向量[0 0 0 0.12 1 0 0.12 1 0.115 0 0 0 0 0.115 1 0 0 0.9 0 0]和圖3h的一種情況,中、近、中、正前方的向量[0 0.12 1 0.115 0 1 0.115 0 0 0 0 0.12 1 0.115 0 0 0 1 0 0]作為輸入,得到網(wǎng)絡(luò)的輸出如圖6和7所示,圖中數(shù)據(jù)表示左右輪的速度分別為中、快,慢、快,符合機(jī)器人避障的實(shí)際情況。
圖5 BP網(wǎng)絡(luò)學(xué)習(xí)曲線(xiàn)
圖6 左右輪速度的預(yù)測(cè)輸出
為了進(jìn)一步驗(yàn)證該算法的有效性,構(gòu)造了如圖8的仿真環(huán)境。圖8中機(jī)器人運(yùn)動(dòng)軌跡的曲率變化反應(yīng)了機(jī)器人的運(yùn)動(dòng)速度的快慢,機(jī)器人左右輪的速度分為三個(gè)等級(jí),6、4和2 cm/s。結(jié)果表明:機(jī)器人能從起點(diǎn)(1,3)安全、無(wú)碰撞地避開(kāi)途中的障礙物,順利到達(dá)終點(diǎn)(8,2),實(shí)現(xiàn)了安全避障。
圖7 左右輪速度的預(yù)測(cè)輸出
圖8 機(jī)器人避障仿真軌跡
Fig. 8Simulation trajectory of robot obstacle avoidance4結(jié)束語(yǔ)
通過(guò)超聲波傳感器獲取障礙物信息,定位傳感器獲取機(jī)器人自身位置信息,利用模糊神經(jīng)網(wǎng)絡(luò)算法對(duì)傳感器信息進(jìn)行處理,獲得最終的控制信號(hào),可使機(jī)器人對(duì)障礙距離和自身位置做出正確的判斷。MATLAB仿真結(jié)果表明了該算法的有效性和可行性,機(jī)器人能夠進(jìn)行環(huán)境識(shí)別避開(kāi)靜態(tài)障礙物,最終安全達(dá)到目標(biāo)點(diǎn)。由于該算法采用神經(jīng)網(wǎng)絡(luò)記憶模糊控制規(guī)則,因此具有神經(jīng)網(wǎng)絡(luò)和模糊控制各自的優(yōu)點(diǎn),它適用于不確定的、非線(xiàn)性復(fù)雜的嵌入式控制系統(tǒng),具有很強(qiáng)的適應(yīng)性和通用性。
[1]丁銳, 喻俊志, 楊清海, 等. 基于紅外傳感器的兩棲機(jī)器人智能避障控制[J]. 南京理工大學(xué)學(xué)報(bào): 自然科學(xué)版, 2009, 33(Z1): 92-97.
[2]丁吉, 段鎖林, 任富強(qiáng), 等. 基于模糊規(guī)劃器的輪式移動(dòng)機(jī)器人避障研究[J]. 常州大學(xué)學(xué)報(bào): 自然科學(xué)版, 2010, 22(4): 34-38.
[3]李菊葉. 小型機(jī)器人避障的設(shè)計(jì)與實(shí)現(xiàn)[J]. 北華大學(xué)學(xué)報(bào): 自然科學(xué)版, 2012, 13(2): 245-248.
[4]郭明強(qiáng). 基于CCD和聲納傳感器信息融合的移動(dòng)機(jī)器人避障研究[D]. 南京: 南京理工大學(xué), 2007.
[5]戈新良. 基于多種傳感器信息融合的移動(dòng)機(jī)器人的環(huán)境辨識(shí)[D]. 天津: 河北工業(yè)大學(xué), 2003.
[6]常健, 吳成東, 李斌. 移動(dòng)機(jī)器人避障方法綜述[J]. 儀器儀表學(xué)報(bào), 2010, 31(8): 439-442.
[7]陳華志, 謝存禧. 移動(dòng)機(jī)器人避障模糊控制[J]. 機(jī)床與液壓, 2004(11): 77-78.
[8]任亞楠, 賈瑞清, 何金田, 等. 基于超聲波傳感器的移動(dòng)機(jī)器人避障系統(tǒng)研究[J]. 中國(guó)測(cè)試, 2012, 38(3): 76-79.
[9]王丙強(qiáng), 宋弘. 兩級(jí)BP網(wǎng)絡(luò)在機(jī)器人傳感器融合中的應(yīng)用[J]. 微計(jì)算機(jī)信息, 2009, 25(23): 192-194.
[10]郭琦, 洪炳熔. 基于人工神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)智能機(jī)器人的避障軌跡控制[J]. 機(jī)器人, 2002, 24(6): 508-512.
[11]范曉靜. 基于多傳感器信息融合的機(jī)器人避障和導(dǎo)航控制研究[D]. 沈陽(yáng): 沈陽(yáng)理工大學(xué), 2008.
[12]呂漫麗. 基于多傳感信息融合的移動(dòng)機(jī)器人避障研究[D].吉林: 東北電力大學(xué), 2008.
[13]葛哲學(xué), 孫志強(qiáng). 神經(jīng)網(wǎng)絡(luò)理論與MATLABR2007實(shí)現(xiàn)[M]. 北京: 電子工業(yè)出版社, 2007: 109-110.
[14]李繼勇, 趙德彪, 張靜. 基于BP神經(jīng)網(wǎng)絡(luò)的供應(yīng)鏈風(fēng)險(xiǎn)預(yù)警研究[J]. 河北工程大學(xué)學(xué)報(bào): 自然科學(xué)版, 2011, 28(3): 83-77.
(編輯李德根)
Obstacle avoidance algorithm designed for mobile robot based on fuzzy neural network
SHENXianqing,WANGCaijie
(College of Electric & Information Engineering Heilongjiang Institute of Science & Technology, Harbin 150027, China)
Aimed at removing difficulties developing accurate models due to complicated influence factors occurring during the process of obstacle avoidance for robot, this paper describes the adoption of ultrasonic wave sensor and positioning sensor to obtain the input information of environment to which robots are exposed, the fuzzy treatment of the input information, and the development of three-layer BP neural network and proposes the control algorithm of robot fuzzy neural network obstacle avoidance. The simulation shows that this algorithm allows the robot to avoid obstacles accurately in the unknown environment as a result of the robot's demonstrated ability to avoid the obstacles on the way safely and without collision and reach the destination smoothly before realizing the safety obstacle avoidance.
robot obstacle avoidance; fuzzy neural network; BP network
1671-0118(2012)06-0613-04
2012-09-25
沈顯慶(1969-),男,吉林省通化人,教授,研究方向:智能控制、信號(hào)檢測(cè)與處理,E-mail:shenxianqing2001@163.com。
TP242.6
A