基于模糊神經(jīng)網(wǎng)絡(luò)的移動(dòng)機(jī)器人沿墻導(dǎo)航控制
沿墻導(dǎo)航控制問題是指驅(qū)動(dòng)機(jī)器人在一定方向上沿墻運(yùn)動(dòng),或者更一般意義上的沿著物體輪廓運(yùn)動(dòng),并與墻保持一定距離。它可以看作是移動(dòng)機(jī)器人智能的低層行為,當(dāng)與其它高層的智能行為相結(jié)合時(shí),可以完成復(fù)雜的任務(wù)。墻體情況可分為以下幾種:
跟蹤一個(gè)未知的墻體。當(dāng)獲得的環(huán)境信息太少或無(wú)法獲得,機(jī)器人的軌跡可能會(huì)特定為“沿著右邊的墻體運(yùn)動(dòng)直到發(fā)現(xiàn)第一個(gè)門口”。另外,如果移動(dòng)機(jī)器人的任務(wù)是繪制全局模型,它就必須沿墻體行進(jìn)將地圖描述完全。
跟蹤一個(gè)已知墻體。機(jī)器人按照規(guī)劃好路徑跟蹤軌跡,為了使算法誤差保持在小范圍內(nèi)而跟蹤墻體。或者,路經(jīng)規(guī)劃中包括已知墻體,需要機(jī)器人沿墻行進(jìn)完成特殊的任務(wù)。
目前關(guān)于移動(dòng)機(jī)器人沿墻導(dǎo)航控制已有較多研究,大多采用聲納傳感器作為環(huán)境的感知設(shè)備。算法應(yīng)用則從早期的航跡推算法,發(fā)展到后來使用卡爾曼濾波,模糊控制,神經(jīng)網(wǎng)絡(luò)控制等。由于模糊邏輯技術(shù)和神經(jīng)網(wǎng)絡(luò)技術(shù)各自獨(dú)到的特點(diǎn),將模糊技術(shù)和神經(jīng)網(wǎng)絡(luò)有機(jī)結(jié)合組成模糊神經(jīng)網(wǎng)絡(luò)控制系統(tǒng),可實(shí)現(xiàn)模糊規(guī)則自動(dòng)提取、模糊隸屬函數(shù)的自動(dòng)生成及在線調(diào)節(jié)。因此本文采用模糊神經(jīng)網(wǎng)絡(luò)算法實(shí)現(xiàn)移動(dòng)機(jī)器人的沿墻導(dǎo)航控制。
2 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
2.1 輸入輸出值模糊化
本文研究的移動(dòng)機(jī)器人沿墻導(dǎo)航控制融合機(jī)器人聲納檢測(cè)采集到的數(shù)據(jù),判斷機(jī)器人的位姿,然后通過模糊神經(jīng)網(wǎng)絡(luò)算法控制移動(dòng)機(jī)器人的動(dòng)作,使其在一定距離內(nèi)沿墻體運(yùn)。文中移動(dòng)機(jī)器人側(cè)壁上方安裝有16個(gè)聲納,按順時(shí)針排列從0#到15#。
移動(dòng)機(jī)器人要避免與墻體碰撞又要保持一定距離,所以本文為每個(gè)聲納設(shè)置一個(gè)閾值,當(dāng)聲納檢測(cè)到的距離值大于或小于這個(gè)閾值就采取相應(yīng)的動(dòng)作。這樣,將聲納采集的距離值與各自相應(yīng)的閾值相減得到差值△di(i=O,1,2,…,15)作為模糊神經(jīng)網(wǎng)絡(luò)的一個(gè)輸入;移動(dòng)機(jī)器人的角度信息θ作為另外一個(gè)輸入。將距離差值△di和角度θ輸入模糊化如下:
距離差值△di:較小(NB),小(NS),中(Z),大(PS),較大(PB)。
角度θ:左(L),偏左(LS),正(Z),偏右(RS),右(R)。
輸出變量為移動(dòng)機(jī)器人的左右輪速Vl、Vr,模糊化如下:
左右輪速Vl、Vr:左轉(zhuǎn)(TL),前進(jìn)(G),右轉(zhuǎn)(TR)。
2.2 模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
模糊神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示,A為輸入層,輸入變量分別是前面所說的距離差值△di(i=0,l,2,3,4)和角度θ。A層的作用是將輸入值傳送到下一層。
評(píng)論