1 引言 沿墻導航控制問(wèn)題是指驅動(dòng)機器人在一定方向上沿墻運動(dòng),或者更一般意義上的沿著(zhù)物體輪廓運動(dòng),并與墻保持一定距離。它可以看作是移動(dòng)機器人智能的低層行為,當與其它高層的智能行為相結合時(shí),可以完成復雜的任務(wù)。墻體情況可分為以下幾種: 跟蹤一個(gè)未知的墻體。當獲得的環(huán)境信息太少或無(wú)法獲得,機器人的軌跡可能會(huì )特定為“沿著(zhù)右邊的墻體運動(dòng)直到發(fā)現第一個(gè)門(mén)口”。另外,如果移動(dòng)機器人的任務(wù)是繪制全局模型,它就必須沿墻體行進(jìn)將地圖描述完全。 跟蹤一個(gè)已知墻體。機器人按照規劃好路徑跟蹤軌跡,為了使算法誤差保持在小范圍內而跟蹤墻體;蛘,路經(jīng)規劃中包括已知墻體,需要機器人沿墻行進(jìn)完成特殊的任務(wù)。 目前關(guān)于移動(dòng)機器人沿墻導航控制已有較多研究,大多采用聲納傳感器作為環(huán)境的感知設備。算法應用則從早期的航跡推算法,發(fā)展到后來(lái)使用卡爾曼濾波,模糊控制,神經(jīng)網(wǎng)絡(luò )控制等。由于模糊邏輯技術(shù)和神經(jīng)網(wǎng)絡(luò )技術(shù)各自獨到的特點(diǎn),將模糊技術(shù)和神經(jīng)網(wǎng)絡(luò )有機結合組成模糊神經(jīng)網(wǎng)絡(luò )控制系統,可實(shí)現模糊規則自動(dòng)提取、模糊隸屬函數的自動(dòng)生成及在線(xiàn)調節。因此本文采用模糊神經(jīng)網(wǎng)絡(luò )算法實(shí)現移動(dòng)機器人的沿墻導航控制。 2 模糊神經(jīng)網(wǎng)絡(luò )結構 2.1 輸入輸出值模糊化 本文研究的移動(dòng)機器人沿墻導航控制融合機器人聲納檢測采集到的數據,判斷機器人的位姿,然后通過(guò)模糊神經(jīng)網(wǎng)絡(luò )算法控制移動(dòng)機器人的動(dòng)作,使其在一定距離內沿墻體運。文中移動(dòng)機器人側壁上方安裝有16個(gè)聲納,按順時(shí)針排列從0#到15#。 移動(dòng)機器人要避免與墻體碰撞又要保持一定距離,所以本文為每個(gè)聲納設置一個(gè)閾值,當聲納檢測到的距離值大于或小于這個(gè)閾值就采取相應的動(dòng)作。這樣,將聲納采集的距離值與各自相應的閾值相減得到差值△di(i=O,1,2,…,15)作為模糊神經(jīng)網(wǎng)絡(luò )的一個(gè)輸入;移動(dòng)機器人的角度信息θ作為另外一個(gè)輸入。將距離差值△di和角度θ輸入模糊化如下: 距離差值△di:較小(NB),小(NS),中(Z),大(PS),較大(PB)。 角度θ:左(L),偏左(LS),正(Z),偏右(RS),右(R)。 輸出變量為移動(dòng)機器人的左右輪速Vl、Vr,模糊化如下: 左右輪速Vl、Vr:左轉(TL),前進(jìn)(G),右轉(TR)。 2.2 模糊神經(jīng)網(wǎng)絡(luò )結構圖 模糊神經(jīng)網(wǎng)絡(luò )結構圖如圖1所示,A為輸入層,輸入變量分別是前面所說(shuō)的距離差值△di(i=0,l,2,3,4)和角度θ。A層的作用是將輸入值傳送到下一層。 B,C為模糊化層,即使用模糊語(yǔ)言來(lái)反應輸入量的變化,隸屬函數采用高斯函數,隸屬度計算公式如下: 連接權重We、Wd決定了隸屬函數的形狀。 D層為模糊推理層,目的是將輸入量進(jìn)行綜合處理,共采用了25條規則,它們由C,D,E的連接表示出來(lái)。模糊規則如下: lf △di is M andθis N,then Vl is K and Vris L. 其中M=NB,NS,Z,PS,PB;N=L,LS,Z,RS,R;K,L=TL,G,TR。 E、F、G層為去模糊化層。F層有10個(gè)神經(jīng)元,5個(gè)對應移動(dòng)機器人的左輪速度,5個(gè)對應右輪速度。F層的結果隸屬函數使用三角形隸屬函數,目的是把在E層模糊語(yǔ)言描述的隸屬函數轉化為具體數值的隸屬度。G層求解模糊結果,采用重心法,也叫加權平均法。求解過(guò)程是以控制作用論域上的點(diǎn)vi(i=l,2,…,n)對控制作用模糊集的隸屬度u為權系數進(jìn)行加權平均而求得模糊結果,對于離散論域vi: 3 沿墻導航控制計算模型 圖l所示即為本文采用的BP前饋型神經(jīng)網(wǎng)絡(luò )結構,計算模型如下(I為該神經(jīng)元的輸入值,O為輸出值,上標表示神經(jīng)元所在的層): D層:由輸入變量自動(dòng)生成模糊規則。 F層:輸出隸屬函數使用三角形函數,隸屬度計算公式如下: 4 實(shí)驗結果 為了驗證算法的有效性,本文設計了移動(dòng)機器人沿左墻行進(jìn)的實(shí)驗。實(shí)驗環(huán)境為有兩扇門(mén)的長(cháng)方形走廊。其中,黑色實(shí)線(xiàn)為帶有兩扇門(mén)的墻體,藍色曲線(xiàn)為移動(dòng)機器人沿墻體行進(jìn)的軌跡。移動(dòng)機器人使用0#~4#聲納,圖2為基于航跡推算法的移動(dòng)機器人墻體跟蹤軌跡圖;圖3為基于模糊神經(jīng)網(wǎng)絡(luò )的移動(dòng)機器人沿墻導航控制軌跡圖。 圖3中,移動(dòng)機器人與墻體的距離聯(lián)合各聲納相對于移動(dòng)機器人正前方的角度作為模糊神經(jīng)網(wǎng)絡(luò )的輸入,經(jīng)過(guò)融和判斷來(lái)控制移動(dòng)機器人的動(dòng)作,靠近墻體或遠離墻體。例如,O#(-90°)測得的數值為208mm,1#(-50°)測得的數值為324mm,2#(一30°)測得的數值為877mm,3#(一10°)測得的數值為1700mm,4#(10°)測得的數值為3000mm,說(shuō)明移動(dòng)機器人距離墻體太近,需遠離以避免碰撞,此時(shí)移動(dòng)機器人左輪速度為0.20m/s,右輪速度為O.08m/s。移動(dòng)機器人采用模糊神經(jīng)網(wǎng)絡(luò )進(jìn)行沿墻導航控制的均方誤差為0.0014。單一采用航跡推算法的均方誤差為0.0382。由此可見(jiàn),采用模糊神經(jīng)網(wǎng)絡(luò )進(jìn)行移動(dòng)機器人沿墻導航控制,性能大大提高。 5 結論 本文給出了模糊神經(jīng)網(wǎng)絡(luò )的計算模型,利用BP網(wǎng)絡(luò )離線(xiàn)訓練權值。此方法能夠根據移動(dòng)機器人聲納采集到的信息自動(dòng)生成模糊隸屬函數,并且自動(dòng)提取模糊規則,增強了神經(jīng)網(wǎng)絡(luò )的泛化能力和容錯能力。實(shí)驗證明了此方法的有效性和可行性,能夠無(wú)碰撞地沿墻體行進(jìn),并保持一定的距離。 |