基于神經(jīng)網(wǎng)絡(luò)的自主吸塵機(jī)器人混合視覺研究
自主吸塵機(jī)器人的視覺系統(tǒng)主要采用超聲波傳感器、紅外傳感器、碰撞傳感器以及CMOS圖像傳感器等。自主吸塵機(jī)器人主要應(yīng)用超聲波傳感器和紅外傳感器作為接近視覺的傳感器檢測障礙物。CMOS圖像傳感器主要用于全局信息的獲取,在自主吸塵機(jī)器人的障礙物檢測、基于電子地圖的定位以及路徑規(guī)劃等方面都有很好的應(yīng)用前景。碰撞傳感器作為輔助傳感器,當(dāng)其他傳感器失效時(shí),可通過與障礙物的接觸感知障礙物的存在。但目前大多數(shù)視覺系統(tǒng)由單一傳感器構(gòu)成,對環(huán)境信息的感知不全面。為了獲得更加全面的障礙物信息,更有效地實(shí)現(xiàn)實(shí)時(shí)避障,本系統(tǒng)融合了超聲波傳感器、紅外傳感器及碰撞傳感器,采用了基于BP神經(jīng)網(wǎng)絡(luò)的多傳感器融合算法。神經(jīng)網(wǎng)絡(luò)能夠根據(jù)傳感器的輸入實(shí)時(shí)輸出,完成避障行為,從而使機(jī)器人更加自主和健壯地行走。
傳感器布置及硬件電路實(shí)現(xiàn)
超聲波傳感器相對于光學(xué)傳感器(如紅外傳感器)在障礙物檢測上有突出的優(yōu)點(diǎn):超聲波對色彩不敏感,能夠識別深顏色的障礙物;對光照度不敏感,適于識別透明、半透明的物體(如窗戶、玻璃門等)。
超聲波傳感器的角度特性不好,發(fā)射角是較寬的錐形角(典型值為15~30錐度),這意味著不能準(zhǔn)確測得障礙物的位置。超聲波傳感器的另一個(gè)問題是鏡面反射:當(dāng)超聲波束以較淺的角度射向光滑平面時(shí)發(fā)生鏡面反射,波束向外反射而接收不到反射波。此外,超聲波傳感器還存在著竄繞信號,且易受環(huán)境溫度、濕度等條件的影響。
紅外傳感器是近距離傳感器,其探測視角小、方向性好,與超聲傳感器固有的錐形波相比,紅外傳感器具有角度分辨力高的優(yōu)點(diǎn),并且能在較短的時(shí)間內(nèi)獲得大量的測量數(shù)據(jù)。紅外傳感器的缺點(diǎn)為:易受戶外光線的干擾;對障礙物的顏色敏感,深顏色特別是黑色識別效果不好;玻璃等光滑表面對紅外線的反射特性影響很大。
綜合以上分析可知,單一傳感器存在有效探測范圍小、數(shù)據(jù)可靠性低等缺點(diǎn),很難得到好的避障效果。因此,自主吸塵機(jī)器人的視覺系統(tǒng)同時(shí)采用了超聲波傳感器和紅外傳感器,并且輔以碰撞傳感器,利用各種傳感器的信息互補(bǔ),能夠很好地提供機(jī)器人周圍的障礙物信息。由于本系統(tǒng)的目標(biāo)是廉價(jià)有效地避障,因此沒有采用CMOS圖像傳感器。
如圖1所示。由于自主吸塵機(jī)器人主要的避障行為是前進(jìn)、停頓、轉(zhuǎn)彎,因此采用7組傳感器均布在機(jī)器人的正前方,覆蓋180°的半圓范圍,以充分探測障礙物。其中,第1、2、3、4組傳感器由一對超聲波傳感器和一對紅外傳感器組成,其他幾組由一對紅外傳感器組成。每組傳感器共同提供某一時(shí)刻特定方位的障礙物信息。由于右側(cè)需布置機(jī)器人自主回歸電路,故減少一對超聲波傳感器。
在自主吸塵機(jī)器人的實(shí)時(shí)避障過程中,不需要測量距障礙物的精確距離,而只需檢測超過門檻強(qiáng)度的回波?;夭ǖ膹?qiáng)度與距障礙物的距離及障礙物的性質(zhì)有關(guān)。若檢測到超過門檻強(qiáng)度的回波時(shí),則認(rèn)為存在障礙物,需要執(zhí)行相應(yīng)的避障策略。門檻強(qiáng)度根據(jù)機(jī)器人行走過程中認(rèn)定的最近障礙物的距離而定,一般可取最近障礙物的距離為2~5cm。對超聲波傳感器,有效回波比竄繞信號要大得多,因此設(shè)置合適的門檻強(qiáng)度可以屏蔽掉竄繞信號的影響。
硬件電路主要包括信號發(fā)射電路、信號接收電路、信號放大電路、門檻強(qiáng)度比較電路、鑒頻電路以及路選電路。硬件電路框圖如圖2所示。
基于神經(jīng)網(wǎng)絡(luò)的傳感器融合技術(shù)
神經(jīng)網(wǎng)絡(luò)多傳感器融合算法在自主機(jī)器人避障以及自主行走應(yīng)用上具有獨(dú)特優(yōu)勢。本系統(tǒng)采用包含輸入層、隱層和輸出層三層結(jié)構(gòu)的BP神經(jīng)網(wǎng)絡(luò),如圖3所示。
BP神經(jīng)網(wǎng)絡(luò)決定了傳感器輸入與行為模式輸出之間的通信,通過對連接權(quán)值的計(jì)算得出與輸入相對應(yīng)的輸出。訓(xùn)練過程以隨機(jī)的連接權(quán)值開始,BP神經(jīng)網(wǎng)絡(luò)不斷比較實(shí)際輸出與期望輸出,通過調(diào)整連接權(quán)值減少兩者之間的差值,直至輸出期望值,同時(shí)得到連接權(quán)值。
BP神經(jīng)網(wǎng)絡(luò)的輸入層為圖1所示的7路傳感器輸入信號,隱層有3個(gè)單元,每個(gè)隱層單元根據(jù)7路輸入的加權(quán)計(jì)算得到單一的實(shí)值輸出。然后這3個(gè)隱層單元的輸出作為第二層4個(gè)輸出單元的輸入。輸出層有4路輸出信號,每路輸出信號對應(yīng)機(jī)器人特定的運(yùn)動行為,分別表示左轉(zhuǎn)(L)、停頓(S)、前進(jìn)(F)以及右轉(zhuǎn)(R),或者是兩種行為的組合,如前左轉(zhuǎn)、前右轉(zhuǎn)。
傳感器的輸入信號以及送到電機(jī)的輸出信號都以二進(jìn)制表示,并通過簡單的開關(guān)控制電機(jī)。其中,0、1、2三路輸入信號檢測左側(cè)是否存在障礙物,第3路輸入信號檢測正前方的障礙物信息。4、5、6輸入信號檢測右側(cè)的障礙物信息。僅檢測到左(右)側(cè)障礙物輸出前右(左)轉(zhuǎn)指令;檢測到左(右)側(cè)及前方障礙物輸出右(左)轉(zhuǎn)指令;僅檢測到前方障礙物及同時(shí)檢測到左側(cè)和右側(cè)障礙物則輸出應(yīng)急停頓指令;無障礙物信號輸出前進(jìn)指令。另外碰撞傳感器檢測到碰撞信號也輸出停頓指令,處理器收到停頓指令后采取相應(yīng)的策略。
每個(gè)輸出值是0和1之間的某個(gè)實(shí)數(shù),對應(yīng)于預(yù)測相應(yīng)運(yùn)動行為的置信度??梢愿鶕?jù)置信度對輸出進(jìn)行簡單處理,即當(dāng)輸出超過0.5時(shí),則認(rèn)為輸出為1,否則認(rèn)為輸出為0。下面給出BP神經(jīng)網(wǎng)絡(luò)的算法推導(dǎo)。
設(shè)輸入層為M,隱層為I,輸出層為P,對應(yīng)的小寫字母表示任一信息單元。輸入層與隱層的突觸權(quán)值用Wmi表示,隱層與輸出層的突觸權(quán)值用Wip表示。
神經(jīng)元的輸入用u表示,激勵(lì)輸出用v表示,u、v的上標(biāo)表示層,下標(biāo)表示層中的某個(gè)神經(jīng)元。對應(yīng)于任一訓(xùn)練樣本Xk=[xk1,xk2,…,xkm]T的實(shí)際輸出為Yk=[yk1,yk2,…,ykp]T,期望輸出dk=[dk1,dk2,…,dkp]T。設(shè)n為迭代次數(shù),網(wǎng)絡(luò)輸入訓(xùn)練Xk,由工作信號的正向傳播過程可得:
輸出層的第p個(gè)神經(jīng)元的誤差信號為:
ekp(n)=dkp(n)-ykp(n)
定義神經(jīng)元P的誤差能量為,
則輸出層所有神經(jīng)元的誤差能量總和。
在誤差信號反向傳遞過程中,逐層修改連接權(quán)值。
下面計(jì)算誤差信號的反向傳播過程。
(1)隱層I與輸出層P之間的權(quán)值修正量。
根據(jù)梯度下降和Delta法則,Wip(n)的修正量為:
其中,h是學(xué)習(xí)步長,為局部梯度。
當(dāng)激勵(lì)函數(shù)為Sigmoid函數(shù),即
,
得
則下一次迭代時(shí)隱層J上任一節(jié)點(diǎn)與輸出層P上任一節(jié)點(diǎn)之間的權(quán)值為:
Wip(n+1)=Wip(n)+"Wip(n)
(2)隱層I上的任一節(jié)點(diǎn)與輸入層M上的任一節(jié)點(diǎn)的權(quán)值修正量。
與(1)中的推導(dǎo)類似,
其中:
則在下一次迭代時(shí)隱層I上任一節(jié)點(diǎn)與輸入層M上任一節(jié)點(diǎn)之間的權(quán)值為:
評論