摘 要: 針對自主吸塵機器人" title="吸塵機器人">吸塵機器人非結構化的工作環(huán)境及避障的實時性要求,,提出融合了超聲波傳感器和紅外傳感器的混合視覺算法,,并且基于BP神經(jīng)網(wǎng)絡的傳感器信息融合技術進行了實驗,。
關鍵詞: 超聲波傳感器 紅外傳感器? 傳感器融合" title="傳感器融合">傳感器融合? 神經(jīng)網(wǎng)絡
?
自主吸塵機器人的視覺系統(tǒng)" title="視覺系統(tǒng)">視覺系統(tǒng)主要采用超聲波傳感器、紅外傳感器,、碰撞傳感器" title="碰撞傳感器">碰撞傳感器以及CMOS圖像傳感器等,。自主吸塵機器人主要應用超聲波傳感器和紅外傳感器作為接近視覺的傳感器檢測障礙物。CMOS圖像傳感器主要用于全局信息的獲取,,在自主吸塵機器人的障礙物檢測,、基于電子地圖的定位以及路徑規(guī)劃等方面都有很好的應用前景。碰撞傳感器作為輔助傳感器,,當其他傳感器失效時,,可通過與障礙物的接觸感知障礙物的存在。但目前大多數(shù)視覺系統(tǒng)由單一傳感器構成,對環(huán)境信息的感知不全面,。為了獲得更加全面的障礙物信息,,更有效地實現(xiàn)實時避障,本系統(tǒng)融合了超聲波傳感器,、紅外傳感器及碰撞傳感器,,采用了基于BP神經(jīng)網(wǎng)絡的多傳感器融合算法。神經(jīng)網(wǎng)絡能夠根據(jù)傳感器的輸入實時輸出,,完成避障行為,,從而使機器人更加自主和健壯地行走。
1 傳感器布置及硬件電路實現(xiàn)
超聲波傳感器相對于光學傳感器(如紅外傳感器)在障礙物檢測上有突出的優(yōu)點:超聲波對色彩不敏感,,能夠識別深顏色的障礙物,;對光照度不敏感,適于識別透明,、半透明的物體(如窗戶,、玻璃門等)。
超聲波傳感器的角度特性不好,,發(fā)射角是較寬的錐形角(典型值為15~30錐度),,這意味著不能準確測得障礙物的位置。超聲波傳感器的另一個問題是鏡面反射:當超聲波束以較淺的角度射向光滑平面時發(fā)生鏡面反射,,波束向外反射而接收不到反射波,。此外,超聲波傳感器還存在著竄繞信號,,且易受環(huán)境溫度,、濕度等條件的影響。
紅外傳感器是近距離傳感器,,其探測視角小,、方向性好,與超聲傳感器固有的錐形波相比,,紅外傳感器具有角度分辨力高的優(yōu)點,,并且能在較短的時間內獲得大量的測量數(shù)據(jù)。紅外傳感器的缺點為:易受戶外光線的干擾,;對障礙物的顏色敏感,,深顏色特別是黑色識別效果不好;玻璃等光滑表面對紅外線的反射特性影響很大,。
綜合以上分析可知,,單一傳感器存在有效探測范圍小、數(shù)據(jù)可靠性低等缺點,,很難得到好的避障效果,。因此,自主吸塵機器人的視覺系統(tǒng)同時采用了超聲波傳感器和紅外傳感器,并且輔以碰撞傳感器,,利用各種傳感器的信息互補,能夠很好地提供機器人周圍的障礙物信息,。由于本系統(tǒng)的目標是廉價有效地避障,,因此沒有采用CMOS圖像傳感器。
如圖1所示,。由于自主吸塵機器人主要的避障行為是前進,、停頓、轉彎,,因此采用7組傳感器均布在機器人的正前方,,覆蓋180°的半圓范圍,以充分探測障礙物,。其中,,第1、2,、3,、4組傳感器由一對超聲波傳感器和一對紅外傳感器組成,其他幾組由一對紅外傳感器組成,。每組傳感器共同提供某一時刻特定方位的障礙物信息,。由于右側需布置機器人自主回歸電路,故減少一對超聲波傳感器,。
在自主吸塵機器人的實時避障過程中,,不需要測量距障礙物的精確距離,而只需檢測超過門檻強度的回波,?;夭ǖ膹姸扰c距障礙物的距離及障礙物的性質有關。若檢測到超過門檻強度的回波時,,則認為存在障礙物,,需要執(zhí)行相應的避障策略。門檻強度根據(jù)機器人行走過程中認定的最近障礙物的距離而定,,一般可取最近障礙物的距離為2~5cm,。對超聲波傳感器,有效回波比竄繞信號要大得多,,因此設置合適的門檻強度可以屏蔽掉竄繞信號的影響,。
硬件電路主要包括信號發(fā)射電路、信號接收電路,、信號放大電路,、門檻強度比較電路、鑒頻電路以及路選電路。硬件電路框圖如圖2所示,。
?
2 基于神經(jīng)網(wǎng)絡的傳感器融合技術
神經(jīng)網(wǎng)絡多傳感器融合算法在自主機器人避障以及自主行走應用上具有獨特優(yōu)勢,。本系統(tǒng)采用包含輸入層、隱層和輸出層三層結構的BP神經(jīng)網(wǎng)絡,,如圖3所示,。BP網(wǎng)絡決定了傳感器輸入與行為模式輸出之間的通信,通過對連接權值" title="權值">權值的計算得出與輸入相對應的輸出,。訓練過程以隨機的連接權值開始,,BP網(wǎng)絡不斷比較實際輸出與期望輸出,通過調整連接權值減少兩者之間的差值,,直至輸出期望值,,同時得到連接權值。
神經(jīng)網(wǎng)絡的輸入層為圖1所示的7路傳感器輸入信號,隱層有3個單元,,每個隱層單元根據(jù)7路輸入的加權計算得到單一的實值輸出,。然后這3個隱層單元的輸出作為第二層4個輸出單元的輸入。輸出層有4路輸出信號,,每路輸出信號對應機器人特定的運動行為,,分別表示左轉(L)、停頓(S),、前進(F)以及右轉(R),,或者是兩種行為的組合,如前左轉,、前右轉,。
傳感器的輸入信號以及送到電機的輸出信號都以二進制表示,并通過簡單的開關控制電機,。其中,,0、1,、2三路輸入信號檢測左側是否存在障礙物,,第3路輸入信號檢測正前方的障礙物信息。4,、5,、6輸入信號檢測右側的障礙物信息。僅檢測到左(右)側障礙物輸出前右(左)轉指令,;檢測到左(右)側及前方障礙物輸出右(左)轉指令,;僅檢測到前方障礙物及同時檢測到左側和右側障礙物則輸出應急停頓指令;無障礙物信號輸出前進指令,。另外碰撞傳感器檢測到碰撞信號也輸出停頓指令,,處理器收到停頓指令后采取相應的策略,。
每個輸出值是0和1之間的某個實數(shù),對應于預測相應運動行為的置信度,??梢愿鶕?jù)置信度對輸出進行簡單處理,即當輸出超過0.5時,,則認為輸出為1,,否則認為輸出為0。
下面給出BP神經(jīng)網(wǎng)絡的算法推導,。
設輸入層為M,隱層為I,,輸出層為P,,對應的小寫字母表示任一信息單元。輸入層與隱層的突觸權值用Wmi表示,,隱層與輸出層的突觸權值用Wip表示,。
神經(jīng)元的輸入用u表示,激勵輸出用v表示,,u,、v的上標表示層,下標表示層中的某個神經(jīng)元,。對應于任一訓練樣本Xk=[xk1,,xk2,…,,xkm]T的實際輸出為Yk=[yk1,,yk2,…,,ykp]T,,期望輸出dk=[dk1,dk2,,…,,dkp]T。設n為迭代次數(shù),,網(wǎng)絡輸入訓練Xk,,由工作信號的正向傳播過程可得:
輸出層的第p個神經(jīng)元的誤差信號為:
ekp(n)=dkp(n)-ykp(n)
定義神經(jīng)元P的誤差能量為,則輸出層所有神經(jīng)元的誤差能量總和,。在誤差信號反向傳遞過程中,,逐層修改連接權值。
下面計算誤差信號的反向傳播過程,。
(1)隱層I與輸出層P之間的權值修正量,。
根據(jù)梯度下降和Delta法則,,Wip(n)的修正量為:
其中,h是學習步長,,為局部梯度,。
當激勵函數(shù)為Sigmoid函數(shù),即
則下一次迭代時隱層J上任一節(jié)點與輸出層P上任一節(jié)點之間的權值為:
(2)隱層I上的任一節(jié)點與輸入層M上的任一節(jié)點的權值修正量,。
與(1)中的推導類似,,
則在下一次迭代時隱層I上任一節(jié)點與輸入層M上任一節(jié)點之間的權值為:
3 BP算法框圖
圖4給出了BP算法的程序流程圖。在執(zhí)行算法之前,,首先要設置變量和參量,。其中:Wmi(n)為第n次迭代時輸入層與隱層I之間的權值向量;Wip(n)為第n次迭代時輸出層與隱層I之間的權值向量,;n為迭代次數(shù),,K為訓練樣本的下標,Maxloop為最大迭代次數(shù),,Maxtrain為訓練樣本的總數(shù),,ζ為能量最小誤差。
4 仿真結果
用FoxPro建立輸入樣本的數(shù)據(jù)庫,,用VC編程訓練網(wǎng)絡,。訓練時用了72組輸入樣本,并且循環(huán)4000次訓練網(wǎng)絡,,訓練時間15s,。表1給出了部分訓練樣本的示例(P0表示樣本0,以下同),。
初始權值為-0.01~0.01的隨機數(shù)值,。下面給出了網(wǎng)絡訓練的權值輸出。
輸入層與隱層權值
0.251,,-9.187,,2.347
0.231,-9.225,,2.373
0.266,,-9.213,2.331
4.722,,-1.479,,-1.470
0.214,2.520,,-9.067
0.293,,2.512,-9.013
0.275,,2.442,,-8.890
輸出層與隱層權值
-11.843,,-5.154,-4.722,,6.348
9.970,,10.696,-10.990,,-11.535
9.938,,-9.617,10.613,,-12.470
為了驗證訓練權值的正確性與強壯性,,對大量的輸入樣本(包括沒有經(jīng)歷訓練過程的樣本)進行實驗,網(wǎng)絡產(chǎn)生相匹配的輸出,。實驗結果表明,,網(wǎng)絡的訓練是成功的。部分實驗數(shù)據(jù)如下:
輸入數(shù)據(jù)組數(shù):6
第0組輸入數(shù)據(jù):0 0 0 0 0 0 0
第0組輸出為:1 0 0 0
第1組輸入數(shù)據(jù):0 0 0 1 0 0 0
第1組輸出為:0 0 0 1
第2組輸入數(shù)據(jù):1 1 0 1 0 0 0
第2組輸出為:0 0 1 0
第3組輸入數(shù)據(jù):1 1 1 0 0 0 0
第3組輸出為:1 0 1 0
第4組輸入數(shù)據(jù):0 0 0 1 1 0 0
第4組輸出為:0 1 0 0
第5組輸入數(shù)據(jù):1 1 0 1 0 0 1
第5組輸出為:0 0 0 1
最后利用Matlab提供的Neural Network工具箱,,對訓練網(wǎng)絡的輸出和相應的期望輸出進行衰退分析,,以測定訓練網(wǎng)絡的性能,。圖5為前面訓練所用的72組輸入數(shù)據(jù)產(chǎn)生的輸出A和期望輸出T的衰退分析圖,。其中虛線為最佳線性擬合曲線A=T,實線為72組輸出A與相應的期望輸出T的線性擬合,。由圖5可以看出,,擬合效果理想,因此訓練網(wǎng)絡的性能可靠,。
實際應用過程的思路為:將BP網(wǎng)絡訓練的權值移植到機器人的處理器中,;7組傳感器按順序輪流工作,每循環(huán)一次得到一組輸入作為神經(jīng)網(wǎng)絡的輸入,;通過神經(jīng)網(wǎng)絡計算得到匹配的實時輸出,;行走電機根據(jù)輸出信號作出相應的避障行為。
本文將超聲波傳感器和紅外傳感器融合進自主吸塵機器人的視覺系統(tǒng),,從而獲得相對于單一傳感器更加準確和全面的障礙物信息,。采用了基于神經(jīng)網(wǎng)絡的多傳感器信息融合算法,通過網(wǎng)絡訓練,,機器人能夠對訓練過程中沒有經(jīng)歷的實際情況做出合理的反應,。這種算法的魯棒性和容錯性很強,,能夠適應自主吸塵機器人非結構化的工作環(huán)境,。
參考文獻
1 Thomas Hellstrom.Autonomous navigation for forest machines[R].Technical Report.UMINF 02-13 ISSN-0348-0542Umea University,2002,;1~60
2 Lanthier M,,D Nussbaum,,A Sheng.Improving vision-based maps by using sonar and infrared data[J].Robotics and Applications,,2004;(8)
3 劉 瑜.自主吸塵機器人[D].杭州:浙江大學出版社,,2006
4 S Nagata,,M Sekiguchi,K Asakawa.Mobile robot control by a structured hierarchical neural network[J].IEEE Control Systems Magazine,,1990,;10:69~76
5 高 雋.人工神經(jīng)網(wǎng)絡原理及仿真實例[M].北京:機械工業(yè)出版社,2003:44~56