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